/* pythag.f -- translated by f2c (version of 16 May 1991 13:06:06).
You must link the resulting object file with the libraries:
-link <S|C|M|L>f2c.lib (in that order)
*/
#include "f2c.h"
doublereal pythag_(a, b)
doublereal *a, *b;
{
/* System generated locals */
doublereal ret_val, d__1, d__2, d__3;
/* Local variables */
static doublereal p, r, s, t, u;
/* finds dsqrt(a**2+b**2) without overflow or destructive underflow */
/* Computing MAX */
d__1 = abs(*a), d__2 = abs(*b);
p = max(d__1,d__2);
if (p == 0.) {
goto L20;
}
/* Computing MIN */
d__2 = abs(*a), d__3 = abs(*b);
/* Computing 2nd power */
d__1 = min(d__2,d__3) / p;
r = d__1 * d__1;
L10:
t = r + 4.;
if (t == 4.) {
goto L20;
}
s = r / t;
u = s * 2. + 1.;
p = u * p;
/* Computing 2nd power */
d__1 = s / u;
r = d__1 * d__1 * r;
goto L10;
L20:
ret_val = p;
return ret_val;
} /* pythag_ */
syntax highlighted by Code2HTML, v. 0.9.1