44 int diff,
tag, expa, expb;
52 if (!(signa ^ signb)) {
55 FPU_u_add(a, b, dest, control_w, signa, expa, expb);
73 }
else if (diff < 0) {
123 return add_sub_specials(a, taga, signa, b, tagb, signb,
124 dest, deststnr, control_w);
132 u_char taga, tagb, signa, signb, saved_sign,
sign;
133 int diff,
tag = 0, expa, expb, deststnr;
158 dest = &
st(deststnr);
161 if (!(taga | tagb)) {
179 switch ((((
int)signa) * 2 + signb) /
SIGN_NEG) {
187 }
else if (diff == 0) {
197 FPU_u_sub(b, a, dest, control_w, sign, expb,
265 return add_sub_specials(a, taga, signa, b, tagb, signb ^
SIGN_NEG,
266 dest, deststnr, control_w);
281 u_char different_signs = signa ^ signb;
284 if (different_signs) {