Lines Matching refs:hi
38 * of a double. We maintain the invariant that "hi" stores the 53 high-order
42 double hi;
57 ret.hi = a + b;
58 s = ret.hi - a;
59 ret.lo = (a - (ret.hi - s)) + (b - s);
82 EXTRACT_WORD64(hibits, sum.hi);
84 /* hibits += (int)copysign(1.0, sum.hi * sum.lo) */
87 INSERT_WORD64(sum.hi, hibits);
90 return (sum.hi);
110 * lowest bit of sum.hi to make it a sticky bit summarizing all the
118 EXTRACT_WORD64(hibits, sum.hi);
121 /* hibits += (int)copysign(1.0, sum.hi * sum.lo) */
124 INSERT_WORD64(sum.hi, hibits);
127 return (ldexp(sum.hi, scale));
155 ret.hi = p + q;
156 ret.lo = p - ret.hi + q + la * lb;
245 * (xy.hi, xy.lo) = x * y (exact)
246 * (r.hi, r.lo) = xy.hi + z (exact)
248 * result = r.hi + adj (correctly rounded)
251 r = dd_add(xy.hi, zs);
255 if (r.hi == 0.0) {
262 return (xy.hi + vzs + ldexp(xy.lo, spread));
272 return (ldexp(r.hi + adj, spread));
276 if (spread + ilogb(r.hi) > -1023)
277 return (ldexp(r.hi + adj, spread));
279 return (add_and_denormalize(r.hi, adj, spread));