- /* raise underflow if ux.value is subnormal or zero */
- if (ux.bits.exp == 0) {
- volatile float z;
- z = x*x + ux.value*ux.value;
- }
- return ux.value;
+ /* raise underflow if ux is subnormal or zero */
+ if ((ux.i.se & 0x7fff) == 0)
+ FORCE_EVAL(x*x + ux.f*ux.f);
+ return ux.f;