/* pythag.f -- translated by f2c (version of 16 May 1991 13:06:06). You must link the resulting object file with the libraries: -link 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_ */