static double ulp (double _x) /* {{{ */
{
- _double x;
+ volatile _double x;
register Long L;
- _double a;
+ volatile _double a;
value(x) = _x;
L = (word0(x) & Exp_mask) - (P-1)*Exp_msk1;
{
ULong *xa, *xa0, w, y, z;
int k;
- _double d;
+ volatile _double d;
#ifdef VAX
ULong d0, d1;
#else
Bigint *b;
int de, i, k;
ULong *x, y, z;
- _double d;
+ volatile _double d;
#ifdef VAX
ULong d0, d1;
#endif
static double ratio (Bigint *a, Bigint *b) /* {{{ */
{
- _double da, db;
+ volatile _double da, db;
int k, ka, kb;
value(da) = b2d(a, &ka);
Bigint *b, *b1, *delta, *mlo, *mhi, *S, *tmp;
double ds;
char *s, *s0;
- _double d, d2, eps;
+ volatile _double d, d2, eps;
value(d) = _d;
e, e1, esign, i, j, k, nd, nd0, nf, nz, nz0, sign;
CONST char *s, *s0, *s1;
double aadj, aadj1, adj;
- _double rv, rv0;
+ volatile _double rv, rv0;
Long L;
ULong y, z;
Bigint *bb, *bb1, *bd, *bd0, *bs, *delta, *tmp;