
(FPCore (d1 d2 d3 d4) :precision binary64 (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)))
double code(double d1, double d2, double d3, double d4) {
return (((d1 * d2) - (d1 * d3)) + (d4 * d1)) - (d1 * d1);
}
real(8) function code(d1, d2, d3, d4)
real(8), intent (in) :: d1
real(8), intent (in) :: d2
real(8), intent (in) :: d3
real(8), intent (in) :: d4
code = (((d1 * d2) - (d1 * d3)) + (d4 * d1)) - (d1 * d1)
end function
public static double code(double d1, double d2, double d3, double d4) {
return (((d1 * d2) - (d1 * d3)) + (d4 * d1)) - (d1 * d1);
}
def code(d1, d2, d3, d4): return (((d1 * d2) - (d1 * d3)) + (d4 * d1)) - (d1 * d1)
function code(d1, d2, d3, d4) return Float64(Float64(Float64(Float64(d1 * d2) - Float64(d1 * d3)) + Float64(d4 * d1)) - Float64(d1 * d1)) end
function tmp = code(d1, d2, d3, d4) tmp = (((d1 * d2) - (d1 * d3)) + (d4 * d1)) - (d1 * d1); end
code[d1_, d2_, d3_, d4_] := N[(N[(N[(N[(d1 * d2), $MachinePrecision] - N[(d1 * d3), $MachinePrecision]), $MachinePrecision] + N[(d4 * d1), $MachinePrecision]), $MachinePrecision] - N[(d1 * d1), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(\left(d1 \cdot d2 - d1 \cdot d3\right) + d4 \cdot d1\right) - d1 \cdot d1
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 13 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (d1 d2 d3 d4) :precision binary64 (- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)))
double code(double d1, double d2, double d3, double d4) {
return (((d1 * d2) - (d1 * d3)) + (d4 * d1)) - (d1 * d1);
}
real(8) function code(d1, d2, d3, d4)
real(8), intent (in) :: d1
real(8), intent (in) :: d2
real(8), intent (in) :: d3
real(8), intent (in) :: d4
code = (((d1 * d2) - (d1 * d3)) + (d4 * d1)) - (d1 * d1)
end function
public static double code(double d1, double d2, double d3, double d4) {
return (((d1 * d2) - (d1 * d3)) + (d4 * d1)) - (d1 * d1);
}
def code(d1, d2, d3, d4): return (((d1 * d2) - (d1 * d3)) + (d4 * d1)) - (d1 * d1)
function code(d1, d2, d3, d4) return Float64(Float64(Float64(Float64(d1 * d2) - Float64(d1 * d3)) + Float64(d4 * d1)) - Float64(d1 * d1)) end
function tmp = code(d1, d2, d3, d4) tmp = (((d1 * d2) - (d1 * d3)) + (d4 * d1)) - (d1 * d1); end
code[d1_, d2_, d3_, d4_] := N[(N[(N[(N[(d1 * d2), $MachinePrecision] - N[(d1 * d3), $MachinePrecision]), $MachinePrecision] + N[(d4 * d1), $MachinePrecision]), $MachinePrecision] - N[(d1 * d1), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(\left(d1 \cdot d2 - d1 \cdot d3\right) + d4 \cdot d1\right) - d1 \cdot d1
\end{array}
(FPCore (d1 d2 d3 d4) :precision binary64 (* d1 (+ (- d2 d3) (- d4 d1))))
double code(double d1, double d2, double d3, double d4) {
return d1 * ((d2 - d3) + (d4 - d1));
}
real(8) function code(d1, d2, d3, d4)
real(8), intent (in) :: d1
real(8), intent (in) :: d2
real(8), intent (in) :: d3
real(8), intent (in) :: d4
code = d1 * ((d2 - d3) + (d4 - d1))
end function
public static double code(double d1, double d2, double d3, double d4) {
return d1 * ((d2 - d3) + (d4 - d1));
}
def code(d1, d2, d3, d4): return d1 * ((d2 - d3) + (d4 - d1))
function code(d1, d2, d3, d4) return Float64(d1 * Float64(Float64(d2 - d3) + Float64(d4 - d1))) end
function tmp = code(d1, d2, d3, d4) tmp = d1 * ((d2 - d3) + (d4 - d1)); end
code[d1_, d2_, d3_, d4_] := N[(d1 * N[(N[(d2 - d3), $MachinePrecision] + N[(d4 - d1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
d1 \cdot \left(\left(d2 - d3\right) + \left(d4 - d1\right)\right)
\end{array}
Initial program 86.7%
associate--l+86.7%
distribute-lft-out--88.7%
distribute-rgt-out--91.8%
distribute-lft-out100.0%
Simplified100.0%
(FPCore (d1 d2 d3 d4)
:precision binary64
(let* ((t_0 (* d1 (- d3))) (t_1 (* d1 (- d1))))
(if (<= d2 -7.5e+68)
(* d1 d2)
(if (<= d2 -7.4e+18)
t_1
(if (<= d2 -9e+16)
(* d1 d4)
(if (<= d2 -4.1e+14)
t_0
(if (<= d2 -1.3e+14)
t_1
(if (<= d2 -720000000000.0)
t_0
(if (<= d2 -500000000000.0)
t_1
(if (<= d2 -24000000000.0)
t_0
(if (<= d2 -1700000.0)
t_1
(if (<= d2 -0.072)
t_0
(if (<= d2 -1.05e-6)
t_1
(if (<= d2 -5.2e-11)
t_0
(if (<= d2 -4.1e-16)
(* d1 d4)
(if (<= d2 -2.7e-23)
t_0
(if (<= d2 -3e-25)
(* d1 d4)
(if (<= d2 -4e-26)
t_0
(if (<= d2 -1.8e-33)
(* d1 d4)
(if (<= d2 -2.1e-45)
t_0
(if (<= d2 -1.65e-52)
t_1
(if (<= d2 -1.6e-52)
(* d1 d2)
(if (<= d2 -4.5e-54)
t_1
(if (<= d2 -1.5e-68)
(* d1 d4)
(if (<= d2 -3.5e-70)
t_1
(if (<= d2 -1.16e-78)
t_0
(if (<= d2 -2.9e-80)
t_1
(if (<= d2 -8.5e-92)
(* d1 d4)
(if (<= d2 -4.8e-101)
t_0
(if (<= d2 -6e-104)
t_1
(if (<=
d2
-2.55e-104)
(* d1 d4)
(if (<=
d2
-1.45e-111)
t_0
(if (<=
d2
-1.45e-114)
(* d1 d4)
(if (<=
d2
-7.4e-118)
t_0
(if (<=
d2
-1.3e-120)
t_1
(if (<=
d2
-6.4e-133)
t_0
(if (<=
d2
-2.7e-137)
t_1
(if (<=
d2
-3.7e-141)
(*
d1
d4)
(if (<=
d2
-5e-146)
t_0
(if (<=
d2
-4.3e-148)
(*
d1
d4)
(if (<=
d2
-1.02e-149)
t_1
(if (<=
d2
-7e-153)
(*
d1
d4)
(if (<=
d2
-5.2e-161)
t_1
(if (<=
d2
-7e-183)
(*
d1
d4)
(if (<=
d2
-1e-197)
t_0
(if (<=
d2
-4.2e-208)
t_1
(if (<=
d2
-5.4e-242)
t_0
(if (<=
d2
-1.5e-244)
t_1
(if (<=
d2
-4.4e-259)
t_0
(if (<=
d2
-1.28e-264)
(*
d1
d4)
(if (<=
d2
-7.4e-267)
t_1
(if (<=
d2
-3.3e-276)
(*
d1
d4)
(if (<=
d2
-2.7e-285)
t_0
(if (<=
d2
-7e-287)
(*
d1
d4)
(if (<=
d2
-9.2e-288)
t_0
(if (<=
d2
-5.5e-292)
(*
d1
d4)
(if (<=
d2
-2.1e-294)
t_0
(if (<=
d2
-1.4e-297)
t_1
(if (<=
d2
-5.8e-305)
t_0
(if (<=
d2
8e-303)
t_1
(if (<=
d2
9.2e-290)
t_0
(if (<=
d2
1.3e-285)
(*
d1
d4)
(if (<=
d2
3.3e-259)
t_0
(if (<=
d2
3.1e-255)
(*
d1
d4)
(if (<=
d2
8.5e-251)
t_0
(if (<=
d2
8.5e-245)
(*
d1
d4)
(if (<=
d2
1.6e-234)
t_1
(if (<=
d2
3.5e-207)
t_0
(if (<=
d2
3e-205)
t_1
(if (<=
d2
6.2e-199)
(*
d1
d4)
(if (<=
d2
4.1e-197)
t_1
(if (<=
d2
5.4e-187)
(*
d1
d4)
(if (<=
d2
4.6e-179)
t_1
(if (<=
d2
2.85e-168)
(*
d1
d4)
(if (<=
d2
1.12e-164)
t_1
(if (<=
d2
1.6e-120)
(*
d1
d4)
(if (<=
d2
4.5e-108)
t_0
(if (<=
d2
1.66e-99)
(*
d1
d4)
(if (<=
d2
8.5e-91)
t_0
(if (<=
d2
2.9e-90)
(*
d1
d4)
(if (<=
d2
3.2e-85)
t_1
(if (<=
d2
8.5e-44)
(*
d1
d4)
(if (<=
d2
2.9e-21)
t_1
(if (<=
d2
4e-9)
(*
d1
d4)
(if (<=
d2
1800000.0)
t_1
(if (<=
d2
5.8e+21)
t_0
(if (<=
d2
3.1e+34)
(*
d1
d4)
(if (<=
d2
1.2e+36)
t_1
(if (or (<=
d2
1.7e+65)
(not
(or (<=
d2
5.3e+76)
(and (not
(<=
d2
1.1e+83))
(<=
d2
2.5e+85)))))
(*
d1
d4)
t_0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
double code(double d1, double d2, double d3, double d4) {
double t_0 = d1 * -d3;
double t_1 = d1 * -d1;
double tmp;
if (d2 <= -7.5e+68) {
tmp = d1 * d2;
} else if (d2 <= -7.4e+18) {
tmp = t_1;
} else if (d2 <= -9e+16) {
tmp = d1 * d4;
} else if (d2 <= -4.1e+14) {
tmp = t_0;
} else if (d2 <= -1.3e+14) {
tmp = t_1;
} else if (d2 <= -720000000000.0) {
tmp = t_0;
} else if (d2 <= -500000000000.0) {
tmp = t_1;
} else if (d2 <= -24000000000.0) {
tmp = t_0;
} else if (d2 <= -1700000.0) {
tmp = t_1;
} else if (d2 <= -0.072) {
tmp = t_0;
} else if (d2 <= -1.05e-6) {
tmp = t_1;
} else if (d2 <= -5.2e-11) {
tmp = t_0;
} else if (d2 <= -4.1e-16) {
tmp = d1 * d4;
} else if (d2 <= -2.7e-23) {
tmp = t_0;
} else if (d2 <= -3e-25) {
tmp = d1 * d4;
} else if (d2 <= -4e-26) {
tmp = t_0;
} else if (d2 <= -1.8e-33) {
tmp = d1 * d4;
} else if (d2 <= -2.1e-45) {
tmp = t_0;
} else if (d2 <= -1.65e-52) {
tmp = t_1;
} else if (d2 <= -1.6e-52) {
tmp = d1 * d2;
} else if (d2 <= -4.5e-54) {
tmp = t_1;
} else if (d2 <= -1.5e-68) {
tmp = d1 * d4;
} else if (d2 <= -3.5e-70) {
tmp = t_1;
} else if (d2 <= -1.16e-78) {
tmp = t_0;
} else if (d2 <= -2.9e-80) {
tmp = t_1;
} else if (d2 <= -8.5e-92) {
tmp = d1 * d4;
} else if (d2 <= -4.8e-101) {
tmp = t_0;
} else if (d2 <= -6e-104) {
tmp = t_1;
} else if (d2 <= -2.55e-104) {
tmp = d1 * d4;
} else if (d2 <= -1.45e-111) {
tmp = t_0;
} else if (d2 <= -1.45e-114) {
tmp = d1 * d4;
} else if (d2 <= -7.4e-118) {
tmp = t_0;
} else if (d2 <= -1.3e-120) {
tmp = t_1;
} else if (d2 <= -6.4e-133) {
tmp = t_0;
} else if (d2 <= -2.7e-137) {
tmp = t_1;
} else if (d2 <= -3.7e-141) {
tmp = d1 * d4;
} else if (d2 <= -5e-146) {
tmp = t_0;
} else if (d2 <= -4.3e-148) {
tmp = d1 * d4;
} else if (d2 <= -1.02e-149) {
tmp = t_1;
} else if (d2 <= -7e-153) {
tmp = d1 * d4;
} else if (d2 <= -5.2e-161) {
tmp = t_1;
} else if (d2 <= -7e-183) {
tmp = d1 * d4;
} else if (d2 <= -1e-197) {
tmp = t_0;
} else if (d2 <= -4.2e-208) {
tmp = t_1;
} else if (d2 <= -5.4e-242) {
tmp = t_0;
} else if (d2 <= -1.5e-244) {
tmp = t_1;
} else if (d2 <= -4.4e-259) {
tmp = t_0;
} else if (d2 <= -1.28e-264) {
tmp = d1 * d4;
} else if (d2 <= -7.4e-267) {
tmp = t_1;
} else if (d2 <= -3.3e-276) {
tmp = d1 * d4;
} else if (d2 <= -2.7e-285) {
tmp = t_0;
} else if (d2 <= -7e-287) {
tmp = d1 * d4;
} else if (d2 <= -9.2e-288) {
tmp = t_0;
} else if (d2 <= -5.5e-292) {
tmp = d1 * d4;
} else if (d2 <= -2.1e-294) {
tmp = t_0;
} else if (d2 <= -1.4e-297) {
tmp = t_1;
} else if (d2 <= -5.8e-305) {
tmp = t_0;
} else if (d2 <= 8e-303) {
tmp = t_1;
} else if (d2 <= 9.2e-290) {
tmp = t_0;
} else if (d2 <= 1.3e-285) {
tmp = d1 * d4;
} else if (d2 <= 3.3e-259) {
tmp = t_0;
} else if (d2 <= 3.1e-255) {
tmp = d1 * d4;
} else if (d2 <= 8.5e-251) {
tmp = t_0;
} else if (d2 <= 8.5e-245) {
tmp = d1 * d4;
} else if (d2 <= 1.6e-234) {
tmp = t_1;
} else if (d2 <= 3.5e-207) {
tmp = t_0;
} else if (d2 <= 3e-205) {
tmp = t_1;
} else if (d2 <= 6.2e-199) {
tmp = d1 * d4;
} else if (d2 <= 4.1e-197) {
tmp = t_1;
} else if (d2 <= 5.4e-187) {
tmp = d1 * d4;
} else if (d2 <= 4.6e-179) {
tmp = t_1;
} else if (d2 <= 2.85e-168) {
tmp = d1 * d4;
} else if (d2 <= 1.12e-164) {
tmp = t_1;
} else if (d2 <= 1.6e-120) {
tmp = d1 * d4;
} else if (d2 <= 4.5e-108) {
tmp = t_0;
} else if (d2 <= 1.66e-99) {
tmp = d1 * d4;
} else if (d2 <= 8.5e-91) {
tmp = t_0;
} else if (d2 <= 2.9e-90) {
tmp = d1 * d4;
} else if (d2 <= 3.2e-85) {
tmp = t_1;
} else if (d2 <= 8.5e-44) {
tmp = d1 * d4;
} else if (d2 <= 2.9e-21) {
tmp = t_1;
} else if (d2 <= 4e-9) {
tmp = d1 * d4;
} else if (d2 <= 1800000.0) {
tmp = t_1;
} else if (d2 <= 5.8e+21) {
tmp = t_0;
} else if (d2 <= 3.1e+34) {
tmp = d1 * d4;
} else if (d2 <= 1.2e+36) {
tmp = t_1;
} else if ((d2 <= 1.7e+65) || !((d2 <= 5.3e+76) || (!(d2 <= 1.1e+83) && (d2 <= 2.5e+85)))) {
tmp = d1 * d4;
} else {
tmp = t_0;
}
return tmp;
}
real(8) function code(d1, d2, d3, d4)
real(8), intent (in) :: d1
real(8), intent (in) :: d2
real(8), intent (in) :: d3
real(8), intent (in) :: d4
real(8) :: t_0
real(8) :: t_1
real(8) :: tmp
t_0 = d1 * -d3
t_1 = d1 * -d1
if (d2 <= (-7.5d+68)) then
tmp = d1 * d2
else if (d2 <= (-7.4d+18)) then
tmp = t_1
else if (d2 <= (-9d+16)) then
tmp = d1 * d4
else if (d2 <= (-4.1d+14)) then
tmp = t_0
else if (d2 <= (-1.3d+14)) then
tmp = t_1
else if (d2 <= (-720000000000.0d0)) then
tmp = t_0
else if (d2 <= (-500000000000.0d0)) then
tmp = t_1
else if (d2 <= (-24000000000.0d0)) then
tmp = t_0
else if (d2 <= (-1700000.0d0)) then
tmp = t_1
else if (d2 <= (-0.072d0)) then
tmp = t_0
else if (d2 <= (-1.05d-6)) then
tmp = t_1
else if (d2 <= (-5.2d-11)) then
tmp = t_0
else if (d2 <= (-4.1d-16)) then
tmp = d1 * d4
else if (d2 <= (-2.7d-23)) then
tmp = t_0
else if (d2 <= (-3d-25)) then
tmp = d1 * d4
else if (d2 <= (-4d-26)) then
tmp = t_0
else if (d2 <= (-1.8d-33)) then
tmp = d1 * d4
else if (d2 <= (-2.1d-45)) then
tmp = t_0
else if (d2 <= (-1.65d-52)) then
tmp = t_1
else if (d2 <= (-1.6d-52)) then
tmp = d1 * d2
else if (d2 <= (-4.5d-54)) then
tmp = t_1
else if (d2 <= (-1.5d-68)) then
tmp = d1 * d4
else if (d2 <= (-3.5d-70)) then
tmp = t_1
else if (d2 <= (-1.16d-78)) then
tmp = t_0
else if (d2 <= (-2.9d-80)) then
tmp = t_1
else if (d2 <= (-8.5d-92)) then
tmp = d1 * d4
else if (d2 <= (-4.8d-101)) then
tmp = t_0
else if (d2 <= (-6d-104)) then
tmp = t_1
else if (d2 <= (-2.55d-104)) then
tmp = d1 * d4
else if (d2 <= (-1.45d-111)) then
tmp = t_0
else if (d2 <= (-1.45d-114)) then
tmp = d1 * d4
else if (d2 <= (-7.4d-118)) then
tmp = t_0
else if (d2 <= (-1.3d-120)) then
tmp = t_1
else if (d2 <= (-6.4d-133)) then
tmp = t_0
else if (d2 <= (-2.7d-137)) then
tmp = t_1
else if (d2 <= (-3.7d-141)) then
tmp = d1 * d4
else if (d2 <= (-5d-146)) then
tmp = t_0
else if (d2 <= (-4.3d-148)) then
tmp = d1 * d4
else if (d2 <= (-1.02d-149)) then
tmp = t_1
else if (d2 <= (-7d-153)) then
tmp = d1 * d4
else if (d2 <= (-5.2d-161)) then
tmp = t_1
else if (d2 <= (-7d-183)) then
tmp = d1 * d4
else if (d2 <= (-1d-197)) then
tmp = t_0
else if (d2 <= (-4.2d-208)) then
tmp = t_1
else if (d2 <= (-5.4d-242)) then
tmp = t_0
else if (d2 <= (-1.5d-244)) then
tmp = t_1
else if (d2 <= (-4.4d-259)) then
tmp = t_0
else if (d2 <= (-1.28d-264)) then
tmp = d1 * d4
else if (d2 <= (-7.4d-267)) then
tmp = t_1
else if (d2 <= (-3.3d-276)) then
tmp = d1 * d4
else if (d2 <= (-2.7d-285)) then
tmp = t_0
else if (d2 <= (-7d-287)) then
tmp = d1 * d4
else if (d2 <= (-9.2d-288)) then
tmp = t_0
else if (d2 <= (-5.5d-292)) then
tmp = d1 * d4
else if (d2 <= (-2.1d-294)) then
tmp = t_0
else if (d2 <= (-1.4d-297)) then
tmp = t_1
else if (d2 <= (-5.8d-305)) then
tmp = t_0
else if (d2 <= 8d-303) then
tmp = t_1
else if (d2 <= 9.2d-290) then
tmp = t_0
else if (d2 <= 1.3d-285) then
tmp = d1 * d4
else if (d2 <= 3.3d-259) then
tmp = t_0
else if (d2 <= 3.1d-255) then
tmp = d1 * d4
else if (d2 <= 8.5d-251) then
tmp = t_0
else if (d2 <= 8.5d-245) then
tmp = d1 * d4
else if (d2 <= 1.6d-234) then
tmp = t_1
else if (d2 <= 3.5d-207) then
tmp = t_0
else if (d2 <= 3d-205) then
tmp = t_1
else if (d2 <= 6.2d-199) then
tmp = d1 * d4
else if (d2 <= 4.1d-197) then
tmp = t_1
else if (d2 <= 5.4d-187) then
tmp = d1 * d4
else if (d2 <= 4.6d-179) then
tmp = t_1
else if (d2 <= 2.85d-168) then
tmp = d1 * d4
else if (d2 <= 1.12d-164) then
tmp = t_1
else if (d2 <= 1.6d-120) then
tmp = d1 * d4
else if (d2 <= 4.5d-108) then
tmp = t_0
else if (d2 <= 1.66d-99) then
tmp = d1 * d4
else if (d2 <= 8.5d-91) then
tmp = t_0
else if (d2 <= 2.9d-90) then
tmp = d1 * d4
else if (d2 <= 3.2d-85) then
tmp = t_1
else if (d2 <= 8.5d-44) then
tmp = d1 * d4
else if (d2 <= 2.9d-21) then
tmp = t_1
else if (d2 <= 4d-9) then
tmp = d1 * d4
else if (d2 <= 1800000.0d0) then
tmp = t_1
else if (d2 <= 5.8d+21) then
tmp = t_0
else if (d2 <= 3.1d+34) then
tmp = d1 * d4
else if (d2 <= 1.2d+36) then
tmp = t_1
else if ((d2 <= 1.7d+65) .or. (.not. (d2 <= 5.3d+76) .or. (.not. (d2 <= 1.1d+83)) .and. (d2 <= 2.5d+85))) then
tmp = d1 * d4
else
tmp = t_0
end if
code = tmp
end function
public static double code(double d1, double d2, double d3, double d4) {
double t_0 = d1 * -d3;
double t_1 = d1 * -d1;
double tmp;
if (d2 <= -7.5e+68) {
tmp = d1 * d2;
} else if (d2 <= -7.4e+18) {
tmp = t_1;
} else if (d2 <= -9e+16) {
tmp = d1 * d4;
} else if (d2 <= -4.1e+14) {
tmp = t_0;
} else if (d2 <= -1.3e+14) {
tmp = t_1;
} else if (d2 <= -720000000000.0) {
tmp = t_0;
} else if (d2 <= -500000000000.0) {
tmp = t_1;
} else if (d2 <= -24000000000.0) {
tmp = t_0;
} else if (d2 <= -1700000.0) {
tmp = t_1;
} else if (d2 <= -0.072) {
tmp = t_0;
} else if (d2 <= -1.05e-6) {
tmp = t_1;
} else if (d2 <= -5.2e-11) {
tmp = t_0;
} else if (d2 <= -4.1e-16) {
tmp = d1 * d4;
} else if (d2 <= -2.7e-23) {
tmp = t_0;
} else if (d2 <= -3e-25) {
tmp = d1 * d4;
} else if (d2 <= -4e-26) {
tmp = t_0;
} else if (d2 <= -1.8e-33) {
tmp = d1 * d4;
} else if (d2 <= -2.1e-45) {
tmp = t_0;
} else if (d2 <= -1.65e-52) {
tmp = t_1;
} else if (d2 <= -1.6e-52) {
tmp = d1 * d2;
} else if (d2 <= -4.5e-54) {
tmp = t_1;
} else if (d2 <= -1.5e-68) {
tmp = d1 * d4;
} else if (d2 <= -3.5e-70) {
tmp = t_1;
} else if (d2 <= -1.16e-78) {
tmp = t_0;
} else if (d2 <= -2.9e-80) {
tmp = t_1;
} else if (d2 <= -8.5e-92) {
tmp = d1 * d4;
} else if (d2 <= -4.8e-101) {
tmp = t_0;
} else if (d2 <= -6e-104) {
tmp = t_1;
} else if (d2 <= -2.55e-104) {
tmp = d1 * d4;
} else if (d2 <= -1.45e-111) {
tmp = t_0;
} else if (d2 <= -1.45e-114) {
tmp = d1 * d4;
} else if (d2 <= -7.4e-118) {
tmp = t_0;
} else if (d2 <= -1.3e-120) {
tmp = t_1;
} else if (d2 <= -6.4e-133) {
tmp = t_0;
} else if (d2 <= -2.7e-137) {
tmp = t_1;
} else if (d2 <= -3.7e-141) {
tmp = d1 * d4;
} else if (d2 <= -5e-146) {
tmp = t_0;
} else if (d2 <= -4.3e-148) {
tmp = d1 * d4;
} else if (d2 <= -1.02e-149) {
tmp = t_1;
} else if (d2 <= -7e-153) {
tmp = d1 * d4;
} else if (d2 <= -5.2e-161) {
tmp = t_1;
} else if (d2 <= -7e-183) {
tmp = d1 * d4;
} else if (d2 <= -1e-197) {
tmp = t_0;
} else if (d2 <= -4.2e-208) {
tmp = t_1;
} else if (d2 <= -5.4e-242) {
tmp = t_0;
} else if (d2 <= -1.5e-244) {
tmp = t_1;
} else if (d2 <= -4.4e-259) {
tmp = t_0;
} else if (d2 <= -1.28e-264) {
tmp = d1 * d4;
} else if (d2 <= -7.4e-267) {
tmp = t_1;
} else if (d2 <= -3.3e-276) {
tmp = d1 * d4;
} else if (d2 <= -2.7e-285) {
tmp = t_0;
} else if (d2 <= -7e-287) {
tmp = d1 * d4;
} else if (d2 <= -9.2e-288) {
tmp = t_0;
} else if (d2 <= -5.5e-292) {
tmp = d1 * d4;
} else if (d2 <= -2.1e-294) {
tmp = t_0;
} else if (d2 <= -1.4e-297) {
tmp = t_1;
} else if (d2 <= -5.8e-305) {
tmp = t_0;
} else if (d2 <= 8e-303) {
tmp = t_1;
} else if (d2 <= 9.2e-290) {
tmp = t_0;
} else if (d2 <= 1.3e-285) {
tmp = d1 * d4;
} else if (d2 <= 3.3e-259) {
tmp = t_0;
} else if (d2 <= 3.1e-255) {
tmp = d1 * d4;
} else if (d2 <= 8.5e-251) {
tmp = t_0;
} else if (d2 <= 8.5e-245) {
tmp = d1 * d4;
} else if (d2 <= 1.6e-234) {
tmp = t_1;
} else if (d2 <= 3.5e-207) {
tmp = t_0;
} else if (d2 <= 3e-205) {
tmp = t_1;
} else if (d2 <= 6.2e-199) {
tmp = d1 * d4;
} else if (d2 <= 4.1e-197) {
tmp = t_1;
} else if (d2 <= 5.4e-187) {
tmp = d1 * d4;
} else if (d2 <= 4.6e-179) {
tmp = t_1;
} else if (d2 <= 2.85e-168) {
tmp = d1 * d4;
} else if (d2 <= 1.12e-164) {
tmp = t_1;
} else if (d2 <= 1.6e-120) {
tmp = d1 * d4;
} else if (d2 <= 4.5e-108) {
tmp = t_0;
} else if (d2 <= 1.66e-99) {
tmp = d1 * d4;
} else if (d2 <= 8.5e-91) {
tmp = t_0;
} else if (d2 <= 2.9e-90) {
tmp = d1 * d4;
} else if (d2 <= 3.2e-85) {
tmp = t_1;
} else if (d2 <= 8.5e-44) {
tmp = d1 * d4;
} else if (d2 <= 2.9e-21) {
tmp = t_1;
} else if (d2 <= 4e-9) {
tmp = d1 * d4;
} else if (d2 <= 1800000.0) {
tmp = t_1;
} else if (d2 <= 5.8e+21) {
tmp = t_0;
} else if (d2 <= 3.1e+34) {
tmp = d1 * d4;
} else if (d2 <= 1.2e+36) {
tmp = t_1;
} else if ((d2 <= 1.7e+65) || !((d2 <= 5.3e+76) || (!(d2 <= 1.1e+83) && (d2 <= 2.5e+85)))) {
tmp = d1 * d4;
} else {
tmp = t_0;
}
return tmp;
}
def code(d1, d2, d3, d4): t_0 = d1 * -d3 t_1 = d1 * -d1 tmp = 0 if d2 <= -7.5e+68: tmp = d1 * d2 elif d2 <= -7.4e+18: tmp = t_1 elif d2 <= -9e+16: tmp = d1 * d4 elif d2 <= -4.1e+14: tmp = t_0 elif d2 <= -1.3e+14: tmp = t_1 elif d2 <= -720000000000.0: tmp = t_0 elif d2 <= -500000000000.0: tmp = t_1 elif d2 <= -24000000000.0: tmp = t_0 elif d2 <= -1700000.0: tmp = t_1 elif d2 <= -0.072: tmp = t_0 elif d2 <= -1.05e-6: tmp = t_1 elif d2 <= -5.2e-11: tmp = t_0 elif d2 <= -4.1e-16: tmp = d1 * d4 elif d2 <= -2.7e-23: tmp = t_0 elif d2 <= -3e-25: tmp = d1 * d4 elif d2 <= -4e-26: tmp = t_0 elif d2 <= -1.8e-33: tmp = d1 * d4 elif d2 <= -2.1e-45: tmp = t_0 elif d2 <= -1.65e-52: tmp = t_1 elif d2 <= -1.6e-52: tmp = d1 * d2 elif d2 <= -4.5e-54: tmp = t_1 elif d2 <= -1.5e-68: tmp = d1 * d4 elif d2 <= -3.5e-70: tmp = t_1 elif d2 <= -1.16e-78: tmp = t_0 elif d2 <= -2.9e-80: tmp = t_1 elif d2 <= -8.5e-92: tmp = d1 * d4 elif d2 <= -4.8e-101: tmp = t_0 elif d2 <= -6e-104: tmp = t_1 elif d2 <= -2.55e-104: tmp = d1 * d4 elif d2 <= -1.45e-111: tmp = t_0 elif d2 <= -1.45e-114: tmp = d1 * d4 elif d2 <= -7.4e-118: tmp = t_0 elif d2 <= -1.3e-120: tmp = t_1 elif d2 <= -6.4e-133: tmp = t_0 elif d2 <= -2.7e-137: tmp = t_1 elif d2 <= -3.7e-141: tmp = d1 * d4 elif d2 <= -5e-146: tmp = t_0 elif d2 <= -4.3e-148: tmp = d1 * d4 elif d2 <= -1.02e-149: tmp = t_1 elif d2 <= -7e-153: tmp = d1 * d4 elif d2 <= -5.2e-161: tmp = t_1 elif d2 <= -7e-183: tmp = d1 * d4 elif d2 <= -1e-197: tmp = t_0 elif d2 <= -4.2e-208: tmp = t_1 elif d2 <= -5.4e-242: tmp = t_0 elif d2 <= -1.5e-244: tmp = t_1 elif d2 <= -4.4e-259: tmp = t_0 elif d2 <= -1.28e-264: tmp = d1 * d4 elif d2 <= -7.4e-267: tmp = t_1 elif d2 <= -3.3e-276: tmp = d1 * d4 elif d2 <= -2.7e-285: tmp = t_0 elif d2 <= -7e-287: tmp = d1 * d4 elif d2 <= -9.2e-288: tmp = t_0 elif d2 <= -5.5e-292: tmp = d1 * d4 elif d2 <= -2.1e-294: tmp = t_0 elif d2 <= -1.4e-297: tmp = t_1 elif d2 <= -5.8e-305: tmp = t_0 elif d2 <= 8e-303: tmp = t_1 elif d2 <= 9.2e-290: tmp = t_0 elif d2 <= 1.3e-285: tmp = d1 * d4 elif d2 <= 3.3e-259: tmp = t_0 elif d2 <= 3.1e-255: tmp = d1 * d4 elif d2 <= 8.5e-251: tmp = t_0 elif d2 <= 8.5e-245: tmp = d1 * d4 elif d2 <= 1.6e-234: tmp = t_1 elif d2 <= 3.5e-207: tmp = t_0 elif d2 <= 3e-205: tmp = t_1 elif d2 <= 6.2e-199: tmp = d1 * d4 elif d2 <= 4.1e-197: tmp = t_1 elif d2 <= 5.4e-187: tmp = d1 * d4 elif d2 <= 4.6e-179: tmp = t_1 elif d2 <= 2.85e-168: tmp = d1 * d4 elif d2 <= 1.12e-164: tmp = t_1 elif d2 <= 1.6e-120: tmp = d1 * d4 elif d2 <= 4.5e-108: tmp = t_0 elif d2 <= 1.66e-99: tmp = d1 * d4 elif d2 <= 8.5e-91: tmp = t_0 elif d2 <= 2.9e-90: tmp = d1 * d4 elif d2 <= 3.2e-85: tmp = t_1 elif d2 <= 8.5e-44: tmp = d1 * d4 elif d2 <= 2.9e-21: tmp = t_1 elif d2 <= 4e-9: tmp = d1 * d4 elif d2 <= 1800000.0: tmp = t_1 elif d2 <= 5.8e+21: tmp = t_0 elif d2 <= 3.1e+34: tmp = d1 * d4 elif d2 <= 1.2e+36: tmp = t_1 elif (d2 <= 1.7e+65) or not ((d2 <= 5.3e+76) or (not (d2 <= 1.1e+83) and (d2 <= 2.5e+85))): tmp = d1 * d4 else: tmp = t_0 return tmp
function code(d1, d2, d3, d4) t_0 = Float64(d1 * Float64(-d3)) t_1 = Float64(d1 * Float64(-d1)) tmp = 0.0 if (d2 <= -7.5e+68) tmp = Float64(d1 * d2); elseif (d2 <= -7.4e+18) tmp = t_1; elseif (d2 <= -9e+16) tmp = Float64(d1 * d4); elseif (d2 <= -4.1e+14) tmp = t_0; elseif (d2 <= -1.3e+14) tmp = t_1; elseif (d2 <= -720000000000.0) tmp = t_0; elseif (d2 <= -500000000000.0) tmp = t_1; elseif (d2 <= -24000000000.0) tmp = t_0; elseif (d2 <= -1700000.0) tmp = t_1; elseif (d2 <= -0.072) tmp = t_0; elseif (d2 <= -1.05e-6) tmp = t_1; elseif (d2 <= -5.2e-11) tmp = t_0; elseif (d2 <= -4.1e-16) tmp = Float64(d1 * d4); elseif (d2 <= -2.7e-23) tmp = t_0; elseif (d2 <= -3e-25) tmp = Float64(d1 * d4); elseif (d2 <= -4e-26) tmp = t_0; elseif (d2 <= -1.8e-33) tmp = Float64(d1 * d4); elseif (d2 <= -2.1e-45) tmp = t_0; elseif (d2 <= -1.65e-52) tmp = t_1; elseif (d2 <= -1.6e-52) tmp = Float64(d1 * d2); elseif (d2 <= -4.5e-54) tmp = t_1; elseif (d2 <= -1.5e-68) tmp = Float64(d1 * d4); elseif (d2 <= -3.5e-70) tmp = t_1; elseif (d2 <= -1.16e-78) tmp = t_0; elseif (d2 <= -2.9e-80) tmp = t_1; elseif (d2 <= -8.5e-92) tmp = Float64(d1 * d4); elseif (d2 <= -4.8e-101) tmp = t_0; elseif (d2 <= -6e-104) tmp = t_1; elseif (d2 <= -2.55e-104) tmp = Float64(d1 * d4); elseif (d2 <= -1.45e-111) tmp = t_0; elseif (d2 <= -1.45e-114) tmp = Float64(d1 * d4); elseif (d2 <= -7.4e-118) tmp = t_0; elseif (d2 <= -1.3e-120) tmp = t_1; elseif (d2 <= -6.4e-133) tmp = t_0; elseif (d2 <= -2.7e-137) tmp = t_1; elseif (d2 <= -3.7e-141) tmp = Float64(d1 * d4); elseif (d2 <= -5e-146) tmp = t_0; elseif (d2 <= -4.3e-148) tmp = Float64(d1 * d4); elseif (d2 <= -1.02e-149) tmp = t_1; elseif (d2 <= -7e-153) tmp = Float64(d1 * d4); elseif (d2 <= -5.2e-161) tmp = t_1; elseif (d2 <= -7e-183) tmp = Float64(d1 * d4); elseif (d2 <= -1e-197) tmp = t_0; elseif (d2 <= -4.2e-208) tmp = t_1; elseif (d2 <= -5.4e-242) tmp = t_0; elseif (d2 <= -1.5e-244) tmp = t_1; elseif (d2 <= -4.4e-259) tmp = t_0; elseif (d2 <= -1.28e-264) tmp = Float64(d1 * d4); elseif (d2 <= -7.4e-267) tmp = t_1; elseif (d2 <= -3.3e-276) tmp = Float64(d1 * d4); elseif (d2 <= -2.7e-285) tmp = t_0; elseif (d2 <= -7e-287) tmp = Float64(d1 * d4); elseif (d2 <= -9.2e-288) tmp = t_0; elseif (d2 <= -5.5e-292) tmp = Float64(d1 * d4); elseif (d2 <= -2.1e-294) tmp = t_0; elseif (d2 <= -1.4e-297) tmp = t_1; elseif (d2 <= -5.8e-305) tmp = t_0; elseif (d2 <= 8e-303) tmp = t_1; elseif (d2 <= 9.2e-290) tmp = t_0; elseif (d2 <= 1.3e-285) tmp = Float64(d1 * d4); elseif (d2 <= 3.3e-259) tmp = t_0; elseif (d2 <= 3.1e-255) tmp = Float64(d1 * d4); elseif (d2 <= 8.5e-251) tmp = t_0; elseif (d2 <= 8.5e-245) tmp = Float64(d1 * d4); elseif (d2 <= 1.6e-234) tmp = t_1; elseif (d2 <= 3.5e-207) tmp = t_0; elseif (d2 <= 3e-205) tmp = t_1; elseif (d2 <= 6.2e-199) tmp = Float64(d1 * d4); elseif (d2 <= 4.1e-197) tmp = t_1; elseif (d2 <= 5.4e-187) tmp = Float64(d1 * d4); elseif (d2 <= 4.6e-179) tmp = t_1; elseif (d2 <= 2.85e-168) tmp = Float64(d1 * d4); elseif (d2 <= 1.12e-164) tmp = t_1; elseif (d2 <= 1.6e-120) tmp = Float64(d1 * d4); elseif (d2 <= 4.5e-108) tmp = t_0; elseif (d2 <= 1.66e-99) tmp = Float64(d1 * d4); elseif (d2 <= 8.5e-91) tmp = t_0; elseif (d2 <= 2.9e-90) tmp = Float64(d1 * d4); elseif (d2 <= 3.2e-85) tmp = t_1; elseif (d2 <= 8.5e-44) tmp = Float64(d1 * d4); elseif (d2 <= 2.9e-21) tmp = t_1; elseif (d2 <= 4e-9) tmp = Float64(d1 * d4); elseif (d2 <= 1800000.0) tmp = t_1; elseif (d2 <= 5.8e+21) tmp = t_0; elseif (d2 <= 3.1e+34) tmp = Float64(d1 * d4); elseif (d2 <= 1.2e+36) tmp = t_1; elseif ((d2 <= 1.7e+65) || !((d2 <= 5.3e+76) || (!(d2 <= 1.1e+83) && (d2 <= 2.5e+85)))) tmp = Float64(d1 * d4); else tmp = t_0; end return tmp end
function tmp_2 = code(d1, d2, d3, d4) t_0 = d1 * -d3; t_1 = d1 * -d1; tmp = 0.0; if (d2 <= -7.5e+68) tmp = d1 * d2; elseif (d2 <= -7.4e+18) tmp = t_1; elseif (d2 <= -9e+16) tmp = d1 * d4; elseif (d2 <= -4.1e+14) tmp = t_0; elseif (d2 <= -1.3e+14) tmp = t_1; elseif (d2 <= -720000000000.0) tmp = t_0; elseif (d2 <= -500000000000.0) tmp = t_1; elseif (d2 <= -24000000000.0) tmp = t_0; elseif (d2 <= -1700000.0) tmp = t_1; elseif (d2 <= -0.072) tmp = t_0; elseif (d2 <= -1.05e-6) tmp = t_1; elseif (d2 <= -5.2e-11) tmp = t_0; elseif (d2 <= -4.1e-16) tmp = d1 * d4; elseif (d2 <= -2.7e-23) tmp = t_0; elseif (d2 <= -3e-25) tmp = d1 * d4; elseif (d2 <= -4e-26) tmp = t_0; elseif (d2 <= -1.8e-33) tmp = d1 * d4; elseif (d2 <= -2.1e-45) tmp = t_0; elseif (d2 <= -1.65e-52) tmp = t_1; elseif (d2 <= -1.6e-52) tmp = d1 * d2; elseif (d2 <= -4.5e-54) tmp = t_1; elseif (d2 <= -1.5e-68) tmp = d1 * d4; elseif (d2 <= -3.5e-70) tmp = t_1; elseif (d2 <= -1.16e-78) tmp = t_0; elseif (d2 <= -2.9e-80) tmp = t_1; elseif (d2 <= -8.5e-92) tmp = d1 * d4; elseif (d2 <= -4.8e-101) tmp = t_0; elseif (d2 <= -6e-104) tmp = t_1; elseif (d2 <= -2.55e-104) tmp = d1 * d4; elseif (d2 <= -1.45e-111) tmp = t_0; elseif (d2 <= -1.45e-114) tmp = d1 * d4; elseif (d2 <= -7.4e-118) tmp = t_0; elseif (d2 <= -1.3e-120) tmp = t_1; elseif (d2 <= -6.4e-133) tmp = t_0; elseif (d2 <= -2.7e-137) tmp = t_1; elseif (d2 <= -3.7e-141) tmp = d1 * d4; elseif (d2 <= -5e-146) tmp = t_0; elseif (d2 <= -4.3e-148) tmp = d1 * d4; elseif (d2 <= -1.02e-149) tmp = t_1; elseif (d2 <= -7e-153) tmp = d1 * d4; elseif (d2 <= -5.2e-161) tmp = t_1; elseif (d2 <= -7e-183) tmp = d1 * d4; elseif (d2 <= -1e-197) tmp = t_0; elseif (d2 <= -4.2e-208) tmp = t_1; elseif (d2 <= -5.4e-242) tmp = t_0; elseif (d2 <= -1.5e-244) tmp = t_1; elseif (d2 <= -4.4e-259) tmp = t_0; elseif (d2 <= -1.28e-264) tmp = d1 * d4; elseif (d2 <= -7.4e-267) tmp = t_1; elseif (d2 <= -3.3e-276) tmp = d1 * d4; elseif (d2 <= -2.7e-285) tmp = t_0; elseif (d2 <= -7e-287) tmp = d1 * d4; elseif (d2 <= -9.2e-288) tmp = t_0; elseif (d2 <= -5.5e-292) tmp = d1 * d4; elseif (d2 <= -2.1e-294) tmp = t_0; elseif (d2 <= -1.4e-297) tmp = t_1; elseif (d2 <= -5.8e-305) tmp = t_0; elseif (d2 <= 8e-303) tmp = t_1; elseif (d2 <= 9.2e-290) tmp = t_0; elseif (d2 <= 1.3e-285) tmp = d1 * d4; elseif (d2 <= 3.3e-259) tmp = t_0; elseif (d2 <= 3.1e-255) tmp = d1 * d4; elseif (d2 <= 8.5e-251) tmp = t_0; elseif (d2 <= 8.5e-245) tmp = d1 * d4; elseif (d2 <= 1.6e-234) tmp = t_1; elseif (d2 <= 3.5e-207) tmp = t_0; elseif (d2 <= 3e-205) tmp = t_1; elseif (d2 <= 6.2e-199) tmp = d1 * d4; elseif (d2 <= 4.1e-197) tmp = t_1; elseif (d2 <= 5.4e-187) tmp = d1 * d4; elseif (d2 <= 4.6e-179) tmp = t_1; elseif (d2 <= 2.85e-168) tmp = d1 * d4; elseif (d2 <= 1.12e-164) tmp = t_1; elseif (d2 <= 1.6e-120) tmp = d1 * d4; elseif (d2 <= 4.5e-108) tmp = t_0; elseif (d2 <= 1.66e-99) tmp = d1 * d4; elseif (d2 <= 8.5e-91) tmp = t_0; elseif (d2 <= 2.9e-90) tmp = d1 * d4; elseif (d2 <= 3.2e-85) tmp = t_1; elseif (d2 <= 8.5e-44) tmp = d1 * d4; elseif (d2 <= 2.9e-21) tmp = t_1; elseif (d2 <= 4e-9) tmp = d1 * d4; elseif (d2 <= 1800000.0) tmp = t_1; elseif (d2 <= 5.8e+21) tmp = t_0; elseif (d2 <= 3.1e+34) tmp = d1 * d4; elseif (d2 <= 1.2e+36) tmp = t_1; elseif ((d2 <= 1.7e+65) || ~(((d2 <= 5.3e+76) || (~((d2 <= 1.1e+83)) && (d2 <= 2.5e+85))))) tmp = d1 * d4; else tmp = t_0; end tmp_2 = tmp; end
code[d1_, d2_, d3_, d4_] := Block[{t$95$0 = N[(d1 * (-d3)), $MachinePrecision]}, Block[{t$95$1 = N[(d1 * (-d1)), $MachinePrecision]}, If[LessEqual[d2, -7.5e+68], N[(d1 * d2), $MachinePrecision], If[LessEqual[d2, -7.4e+18], t$95$1, If[LessEqual[d2, -9e+16], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -4.1e+14], t$95$0, If[LessEqual[d2, -1.3e+14], t$95$1, If[LessEqual[d2, -720000000000.0], t$95$0, If[LessEqual[d2, -500000000000.0], t$95$1, If[LessEqual[d2, -24000000000.0], t$95$0, If[LessEqual[d2, -1700000.0], t$95$1, If[LessEqual[d2, -0.072], t$95$0, If[LessEqual[d2, -1.05e-6], t$95$1, If[LessEqual[d2, -5.2e-11], t$95$0, If[LessEqual[d2, -4.1e-16], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -2.7e-23], t$95$0, If[LessEqual[d2, -3e-25], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -4e-26], t$95$0, If[LessEqual[d2, -1.8e-33], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -2.1e-45], t$95$0, If[LessEqual[d2, -1.65e-52], t$95$1, If[LessEqual[d2, -1.6e-52], N[(d1 * d2), $MachinePrecision], If[LessEqual[d2, -4.5e-54], t$95$1, If[LessEqual[d2, -1.5e-68], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -3.5e-70], t$95$1, If[LessEqual[d2, -1.16e-78], t$95$0, If[LessEqual[d2, -2.9e-80], t$95$1, If[LessEqual[d2, -8.5e-92], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -4.8e-101], t$95$0, If[LessEqual[d2, -6e-104], t$95$1, If[LessEqual[d2, -2.55e-104], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -1.45e-111], t$95$0, If[LessEqual[d2, -1.45e-114], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -7.4e-118], t$95$0, If[LessEqual[d2, -1.3e-120], t$95$1, If[LessEqual[d2, -6.4e-133], t$95$0, If[LessEqual[d2, -2.7e-137], t$95$1, If[LessEqual[d2, -3.7e-141], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -5e-146], t$95$0, If[LessEqual[d2, -4.3e-148], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -1.02e-149], t$95$1, If[LessEqual[d2, -7e-153], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -5.2e-161], t$95$1, If[LessEqual[d2, -7e-183], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -1e-197], t$95$0, If[LessEqual[d2, -4.2e-208], t$95$1, If[LessEqual[d2, -5.4e-242], t$95$0, If[LessEqual[d2, -1.5e-244], t$95$1, If[LessEqual[d2, -4.4e-259], t$95$0, If[LessEqual[d2, -1.28e-264], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -7.4e-267], t$95$1, If[LessEqual[d2, -3.3e-276], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -2.7e-285], t$95$0, If[LessEqual[d2, -7e-287], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -9.2e-288], t$95$0, If[LessEqual[d2, -5.5e-292], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -2.1e-294], t$95$0, If[LessEqual[d2, -1.4e-297], t$95$1, If[LessEqual[d2, -5.8e-305], t$95$0, If[LessEqual[d2, 8e-303], t$95$1, If[LessEqual[d2, 9.2e-290], t$95$0, If[LessEqual[d2, 1.3e-285], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, 3.3e-259], t$95$0, If[LessEqual[d2, 3.1e-255], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, 8.5e-251], t$95$0, If[LessEqual[d2, 8.5e-245], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, 1.6e-234], t$95$1, If[LessEqual[d2, 3.5e-207], t$95$0, If[LessEqual[d2, 3e-205], t$95$1, If[LessEqual[d2, 6.2e-199], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, 4.1e-197], t$95$1, If[LessEqual[d2, 5.4e-187], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, 4.6e-179], t$95$1, If[LessEqual[d2, 2.85e-168], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, 1.12e-164], t$95$1, If[LessEqual[d2, 1.6e-120], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, 4.5e-108], t$95$0, If[LessEqual[d2, 1.66e-99], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, 8.5e-91], t$95$0, If[LessEqual[d2, 2.9e-90], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, 3.2e-85], t$95$1, If[LessEqual[d2, 8.5e-44], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, 2.9e-21], t$95$1, If[LessEqual[d2, 4e-9], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, 1800000.0], t$95$1, If[LessEqual[d2, 5.8e+21], t$95$0, If[LessEqual[d2, 3.1e+34], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, 1.2e+36], t$95$1, If[Or[LessEqual[d2, 1.7e+65], N[Not[Or[LessEqual[d2, 5.3e+76], And[N[Not[LessEqual[d2, 1.1e+83]], $MachinePrecision], LessEqual[d2, 2.5e+85]]]], $MachinePrecision]], N[(d1 * d4), $MachinePrecision], t$95$0]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := d1 \cdot \left(-d3\right)\\
t_1 := d1 \cdot \left(-d1\right)\\
\mathbf{if}\;d2 \leq -7.5 \cdot 10^{+68}:\\
\;\;\;\;d1 \cdot d2\\
\mathbf{elif}\;d2 \leq -7.4 \cdot 10^{+18}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq -9 \cdot 10^{+16}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -4.1 \cdot 10^{+14}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -1.3 \cdot 10^{+14}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq -720000000000:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -500000000000:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq -24000000000:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -1700000:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq -0.072:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -1.05 \cdot 10^{-6}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq -5.2 \cdot 10^{-11}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -4.1 \cdot 10^{-16}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -2.7 \cdot 10^{-23}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -3 \cdot 10^{-25}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -4 \cdot 10^{-26}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -1.8 \cdot 10^{-33}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -2.1 \cdot 10^{-45}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -1.65 \cdot 10^{-52}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq -1.6 \cdot 10^{-52}:\\
\;\;\;\;d1 \cdot d2\\
\mathbf{elif}\;d2 \leq -4.5 \cdot 10^{-54}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq -1.5 \cdot 10^{-68}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -3.5 \cdot 10^{-70}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq -1.16 \cdot 10^{-78}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -2.9 \cdot 10^{-80}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq -8.5 \cdot 10^{-92}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -4.8 \cdot 10^{-101}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -6 \cdot 10^{-104}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq -2.55 \cdot 10^{-104}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -1.45 \cdot 10^{-111}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -1.45 \cdot 10^{-114}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -7.4 \cdot 10^{-118}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -1.3 \cdot 10^{-120}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq -6.4 \cdot 10^{-133}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -2.7 \cdot 10^{-137}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq -3.7 \cdot 10^{-141}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -5 \cdot 10^{-146}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -4.3 \cdot 10^{-148}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -1.02 \cdot 10^{-149}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq -7 \cdot 10^{-153}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -5.2 \cdot 10^{-161}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq -7 \cdot 10^{-183}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -1 \cdot 10^{-197}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -4.2 \cdot 10^{-208}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq -5.4 \cdot 10^{-242}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -1.5 \cdot 10^{-244}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq -4.4 \cdot 10^{-259}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -1.28 \cdot 10^{-264}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -7.4 \cdot 10^{-267}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq -3.3 \cdot 10^{-276}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -2.7 \cdot 10^{-285}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -7 \cdot 10^{-287}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -9.2 \cdot 10^{-288}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -5.5 \cdot 10^{-292}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -2.1 \cdot 10^{-294}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -1.4 \cdot 10^{-297}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq -5.8 \cdot 10^{-305}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq 8 \cdot 10^{-303}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq 9.2 \cdot 10^{-290}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq 1.3 \cdot 10^{-285}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq 3.3 \cdot 10^{-259}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq 3.1 \cdot 10^{-255}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq 8.5 \cdot 10^{-251}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq 8.5 \cdot 10^{-245}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq 1.6 \cdot 10^{-234}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq 3.5 \cdot 10^{-207}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq 3 \cdot 10^{-205}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq 6.2 \cdot 10^{-199}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq 4.1 \cdot 10^{-197}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq 5.4 \cdot 10^{-187}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq 4.6 \cdot 10^{-179}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq 2.85 \cdot 10^{-168}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq 1.12 \cdot 10^{-164}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq 1.6 \cdot 10^{-120}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq 4.5 \cdot 10^{-108}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq 1.66 \cdot 10^{-99}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq 8.5 \cdot 10^{-91}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq 2.9 \cdot 10^{-90}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq 3.2 \cdot 10^{-85}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq 8.5 \cdot 10^{-44}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq 2.9 \cdot 10^{-21}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq 4 \cdot 10^{-9}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq 1800000:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq 5.8 \cdot 10^{+21}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq 3.1 \cdot 10^{+34}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq 1.2 \cdot 10^{+36}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq 1.7 \cdot 10^{+65} \lor \neg \left(d2 \leq 5.3 \cdot 10^{+76} \lor \neg \left(d2 \leq 1.1 \cdot 10^{+83}\right) \land d2 \leq 2.5 \cdot 10^{+85}\right):\\
\;\;\;\;d1 \cdot d4\\
\mathbf{else}:\\
\;\;\;\;t\_0\\
\end{array}
\end{array}
if d2 < -7.49999999999999959e68 or -1.64999999999999998e-52 < d2 < -1.60000000000000005e-52Initial program 79.9%
associate--l+79.9%
distribute-lft-out--85.4%
distribute-rgt-out--89.0%
distribute-lft-out99.9%
Simplified99.9%
Taylor expanded in d2 around inf 64.5%
if -7.49999999999999959e68 < d2 < -7.4e18 or -4.1e14 < d2 < -1.3e14 or -7.2e11 < d2 < -5e11 or -2.4e10 < d2 < -1.7e6 or -0.0719999999999999946 < d2 < -1.0499999999999999e-6 or -2.09999999999999995e-45 < d2 < -1.64999999999999998e-52 or -1.60000000000000005e-52 < d2 < -4.4999999999999998e-54 or -1.5e-68 < d2 < -3.49999999999999974e-70 or -1.16e-78 < d2 < -2.89999999999999998e-80 or -4.8e-101 < d2 < -6.0000000000000005e-104 or -7.40000000000000029e-118 < d2 < -1.3000000000000001e-120 or -6.40000000000000025e-133 < d2 < -2.69999999999999993e-137 or -4.2999999999999998e-148 < d2 < -1.0200000000000001e-149 or -6.99999999999999961e-153 < d2 < -5.19999999999999991e-161 or -9.9999999999999999e-198 < d2 < -4.20000000000000024e-208 or -5.4e-242 < d2 < -1.5000000000000001e-244 or -1.28e-264 < d2 < -7.39999999999999971e-267 or -2.09999999999999984e-294 < d2 < -1.39999999999999992e-297 or -5.79999999999999975e-305 < d2 < 7.99999999999999944e-303 or 8.50000000000000022e-245 < d2 < 1.5999999999999999e-234 or 3.5000000000000002e-207 < d2 < 3e-205 or 6.20000000000000024e-199 < d2 < 4.1e-197 or 5.4000000000000002e-187 < d2 < 4.59999999999999975e-179 or 2.85000000000000004e-168 < d2 < 1.12e-164 or 2.89999999999999983e-90 < d2 < 3.20000000000000027e-85 or 8.5000000000000002e-44 < d2 < 2.9e-21 or 4.00000000000000025e-9 < d2 < 1.8e6 or 3.09999999999999977e34 < d2 < 1.19999999999999996e36Initial program 88.7%
associate--l+88.7%
distribute-lft-out--88.7%
distribute-rgt-out--92.4%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d1 around inf 63.8%
neg-mul-163.8%
Simplified63.8%
if -7.4e18 < d2 < -9e16 or -5.2000000000000001e-11 < d2 < -4.10000000000000006e-16 or -2.69999999999999985e-23 < d2 < -2.9999999999999998e-25 or -4.0000000000000002e-26 < d2 < -1.80000000000000017e-33 or -4.4999999999999998e-54 < d2 < -1.5e-68 or -2.89999999999999998e-80 < d2 < -8.50000000000000067e-92 or -6.0000000000000005e-104 < d2 < -2.54999999999999996e-104 or -1.45000000000000001e-111 < d2 < -1.44999999999999998e-114 or -2.69999999999999993e-137 < d2 < -3.7e-141 or -4.99999999999999957e-146 < d2 < -4.2999999999999998e-148 or -1.0200000000000001e-149 < d2 < -6.99999999999999961e-153 or -5.19999999999999991e-161 < d2 < -6.99999999999999983e-183 or -4.40000000000000019e-259 < d2 < -1.28e-264 or -7.39999999999999971e-267 < d2 < -3.29999999999999991e-276 or -2.6999999999999998e-285 < d2 < -7e-287 or -9.2e-288 < d2 < -5.50000000000000006e-292 or 9.2000000000000003e-290 < d2 < 1.3000000000000001e-285 or 3.3e-259 < d2 < 3.09999999999999997e-255 or 8.49999999999999984e-251 < d2 < 8.50000000000000022e-245 or 3e-205 < d2 < 6.20000000000000024e-199 or 4.1e-197 < d2 < 5.4000000000000002e-187 or 4.59999999999999975e-179 < d2 < 2.85000000000000004e-168 or 1.12e-164 < d2 < 1.6e-120 or 4.4999999999999997e-108 < d2 < 1.6599999999999999e-99 or 8.49999999999999985e-91 < d2 < 2.89999999999999983e-90 or 3.20000000000000027e-85 < d2 < 8.5000000000000002e-44 or 2.9e-21 < d2 < 4.00000000000000025e-9 or 5.8e21 < d2 < 3.09999999999999977e34 or 1.19999999999999996e36 < d2 < 1.7e65 or 5.30000000000000015e76 < d2 < 1.09999999999999999e83 or 2.5e85 < d2 Initial program 86.8%
associate--l+86.8%
distribute-lft-out--88.7%
distribute-rgt-out--91.5%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d4 around inf 36.9%
if -9e16 < d2 < -4.1e14 or -1.3e14 < d2 < -7.2e11 or -5e11 < d2 < -2.4e10 or -1.7e6 < d2 < -0.0719999999999999946 or -1.0499999999999999e-6 < d2 < -5.2000000000000001e-11 or -4.10000000000000006e-16 < d2 < -2.69999999999999985e-23 or -2.9999999999999998e-25 < d2 < -4.0000000000000002e-26 or -1.80000000000000017e-33 < d2 < -2.09999999999999995e-45 or -3.49999999999999974e-70 < d2 < -1.16e-78 or -8.50000000000000067e-92 < d2 < -4.8e-101 or -2.54999999999999996e-104 < d2 < -1.45000000000000001e-111 or -1.44999999999999998e-114 < d2 < -7.40000000000000029e-118 or -1.3000000000000001e-120 < d2 < -6.40000000000000025e-133 or -3.7e-141 < d2 < -4.99999999999999957e-146 or -6.99999999999999983e-183 < d2 < -9.9999999999999999e-198 or -4.20000000000000024e-208 < d2 < -5.4e-242 or -1.5000000000000001e-244 < d2 < -4.40000000000000019e-259 or -3.29999999999999991e-276 < d2 < -2.6999999999999998e-285 or -7e-287 < d2 < -9.2e-288 or -5.50000000000000006e-292 < d2 < -2.09999999999999984e-294 or -1.39999999999999992e-297 < d2 < -5.79999999999999975e-305 or 7.99999999999999944e-303 < d2 < 9.2000000000000003e-290 or 1.3000000000000001e-285 < d2 < 3.3e-259 or 3.09999999999999997e-255 < d2 < 8.49999999999999984e-251 or 1.5999999999999999e-234 < d2 < 3.5000000000000002e-207 or 1.6e-120 < d2 < 4.4999999999999997e-108 or 1.6599999999999999e-99 < d2 < 8.49999999999999985e-91 or 1.8e6 < d2 < 5.8e21 or 1.7e65 < d2 < 5.30000000000000015e76 or 1.09999999999999999e83 < d2 < 2.5e85Initial program 92.9%
associate--l+92.9%
distribute-lft-out--92.9%
distribute-rgt-out--95.2%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d3 around inf 79.3%
mul-1-neg79.3%
distribute-rgt-neg-out79.3%
Simplified79.3%
Final simplification55.4%
(FPCore (d1 d2 d3 d4)
:precision binary64
(let* ((t_0 (* d1 (+ d2 d4))) (t_1 (* d1 (- d3))) (t_2 (* d1 (- d1))))
(if (<= d3 -1.55e+74)
t_1
(if (<= d3 -160000.0)
t_0
(if (<= d3 -155000.0)
t_1
(if (<= d3 -7.6e-5)
t_2
(if (<= d3 -6.5e-13)
(* d1 d2)
(if (<= d3 -4e-25)
t_2
(if (<= d3 -7.6e-40)
(* d1 d4)
(if (<= d3 -8e-47)
t_2
(if (<= d3 -7.4e-81)
t_0
(if (<= d3 -2.4e-84)
t_1
(if (<= d3 -2.9e-114)
t_0
(if (<= d3 -2.2e-128)
t_2
(if (<= d3 -7e-135)
(* d1 d4)
(if (<= d3 -3.3e-137)
t_2
(if (<= d3 -1.2e-167)
t_0
(if (<= d3 -2.7e-176)
t_2
(if (<= d3 -4.15e-224)
t_0
(if (<= d3 -6.1e-230)
t_2
(if (<= d3 -2.3e-286)
t_0
(if (<= d3 -2.6e-295)
t_2
(if (<= d3 -2.1e-306)
(* d1 d4)
(if (<= d3 1.8e-304)
t_2
(if (<= d3 3.1e-271)
t_0
(if (<= d3 3.4e-271)
t_2
(if (<= d3 3.1e-262)
t_0
(if (<= d3 1.2e-261)
t_2
(if (<= d3 7.6e-219)
(* d1 d2)
(if (<= d3 1.6e-202)
t_2
(if (<= d3 3e-201)
(* d1 d4)
(if (<=
d3
3.1e-200)
t_2
(if (<=
d3
2.4e-172)
t_0
(if (<=
d3
1.6e-171)
t_2
(if (<=
d3
2e-169)
(* d1 d2)
(if (<=
d3
1.05e-161)
t_2
(if (<=
d3
2.15e-128)
t_0
(if (<=
d3
2.3e-128)
t_2
(if (<=
d3
1.95e-107)
t_0
(if (<=
d3
4.3e-107)
t_2
(if (<=
d3
2e-92)
t_0
(if (<=
d3
3.2e-87)
t_2
(if (<=
d3
3.3e-87)
t_1
(if (<=
d3
4.6e-76)
(*
d1
d4)
(if (<=
d3
4.2e-74)
t_2
(if (<=
d3
2.4e-71)
(*
d1
d4)
(if (<=
d3
2.45e-71)
t_1
(if (<=
d3
2e-46)
t_2
(if (<=
d3
8.8e-37)
(*
d1
d4)
(if (<=
d3
8.2e-25)
t_2
(if (<=
d3
8e-22)
(*
d1
d2)
(if (<=
d3
3.6e-19)
t_2
(if (<=
d3
3.4e+21)
t_0
(if (<=
d3
3.45e+21)
t_1
(if (<=
d3
1.6e+31)
t_0
(if (<=
d3
1.4e+32)
t_2
(if (<=
d3
1.02e+51)
(*
d1
d4)
(if (<=
d3
9.8e+51)
t_1
(if (<=
d3
3.2e+59)
t_0
(if (<=
d3
7e+62)
t_2
(if (<=
d3
1.05e+64)
(*
d1
d4)
(if (<=
d3
4.8e+67)
t_2
(if (<=
d3
3.1e+68)
(*
d1
d2)
(if (<=
d3
1.8e+72)
t_2
(if (<=
d3
4.5e+89)
t_0
(if (<=
d3
1.85e+99)
t_1
(if (<=
d3
6e+104)
t_2
(if (<=
d3
3.2e+124)
t_1
(if (<=
d3
1.26e+128)
(*
d1
d4)
(if (<=
d3
4.5e+129)
t_2
(if (<=
d3
5.6e+138)
t_1
(if (<=
d3
2.2e+140)
(*
d1
d4)
(if (<=
d3
6.2e+151)
t_1
(if (<=
d3
2.9e+152)
(*
d1
d2)
(if (<=
d3
1.2e+157)
(*
d1
d4)
(if (<=
d3
1.74e+164)
t_1
(if (<=
d3
1.8e+165)
(*
d1
d2)
(if (<=
d3
3.7e+177)
t_1
(if (<=
d3
7.6e+180)
t_2
(if (<=
d3
3.1e+207)
t_0
(if (<=
d3
1.95e+216)
t_1
(if (<=
d3
2.8e+216)
t_0
(if (or (<=
d3
1.8e+271)
(not
(or (<=
d3
1.9e+271)
(and (not
(<=
d3
4.2e+288))
(<=
d3
4.3e+288)))))
t_1
(*
d1
d2))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
double code(double d1, double d2, double d3, double d4) {
double t_0 = d1 * (d2 + d4);
double t_1 = d1 * -d3;
double t_2 = d1 * -d1;
double tmp;
if (d3 <= -1.55e+74) {
tmp = t_1;
} else if (d3 <= -160000.0) {
tmp = t_0;
} else if (d3 <= -155000.0) {
tmp = t_1;
} else if (d3 <= -7.6e-5) {
tmp = t_2;
} else if (d3 <= -6.5e-13) {
tmp = d1 * d2;
} else if (d3 <= -4e-25) {
tmp = t_2;
} else if (d3 <= -7.6e-40) {
tmp = d1 * d4;
} else if (d3 <= -8e-47) {
tmp = t_2;
} else if (d3 <= -7.4e-81) {
tmp = t_0;
} else if (d3 <= -2.4e-84) {
tmp = t_1;
} else if (d3 <= -2.9e-114) {
tmp = t_0;
} else if (d3 <= -2.2e-128) {
tmp = t_2;
} else if (d3 <= -7e-135) {
tmp = d1 * d4;
} else if (d3 <= -3.3e-137) {
tmp = t_2;
} else if (d3 <= -1.2e-167) {
tmp = t_0;
} else if (d3 <= -2.7e-176) {
tmp = t_2;
} else if (d3 <= -4.15e-224) {
tmp = t_0;
} else if (d3 <= -6.1e-230) {
tmp = t_2;
} else if (d3 <= -2.3e-286) {
tmp = t_0;
} else if (d3 <= -2.6e-295) {
tmp = t_2;
} else if (d3 <= -2.1e-306) {
tmp = d1 * d4;
} else if (d3 <= 1.8e-304) {
tmp = t_2;
} else if (d3 <= 3.1e-271) {
tmp = t_0;
} else if (d3 <= 3.4e-271) {
tmp = t_2;
} else if (d3 <= 3.1e-262) {
tmp = t_0;
} else if (d3 <= 1.2e-261) {
tmp = t_2;
} else if (d3 <= 7.6e-219) {
tmp = d1 * d2;
} else if (d3 <= 1.6e-202) {
tmp = t_2;
} else if (d3 <= 3e-201) {
tmp = d1 * d4;
} else if (d3 <= 3.1e-200) {
tmp = t_2;
} else if (d3 <= 2.4e-172) {
tmp = t_0;
} else if (d3 <= 1.6e-171) {
tmp = t_2;
} else if (d3 <= 2e-169) {
tmp = d1 * d2;
} else if (d3 <= 1.05e-161) {
tmp = t_2;
} else if (d3 <= 2.15e-128) {
tmp = t_0;
} else if (d3 <= 2.3e-128) {
tmp = t_2;
} else if (d3 <= 1.95e-107) {
tmp = t_0;
} else if (d3 <= 4.3e-107) {
tmp = t_2;
} else if (d3 <= 2e-92) {
tmp = t_0;
} else if (d3 <= 3.2e-87) {
tmp = t_2;
} else if (d3 <= 3.3e-87) {
tmp = t_1;
} else if (d3 <= 4.6e-76) {
tmp = d1 * d4;
} else if (d3 <= 4.2e-74) {
tmp = t_2;
} else if (d3 <= 2.4e-71) {
tmp = d1 * d4;
} else if (d3 <= 2.45e-71) {
tmp = t_1;
} else if (d3 <= 2e-46) {
tmp = t_2;
} else if (d3 <= 8.8e-37) {
tmp = d1 * d4;
} else if (d3 <= 8.2e-25) {
tmp = t_2;
} else if (d3 <= 8e-22) {
tmp = d1 * d2;
} else if (d3 <= 3.6e-19) {
tmp = t_2;
} else if (d3 <= 3.4e+21) {
tmp = t_0;
} else if (d3 <= 3.45e+21) {
tmp = t_1;
} else if (d3 <= 1.6e+31) {
tmp = t_0;
} else if (d3 <= 1.4e+32) {
tmp = t_2;
} else if (d3 <= 1.02e+51) {
tmp = d1 * d4;
} else if (d3 <= 9.8e+51) {
tmp = t_1;
} else if (d3 <= 3.2e+59) {
tmp = t_0;
} else if (d3 <= 7e+62) {
tmp = t_2;
} else if (d3 <= 1.05e+64) {
tmp = d1 * d4;
} else if (d3 <= 4.8e+67) {
tmp = t_2;
} else if (d3 <= 3.1e+68) {
tmp = d1 * d2;
} else if (d3 <= 1.8e+72) {
tmp = t_2;
} else if (d3 <= 4.5e+89) {
tmp = t_0;
} else if (d3 <= 1.85e+99) {
tmp = t_1;
} else if (d3 <= 6e+104) {
tmp = t_2;
} else if (d3 <= 3.2e+124) {
tmp = t_1;
} else if (d3 <= 1.26e+128) {
tmp = d1 * d4;
} else if (d3 <= 4.5e+129) {
tmp = t_2;
} else if (d3 <= 5.6e+138) {
tmp = t_1;
} else if (d3 <= 2.2e+140) {
tmp = d1 * d4;
} else if (d3 <= 6.2e+151) {
tmp = t_1;
} else if (d3 <= 2.9e+152) {
tmp = d1 * d2;
} else if (d3 <= 1.2e+157) {
tmp = d1 * d4;
} else if (d3 <= 1.74e+164) {
tmp = t_1;
} else if (d3 <= 1.8e+165) {
tmp = d1 * d2;
} else if (d3 <= 3.7e+177) {
tmp = t_1;
} else if (d3 <= 7.6e+180) {
tmp = t_2;
} else if (d3 <= 3.1e+207) {
tmp = t_0;
} else if (d3 <= 1.95e+216) {
tmp = t_1;
} else if (d3 <= 2.8e+216) {
tmp = t_0;
} else if ((d3 <= 1.8e+271) || !((d3 <= 1.9e+271) || (!(d3 <= 4.2e+288) && (d3 <= 4.3e+288)))) {
tmp = t_1;
} else {
tmp = d1 * d2;
}
return tmp;
}
real(8) function code(d1, d2, d3, d4)
real(8), intent (in) :: d1
real(8), intent (in) :: d2
real(8), intent (in) :: d3
real(8), intent (in) :: d4
real(8) :: t_0
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_0 = d1 * (d2 + d4)
t_1 = d1 * -d3
t_2 = d1 * -d1
if (d3 <= (-1.55d+74)) then
tmp = t_1
else if (d3 <= (-160000.0d0)) then
tmp = t_0
else if (d3 <= (-155000.0d0)) then
tmp = t_1
else if (d3 <= (-7.6d-5)) then
tmp = t_2
else if (d3 <= (-6.5d-13)) then
tmp = d1 * d2
else if (d3 <= (-4d-25)) then
tmp = t_2
else if (d3 <= (-7.6d-40)) then
tmp = d1 * d4
else if (d3 <= (-8d-47)) then
tmp = t_2
else if (d3 <= (-7.4d-81)) then
tmp = t_0
else if (d3 <= (-2.4d-84)) then
tmp = t_1
else if (d3 <= (-2.9d-114)) then
tmp = t_0
else if (d3 <= (-2.2d-128)) then
tmp = t_2
else if (d3 <= (-7d-135)) then
tmp = d1 * d4
else if (d3 <= (-3.3d-137)) then
tmp = t_2
else if (d3 <= (-1.2d-167)) then
tmp = t_0
else if (d3 <= (-2.7d-176)) then
tmp = t_2
else if (d3 <= (-4.15d-224)) then
tmp = t_0
else if (d3 <= (-6.1d-230)) then
tmp = t_2
else if (d3 <= (-2.3d-286)) then
tmp = t_0
else if (d3 <= (-2.6d-295)) then
tmp = t_2
else if (d3 <= (-2.1d-306)) then
tmp = d1 * d4
else if (d3 <= 1.8d-304) then
tmp = t_2
else if (d3 <= 3.1d-271) then
tmp = t_0
else if (d3 <= 3.4d-271) then
tmp = t_2
else if (d3 <= 3.1d-262) then
tmp = t_0
else if (d3 <= 1.2d-261) then
tmp = t_2
else if (d3 <= 7.6d-219) then
tmp = d1 * d2
else if (d3 <= 1.6d-202) then
tmp = t_2
else if (d3 <= 3d-201) then
tmp = d1 * d4
else if (d3 <= 3.1d-200) then
tmp = t_2
else if (d3 <= 2.4d-172) then
tmp = t_0
else if (d3 <= 1.6d-171) then
tmp = t_2
else if (d3 <= 2d-169) then
tmp = d1 * d2
else if (d3 <= 1.05d-161) then
tmp = t_2
else if (d3 <= 2.15d-128) then
tmp = t_0
else if (d3 <= 2.3d-128) then
tmp = t_2
else if (d3 <= 1.95d-107) then
tmp = t_0
else if (d3 <= 4.3d-107) then
tmp = t_2
else if (d3 <= 2d-92) then
tmp = t_0
else if (d3 <= 3.2d-87) then
tmp = t_2
else if (d3 <= 3.3d-87) then
tmp = t_1
else if (d3 <= 4.6d-76) then
tmp = d1 * d4
else if (d3 <= 4.2d-74) then
tmp = t_2
else if (d3 <= 2.4d-71) then
tmp = d1 * d4
else if (d3 <= 2.45d-71) then
tmp = t_1
else if (d3 <= 2d-46) then
tmp = t_2
else if (d3 <= 8.8d-37) then
tmp = d1 * d4
else if (d3 <= 8.2d-25) then
tmp = t_2
else if (d3 <= 8d-22) then
tmp = d1 * d2
else if (d3 <= 3.6d-19) then
tmp = t_2
else if (d3 <= 3.4d+21) then
tmp = t_0
else if (d3 <= 3.45d+21) then
tmp = t_1
else if (d3 <= 1.6d+31) then
tmp = t_0
else if (d3 <= 1.4d+32) then
tmp = t_2
else if (d3 <= 1.02d+51) then
tmp = d1 * d4
else if (d3 <= 9.8d+51) then
tmp = t_1
else if (d3 <= 3.2d+59) then
tmp = t_0
else if (d3 <= 7d+62) then
tmp = t_2
else if (d3 <= 1.05d+64) then
tmp = d1 * d4
else if (d3 <= 4.8d+67) then
tmp = t_2
else if (d3 <= 3.1d+68) then
tmp = d1 * d2
else if (d3 <= 1.8d+72) then
tmp = t_2
else if (d3 <= 4.5d+89) then
tmp = t_0
else if (d3 <= 1.85d+99) then
tmp = t_1
else if (d3 <= 6d+104) then
tmp = t_2
else if (d3 <= 3.2d+124) then
tmp = t_1
else if (d3 <= 1.26d+128) then
tmp = d1 * d4
else if (d3 <= 4.5d+129) then
tmp = t_2
else if (d3 <= 5.6d+138) then
tmp = t_1
else if (d3 <= 2.2d+140) then
tmp = d1 * d4
else if (d3 <= 6.2d+151) then
tmp = t_1
else if (d3 <= 2.9d+152) then
tmp = d1 * d2
else if (d3 <= 1.2d+157) then
tmp = d1 * d4
else if (d3 <= 1.74d+164) then
tmp = t_1
else if (d3 <= 1.8d+165) then
tmp = d1 * d2
else if (d3 <= 3.7d+177) then
tmp = t_1
else if (d3 <= 7.6d+180) then
tmp = t_2
else if (d3 <= 3.1d+207) then
tmp = t_0
else if (d3 <= 1.95d+216) then
tmp = t_1
else if (d3 <= 2.8d+216) then
tmp = t_0
else if ((d3 <= 1.8d+271) .or. (.not. (d3 <= 1.9d+271) .or. (.not. (d3 <= 4.2d+288)) .and. (d3 <= 4.3d+288))) then
tmp = t_1
else
tmp = d1 * d2
end if
code = tmp
end function
public static double code(double d1, double d2, double d3, double d4) {
double t_0 = d1 * (d2 + d4);
double t_1 = d1 * -d3;
double t_2 = d1 * -d1;
double tmp;
if (d3 <= -1.55e+74) {
tmp = t_1;
} else if (d3 <= -160000.0) {
tmp = t_0;
} else if (d3 <= -155000.0) {
tmp = t_1;
} else if (d3 <= -7.6e-5) {
tmp = t_2;
} else if (d3 <= -6.5e-13) {
tmp = d1 * d2;
} else if (d3 <= -4e-25) {
tmp = t_2;
} else if (d3 <= -7.6e-40) {
tmp = d1 * d4;
} else if (d3 <= -8e-47) {
tmp = t_2;
} else if (d3 <= -7.4e-81) {
tmp = t_0;
} else if (d3 <= -2.4e-84) {
tmp = t_1;
} else if (d3 <= -2.9e-114) {
tmp = t_0;
} else if (d3 <= -2.2e-128) {
tmp = t_2;
} else if (d3 <= -7e-135) {
tmp = d1 * d4;
} else if (d3 <= -3.3e-137) {
tmp = t_2;
} else if (d3 <= -1.2e-167) {
tmp = t_0;
} else if (d3 <= -2.7e-176) {
tmp = t_2;
} else if (d3 <= -4.15e-224) {
tmp = t_0;
} else if (d3 <= -6.1e-230) {
tmp = t_2;
} else if (d3 <= -2.3e-286) {
tmp = t_0;
} else if (d3 <= -2.6e-295) {
tmp = t_2;
} else if (d3 <= -2.1e-306) {
tmp = d1 * d4;
} else if (d3 <= 1.8e-304) {
tmp = t_2;
} else if (d3 <= 3.1e-271) {
tmp = t_0;
} else if (d3 <= 3.4e-271) {
tmp = t_2;
} else if (d3 <= 3.1e-262) {
tmp = t_0;
} else if (d3 <= 1.2e-261) {
tmp = t_2;
} else if (d3 <= 7.6e-219) {
tmp = d1 * d2;
} else if (d3 <= 1.6e-202) {
tmp = t_2;
} else if (d3 <= 3e-201) {
tmp = d1 * d4;
} else if (d3 <= 3.1e-200) {
tmp = t_2;
} else if (d3 <= 2.4e-172) {
tmp = t_0;
} else if (d3 <= 1.6e-171) {
tmp = t_2;
} else if (d3 <= 2e-169) {
tmp = d1 * d2;
} else if (d3 <= 1.05e-161) {
tmp = t_2;
} else if (d3 <= 2.15e-128) {
tmp = t_0;
} else if (d3 <= 2.3e-128) {
tmp = t_2;
} else if (d3 <= 1.95e-107) {
tmp = t_0;
} else if (d3 <= 4.3e-107) {
tmp = t_2;
} else if (d3 <= 2e-92) {
tmp = t_0;
} else if (d3 <= 3.2e-87) {
tmp = t_2;
} else if (d3 <= 3.3e-87) {
tmp = t_1;
} else if (d3 <= 4.6e-76) {
tmp = d1 * d4;
} else if (d3 <= 4.2e-74) {
tmp = t_2;
} else if (d3 <= 2.4e-71) {
tmp = d1 * d4;
} else if (d3 <= 2.45e-71) {
tmp = t_1;
} else if (d3 <= 2e-46) {
tmp = t_2;
} else if (d3 <= 8.8e-37) {
tmp = d1 * d4;
} else if (d3 <= 8.2e-25) {
tmp = t_2;
} else if (d3 <= 8e-22) {
tmp = d1 * d2;
} else if (d3 <= 3.6e-19) {
tmp = t_2;
} else if (d3 <= 3.4e+21) {
tmp = t_0;
} else if (d3 <= 3.45e+21) {
tmp = t_1;
} else if (d3 <= 1.6e+31) {
tmp = t_0;
} else if (d3 <= 1.4e+32) {
tmp = t_2;
} else if (d3 <= 1.02e+51) {
tmp = d1 * d4;
} else if (d3 <= 9.8e+51) {
tmp = t_1;
} else if (d3 <= 3.2e+59) {
tmp = t_0;
} else if (d3 <= 7e+62) {
tmp = t_2;
} else if (d3 <= 1.05e+64) {
tmp = d1 * d4;
} else if (d3 <= 4.8e+67) {
tmp = t_2;
} else if (d3 <= 3.1e+68) {
tmp = d1 * d2;
} else if (d3 <= 1.8e+72) {
tmp = t_2;
} else if (d3 <= 4.5e+89) {
tmp = t_0;
} else if (d3 <= 1.85e+99) {
tmp = t_1;
} else if (d3 <= 6e+104) {
tmp = t_2;
} else if (d3 <= 3.2e+124) {
tmp = t_1;
} else if (d3 <= 1.26e+128) {
tmp = d1 * d4;
} else if (d3 <= 4.5e+129) {
tmp = t_2;
} else if (d3 <= 5.6e+138) {
tmp = t_1;
} else if (d3 <= 2.2e+140) {
tmp = d1 * d4;
} else if (d3 <= 6.2e+151) {
tmp = t_1;
} else if (d3 <= 2.9e+152) {
tmp = d1 * d2;
} else if (d3 <= 1.2e+157) {
tmp = d1 * d4;
} else if (d3 <= 1.74e+164) {
tmp = t_1;
} else if (d3 <= 1.8e+165) {
tmp = d1 * d2;
} else if (d3 <= 3.7e+177) {
tmp = t_1;
} else if (d3 <= 7.6e+180) {
tmp = t_2;
} else if (d3 <= 3.1e+207) {
tmp = t_0;
} else if (d3 <= 1.95e+216) {
tmp = t_1;
} else if (d3 <= 2.8e+216) {
tmp = t_0;
} else if ((d3 <= 1.8e+271) || !((d3 <= 1.9e+271) || (!(d3 <= 4.2e+288) && (d3 <= 4.3e+288)))) {
tmp = t_1;
} else {
tmp = d1 * d2;
}
return tmp;
}
def code(d1, d2, d3, d4): t_0 = d1 * (d2 + d4) t_1 = d1 * -d3 t_2 = d1 * -d1 tmp = 0 if d3 <= -1.55e+74: tmp = t_1 elif d3 <= -160000.0: tmp = t_0 elif d3 <= -155000.0: tmp = t_1 elif d3 <= -7.6e-5: tmp = t_2 elif d3 <= -6.5e-13: tmp = d1 * d2 elif d3 <= -4e-25: tmp = t_2 elif d3 <= -7.6e-40: tmp = d1 * d4 elif d3 <= -8e-47: tmp = t_2 elif d3 <= -7.4e-81: tmp = t_0 elif d3 <= -2.4e-84: tmp = t_1 elif d3 <= -2.9e-114: tmp = t_0 elif d3 <= -2.2e-128: tmp = t_2 elif d3 <= -7e-135: tmp = d1 * d4 elif d3 <= -3.3e-137: tmp = t_2 elif d3 <= -1.2e-167: tmp = t_0 elif d3 <= -2.7e-176: tmp = t_2 elif d3 <= -4.15e-224: tmp = t_0 elif d3 <= -6.1e-230: tmp = t_2 elif d3 <= -2.3e-286: tmp = t_0 elif d3 <= -2.6e-295: tmp = t_2 elif d3 <= -2.1e-306: tmp = d1 * d4 elif d3 <= 1.8e-304: tmp = t_2 elif d3 <= 3.1e-271: tmp = t_0 elif d3 <= 3.4e-271: tmp = t_2 elif d3 <= 3.1e-262: tmp = t_0 elif d3 <= 1.2e-261: tmp = t_2 elif d3 <= 7.6e-219: tmp = d1 * d2 elif d3 <= 1.6e-202: tmp = t_2 elif d3 <= 3e-201: tmp = d1 * d4 elif d3 <= 3.1e-200: tmp = t_2 elif d3 <= 2.4e-172: tmp = t_0 elif d3 <= 1.6e-171: tmp = t_2 elif d3 <= 2e-169: tmp = d1 * d2 elif d3 <= 1.05e-161: tmp = t_2 elif d3 <= 2.15e-128: tmp = t_0 elif d3 <= 2.3e-128: tmp = t_2 elif d3 <= 1.95e-107: tmp = t_0 elif d3 <= 4.3e-107: tmp = t_2 elif d3 <= 2e-92: tmp = t_0 elif d3 <= 3.2e-87: tmp = t_2 elif d3 <= 3.3e-87: tmp = t_1 elif d3 <= 4.6e-76: tmp = d1 * d4 elif d3 <= 4.2e-74: tmp = t_2 elif d3 <= 2.4e-71: tmp = d1 * d4 elif d3 <= 2.45e-71: tmp = t_1 elif d3 <= 2e-46: tmp = t_2 elif d3 <= 8.8e-37: tmp = d1 * d4 elif d3 <= 8.2e-25: tmp = t_2 elif d3 <= 8e-22: tmp = d1 * d2 elif d3 <= 3.6e-19: tmp = t_2 elif d3 <= 3.4e+21: tmp = t_0 elif d3 <= 3.45e+21: tmp = t_1 elif d3 <= 1.6e+31: tmp = t_0 elif d3 <= 1.4e+32: tmp = t_2 elif d3 <= 1.02e+51: tmp = d1 * d4 elif d3 <= 9.8e+51: tmp = t_1 elif d3 <= 3.2e+59: tmp = t_0 elif d3 <= 7e+62: tmp = t_2 elif d3 <= 1.05e+64: tmp = d1 * d4 elif d3 <= 4.8e+67: tmp = t_2 elif d3 <= 3.1e+68: tmp = d1 * d2 elif d3 <= 1.8e+72: tmp = t_2 elif d3 <= 4.5e+89: tmp = t_0 elif d3 <= 1.85e+99: tmp = t_1 elif d3 <= 6e+104: tmp = t_2 elif d3 <= 3.2e+124: tmp = t_1 elif d3 <= 1.26e+128: tmp = d1 * d4 elif d3 <= 4.5e+129: tmp = t_2 elif d3 <= 5.6e+138: tmp = t_1 elif d3 <= 2.2e+140: tmp = d1 * d4 elif d3 <= 6.2e+151: tmp = t_1 elif d3 <= 2.9e+152: tmp = d1 * d2 elif d3 <= 1.2e+157: tmp = d1 * d4 elif d3 <= 1.74e+164: tmp = t_1 elif d3 <= 1.8e+165: tmp = d1 * d2 elif d3 <= 3.7e+177: tmp = t_1 elif d3 <= 7.6e+180: tmp = t_2 elif d3 <= 3.1e+207: tmp = t_0 elif d3 <= 1.95e+216: tmp = t_1 elif d3 <= 2.8e+216: tmp = t_0 elif (d3 <= 1.8e+271) or not ((d3 <= 1.9e+271) or (not (d3 <= 4.2e+288) and (d3 <= 4.3e+288))): tmp = t_1 else: tmp = d1 * d2 return tmp
function code(d1, d2, d3, d4) t_0 = Float64(d1 * Float64(d2 + d4)) t_1 = Float64(d1 * Float64(-d3)) t_2 = Float64(d1 * Float64(-d1)) tmp = 0.0 if (d3 <= -1.55e+74) tmp = t_1; elseif (d3 <= -160000.0) tmp = t_0; elseif (d3 <= -155000.0) tmp = t_1; elseif (d3 <= -7.6e-5) tmp = t_2; elseif (d3 <= -6.5e-13) tmp = Float64(d1 * d2); elseif (d3 <= -4e-25) tmp = t_2; elseif (d3 <= -7.6e-40) tmp = Float64(d1 * d4); elseif (d3 <= -8e-47) tmp = t_2; elseif (d3 <= -7.4e-81) tmp = t_0; elseif (d3 <= -2.4e-84) tmp = t_1; elseif (d3 <= -2.9e-114) tmp = t_0; elseif (d3 <= -2.2e-128) tmp = t_2; elseif (d3 <= -7e-135) tmp = Float64(d1 * d4); elseif (d3 <= -3.3e-137) tmp = t_2; elseif (d3 <= -1.2e-167) tmp = t_0; elseif (d3 <= -2.7e-176) tmp = t_2; elseif (d3 <= -4.15e-224) tmp = t_0; elseif (d3 <= -6.1e-230) tmp = t_2; elseif (d3 <= -2.3e-286) tmp = t_0; elseif (d3 <= -2.6e-295) tmp = t_2; elseif (d3 <= -2.1e-306) tmp = Float64(d1 * d4); elseif (d3 <= 1.8e-304) tmp = t_2; elseif (d3 <= 3.1e-271) tmp = t_0; elseif (d3 <= 3.4e-271) tmp = t_2; elseif (d3 <= 3.1e-262) tmp = t_0; elseif (d3 <= 1.2e-261) tmp = t_2; elseif (d3 <= 7.6e-219) tmp = Float64(d1 * d2); elseif (d3 <= 1.6e-202) tmp = t_2; elseif (d3 <= 3e-201) tmp = Float64(d1 * d4); elseif (d3 <= 3.1e-200) tmp = t_2; elseif (d3 <= 2.4e-172) tmp = t_0; elseif (d3 <= 1.6e-171) tmp = t_2; elseif (d3 <= 2e-169) tmp = Float64(d1 * d2); elseif (d3 <= 1.05e-161) tmp = t_2; elseif (d3 <= 2.15e-128) tmp = t_0; elseif (d3 <= 2.3e-128) tmp = t_2; elseif (d3 <= 1.95e-107) tmp = t_0; elseif (d3 <= 4.3e-107) tmp = t_2; elseif (d3 <= 2e-92) tmp = t_0; elseif (d3 <= 3.2e-87) tmp = t_2; elseif (d3 <= 3.3e-87) tmp = t_1; elseif (d3 <= 4.6e-76) tmp = Float64(d1 * d4); elseif (d3 <= 4.2e-74) tmp = t_2; elseif (d3 <= 2.4e-71) tmp = Float64(d1 * d4); elseif (d3 <= 2.45e-71) tmp = t_1; elseif (d3 <= 2e-46) tmp = t_2; elseif (d3 <= 8.8e-37) tmp = Float64(d1 * d4); elseif (d3 <= 8.2e-25) tmp = t_2; elseif (d3 <= 8e-22) tmp = Float64(d1 * d2); elseif (d3 <= 3.6e-19) tmp = t_2; elseif (d3 <= 3.4e+21) tmp = t_0; elseif (d3 <= 3.45e+21) tmp = t_1; elseif (d3 <= 1.6e+31) tmp = t_0; elseif (d3 <= 1.4e+32) tmp = t_2; elseif (d3 <= 1.02e+51) tmp = Float64(d1 * d4); elseif (d3 <= 9.8e+51) tmp = t_1; elseif (d3 <= 3.2e+59) tmp = t_0; elseif (d3 <= 7e+62) tmp = t_2; elseif (d3 <= 1.05e+64) tmp = Float64(d1 * d4); elseif (d3 <= 4.8e+67) tmp = t_2; elseif (d3 <= 3.1e+68) tmp = Float64(d1 * d2); elseif (d3 <= 1.8e+72) tmp = t_2; elseif (d3 <= 4.5e+89) tmp = t_0; elseif (d3 <= 1.85e+99) tmp = t_1; elseif (d3 <= 6e+104) tmp = t_2; elseif (d3 <= 3.2e+124) tmp = t_1; elseif (d3 <= 1.26e+128) tmp = Float64(d1 * d4); elseif (d3 <= 4.5e+129) tmp = t_2; elseif (d3 <= 5.6e+138) tmp = t_1; elseif (d3 <= 2.2e+140) tmp = Float64(d1 * d4); elseif (d3 <= 6.2e+151) tmp = t_1; elseif (d3 <= 2.9e+152) tmp = Float64(d1 * d2); elseif (d3 <= 1.2e+157) tmp = Float64(d1 * d4); elseif (d3 <= 1.74e+164) tmp = t_1; elseif (d3 <= 1.8e+165) tmp = Float64(d1 * d2); elseif (d3 <= 3.7e+177) tmp = t_1; elseif (d3 <= 7.6e+180) tmp = t_2; elseif (d3 <= 3.1e+207) tmp = t_0; elseif (d3 <= 1.95e+216) tmp = t_1; elseif (d3 <= 2.8e+216) tmp = t_0; elseif ((d3 <= 1.8e+271) || !((d3 <= 1.9e+271) || (!(d3 <= 4.2e+288) && (d3 <= 4.3e+288)))) tmp = t_1; else tmp = Float64(d1 * d2); end return tmp end
function tmp_2 = code(d1, d2, d3, d4) t_0 = d1 * (d2 + d4); t_1 = d1 * -d3; t_2 = d1 * -d1; tmp = 0.0; if (d3 <= -1.55e+74) tmp = t_1; elseif (d3 <= -160000.0) tmp = t_0; elseif (d3 <= -155000.0) tmp = t_1; elseif (d3 <= -7.6e-5) tmp = t_2; elseif (d3 <= -6.5e-13) tmp = d1 * d2; elseif (d3 <= -4e-25) tmp = t_2; elseif (d3 <= -7.6e-40) tmp = d1 * d4; elseif (d3 <= -8e-47) tmp = t_2; elseif (d3 <= -7.4e-81) tmp = t_0; elseif (d3 <= -2.4e-84) tmp = t_1; elseif (d3 <= -2.9e-114) tmp = t_0; elseif (d3 <= -2.2e-128) tmp = t_2; elseif (d3 <= -7e-135) tmp = d1 * d4; elseif (d3 <= -3.3e-137) tmp = t_2; elseif (d3 <= -1.2e-167) tmp = t_0; elseif (d3 <= -2.7e-176) tmp = t_2; elseif (d3 <= -4.15e-224) tmp = t_0; elseif (d3 <= -6.1e-230) tmp = t_2; elseif (d3 <= -2.3e-286) tmp = t_0; elseif (d3 <= -2.6e-295) tmp = t_2; elseif (d3 <= -2.1e-306) tmp = d1 * d4; elseif (d3 <= 1.8e-304) tmp = t_2; elseif (d3 <= 3.1e-271) tmp = t_0; elseif (d3 <= 3.4e-271) tmp = t_2; elseif (d3 <= 3.1e-262) tmp = t_0; elseif (d3 <= 1.2e-261) tmp = t_2; elseif (d3 <= 7.6e-219) tmp = d1 * d2; elseif (d3 <= 1.6e-202) tmp = t_2; elseif (d3 <= 3e-201) tmp = d1 * d4; elseif (d3 <= 3.1e-200) tmp = t_2; elseif (d3 <= 2.4e-172) tmp = t_0; elseif (d3 <= 1.6e-171) tmp = t_2; elseif (d3 <= 2e-169) tmp = d1 * d2; elseif (d3 <= 1.05e-161) tmp = t_2; elseif (d3 <= 2.15e-128) tmp = t_0; elseif (d3 <= 2.3e-128) tmp = t_2; elseif (d3 <= 1.95e-107) tmp = t_0; elseif (d3 <= 4.3e-107) tmp = t_2; elseif (d3 <= 2e-92) tmp = t_0; elseif (d3 <= 3.2e-87) tmp = t_2; elseif (d3 <= 3.3e-87) tmp = t_1; elseif (d3 <= 4.6e-76) tmp = d1 * d4; elseif (d3 <= 4.2e-74) tmp = t_2; elseif (d3 <= 2.4e-71) tmp = d1 * d4; elseif (d3 <= 2.45e-71) tmp = t_1; elseif (d3 <= 2e-46) tmp = t_2; elseif (d3 <= 8.8e-37) tmp = d1 * d4; elseif (d3 <= 8.2e-25) tmp = t_2; elseif (d3 <= 8e-22) tmp = d1 * d2; elseif (d3 <= 3.6e-19) tmp = t_2; elseif (d3 <= 3.4e+21) tmp = t_0; elseif (d3 <= 3.45e+21) tmp = t_1; elseif (d3 <= 1.6e+31) tmp = t_0; elseif (d3 <= 1.4e+32) tmp = t_2; elseif (d3 <= 1.02e+51) tmp = d1 * d4; elseif (d3 <= 9.8e+51) tmp = t_1; elseif (d3 <= 3.2e+59) tmp = t_0; elseif (d3 <= 7e+62) tmp = t_2; elseif (d3 <= 1.05e+64) tmp = d1 * d4; elseif (d3 <= 4.8e+67) tmp = t_2; elseif (d3 <= 3.1e+68) tmp = d1 * d2; elseif (d3 <= 1.8e+72) tmp = t_2; elseif (d3 <= 4.5e+89) tmp = t_0; elseif (d3 <= 1.85e+99) tmp = t_1; elseif (d3 <= 6e+104) tmp = t_2; elseif (d3 <= 3.2e+124) tmp = t_1; elseif (d3 <= 1.26e+128) tmp = d1 * d4; elseif (d3 <= 4.5e+129) tmp = t_2; elseif (d3 <= 5.6e+138) tmp = t_1; elseif (d3 <= 2.2e+140) tmp = d1 * d4; elseif (d3 <= 6.2e+151) tmp = t_1; elseif (d3 <= 2.9e+152) tmp = d1 * d2; elseif (d3 <= 1.2e+157) tmp = d1 * d4; elseif (d3 <= 1.74e+164) tmp = t_1; elseif (d3 <= 1.8e+165) tmp = d1 * d2; elseif (d3 <= 3.7e+177) tmp = t_1; elseif (d3 <= 7.6e+180) tmp = t_2; elseif (d3 <= 3.1e+207) tmp = t_0; elseif (d3 <= 1.95e+216) tmp = t_1; elseif (d3 <= 2.8e+216) tmp = t_0; elseif ((d3 <= 1.8e+271) || ~(((d3 <= 1.9e+271) || (~((d3 <= 4.2e+288)) && (d3 <= 4.3e+288))))) tmp = t_1; else tmp = d1 * d2; end tmp_2 = tmp; end
code[d1_, d2_, d3_, d4_] := Block[{t$95$0 = N[(d1 * N[(d2 + d4), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(d1 * (-d3)), $MachinePrecision]}, Block[{t$95$2 = N[(d1 * (-d1)), $MachinePrecision]}, If[LessEqual[d3, -1.55e+74], t$95$1, If[LessEqual[d3, -160000.0], t$95$0, If[LessEqual[d3, -155000.0], t$95$1, If[LessEqual[d3, -7.6e-5], t$95$2, If[LessEqual[d3, -6.5e-13], N[(d1 * d2), $MachinePrecision], If[LessEqual[d3, -4e-25], t$95$2, If[LessEqual[d3, -7.6e-40], N[(d1 * d4), $MachinePrecision], If[LessEqual[d3, -8e-47], t$95$2, If[LessEqual[d3, -7.4e-81], t$95$0, If[LessEqual[d3, -2.4e-84], t$95$1, If[LessEqual[d3, -2.9e-114], t$95$0, If[LessEqual[d3, -2.2e-128], t$95$2, If[LessEqual[d3, -7e-135], N[(d1 * d4), $MachinePrecision], If[LessEqual[d3, -3.3e-137], t$95$2, If[LessEqual[d3, -1.2e-167], t$95$0, If[LessEqual[d3, -2.7e-176], t$95$2, If[LessEqual[d3, -4.15e-224], t$95$0, If[LessEqual[d3, -6.1e-230], t$95$2, If[LessEqual[d3, -2.3e-286], t$95$0, If[LessEqual[d3, -2.6e-295], t$95$2, If[LessEqual[d3, -2.1e-306], N[(d1 * d4), $MachinePrecision], If[LessEqual[d3, 1.8e-304], t$95$2, If[LessEqual[d3, 3.1e-271], t$95$0, If[LessEqual[d3, 3.4e-271], t$95$2, If[LessEqual[d3, 3.1e-262], t$95$0, If[LessEqual[d3, 1.2e-261], t$95$2, If[LessEqual[d3, 7.6e-219], N[(d1 * d2), $MachinePrecision], If[LessEqual[d3, 1.6e-202], t$95$2, If[LessEqual[d3, 3e-201], N[(d1 * d4), $MachinePrecision], If[LessEqual[d3, 3.1e-200], t$95$2, If[LessEqual[d3, 2.4e-172], t$95$0, If[LessEqual[d3, 1.6e-171], t$95$2, If[LessEqual[d3, 2e-169], N[(d1 * d2), $MachinePrecision], If[LessEqual[d3, 1.05e-161], t$95$2, If[LessEqual[d3, 2.15e-128], t$95$0, If[LessEqual[d3, 2.3e-128], t$95$2, If[LessEqual[d3, 1.95e-107], t$95$0, If[LessEqual[d3, 4.3e-107], t$95$2, If[LessEqual[d3, 2e-92], t$95$0, If[LessEqual[d3, 3.2e-87], t$95$2, If[LessEqual[d3, 3.3e-87], t$95$1, If[LessEqual[d3, 4.6e-76], N[(d1 * d4), $MachinePrecision], If[LessEqual[d3, 4.2e-74], t$95$2, If[LessEqual[d3, 2.4e-71], N[(d1 * d4), $MachinePrecision], If[LessEqual[d3, 2.45e-71], t$95$1, If[LessEqual[d3, 2e-46], t$95$2, If[LessEqual[d3, 8.8e-37], N[(d1 * d4), $MachinePrecision], If[LessEqual[d3, 8.2e-25], t$95$2, If[LessEqual[d3, 8e-22], N[(d1 * d2), $MachinePrecision], If[LessEqual[d3, 3.6e-19], t$95$2, If[LessEqual[d3, 3.4e+21], t$95$0, If[LessEqual[d3, 3.45e+21], t$95$1, If[LessEqual[d3, 1.6e+31], t$95$0, If[LessEqual[d3, 1.4e+32], t$95$2, If[LessEqual[d3, 1.02e+51], N[(d1 * d4), $MachinePrecision], If[LessEqual[d3, 9.8e+51], t$95$1, If[LessEqual[d3, 3.2e+59], t$95$0, If[LessEqual[d3, 7e+62], t$95$2, If[LessEqual[d3, 1.05e+64], N[(d1 * d4), $MachinePrecision], If[LessEqual[d3, 4.8e+67], t$95$2, If[LessEqual[d3, 3.1e+68], N[(d1 * d2), $MachinePrecision], If[LessEqual[d3, 1.8e+72], t$95$2, If[LessEqual[d3, 4.5e+89], t$95$0, If[LessEqual[d3, 1.85e+99], t$95$1, If[LessEqual[d3, 6e+104], t$95$2, If[LessEqual[d3, 3.2e+124], t$95$1, If[LessEqual[d3, 1.26e+128], N[(d1 * d4), $MachinePrecision], If[LessEqual[d3, 4.5e+129], t$95$2, If[LessEqual[d3, 5.6e+138], t$95$1, If[LessEqual[d3, 2.2e+140], N[(d1 * d4), $MachinePrecision], If[LessEqual[d3, 6.2e+151], t$95$1, If[LessEqual[d3, 2.9e+152], N[(d1 * d2), $MachinePrecision], If[LessEqual[d3, 1.2e+157], N[(d1 * d4), $MachinePrecision], If[LessEqual[d3, 1.74e+164], t$95$1, If[LessEqual[d3, 1.8e+165], N[(d1 * d2), $MachinePrecision], If[LessEqual[d3, 3.7e+177], t$95$1, If[LessEqual[d3, 7.6e+180], t$95$2, If[LessEqual[d3, 3.1e+207], t$95$0, If[LessEqual[d3, 1.95e+216], t$95$1, If[LessEqual[d3, 2.8e+216], t$95$0, If[Or[LessEqual[d3, 1.8e+271], N[Not[Or[LessEqual[d3, 1.9e+271], And[N[Not[LessEqual[d3, 4.2e+288]], $MachinePrecision], LessEqual[d3, 4.3e+288]]]], $MachinePrecision]], t$95$1, N[(d1 * d2), $MachinePrecision]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := d1 \cdot \left(d2 + d4\right)\\
t_1 := d1 \cdot \left(-d3\right)\\
t_2 := d1 \cdot \left(-d1\right)\\
\mathbf{if}\;d3 \leq -1.55 \cdot 10^{+74}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d3 \leq -160000:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d3 \leq -155000:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d3 \leq -7.6 \cdot 10^{-5}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq -6.5 \cdot 10^{-13}:\\
\;\;\;\;d1 \cdot d2\\
\mathbf{elif}\;d3 \leq -4 \cdot 10^{-25}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq -7.6 \cdot 10^{-40}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d3 \leq -8 \cdot 10^{-47}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq -7.4 \cdot 10^{-81}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d3 \leq -2.4 \cdot 10^{-84}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d3 \leq -2.9 \cdot 10^{-114}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d3 \leq -2.2 \cdot 10^{-128}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq -7 \cdot 10^{-135}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d3 \leq -3.3 \cdot 10^{-137}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq -1.2 \cdot 10^{-167}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d3 \leq -2.7 \cdot 10^{-176}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq -4.15 \cdot 10^{-224}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d3 \leq -6.1 \cdot 10^{-230}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq -2.3 \cdot 10^{-286}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d3 \leq -2.6 \cdot 10^{-295}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq -2.1 \cdot 10^{-306}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d3 \leq 1.8 \cdot 10^{-304}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq 3.1 \cdot 10^{-271}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d3 \leq 3.4 \cdot 10^{-271}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq 3.1 \cdot 10^{-262}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d3 \leq 1.2 \cdot 10^{-261}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq 7.6 \cdot 10^{-219}:\\
\;\;\;\;d1 \cdot d2\\
\mathbf{elif}\;d3 \leq 1.6 \cdot 10^{-202}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq 3 \cdot 10^{-201}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d3 \leq 3.1 \cdot 10^{-200}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq 2.4 \cdot 10^{-172}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d3 \leq 1.6 \cdot 10^{-171}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq 2 \cdot 10^{-169}:\\
\;\;\;\;d1 \cdot d2\\
\mathbf{elif}\;d3 \leq 1.05 \cdot 10^{-161}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq 2.15 \cdot 10^{-128}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d3 \leq 2.3 \cdot 10^{-128}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq 1.95 \cdot 10^{-107}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d3 \leq 4.3 \cdot 10^{-107}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq 2 \cdot 10^{-92}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d3 \leq 3.2 \cdot 10^{-87}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq 3.3 \cdot 10^{-87}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d3 \leq 4.6 \cdot 10^{-76}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d3 \leq 4.2 \cdot 10^{-74}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq 2.4 \cdot 10^{-71}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d3 \leq 2.45 \cdot 10^{-71}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d3 \leq 2 \cdot 10^{-46}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq 8.8 \cdot 10^{-37}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d3 \leq 8.2 \cdot 10^{-25}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq 8 \cdot 10^{-22}:\\
\;\;\;\;d1 \cdot d2\\
\mathbf{elif}\;d3 \leq 3.6 \cdot 10^{-19}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq 3.4 \cdot 10^{+21}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d3 \leq 3.45 \cdot 10^{+21}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d3 \leq 1.6 \cdot 10^{+31}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d3 \leq 1.4 \cdot 10^{+32}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq 1.02 \cdot 10^{+51}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d3 \leq 9.8 \cdot 10^{+51}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d3 \leq 3.2 \cdot 10^{+59}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d3 \leq 7 \cdot 10^{+62}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq 1.05 \cdot 10^{+64}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d3 \leq 4.8 \cdot 10^{+67}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq 3.1 \cdot 10^{+68}:\\
\;\;\;\;d1 \cdot d2\\
\mathbf{elif}\;d3 \leq 1.8 \cdot 10^{+72}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq 4.5 \cdot 10^{+89}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d3 \leq 1.85 \cdot 10^{+99}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d3 \leq 6 \cdot 10^{+104}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq 3.2 \cdot 10^{+124}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d3 \leq 1.26 \cdot 10^{+128}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d3 \leq 4.5 \cdot 10^{+129}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq 5.6 \cdot 10^{+138}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d3 \leq 2.2 \cdot 10^{+140}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d3 \leq 6.2 \cdot 10^{+151}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d3 \leq 2.9 \cdot 10^{+152}:\\
\;\;\;\;d1 \cdot d2\\
\mathbf{elif}\;d3 \leq 1.2 \cdot 10^{+157}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d3 \leq 1.74 \cdot 10^{+164}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d3 \leq 1.8 \cdot 10^{+165}:\\
\;\;\;\;d1 \cdot d2\\
\mathbf{elif}\;d3 \leq 3.7 \cdot 10^{+177}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d3 \leq 7.6 \cdot 10^{+180}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d3 \leq 3.1 \cdot 10^{+207}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d3 \leq 1.95 \cdot 10^{+216}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d3 \leq 2.8 \cdot 10^{+216}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d3 \leq 1.8 \cdot 10^{+271} \lor \neg \left(d3 \leq 1.9 \cdot 10^{+271} \lor \neg \left(d3 \leq 4.2 \cdot 10^{+288}\right) \land d3 \leq 4.3 \cdot 10^{+288}\right):\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;d1 \cdot d2\\
\end{array}
\end{array}
if d3 < -1.55000000000000011e74 or -1.6e5 < d3 < -155000 or -7.39999999999999971e-81 < d3 < -2.40000000000000017e-84 or 3.19999999999999979e-87 < d3 < 3.3e-87 or 2.4e-71 < d3 < 2.4499999999999999e-71 or 3.4e21 < d3 < 3.45e21 or 1.02e51 < d3 < 9.79999999999999967e51 or 4.5e89 < d3 < 1.85000000000000005e99 or 5.99999999999999937e104 < d3 < 3.19999999999999993e124 or 4.5000000000000001e129 < d3 < 5.6000000000000002e138 or 2.1999999999999998e140 < d3 < 6.2000000000000004e151 or 1.2e157 < d3 < 1.7400000000000001e164 or 1.7999999999999999e165 < d3 < 3.70000000000000014e177 or 3.1000000000000003e207 < d3 < 1.9499999999999999e216 or 2.79999999999999982e216 < d3 < 1.8000000000000002e271 or 1.8999999999999999e271 < d3 < 4.19999999999999998e288 or 4.3000000000000002e288 < d3 Initial program 86.3%
associate--l+86.3%
distribute-lft-out--89.5%
distribute-rgt-out--91.6%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d3 around inf 84.3%
mul-1-neg84.3%
distribute-rgt-neg-out84.3%
Simplified84.3%
if -1.55000000000000011e74 < d3 < -1.6e5 or -7.9999999999999998e-47 < d3 < -7.39999999999999971e-81 or -2.40000000000000017e-84 < d3 < -2.89999999999999997e-114 or -3.3000000000000002e-137 < d3 < -1.19999999999999997e-167 or -2.6999999999999998e-176 < d3 < -4.14999999999999999e-224 or -6.09999999999999956e-230 < d3 < -2.3000000000000002e-286 or 1.8000000000000001e-304 < d3 < 3.0999999999999999e-271 or 3.4000000000000001e-271 < d3 < 3.0999999999999998e-262 or 3.0999999999999999e-200 < d3 < 2.4000000000000001e-172 or 1.05e-161 < d3 < 2.14999999999999997e-128 or 2.3000000000000001e-128 < d3 < 1.95e-107 or 4.2999999999999997e-107 < d3 < 1.99999999999999998e-92 or 3.6000000000000001e-19 < d3 < 3.4e21 or 3.45e21 < d3 < 1.6e31 or 9.79999999999999967e51 < d3 < 3.19999999999999982e59 or 1.80000000000000017e72 < d3 < 4.5e89 or 7.6e180 < d3 < 3.1000000000000003e207 or 1.9499999999999999e216 < d3 < 2.79999999999999982e216Initial program 92.4%
associate--l+92.4%
distribute-lft-out--93.6%
distribute-rgt-out--94.9%
distribute-lft-out99.9%
Simplified99.9%
Taylor expanded in d1 around 0 97.6%
Taylor expanded in d3 around 0 95.8%
+-commutative95.8%
Simplified95.8%
if -155000 < d3 < -7.6000000000000004e-5 or -6.49999999999999957e-13 < d3 < -4.00000000000000015e-25 or -7.5999999999999998e-40 < d3 < -7.9999999999999998e-47 or -2.89999999999999997e-114 < d3 < -2.20000000000000009e-128 or -6.9999999999999997e-135 < d3 < -3.3000000000000002e-137 or -1.19999999999999997e-167 < d3 < -2.6999999999999998e-176 or -4.14999999999999999e-224 < d3 < -6.09999999999999956e-230 or -2.3000000000000002e-286 < d3 < -2.59999999999999985e-295 or -2.1000000000000001e-306 < d3 < 1.8000000000000001e-304 or 3.0999999999999999e-271 < d3 < 3.4000000000000001e-271 or 3.0999999999999998e-262 < d3 < 1.20000000000000007e-261 or 7.60000000000000049e-219 < d3 < 1.6000000000000001e-202 or 3.00000000000000002e-201 < d3 < 3.0999999999999999e-200 or 2.4000000000000001e-172 < d3 < 1.6000000000000001e-171 or 2.00000000000000004e-169 < d3 < 1.05e-161 or 2.14999999999999997e-128 < d3 < 2.3000000000000001e-128 or 1.95e-107 < d3 < 4.2999999999999997e-107 or 1.99999999999999998e-92 < d3 < 3.19999999999999979e-87 or 4.60000000000000012e-76 < d3 < 4.2e-74 or 2.4499999999999999e-71 < d3 < 2.00000000000000005e-46 or 8.80000000000000008e-37 < d3 < 8.19999999999999974e-25 or 8.0000000000000004e-22 < d3 < 3.6000000000000001e-19 or 1.6e31 < d3 < 1.4e32 or 3.19999999999999982e59 < d3 < 6.99999999999999967e62 or 1.05e64 < d3 < 4.80000000000000004e67 or 3.0999999999999998e68 < d3 < 1.80000000000000017e72 or 1.85000000000000005e99 < d3 < 5.99999999999999937e104 or 1.26000000000000009e128 < d3 < 4.5000000000000001e129 or 3.70000000000000014e177 < d3 < 7.6e180Initial program 77.1%
associate--l+77.1%
distribute-lft-out--77.1%
distribute-rgt-out--87.5%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d1 around inf 98.2%
neg-mul-198.2%
Simplified98.2%
if -7.6000000000000004e-5 < d3 < -6.49999999999999957e-13 or 1.20000000000000007e-261 < d3 < 7.60000000000000049e-219 or 1.6000000000000001e-171 < d3 < 2.00000000000000004e-169 or 8.19999999999999974e-25 < d3 < 8.0000000000000004e-22 or 4.80000000000000004e67 < d3 < 3.0999999999999998e68 or 6.2000000000000004e151 < d3 < 2.8999999999999998e152 or 1.7400000000000001e164 < d3 < 1.7999999999999999e165 or 1.8000000000000002e271 < d3 < 1.8999999999999999e271 or 4.19999999999999998e288 < d3 < 4.3000000000000002e288Initial program 85.6%
associate--l+85.6%
distribute-lft-out--85.6%
distribute-rgt-out--85.6%
distribute-lft-out99.9%
Simplified99.9%
Taylor expanded in d2 around inf 60.0%
if -4.00000000000000015e-25 < d3 < -7.5999999999999998e-40 or -2.20000000000000009e-128 < d3 < -6.9999999999999997e-135 or -2.59999999999999985e-295 < d3 < -2.1000000000000001e-306 or 1.6000000000000001e-202 < d3 < 3.00000000000000002e-201 or 3.3e-87 < d3 < 4.60000000000000012e-76 or 4.2e-74 < d3 < 2.4e-71 or 2.00000000000000005e-46 < d3 < 8.80000000000000008e-37 or 1.4e32 < d3 < 1.02e51 or 6.99999999999999967e62 < d3 < 1.05e64 or 3.19999999999999993e124 < d3 < 1.26000000000000009e128 or 5.6000000000000002e138 < d3 < 2.1999999999999998e140 or 2.8999999999999998e152 < d3 < 1.2e157Initial program 90.0%
associate--l+90.0%
distribute-lft-out--95.0%
distribute-rgt-out--95.0%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d4 around inf 51.2%
Final simplification86.5%
(FPCore (d1 d2 d3 d4)
:precision binary64
(let* ((t_0 (* d1 (- d1))))
(if (<= d2 -6.2e+65)
(* d1 d2)
(if (<= d2 -3.3e+18)
t_0
(if (<= d2 -3.7e+14)
(* d1 d4)
(if (<= d2 -90000000000000.0)
t_0
(if (<= d2 -54000000000000.0)
(* d1 d2)
(if (<= d2 -210.0)
t_0
(if (<= d2 -205.0)
(* d1 d2)
(if (<= d2 -0.0038)
t_0
(if (<= d2 -2.55e-8)
(* d1 d4)
(if (<= d2 -2.3e-8)
(* d1 d2)
(if (<= d2 -3e-16)
(* d1 d4)
(if (<= d2 -2.8e-20)
t_0
(if (<= d2 -3.5e-21)
(* d1 d2)
(if (<= d2 -3.3e-46)
(* d1 d4)
(if (<= d2 -1.65e-52)
t_0
(if (<= d2 -1.6e-52)
(* d1 d2)
(if (<= d2 -4.8e-58)
t_0
(if (<= d2 -2.4e-66)
(* d1 d4)
(if (<= d2 -2.75e-70)
t_0
(if (<= d2 -4.2e-72)
(* d1 d4)
(if (<= d2 -1.35e-74)
t_0
(if (<= d2 -1.15e-78)
(* d1 d4)
(if (<= d2 -2.8e-81)
t_0
(if (<= d2 -2.15e-94)
(* d1 d4)
(if (<= d2 -1.55e-103)
t_0
(if (<= d2 -6.5e-111)
(* d1 d4)
(if (<= d2 -6.4e-111)
(* d1 d2)
(if (<= d2 -2.9e-116)
(* d1 d4)
(if (<=
d2
-1.2e-117)
(* d1 d2)
(if (<=
d2
-1.25e-127)
t_0
(if (<=
d2
-1.8e-132)
(* d1 d4)
(if (<=
d2
-1.1e-137)
t_0
(if (<=
d2
-2.5e-145)
(* d1 d4)
(if (<=
d2
-4.5e-146)
t_0
(if (<=
d2
-4.2e-148)
(*
d1
d4)
(if (<=
d2
-4.7e-150)
t_0
(if (<=
d2
-5.3e-157)
(*
d1
d4)
(if (<=
d2
-1.2e-160)
t_0
(if (<=
d2
-1.35e-188)
(*
d1
d4)
(if (<=
d2
-1.3e-188)
(*
d1
d2)
(if (<=
d2
-5.8e-219)
t_0
(if (<=
d2
-5.6e-219)
(*
d1
d2)
(if (<=
d2
-4.8e-229)
t_0
(if (<=
d2
-1.2e-241)
(*
d1
d4)
(if (<=
d2
-6e-249)
t_0
(if (<=
d2
-5.8e-249)
(*
d1
d2)
(if (<=
d2
-1.3e-264)
(*
d1
d4)
(if (<=
d2
-7e-269)
t_0
(if (<=
d2
-3.4e-281)
(*
d1
d4)
(if (<=
d2
-9e-284)
(*
d1
d2)
(if (<=
d2
-4.5e-292)
(*
d1
d4)
(if (<=
d2
-4.2e-292)
(*
d1
d2)
(if (<=
d2
-1.2e-298)
t_0
(if (<=
d2
-1.85e-301)
(*
d1
d2)
(if (<=
d2
8e-292)
t_0
(if (<=
d2
3.2e-272)
(*
d1
d4)
(if (<=
d2
1.45e-257)
t_0
(if (<=
d2
7.5e-246)
(*
d1
d4)
(if (<=
d2
1.05e-216)
t_0
(if (<=
d2
1.15e-207)
(*
d1
d4)
(if (<=
d2
1.8e-205)
t_0
(if (<=
d2
1.3e-198)
(*
d1
d4)
(if (<=
d2
7.5e-197)
t_0
(if (<=
d2
6e-187)
(*
d1
d4)
(if (<=
d2
2.95e-179)
t_0
(if (<=
d2
7.5e-170)
(*
d1
d4)
(if (<=
d2
2.15e-166)
t_0
(if (<=
d2
3.25e-99)
(*
d1
d4)
(if (<=
d2
3.3e-99)
(*
d1
d2)
(if (or (<=
d2
3.3e-90)
(not
(or (<=
d2
3.8e-87)
(and (not
(<=
d2
9e-45))
(or (<=
d2
9e-20)
(and (not
(<=
d2
1.02e-7))
(or (<=
d2
2.4e+23)
(and (not
(<=
d2
8.5e+34))
(or (<=
d2
7e+37)
(and (not
(<=
d2
3.4e+70))
(<=
d2
2.7e+78)))))))))))
(*
d1
d4)
t_0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
double code(double d1, double d2, double d3, double d4) {
double t_0 = d1 * -d1;
double tmp;
if (d2 <= -6.2e+65) {
tmp = d1 * d2;
} else if (d2 <= -3.3e+18) {
tmp = t_0;
} else if (d2 <= -3.7e+14) {
tmp = d1 * d4;
} else if (d2 <= -90000000000000.0) {
tmp = t_0;
} else if (d2 <= -54000000000000.0) {
tmp = d1 * d2;
} else if (d2 <= -210.0) {
tmp = t_0;
} else if (d2 <= -205.0) {
tmp = d1 * d2;
} else if (d2 <= -0.0038) {
tmp = t_0;
} else if (d2 <= -2.55e-8) {
tmp = d1 * d4;
} else if (d2 <= -2.3e-8) {
tmp = d1 * d2;
} else if (d2 <= -3e-16) {
tmp = d1 * d4;
} else if (d2 <= -2.8e-20) {
tmp = t_0;
} else if (d2 <= -3.5e-21) {
tmp = d1 * d2;
} else if (d2 <= -3.3e-46) {
tmp = d1 * d4;
} else if (d2 <= -1.65e-52) {
tmp = t_0;
} else if (d2 <= -1.6e-52) {
tmp = d1 * d2;
} else if (d2 <= -4.8e-58) {
tmp = t_0;
} else if (d2 <= -2.4e-66) {
tmp = d1 * d4;
} else if (d2 <= -2.75e-70) {
tmp = t_0;
} else if (d2 <= -4.2e-72) {
tmp = d1 * d4;
} else if (d2 <= -1.35e-74) {
tmp = t_0;
} else if (d2 <= -1.15e-78) {
tmp = d1 * d4;
} else if (d2 <= -2.8e-81) {
tmp = t_0;
} else if (d2 <= -2.15e-94) {
tmp = d1 * d4;
} else if (d2 <= -1.55e-103) {
tmp = t_0;
} else if (d2 <= -6.5e-111) {
tmp = d1 * d4;
} else if (d2 <= -6.4e-111) {
tmp = d1 * d2;
} else if (d2 <= -2.9e-116) {
tmp = d1 * d4;
} else if (d2 <= -1.2e-117) {
tmp = d1 * d2;
} else if (d2 <= -1.25e-127) {
tmp = t_0;
} else if (d2 <= -1.8e-132) {
tmp = d1 * d4;
} else if (d2 <= -1.1e-137) {
tmp = t_0;
} else if (d2 <= -2.5e-145) {
tmp = d1 * d4;
} else if (d2 <= -4.5e-146) {
tmp = t_0;
} else if (d2 <= -4.2e-148) {
tmp = d1 * d4;
} else if (d2 <= -4.7e-150) {
tmp = t_0;
} else if (d2 <= -5.3e-157) {
tmp = d1 * d4;
} else if (d2 <= -1.2e-160) {
tmp = t_0;
} else if (d2 <= -1.35e-188) {
tmp = d1 * d4;
} else if (d2 <= -1.3e-188) {
tmp = d1 * d2;
} else if (d2 <= -5.8e-219) {
tmp = t_0;
} else if (d2 <= -5.6e-219) {
tmp = d1 * d2;
} else if (d2 <= -4.8e-229) {
tmp = t_0;
} else if (d2 <= -1.2e-241) {
tmp = d1 * d4;
} else if (d2 <= -6e-249) {
tmp = t_0;
} else if (d2 <= -5.8e-249) {
tmp = d1 * d2;
} else if (d2 <= -1.3e-264) {
tmp = d1 * d4;
} else if (d2 <= -7e-269) {
tmp = t_0;
} else if (d2 <= -3.4e-281) {
tmp = d1 * d4;
} else if (d2 <= -9e-284) {
tmp = d1 * d2;
} else if (d2 <= -4.5e-292) {
tmp = d1 * d4;
} else if (d2 <= -4.2e-292) {
tmp = d1 * d2;
} else if (d2 <= -1.2e-298) {
tmp = t_0;
} else if (d2 <= -1.85e-301) {
tmp = d1 * d2;
} else if (d2 <= 8e-292) {
tmp = t_0;
} else if (d2 <= 3.2e-272) {
tmp = d1 * d4;
} else if (d2 <= 1.45e-257) {
tmp = t_0;
} else if (d2 <= 7.5e-246) {
tmp = d1 * d4;
} else if (d2 <= 1.05e-216) {
tmp = t_0;
} else if (d2 <= 1.15e-207) {
tmp = d1 * d4;
} else if (d2 <= 1.8e-205) {
tmp = t_0;
} else if (d2 <= 1.3e-198) {
tmp = d1 * d4;
} else if (d2 <= 7.5e-197) {
tmp = t_0;
} else if (d2 <= 6e-187) {
tmp = d1 * d4;
} else if (d2 <= 2.95e-179) {
tmp = t_0;
} else if (d2 <= 7.5e-170) {
tmp = d1 * d4;
} else if (d2 <= 2.15e-166) {
tmp = t_0;
} else if (d2 <= 3.25e-99) {
tmp = d1 * d4;
} else if (d2 <= 3.3e-99) {
tmp = d1 * d2;
} else if ((d2 <= 3.3e-90) || !((d2 <= 3.8e-87) || (!(d2 <= 9e-45) && ((d2 <= 9e-20) || (!(d2 <= 1.02e-7) && ((d2 <= 2.4e+23) || (!(d2 <= 8.5e+34) && ((d2 <= 7e+37) || (!(d2 <= 3.4e+70) && (d2 <= 2.7e+78)))))))))) {
tmp = d1 * d4;
} else {
tmp = t_0;
}
return tmp;
}
real(8) function code(d1, d2, d3, d4)
real(8), intent (in) :: d1
real(8), intent (in) :: d2
real(8), intent (in) :: d3
real(8), intent (in) :: d4
real(8) :: t_0
real(8) :: tmp
t_0 = d1 * -d1
if (d2 <= (-6.2d+65)) then
tmp = d1 * d2
else if (d2 <= (-3.3d+18)) then
tmp = t_0
else if (d2 <= (-3.7d+14)) then
tmp = d1 * d4
else if (d2 <= (-90000000000000.0d0)) then
tmp = t_0
else if (d2 <= (-54000000000000.0d0)) then
tmp = d1 * d2
else if (d2 <= (-210.0d0)) then
tmp = t_0
else if (d2 <= (-205.0d0)) then
tmp = d1 * d2
else if (d2 <= (-0.0038d0)) then
tmp = t_0
else if (d2 <= (-2.55d-8)) then
tmp = d1 * d4
else if (d2 <= (-2.3d-8)) then
tmp = d1 * d2
else if (d2 <= (-3d-16)) then
tmp = d1 * d4
else if (d2 <= (-2.8d-20)) then
tmp = t_0
else if (d2 <= (-3.5d-21)) then
tmp = d1 * d2
else if (d2 <= (-3.3d-46)) then
tmp = d1 * d4
else if (d2 <= (-1.65d-52)) then
tmp = t_0
else if (d2 <= (-1.6d-52)) then
tmp = d1 * d2
else if (d2 <= (-4.8d-58)) then
tmp = t_0
else if (d2 <= (-2.4d-66)) then
tmp = d1 * d4
else if (d2 <= (-2.75d-70)) then
tmp = t_0
else if (d2 <= (-4.2d-72)) then
tmp = d1 * d4
else if (d2 <= (-1.35d-74)) then
tmp = t_0
else if (d2 <= (-1.15d-78)) then
tmp = d1 * d4
else if (d2 <= (-2.8d-81)) then
tmp = t_0
else if (d2 <= (-2.15d-94)) then
tmp = d1 * d4
else if (d2 <= (-1.55d-103)) then
tmp = t_0
else if (d2 <= (-6.5d-111)) then
tmp = d1 * d4
else if (d2 <= (-6.4d-111)) then
tmp = d1 * d2
else if (d2 <= (-2.9d-116)) then
tmp = d1 * d4
else if (d2 <= (-1.2d-117)) then
tmp = d1 * d2
else if (d2 <= (-1.25d-127)) then
tmp = t_0
else if (d2 <= (-1.8d-132)) then
tmp = d1 * d4
else if (d2 <= (-1.1d-137)) then
tmp = t_0
else if (d2 <= (-2.5d-145)) then
tmp = d1 * d4
else if (d2 <= (-4.5d-146)) then
tmp = t_0
else if (d2 <= (-4.2d-148)) then
tmp = d1 * d4
else if (d2 <= (-4.7d-150)) then
tmp = t_0
else if (d2 <= (-5.3d-157)) then
tmp = d1 * d4
else if (d2 <= (-1.2d-160)) then
tmp = t_0
else if (d2 <= (-1.35d-188)) then
tmp = d1 * d4
else if (d2 <= (-1.3d-188)) then
tmp = d1 * d2
else if (d2 <= (-5.8d-219)) then
tmp = t_0
else if (d2 <= (-5.6d-219)) then
tmp = d1 * d2
else if (d2 <= (-4.8d-229)) then
tmp = t_0
else if (d2 <= (-1.2d-241)) then
tmp = d1 * d4
else if (d2 <= (-6d-249)) then
tmp = t_0
else if (d2 <= (-5.8d-249)) then
tmp = d1 * d2
else if (d2 <= (-1.3d-264)) then
tmp = d1 * d4
else if (d2 <= (-7d-269)) then
tmp = t_0
else if (d2 <= (-3.4d-281)) then
tmp = d1 * d4
else if (d2 <= (-9d-284)) then
tmp = d1 * d2
else if (d2 <= (-4.5d-292)) then
tmp = d1 * d4
else if (d2 <= (-4.2d-292)) then
tmp = d1 * d2
else if (d2 <= (-1.2d-298)) then
tmp = t_0
else if (d2 <= (-1.85d-301)) then
tmp = d1 * d2
else if (d2 <= 8d-292) then
tmp = t_0
else if (d2 <= 3.2d-272) then
tmp = d1 * d4
else if (d2 <= 1.45d-257) then
tmp = t_0
else if (d2 <= 7.5d-246) then
tmp = d1 * d4
else if (d2 <= 1.05d-216) then
tmp = t_0
else if (d2 <= 1.15d-207) then
tmp = d1 * d4
else if (d2 <= 1.8d-205) then
tmp = t_0
else if (d2 <= 1.3d-198) then
tmp = d1 * d4
else if (d2 <= 7.5d-197) then
tmp = t_0
else if (d2 <= 6d-187) then
tmp = d1 * d4
else if (d2 <= 2.95d-179) then
tmp = t_0
else if (d2 <= 7.5d-170) then
tmp = d1 * d4
else if (d2 <= 2.15d-166) then
tmp = t_0
else if (d2 <= 3.25d-99) then
tmp = d1 * d4
else if (d2 <= 3.3d-99) then
tmp = d1 * d2
else if ((d2 <= 3.3d-90) .or. (.not. (d2 <= 3.8d-87) .or. (.not. (d2 <= 9d-45)) .and. (d2 <= 9d-20) .or. (.not. (d2 <= 1.02d-7)) .and. (d2 <= 2.4d+23) .or. (.not. (d2 <= 8.5d+34)) .and. (d2 <= 7d+37) .or. (.not. (d2 <= 3.4d+70)) .and. (d2 <= 2.7d+78))) then
tmp = d1 * d4
else
tmp = t_0
end if
code = tmp
end function
public static double code(double d1, double d2, double d3, double d4) {
double t_0 = d1 * -d1;
double tmp;
if (d2 <= -6.2e+65) {
tmp = d1 * d2;
} else if (d2 <= -3.3e+18) {
tmp = t_0;
} else if (d2 <= -3.7e+14) {
tmp = d1 * d4;
} else if (d2 <= -90000000000000.0) {
tmp = t_0;
} else if (d2 <= -54000000000000.0) {
tmp = d1 * d2;
} else if (d2 <= -210.0) {
tmp = t_0;
} else if (d2 <= -205.0) {
tmp = d1 * d2;
} else if (d2 <= -0.0038) {
tmp = t_0;
} else if (d2 <= -2.55e-8) {
tmp = d1 * d4;
} else if (d2 <= -2.3e-8) {
tmp = d1 * d2;
} else if (d2 <= -3e-16) {
tmp = d1 * d4;
} else if (d2 <= -2.8e-20) {
tmp = t_0;
} else if (d2 <= -3.5e-21) {
tmp = d1 * d2;
} else if (d2 <= -3.3e-46) {
tmp = d1 * d4;
} else if (d2 <= -1.65e-52) {
tmp = t_0;
} else if (d2 <= -1.6e-52) {
tmp = d1 * d2;
} else if (d2 <= -4.8e-58) {
tmp = t_0;
} else if (d2 <= -2.4e-66) {
tmp = d1 * d4;
} else if (d2 <= -2.75e-70) {
tmp = t_0;
} else if (d2 <= -4.2e-72) {
tmp = d1 * d4;
} else if (d2 <= -1.35e-74) {
tmp = t_0;
} else if (d2 <= -1.15e-78) {
tmp = d1 * d4;
} else if (d2 <= -2.8e-81) {
tmp = t_0;
} else if (d2 <= -2.15e-94) {
tmp = d1 * d4;
} else if (d2 <= -1.55e-103) {
tmp = t_0;
} else if (d2 <= -6.5e-111) {
tmp = d1 * d4;
} else if (d2 <= -6.4e-111) {
tmp = d1 * d2;
} else if (d2 <= -2.9e-116) {
tmp = d1 * d4;
} else if (d2 <= -1.2e-117) {
tmp = d1 * d2;
} else if (d2 <= -1.25e-127) {
tmp = t_0;
} else if (d2 <= -1.8e-132) {
tmp = d1 * d4;
} else if (d2 <= -1.1e-137) {
tmp = t_0;
} else if (d2 <= -2.5e-145) {
tmp = d1 * d4;
} else if (d2 <= -4.5e-146) {
tmp = t_0;
} else if (d2 <= -4.2e-148) {
tmp = d1 * d4;
} else if (d2 <= -4.7e-150) {
tmp = t_0;
} else if (d2 <= -5.3e-157) {
tmp = d1 * d4;
} else if (d2 <= -1.2e-160) {
tmp = t_0;
} else if (d2 <= -1.35e-188) {
tmp = d1 * d4;
} else if (d2 <= -1.3e-188) {
tmp = d1 * d2;
} else if (d2 <= -5.8e-219) {
tmp = t_0;
} else if (d2 <= -5.6e-219) {
tmp = d1 * d2;
} else if (d2 <= -4.8e-229) {
tmp = t_0;
} else if (d2 <= -1.2e-241) {
tmp = d1 * d4;
} else if (d2 <= -6e-249) {
tmp = t_0;
} else if (d2 <= -5.8e-249) {
tmp = d1 * d2;
} else if (d2 <= -1.3e-264) {
tmp = d1 * d4;
} else if (d2 <= -7e-269) {
tmp = t_0;
} else if (d2 <= -3.4e-281) {
tmp = d1 * d4;
} else if (d2 <= -9e-284) {
tmp = d1 * d2;
} else if (d2 <= -4.5e-292) {
tmp = d1 * d4;
} else if (d2 <= -4.2e-292) {
tmp = d1 * d2;
} else if (d2 <= -1.2e-298) {
tmp = t_0;
} else if (d2 <= -1.85e-301) {
tmp = d1 * d2;
} else if (d2 <= 8e-292) {
tmp = t_0;
} else if (d2 <= 3.2e-272) {
tmp = d1 * d4;
} else if (d2 <= 1.45e-257) {
tmp = t_0;
} else if (d2 <= 7.5e-246) {
tmp = d1 * d4;
} else if (d2 <= 1.05e-216) {
tmp = t_0;
} else if (d2 <= 1.15e-207) {
tmp = d1 * d4;
} else if (d2 <= 1.8e-205) {
tmp = t_0;
} else if (d2 <= 1.3e-198) {
tmp = d1 * d4;
} else if (d2 <= 7.5e-197) {
tmp = t_0;
} else if (d2 <= 6e-187) {
tmp = d1 * d4;
} else if (d2 <= 2.95e-179) {
tmp = t_0;
} else if (d2 <= 7.5e-170) {
tmp = d1 * d4;
} else if (d2 <= 2.15e-166) {
tmp = t_0;
} else if (d2 <= 3.25e-99) {
tmp = d1 * d4;
} else if (d2 <= 3.3e-99) {
tmp = d1 * d2;
} else if ((d2 <= 3.3e-90) || !((d2 <= 3.8e-87) || (!(d2 <= 9e-45) && ((d2 <= 9e-20) || (!(d2 <= 1.02e-7) && ((d2 <= 2.4e+23) || (!(d2 <= 8.5e+34) && ((d2 <= 7e+37) || (!(d2 <= 3.4e+70) && (d2 <= 2.7e+78)))))))))) {
tmp = d1 * d4;
} else {
tmp = t_0;
}
return tmp;
}
def code(d1, d2, d3, d4): t_0 = d1 * -d1 tmp = 0 if d2 <= -6.2e+65: tmp = d1 * d2 elif d2 <= -3.3e+18: tmp = t_0 elif d2 <= -3.7e+14: tmp = d1 * d4 elif d2 <= -90000000000000.0: tmp = t_0 elif d2 <= -54000000000000.0: tmp = d1 * d2 elif d2 <= -210.0: tmp = t_0 elif d2 <= -205.0: tmp = d1 * d2 elif d2 <= -0.0038: tmp = t_0 elif d2 <= -2.55e-8: tmp = d1 * d4 elif d2 <= -2.3e-8: tmp = d1 * d2 elif d2 <= -3e-16: tmp = d1 * d4 elif d2 <= -2.8e-20: tmp = t_0 elif d2 <= -3.5e-21: tmp = d1 * d2 elif d2 <= -3.3e-46: tmp = d1 * d4 elif d2 <= -1.65e-52: tmp = t_0 elif d2 <= -1.6e-52: tmp = d1 * d2 elif d2 <= -4.8e-58: tmp = t_0 elif d2 <= -2.4e-66: tmp = d1 * d4 elif d2 <= -2.75e-70: tmp = t_0 elif d2 <= -4.2e-72: tmp = d1 * d4 elif d2 <= -1.35e-74: tmp = t_0 elif d2 <= -1.15e-78: tmp = d1 * d4 elif d2 <= -2.8e-81: tmp = t_0 elif d2 <= -2.15e-94: tmp = d1 * d4 elif d2 <= -1.55e-103: tmp = t_0 elif d2 <= -6.5e-111: tmp = d1 * d4 elif d2 <= -6.4e-111: tmp = d1 * d2 elif d2 <= -2.9e-116: tmp = d1 * d4 elif d2 <= -1.2e-117: tmp = d1 * d2 elif d2 <= -1.25e-127: tmp = t_0 elif d2 <= -1.8e-132: tmp = d1 * d4 elif d2 <= -1.1e-137: tmp = t_0 elif d2 <= -2.5e-145: tmp = d1 * d4 elif d2 <= -4.5e-146: tmp = t_0 elif d2 <= -4.2e-148: tmp = d1 * d4 elif d2 <= -4.7e-150: tmp = t_0 elif d2 <= -5.3e-157: tmp = d1 * d4 elif d2 <= -1.2e-160: tmp = t_0 elif d2 <= -1.35e-188: tmp = d1 * d4 elif d2 <= -1.3e-188: tmp = d1 * d2 elif d2 <= -5.8e-219: tmp = t_0 elif d2 <= -5.6e-219: tmp = d1 * d2 elif d2 <= -4.8e-229: tmp = t_0 elif d2 <= -1.2e-241: tmp = d1 * d4 elif d2 <= -6e-249: tmp = t_0 elif d2 <= -5.8e-249: tmp = d1 * d2 elif d2 <= -1.3e-264: tmp = d1 * d4 elif d2 <= -7e-269: tmp = t_0 elif d2 <= -3.4e-281: tmp = d1 * d4 elif d2 <= -9e-284: tmp = d1 * d2 elif d2 <= -4.5e-292: tmp = d1 * d4 elif d2 <= -4.2e-292: tmp = d1 * d2 elif d2 <= -1.2e-298: tmp = t_0 elif d2 <= -1.85e-301: tmp = d1 * d2 elif d2 <= 8e-292: tmp = t_0 elif d2 <= 3.2e-272: tmp = d1 * d4 elif d2 <= 1.45e-257: tmp = t_0 elif d2 <= 7.5e-246: tmp = d1 * d4 elif d2 <= 1.05e-216: tmp = t_0 elif d2 <= 1.15e-207: tmp = d1 * d4 elif d2 <= 1.8e-205: tmp = t_0 elif d2 <= 1.3e-198: tmp = d1 * d4 elif d2 <= 7.5e-197: tmp = t_0 elif d2 <= 6e-187: tmp = d1 * d4 elif d2 <= 2.95e-179: tmp = t_0 elif d2 <= 7.5e-170: tmp = d1 * d4 elif d2 <= 2.15e-166: tmp = t_0 elif d2 <= 3.25e-99: tmp = d1 * d4 elif d2 <= 3.3e-99: tmp = d1 * d2 elif (d2 <= 3.3e-90) or not ((d2 <= 3.8e-87) or (not (d2 <= 9e-45) and ((d2 <= 9e-20) or (not (d2 <= 1.02e-7) and ((d2 <= 2.4e+23) or (not (d2 <= 8.5e+34) and ((d2 <= 7e+37) or (not (d2 <= 3.4e+70) and (d2 <= 2.7e+78))))))))): tmp = d1 * d4 else: tmp = t_0 return tmp
function code(d1, d2, d3, d4) t_0 = Float64(d1 * Float64(-d1)) tmp = 0.0 if (d2 <= -6.2e+65) tmp = Float64(d1 * d2); elseif (d2 <= -3.3e+18) tmp = t_0; elseif (d2 <= -3.7e+14) tmp = Float64(d1 * d4); elseif (d2 <= -90000000000000.0) tmp = t_0; elseif (d2 <= -54000000000000.0) tmp = Float64(d1 * d2); elseif (d2 <= -210.0) tmp = t_0; elseif (d2 <= -205.0) tmp = Float64(d1 * d2); elseif (d2 <= -0.0038) tmp = t_0; elseif (d2 <= -2.55e-8) tmp = Float64(d1 * d4); elseif (d2 <= -2.3e-8) tmp = Float64(d1 * d2); elseif (d2 <= -3e-16) tmp = Float64(d1 * d4); elseif (d2 <= -2.8e-20) tmp = t_0; elseif (d2 <= -3.5e-21) tmp = Float64(d1 * d2); elseif (d2 <= -3.3e-46) tmp = Float64(d1 * d4); elseif (d2 <= -1.65e-52) tmp = t_0; elseif (d2 <= -1.6e-52) tmp = Float64(d1 * d2); elseif (d2 <= -4.8e-58) tmp = t_0; elseif (d2 <= -2.4e-66) tmp = Float64(d1 * d4); elseif (d2 <= -2.75e-70) tmp = t_0; elseif (d2 <= -4.2e-72) tmp = Float64(d1 * d4); elseif (d2 <= -1.35e-74) tmp = t_0; elseif (d2 <= -1.15e-78) tmp = Float64(d1 * d4); elseif (d2 <= -2.8e-81) tmp = t_0; elseif (d2 <= -2.15e-94) tmp = Float64(d1 * d4); elseif (d2 <= -1.55e-103) tmp = t_0; elseif (d2 <= -6.5e-111) tmp = Float64(d1 * d4); elseif (d2 <= -6.4e-111) tmp = Float64(d1 * d2); elseif (d2 <= -2.9e-116) tmp = Float64(d1 * d4); elseif (d2 <= -1.2e-117) tmp = Float64(d1 * d2); elseif (d2 <= -1.25e-127) tmp = t_0; elseif (d2 <= -1.8e-132) tmp = Float64(d1 * d4); elseif (d2 <= -1.1e-137) tmp = t_0; elseif (d2 <= -2.5e-145) tmp = Float64(d1 * d4); elseif (d2 <= -4.5e-146) tmp = t_0; elseif (d2 <= -4.2e-148) tmp = Float64(d1 * d4); elseif (d2 <= -4.7e-150) tmp = t_0; elseif (d2 <= -5.3e-157) tmp = Float64(d1 * d4); elseif (d2 <= -1.2e-160) tmp = t_0; elseif (d2 <= -1.35e-188) tmp = Float64(d1 * d4); elseif (d2 <= -1.3e-188) tmp = Float64(d1 * d2); elseif (d2 <= -5.8e-219) tmp = t_0; elseif (d2 <= -5.6e-219) tmp = Float64(d1 * d2); elseif (d2 <= -4.8e-229) tmp = t_0; elseif (d2 <= -1.2e-241) tmp = Float64(d1 * d4); elseif (d2 <= -6e-249) tmp = t_0; elseif (d2 <= -5.8e-249) tmp = Float64(d1 * d2); elseif (d2 <= -1.3e-264) tmp = Float64(d1 * d4); elseif (d2 <= -7e-269) tmp = t_0; elseif (d2 <= -3.4e-281) tmp = Float64(d1 * d4); elseif (d2 <= -9e-284) tmp = Float64(d1 * d2); elseif (d2 <= -4.5e-292) tmp = Float64(d1 * d4); elseif (d2 <= -4.2e-292) tmp = Float64(d1 * d2); elseif (d2 <= -1.2e-298) tmp = t_0; elseif (d2 <= -1.85e-301) tmp = Float64(d1 * d2); elseif (d2 <= 8e-292) tmp = t_0; elseif (d2 <= 3.2e-272) tmp = Float64(d1 * d4); elseif (d2 <= 1.45e-257) tmp = t_0; elseif (d2 <= 7.5e-246) tmp = Float64(d1 * d4); elseif (d2 <= 1.05e-216) tmp = t_0; elseif (d2 <= 1.15e-207) tmp = Float64(d1 * d4); elseif (d2 <= 1.8e-205) tmp = t_0; elseif (d2 <= 1.3e-198) tmp = Float64(d1 * d4); elseif (d2 <= 7.5e-197) tmp = t_0; elseif (d2 <= 6e-187) tmp = Float64(d1 * d4); elseif (d2 <= 2.95e-179) tmp = t_0; elseif (d2 <= 7.5e-170) tmp = Float64(d1 * d4); elseif (d2 <= 2.15e-166) tmp = t_0; elseif (d2 <= 3.25e-99) tmp = Float64(d1 * d4); elseif (d2 <= 3.3e-99) tmp = Float64(d1 * d2); elseif ((d2 <= 3.3e-90) || !((d2 <= 3.8e-87) || (!(d2 <= 9e-45) && ((d2 <= 9e-20) || (!(d2 <= 1.02e-7) && ((d2 <= 2.4e+23) || (!(d2 <= 8.5e+34) && ((d2 <= 7e+37) || (!(d2 <= 3.4e+70) && (d2 <= 2.7e+78)))))))))) tmp = Float64(d1 * d4); else tmp = t_0; end return tmp end
function tmp_2 = code(d1, d2, d3, d4) t_0 = d1 * -d1; tmp = 0.0; if (d2 <= -6.2e+65) tmp = d1 * d2; elseif (d2 <= -3.3e+18) tmp = t_0; elseif (d2 <= -3.7e+14) tmp = d1 * d4; elseif (d2 <= -90000000000000.0) tmp = t_0; elseif (d2 <= -54000000000000.0) tmp = d1 * d2; elseif (d2 <= -210.0) tmp = t_0; elseif (d2 <= -205.0) tmp = d1 * d2; elseif (d2 <= -0.0038) tmp = t_0; elseif (d2 <= -2.55e-8) tmp = d1 * d4; elseif (d2 <= -2.3e-8) tmp = d1 * d2; elseif (d2 <= -3e-16) tmp = d1 * d4; elseif (d2 <= -2.8e-20) tmp = t_0; elseif (d2 <= -3.5e-21) tmp = d1 * d2; elseif (d2 <= -3.3e-46) tmp = d1 * d4; elseif (d2 <= -1.65e-52) tmp = t_0; elseif (d2 <= -1.6e-52) tmp = d1 * d2; elseif (d2 <= -4.8e-58) tmp = t_0; elseif (d2 <= -2.4e-66) tmp = d1 * d4; elseif (d2 <= -2.75e-70) tmp = t_0; elseif (d2 <= -4.2e-72) tmp = d1 * d4; elseif (d2 <= -1.35e-74) tmp = t_0; elseif (d2 <= -1.15e-78) tmp = d1 * d4; elseif (d2 <= -2.8e-81) tmp = t_0; elseif (d2 <= -2.15e-94) tmp = d1 * d4; elseif (d2 <= -1.55e-103) tmp = t_0; elseif (d2 <= -6.5e-111) tmp = d1 * d4; elseif (d2 <= -6.4e-111) tmp = d1 * d2; elseif (d2 <= -2.9e-116) tmp = d1 * d4; elseif (d2 <= -1.2e-117) tmp = d1 * d2; elseif (d2 <= -1.25e-127) tmp = t_0; elseif (d2 <= -1.8e-132) tmp = d1 * d4; elseif (d2 <= -1.1e-137) tmp = t_0; elseif (d2 <= -2.5e-145) tmp = d1 * d4; elseif (d2 <= -4.5e-146) tmp = t_0; elseif (d2 <= -4.2e-148) tmp = d1 * d4; elseif (d2 <= -4.7e-150) tmp = t_0; elseif (d2 <= -5.3e-157) tmp = d1 * d4; elseif (d2 <= -1.2e-160) tmp = t_0; elseif (d2 <= -1.35e-188) tmp = d1 * d4; elseif (d2 <= -1.3e-188) tmp = d1 * d2; elseif (d2 <= -5.8e-219) tmp = t_0; elseif (d2 <= -5.6e-219) tmp = d1 * d2; elseif (d2 <= -4.8e-229) tmp = t_0; elseif (d2 <= -1.2e-241) tmp = d1 * d4; elseif (d2 <= -6e-249) tmp = t_0; elseif (d2 <= -5.8e-249) tmp = d1 * d2; elseif (d2 <= -1.3e-264) tmp = d1 * d4; elseif (d2 <= -7e-269) tmp = t_0; elseif (d2 <= -3.4e-281) tmp = d1 * d4; elseif (d2 <= -9e-284) tmp = d1 * d2; elseif (d2 <= -4.5e-292) tmp = d1 * d4; elseif (d2 <= -4.2e-292) tmp = d1 * d2; elseif (d2 <= -1.2e-298) tmp = t_0; elseif (d2 <= -1.85e-301) tmp = d1 * d2; elseif (d2 <= 8e-292) tmp = t_0; elseif (d2 <= 3.2e-272) tmp = d1 * d4; elseif (d2 <= 1.45e-257) tmp = t_0; elseif (d2 <= 7.5e-246) tmp = d1 * d4; elseif (d2 <= 1.05e-216) tmp = t_0; elseif (d2 <= 1.15e-207) tmp = d1 * d4; elseif (d2 <= 1.8e-205) tmp = t_0; elseif (d2 <= 1.3e-198) tmp = d1 * d4; elseif (d2 <= 7.5e-197) tmp = t_0; elseif (d2 <= 6e-187) tmp = d1 * d4; elseif (d2 <= 2.95e-179) tmp = t_0; elseif (d2 <= 7.5e-170) tmp = d1 * d4; elseif (d2 <= 2.15e-166) tmp = t_0; elseif (d2 <= 3.25e-99) tmp = d1 * d4; elseif (d2 <= 3.3e-99) tmp = d1 * d2; elseif ((d2 <= 3.3e-90) || ~(((d2 <= 3.8e-87) || (~((d2 <= 9e-45)) && ((d2 <= 9e-20) || (~((d2 <= 1.02e-7)) && ((d2 <= 2.4e+23) || (~((d2 <= 8.5e+34)) && ((d2 <= 7e+37) || (~((d2 <= 3.4e+70)) && (d2 <= 2.7e+78))))))))))) tmp = d1 * d4; else tmp = t_0; end tmp_2 = tmp; end
code[d1_, d2_, d3_, d4_] := Block[{t$95$0 = N[(d1 * (-d1)), $MachinePrecision]}, If[LessEqual[d2, -6.2e+65], N[(d1 * d2), $MachinePrecision], If[LessEqual[d2, -3.3e+18], t$95$0, If[LessEqual[d2, -3.7e+14], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -90000000000000.0], t$95$0, If[LessEqual[d2, -54000000000000.0], N[(d1 * d2), $MachinePrecision], If[LessEqual[d2, -210.0], t$95$0, If[LessEqual[d2, -205.0], N[(d1 * d2), $MachinePrecision], If[LessEqual[d2, -0.0038], t$95$0, If[LessEqual[d2, -2.55e-8], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -2.3e-8], N[(d1 * d2), $MachinePrecision], If[LessEqual[d2, -3e-16], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -2.8e-20], t$95$0, If[LessEqual[d2, -3.5e-21], N[(d1 * d2), $MachinePrecision], If[LessEqual[d2, -3.3e-46], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -1.65e-52], t$95$0, If[LessEqual[d2, -1.6e-52], N[(d1 * d2), $MachinePrecision], If[LessEqual[d2, -4.8e-58], t$95$0, If[LessEqual[d2, -2.4e-66], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -2.75e-70], t$95$0, If[LessEqual[d2, -4.2e-72], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -1.35e-74], t$95$0, If[LessEqual[d2, -1.15e-78], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -2.8e-81], t$95$0, If[LessEqual[d2, -2.15e-94], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -1.55e-103], t$95$0, If[LessEqual[d2, -6.5e-111], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -6.4e-111], N[(d1 * d2), $MachinePrecision], If[LessEqual[d2, -2.9e-116], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -1.2e-117], N[(d1 * d2), $MachinePrecision], If[LessEqual[d2, -1.25e-127], t$95$0, If[LessEqual[d2, -1.8e-132], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -1.1e-137], t$95$0, If[LessEqual[d2, -2.5e-145], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -4.5e-146], t$95$0, If[LessEqual[d2, -4.2e-148], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -4.7e-150], t$95$0, If[LessEqual[d2, -5.3e-157], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -1.2e-160], t$95$0, If[LessEqual[d2, -1.35e-188], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -1.3e-188], N[(d1 * d2), $MachinePrecision], If[LessEqual[d2, -5.8e-219], t$95$0, If[LessEqual[d2, -5.6e-219], N[(d1 * d2), $MachinePrecision], If[LessEqual[d2, -4.8e-229], t$95$0, If[LessEqual[d2, -1.2e-241], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -6e-249], t$95$0, If[LessEqual[d2, -5.8e-249], N[(d1 * d2), $MachinePrecision], If[LessEqual[d2, -1.3e-264], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -7e-269], t$95$0, If[LessEqual[d2, -3.4e-281], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -9e-284], N[(d1 * d2), $MachinePrecision], If[LessEqual[d2, -4.5e-292], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, -4.2e-292], N[(d1 * d2), $MachinePrecision], If[LessEqual[d2, -1.2e-298], t$95$0, If[LessEqual[d2, -1.85e-301], N[(d1 * d2), $MachinePrecision], If[LessEqual[d2, 8e-292], t$95$0, If[LessEqual[d2, 3.2e-272], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, 1.45e-257], t$95$0, If[LessEqual[d2, 7.5e-246], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, 1.05e-216], t$95$0, If[LessEqual[d2, 1.15e-207], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, 1.8e-205], t$95$0, If[LessEqual[d2, 1.3e-198], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, 7.5e-197], t$95$0, If[LessEqual[d2, 6e-187], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, 2.95e-179], t$95$0, If[LessEqual[d2, 7.5e-170], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, 2.15e-166], t$95$0, If[LessEqual[d2, 3.25e-99], N[(d1 * d4), $MachinePrecision], If[LessEqual[d2, 3.3e-99], N[(d1 * d2), $MachinePrecision], If[Or[LessEqual[d2, 3.3e-90], N[Not[Or[LessEqual[d2, 3.8e-87], And[N[Not[LessEqual[d2, 9e-45]], $MachinePrecision], Or[LessEqual[d2, 9e-20], And[N[Not[LessEqual[d2, 1.02e-7]], $MachinePrecision], Or[LessEqual[d2, 2.4e+23], And[N[Not[LessEqual[d2, 8.5e+34]], $MachinePrecision], Or[LessEqual[d2, 7e+37], And[N[Not[LessEqual[d2, 3.4e+70]], $MachinePrecision], LessEqual[d2, 2.7e+78]]]]]]]]]], $MachinePrecision]], N[(d1 * d4), $MachinePrecision], t$95$0]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := d1 \cdot \left(-d1\right)\\
\mathbf{if}\;d2 \leq -6.2 \cdot 10^{+65}:\\
\;\;\;\;d1 \cdot d2\\
\mathbf{elif}\;d2 \leq -3.3 \cdot 10^{+18}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -3.7 \cdot 10^{+14}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -90000000000000:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -54000000000000:\\
\;\;\;\;d1 \cdot d2\\
\mathbf{elif}\;d2 \leq -210:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -205:\\
\;\;\;\;d1 \cdot d2\\
\mathbf{elif}\;d2 \leq -0.0038:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -2.55 \cdot 10^{-8}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -2.3 \cdot 10^{-8}:\\
\;\;\;\;d1 \cdot d2\\
\mathbf{elif}\;d2 \leq -3 \cdot 10^{-16}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -2.8 \cdot 10^{-20}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -3.5 \cdot 10^{-21}:\\
\;\;\;\;d1 \cdot d2\\
\mathbf{elif}\;d2 \leq -3.3 \cdot 10^{-46}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -1.65 \cdot 10^{-52}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -1.6 \cdot 10^{-52}:\\
\;\;\;\;d1 \cdot d2\\
\mathbf{elif}\;d2 \leq -4.8 \cdot 10^{-58}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -2.4 \cdot 10^{-66}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -2.75 \cdot 10^{-70}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -4.2 \cdot 10^{-72}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -1.35 \cdot 10^{-74}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -1.15 \cdot 10^{-78}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -2.8 \cdot 10^{-81}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -2.15 \cdot 10^{-94}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -1.55 \cdot 10^{-103}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -6.5 \cdot 10^{-111}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -6.4 \cdot 10^{-111}:\\
\;\;\;\;d1 \cdot d2\\
\mathbf{elif}\;d2 \leq -2.9 \cdot 10^{-116}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -1.2 \cdot 10^{-117}:\\
\;\;\;\;d1 \cdot d2\\
\mathbf{elif}\;d2 \leq -1.25 \cdot 10^{-127}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -1.8 \cdot 10^{-132}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -1.1 \cdot 10^{-137}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -2.5 \cdot 10^{-145}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -4.5 \cdot 10^{-146}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -4.2 \cdot 10^{-148}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -4.7 \cdot 10^{-150}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -5.3 \cdot 10^{-157}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -1.2 \cdot 10^{-160}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -1.35 \cdot 10^{-188}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -1.3 \cdot 10^{-188}:\\
\;\;\;\;d1 \cdot d2\\
\mathbf{elif}\;d2 \leq -5.8 \cdot 10^{-219}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -5.6 \cdot 10^{-219}:\\
\;\;\;\;d1 \cdot d2\\
\mathbf{elif}\;d2 \leq -4.8 \cdot 10^{-229}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -1.2 \cdot 10^{-241}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -6 \cdot 10^{-249}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -5.8 \cdot 10^{-249}:\\
\;\;\;\;d1 \cdot d2\\
\mathbf{elif}\;d2 \leq -1.3 \cdot 10^{-264}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -7 \cdot 10^{-269}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -3.4 \cdot 10^{-281}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -9 \cdot 10^{-284}:\\
\;\;\;\;d1 \cdot d2\\
\mathbf{elif}\;d2 \leq -4.5 \cdot 10^{-292}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq -4.2 \cdot 10^{-292}:\\
\;\;\;\;d1 \cdot d2\\
\mathbf{elif}\;d2 \leq -1.2 \cdot 10^{-298}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -1.85 \cdot 10^{-301}:\\
\;\;\;\;d1 \cdot d2\\
\mathbf{elif}\;d2 \leq 8 \cdot 10^{-292}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq 3.2 \cdot 10^{-272}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq 1.45 \cdot 10^{-257}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq 7.5 \cdot 10^{-246}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq 1.05 \cdot 10^{-216}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq 1.15 \cdot 10^{-207}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq 1.8 \cdot 10^{-205}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq 1.3 \cdot 10^{-198}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq 7.5 \cdot 10^{-197}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq 6 \cdot 10^{-187}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq 2.95 \cdot 10^{-179}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq 7.5 \cdot 10^{-170}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq 2.15 \cdot 10^{-166}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq 3.25 \cdot 10^{-99}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d2 \leq 3.3 \cdot 10^{-99}:\\
\;\;\;\;d1 \cdot d2\\
\mathbf{elif}\;d2 \leq 3.3 \cdot 10^{-90} \lor \neg \left(d2 \leq 3.8 \cdot 10^{-87} \lor \neg \left(d2 \leq 9 \cdot 10^{-45}\right) \land \left(d2 \leq 9 \cdot 10^{-20} \lor \neg \left(d2 \leq 1.02 \cdot 10^{-7}\right) \land \left(d2 \leq 2.4 \cdot 10^{+23} \lor \neg \left(d2 \leq 8.5 \cdot 10^{+34}\right) \land \left(d2 \leq 7 \cdot 10^{+37} \lor \neg \left(d2 \leq 3.4 \cdot 10^{+70}\right) \land d2 \leq 2.7 \cdot 10^{+78}\right)\right)\right)\right):\\
\;\;\;\;d1 \cdot d4\\
\mathbf{else}:\\
\;\;\;\;t\_0\\
\end{array}
\end{array}
if d2 < -6.19999999999999981e65 or -9e13 < d2 < -5.4e13 or -210 < d2 < -205 or -2.55e-8 < d2 < -2.3000000000000001e-8 or -2.8000000000000003e-20 < d2 < -3.5000000000000003e-21 or -1.64999999999999998e-52 < d2 < -1.60000000000000005e-52 or -6.49999999999999974e-111 < d2 < -6.3999999999999997e-111 or -2.8999999999999998e-116 < d2 < -1.20000000000000007e-117 or -1.35e-188 < d2 < -1.3e-188 or -5.79999999999999968e-219 < d2 < -5.5999999999999998e-219 or -6.00000000000000008e-249 < d2 < -5.80000000000000044e-249 or -3.4e-281 < d2 < -8.9999999999999999e-284 or -4.49999999999999956e-292 < d2 < -4.19999999999999977e-292 or -1.19999999999999994e-298 < d2 < -1.8499999999999999e-301 or 3.25000000000000017e-99 < d2 < 3.29999999999999986e-99Initial program 82.2%
associate--l+82.2%
distribute-lft-out--87.0%
distribute-rgt-out--90.3%
distribute-lft-out99.9%
Simplified99.9%
Taylor expanded in d2 around inf 57.6%
if -6.19999999999999981e65 < d2 < -3.3e18 or -3.7e14 < d2 < -9e13 or -5.4e13 < d2 < -210 or -205 < d2 < -0.00379999999999999999 or -2.99999999999999994e-16 < d2 < -2.8000000000000003e-20 or -3.30000000000000013e-46 < d2 < -1.64999999999999998e-52 or -1.60000000000000005e-52 < d2 < -4.8000000000000001e-58 or -2.40000000000000026e-66 < d2 < -2.75e-70 or -4.2e-72 < d2 < -1.35000000000000009e-74 or -1.1500000000000001e-78 < d2 < -2.7999999999999999e-81 or -2.1499999999999999e-94 < d2 < -1.5500000000000001e-103 or -1.20000000000000007e-117 < d2 < -1.2499999999999999e-127 or -1.80000000000000004e-132 < d2 < -1.1000000000000001e-137 or -2.4999999999999999e-145 < d2 < -4.5000000000000001e-146 or -4.2e-148 < d2 < -4.6999999999999999e-150 or -5.3000000000000002e-157 < d2 < -1.19999999999999995e-160 or -1.3e-188 < d2 < -5.79999999999999968e-219 or -5.5999999999999998e-219 < d2 < -4.8e-229 or -1.2e-241 < d2 < -6.00000000000000008e-249 or -1.3000000000000001e-264 < d2 < -7.00000000000000038e-269 or -4.19999999999999977e-292 < d2 < -1.19999999999999994e-298 or -1.8499999999999999e-301 < d2 < 8.0000000000000004e-292 or 3.2e-272 < d2 < 1.4500000000000001e-257 or 7.50000000000000049e-246 < d2 < 1.0500000000000001e-216 or 1.15e-207 < d2 < 1.7999999999999999e-205 or 1.30000000000000003e-198 < d2 < 7.5e-197 or 6.00000000000000008e-187 < d2 < 2.95000000000000015e-179 or 7.4999999999999998e-170 < d2 < 2.15e-166 or 3.3e-90 < d2 < 3.8e-87 or 8.9999999999999997e-45 < d2 < 9.0000000000000003e-20 or 1.02e-7 < d2 < 2.4e23 or 8.5000000000000003e34 < d2 < 7e37 or 3.4000000000000001e70 < d2 < 2.70000000000000004e78Initial program 89.6%
associate--l+89.6%
distribute-lft-out--89.6%
distribute-rgt-out--93.5%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d1 around inf 51.2%
neg-mul-151.2%
Simplified51.2%
if -3.3e18 < d2 < -3.7e14 or -0.00379999999999999999 < d2 < -2.55e-8 or -2.3000000000000001e-8 < d2 < -2.99999999999999994e-16 or -3.5000000000000003e-21 < d2 < -3.30000000000000013e-46 or -4.8000000000000001e-58 < d2 < -2.40000000000000026e-66 or -2.75e-70 < d2 < -4.2e-72 or -1.35000000000000009e-74 < d2 < -1.1500000000000001e-78 or -2.7999999999999999e-81 < d2 < -2.1499999999999999e-94 or -1.5500000000000001e-103 < d2 < -6.49999999999999974e-111 or -6.3999999999999997e-111 < d2 < -2.8999999999999998e-116 or -1.2499999999999999e-127 < d2 < -1.80000000000000004e-132 or -1.1000000000000001e-137 < d2 < -2.4999999999999999e-145 or -4.5000000000000001e-146 < d2 < -4.2e-148 or -4.6999999999999999e-150 < d2 < -5.3000000000000002e-157 or -1.19999999999999995e-160 < d2 < -1.35e-188 or -4.8e-229 < d2 < -1.2e-241 or -5.80000000000000044e-249 < d2 < -1.3000000000000001e-264 or -7.00000000000000038e-269 < d2 < -3.4e-281 or -8.9999999999999999e-284 < d2 < -4.49999999999999956e-292 or 8.0000000000000004e-292 < d2 < 3.2e-272 or 1.4500000000000001e-257 < d2 < 7.50000000000000049e-246 or 1.0500000000000001e-216 < d2 < 1.15e-207 or 1.7999999999999999e-205 < d2 < 1.30000000000000003e-198 or 7.5e-197 < d2 < 6.00000000000000008e-187 or 2.95000000000000015e-179 < d2 < 7.4999999999999998e-170 or 2.15e-166 < d2 < 3.25000000000000017e-99 or 3.29999999999999986e-99 < d2 < 3.3e-90 or 3.8e-87 < d2 < 8.9999999999999997e-45 or 9.0000000000000003e-20 < d2 < 1.02e-7 or 2.4e23 < d2 < 8.5000000000000003e34 or 7e37 < d2 < 3.4000000000000001e70 or 2.70000000000000004e78 < d2 Initial program 87.2%
associate--l+87.2%
distribute-lft-out--88.9%
distribute-rgt-out--91.4%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d4 around inf 36.4%
Final simplification46.0%
(FPCore (d1 d2 d3 d4)
:precision binary64
(if (or (<= d2 -7e+61)
(and (not (<= d2 -3.7e-21))
(or (<= d2 -1.15e-21)
(and (not (<= d2 -3.25e-46))
(or (<= d2 -5.5e-49)
(and (not (<= d2 -1.65e-52))
(or (<= d2 -2.55e-54)
(and (not (<= d2 -4.2e-70))
(or (<= d2 -5.7e-71)
(and (not (<= d2 -2.5e-72))
(or (<= d2 -2.4e-72)
(and (not
(<= d2 -1.15e-78))
(or (<= d2 -9.5e-80)
(and (not
(<=
d2
-3.7e-103))
(or (<=
d2
-1.6e-103)
(and (not
(<=
d2
-6.5e-111))
(or (<=
d2
-6.4e-111)
(and (not
(<=
d2
-2.9e-116))
(or (<=
d2
-1.2e-117)
(and (not
(or (<=
d2
-2e-118)
(<=
d2
-2.4e-120)))
(or (<=
d2
-1.35e-126)
(and (not
(<=
d2
-5.1e-133))
(or (<=
d2
-5e-133)
(and (not
(<=
d2
-2.4e-145))
(or (<=
d2
-2.3e-145)
(and (not
(<=
d2
-2.4e-149))
(or (<=
d2
-2.35e-149)
(and (not
(<=
d2
-1.35e-188))
(or (<=
d2
-2.9e-202)
(and (not
(<=
d2
-5.8e-219))
(or (<=
d2
-2.8e-224)
(and (not
(<=
d2
-3.3e-242))
(or (<=
d2
-5.8e-249)
(and (not
(<=
d2
-8.8e-265))
(or (<=
d2
-8.7e-265)
(and (not
(<=
d2
-3.4e-281))
(or (<=
d2
-9e-284)
(and (not
(<=
d2
-4.5e-292))
(or (<=
d2
-4.2e-292)
(and (not
(<=
d2
-1.2e-298))
(or (<=
d2
-1.85e-301)
(and (not
(<=
d2
2.9e-283))
(or (<=
d2
1.6e-259)
(and (not
(<=
d2
1.55e-233))
(or (<=
d2
3e-219)
(and (not
(<=
d2
3.6e-207))
(or (<=
d2
3.7e-207)
(and (not
(<=
d2
4.8e-168))
(or (<=
d2
5e-168)
(and (not
(<=
d2
3.25e-99))
(or (<=
d2
3.3e-99)
(and (not
(<=
d2
7.4e-90))
(or (<=
d2
7.5e-90)
(and (not
(<=
d2
7e-22))
(or (<=
d2
7.2e-22)
(and (not
(<=
d2
24500.0))
(or (<=
d2
3.1e+18)
(and (not
(<=
d2
2.6e+33))
(or (<=
d2
1.22e+35)
(and (not
(<=
d2
8.2e+68))
(<=
d2
8e+77)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
(* d1 d2)
(* d1 d4)))
double code(double d1, double d2, double d3, double d4) {
double tmp;
if ((d2 <= -7e+61) || (!(d2 <= -3.7e-21) && ((d2 <= -1.15e-21) || (!(d2 <= -3.25e-46) && ((d2 <= -5.5e-49) || (!(d2 <= -1.65e-52) && ((d2 <= -2.55e-54) || (!(d2 <= -4.2e-70) && ((d2 <= -5.7e-71) || (!(d2 <= -2.5e-72) && ((d2 <= -2.4e-72) || (!(d2 <= -1.15e-78) && ((d2 <= -9.5e-80) || (!(d2 <= -3.7e-103) && ((d2 <= -1.6e-103) || (!(d2 <= -6.5e-111) && ((d2 <= -6.4e-111) || (!(d2 <= -2.9e-116) && ((d2 <= -1.2e-117) || (!((d2 <= -2e-118) || (d2 <= -2.4e-120)) && ((d2 <= -1.35e-126) || (!(d2 <= -5.1e-133) && ((d2 <= -5e-133) || (!(d2 <= -2.4e-145) && ((d2 <= -2.3e-145) || (!(d2 <= -2.4e-149) && ((d2 <= -2.35e-149) || (!(d2 <= -1.35e-188) && ((d2 <= -2.9e-202) || (!(d2 <= -5.8e-219) && ((d2 <= -2.8e-224) || (!(d2 <= -3.3e-242) && ((d2 <= -5.8e-249) || (!(d2 <= -8.8e-265) && ((d2 <= -8.7e-265) || (!(d2 <= -3.4e-281) && ((d2 <= -9e-284) || (!(d2 <= -4.5e-292) && ((d2 <= -4.2e-292) || (!(d2 <= -1.2e-298) && ((d2 <= -1.85e-301) || (!(d2 <= 2.9e-283) && ((d2 <= 1.6e-259) || (!(d2 <= 1.55e-233) && ((d2 <= 3e-219) || (!(d2 <= 3.6e-207) && ((d2 <= 3.7e-207) || (!(d2 <= 4.8e-168) && ((d2 <= 5e-168) || (!(d2 <= 3.25e-99) && ((d2 <= 3.3e-99) || (!(d2 <= 7.4e-90) && ((d2 <= 7.5e-90) || (!(d2 <= 7e-22) && ((d2 <= 7.2e-22) || (!(d2 <= 24500.0) && ((d2 <= 3.1e+18) || (!(d2 <= 2.6e+33) && ((d2 <= 1.22e+35) || (!(d2 <= 8.2e+68) && (d2 <= 8e+77))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) {
tmp = d1 * d2;
} else {
tmp = d1 * d4;
}
return tmp;
}
real(8) function code(d1, d2, d3, d4)
real(8), intent (in) :: d1
real(8), intent (in) :: d2
real(8), intent (in) :: d3
real(8), intent (in) :: d4
real(8) :: tmp
if ((d2 <= (-7d+61)) .or. (.not. (d2 <= (-3.7d-21))) .and. (d2 <= (-1.15d-21)) .or. (.not. (d2 <= (-3.25d-46))) .and. (d2 <= (-5.5d-49)) .or. (.not. (d2 <= (-1.65d-52))) .and. (d2 <= (-2.55d-54)) .or. (.not. (d2 <= (-4.2d-70))) .and. (d2 <= (-5.7d-71)) .or. (.not. (d2 <= (-2.5d-72))) .and. (d2 <= (-2.4d-72)) .or. (.not. (d2 <= (-1.15d-78))) .and. (d2 <= (-9.5d-80)) .or. (.not. (d2 <= (-3.7d-103))) .and. (d2 <= (-1.6d-103)) .or. (.not. (d2 <= (-6.5d-111))) .and. (d2 <= (-6.4d-111)) .or. (.not. (d2 <= (-2.9d-116))) .and. (d2 <= (-1.2d-117)) .or. (.not. (d2 <= (-2d-118)) .or. (d2 <= (-2.4d-120))) .and. (d2 <= (-1.35d-126)) .or. (.not. (d2 <= (-5.1d-133))) .and. (d2 <= (-5d-133)) .or. (.not. (d2 <= (-2.4d-145))) .and. (d2 <= (-2.3d-145)) .or. (.not. (d2 <= (-2.4d-149))) .and. (d2 <= (-2.35d-149)) .or. (.not. (d2 <= (-1.35d-188))) .and. (d2 <= (-2.9d-202)) .or. (.not. (d2 <= (-5.8d-219))) .and. (d2 <= (-2.8d-224)) .or. (.not. (d2 <= (-3.3d-242))) .and. (d2 <= (-5.8d-249)) .or. (.not. (d2 <= (-8.8d-265))) .and. (d2 <= (-8.7d-265)) .or. (.not. (d2 <= (-3.4d-281))) .and. (d2 <= (-9d-284)) .or. (.not. (d2 <= (-4.5d-292))) .and. (d2 <= (-4.2d-292)) .or. (.not. (d2 <= (-1.2d-298))) .and. (d2 <= (-1.85d-301)) .or. (.not. (d2 <= 2.9d-283)) .and. (d2 <= 1.6d-259) .or. (.not. (d2 <= 1.55d-233)) .and. (d2 <= 3d-219) .or. (.not. (d2 <= 3.6d-207)) .and. (d2 <= 3.7d-207) .or. (.not. (d2 <= 4.8d-168)) .and. (d2 <= 5d-168) .or. (.not. (d2 <= 3.25d-99)) .and. (d2 <= 3.3d-99) .or. (.not. (d2 <= 7.4d-90)) .and. (d2 <= 7.5d-90) .or. (.not. (d2 <= 7d-22)) .and. (d2 <= 7.2d-22) .or. (.not. (d2 <= 24500.0d0)) .and. (d2 <= 3.1d+18) .or. (.not. (d2 <= 2.6d+33)) .and. (d2 <= 1.22d+35) .or. (.not. (d2 <= 8.2d+68)) .and. (d2 <= 8d+77)) then
tmp = d1 * d2
else
tmp = d1 * d4
end if
code = tmp
end function
public static double code(double d1, double d2, double d3, double d4) {
double tmp;
if ((d2 <= -7e+61) || (!(d2 <= -3.7e-21) && ((d2 <= -1.15e-21) || (!(d2 <= -3.25e-46) && ((d2 <= -5.5e-49) || (!(d2 <= -1.65e-52) && ((d2 <= -2.55e-54) || (!(d2 <= -4.2e-70) && ((d2 <= -5.7e-71) || (!(d2 <= -2.5e-72) && ((d2 <= -2.4e-72) || (!(d2 <= -1.15e-78) && ((d2 <= -9.5e-80) || (!(d2 <= -3.7e-103) && ((d2 <= -1.6e-103) || (!(d2 <= -6.5e-111) && ((d2 <= -6.4e-111) || (!(d2 <= -2.9e-116) && ((d2 <= -1.2e-117) || (!((d2 <= -2e-118) || (d2 <= -2.4e-120)) && ((d2 <= -1.35e-126) || (!(d2 <= -5.1e-133) && ((d2 <= -5e-133) || (!(d2 <= -2.4e-145) && ((d2 <= -2.3e-145) || (!(d2 <= -2.4e-149) && ((d2 <= -2.35e-149) || (!(d2 <= -1.35e-188) && ((d2 <= -2.9e-202) || (!(d2 <= -5.8e-219) && ((d2 <= -2.8e-224) || (!(d2 <= -3.3e-242) && ((d2 <= -5.8e-249) || (!(d2 <= -8.8e-265) && ((d2 <= -8.7e-265) || (!(d2 <= -3.4e-281) && ((d2 <= -9e-284) || (!(d2 <= -4.5e-292) && ((d2 <= -4.2e-292) || (!(d2 <= -1.2e-298) && ((d2 <= -1.85e-301) || (!(d2 <= 2.9e-283) && ((d2 <= 1.6e-259) || (!(d2 <= 1.55e-233) && ((d2 <= 3e-219) || (!(d2 <= 3.6e-207) && ((d2 <= 3.7e-207) || (!(d2 <= 4.8e-168) && ((d2 <= 5e-168) || (!(d2 <= 3.25e-99) && ((d2 <= 3.3e-99) || (!(d2 <= 7.4e-90) && ((d2 <= 7.5e-90) || (!(d2 <= 7e-22) && ((d2 <= 7.2e-22) || (!(d2 <= 24500.0) && ((d2 <= 3.1e+18) || (!(d2 <= 2.6e+33) && ((d2 <= 1.22e+35) || (!(d2 <= 8.2e+68) && (d2 <= 8e+77))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) {
tmp = d1 * d2;
} else {
tmp = d1 * d4;
}
return tmp;
}
def code(d1, d2, d3, d4): tmp = 0 if (d2 <= -7e+61) or (not (d2 <= -3.7e-21) and ((d2 <= -1.15e-21) or (not (d2 <= -3.25e-46) and ((d2 <= -5.5e-49) or (not (d2 <= -1.65e-52) and ((d2 <= -2.55e-54) or (not (d2 <= -4.2e-70) and ((d2 <= -5.7e-71) or (not (d2 <= -2.5e-72) and ((d2 <= -2.4e-72) or (not (d2 <= -1.15e-78) and ((d2 <= -9.5e-80) or (not (d2 <= -3.7e-103) and ((d2 <= -1.6e-103) or (not (d2 <= -6.5e-111) and ((d2 <= -6.4e-111) or (not (d2 <= -2.9e-116) and ((d2 <= -1.2e-117) or (not ((d2 <= -2e-118) or (d2 <= -2.4e-120)) and ((d2 <= -1.35e-126) or (not (d2 <= -5.1e-133) and ((d2 <= -5e-133) or (not (d2 <= -2.4e-145) and ((d2 <= -2.3e-145) or (not (d2 <= -2.4e-149) and ((d2 <= -2.35e-149) or (not (d2 <= -1.35e-188) and ((d2 <= -2.9e-202) or (not (d2 <= -5.8e-219) and ((d2 <= -2.8e-224) or (not (d2 <= -3.3e-242) and ((d2 <= -5.8e-249) or (not (d2 <= -8.8e-265) and ((d2 <= -8.7e-265) or (not (d2 <= -3.4e-281) and ((d2 <= -9e-284) or (not (d2 <= -4.5e-292) and ((d2 <= -4.2e-292) or (not (d2 <= -1.2e-298) and ((d2 <= -1.85e-301) or (not (d2 <= 2.9e-283) and ((d2 <= 1.6e-259) or (not (d2 <= 1.55e-233) and ((d2 <= 3e-219) or (not (d2 <= 3.6e-207) and ((d2 <= 3.7e-207) or (not (d2 <= 4.8e-168) and ((d2 <= 5e-168) or (not (d2 <= 3.25e-99) and ((d2 <= 3.3e-99) or (not (d2 <= 7.4e-90) and ((d2 <= 7.5e-90) or (not (d2 <= 7e-22) and ((d2 <= 7.2e-22) or (not (d2 <= 24500.0) and ((d2 <= 3.1e+18) or (not (d2 <= 2.6e+33) and ((d2 <= 1.22e+35) or (not (d2 <= 8.2e+68) and (d2 <= 8e+77)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))): tmp = d1 * d2 else: tmp = d1 * d4 return tmp
function code(d1, d2, d3, d4) tmp = 0.0 if ((d2 <= -7e+61) || (!(d2 <= -3.7e-21) && ((d2 <= -1.15e-21) || (!(d2 <= -3.25e-46) && ((d2 <= -5.5e-49) || (!(d2 <= -1.65e-52) && ((d2 <= -2.55e-54) || (!(d2 <= -4.2e-70) && ((d2 <= -5.7e-71) || (!(d2 <= -2.5e-72) && ((d2 <= -2.4e-72) || (!(d2 <= -1.15e-78) && ((d2 <= -9.5e-80) || (!(d2 <= -3.7e-103) && ((d2 <= -1.6e-103) || (!(d2 <= -6.5e-111) && ((d2 <= -6.4e-111) || (!(d2 <= -2.9e-116) && ((d2 <= -1.2e-117) || (!((d2 <= -2e-118) || (d2 <= -2.4e-120)) && ((d2 <= -1.35e-126) || (!(d2 <= -5.1e-133) && ((d2 <= -5e-133) || (!(d2 <= -2.4e-145) && ((d2 <= -2.3e-145) || (!(d2 <= -2.4e-149) && ((d2 <= -2.35e-149) || (!(d2 <= -1.35e-188) && ((d2 <= -2.9e-202) || (!(d2 <= -5.8e-219) && ((d2 <= -2.8e-224) || (!(d2 <= -3.3e-242) && ((d2 <= -5.8e-249) || (!(d2 <= -8.8e-265) && ((d2 <= -8.7e-265) || (!(d2 <= -3.4e-281) && ((d2 <= -9e-284) || (!(d2 <= -4.5e-292) && ((d2 <= -4.2e-292) || (!(d2 <= -1.2e-298) && ((d2 <= -1.85e-301) || (!(d2 <= 2.9e-283) && ((d2 <= 1.6e-259) || (!(d2 <= 1.55e-233) && ((d2 <= 3e-219) || (!(d2 <= 3.6e-207) && ((d2 <= 3.7e-207) || (!(d2 <= 4.8e-168) && ((d2 <= 5e-168) || (!(d2 <= 3.25e-99) && ((d2 <= 3.3e-99) || (!(d2 <= 7.4e-90) && ((d2 <= 7.5e-90) || (!(d2 <= 7e-22) && ((d2 <= 7.2e-22) || (!(d2 <= 24500.0) && ((d2 <= 3.1e+18) || (!(d2 <= 2.6e+33) && ((d2 <= 1.22e+35) || (!(d2 <= 8.2e+68) && (d2 <= 8e+77))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) tmp = Float64(d1 * d2); else tmp = Float64(d1 * d4); end return tmp end
function tmp_2 = code(d1, d2, d3, d4) tmp = 0.0; if ((d2 <= -7e+61) || (~((d2 <= -3.7e-21)) && ((d2 <= -1.15e-21) || (~((d2 <= -3.25e-46)) && ((d2 <= -5.5e-49) || (~((d2 <= -1.65e-52)) && ((d2 <= -2.55e-54) || (~((d2 <= -4.2e-70)) && ((d2 <= -5.7e-71) || (~((d2 <= -2.5e-72)) && ((d2 <= -2.4e-72) || (~((d2 <= -1.15e-78)) && ((d2 <= -9.5e-80) || (~((d2 <= -3.7e-103)) && ((d2 <= -1.6e-103) || (~((d2 <= -6.5e-111)) && ((d2 <= -6.4e-111) || (~((d2 <= -2.9e-116)) && ((d2 <= -1.2e-117) || (~(((d2 <= -2e-118) || (d2 <= -2.4e-120))) && ((d2 <= -1.35e-126) || (~((d2 <= -5.1e-133)) && ((d2 <= -5e-133) || (~((d2 <= -2.4e-145)) && ((d2 <= -2.3e-145) || (~((d2 <= -2.4e-149)) && ((d2 <= -2.35e-149) || (~((d2 <= -1.35e-188)) && ((d2 <= -2.9e-202) || (~((d2 <= -5.8e-219)) && ((d2 <= -2.8e-224) || (~((d2 <= -3.3e-242)) && ((d2 <= -5.8e-249) || (~((d2 <= -8.8e-265)) && ((d2 <= -8.7e-265) || (~((d2 <= -3.4e-281)) && ((d2 <= -9e-284) || (~((d2 <= -4.5e-292)) && ((d2 <= -4.2e-292) || (~((d2 <= -1.2e-298)) && ((d2 <= -1.85e-301) || (~((d2 <= 2.9e-283)) && ((d2 <= 1.6e-259) || (~((d2 <= 1.55e-233)) && ((d2 <= 3e-219) || (~((d2 <= 3.6e-207)) && ((d2 <= 3.7e-207) || (~((d2 <= 4.8e-168)) && ((d2 <= 5e-168) || (~((d2 <= 3.25e-99)) && ((d2 <= 3.3e-99) || (~((d2 <= 7.4e-90)) && ((d2 <= 7.5e-90) || (~((d2 <= 7e-22)) && ((d2 <= 7.2e-22) || (~((d2 <= 24500.0)) && ((d2 <= 3.1e+18) || (~((d2 <= 2.6e+33)) && ((d2 <= 1.22e+35) || (~((d2 <= 8.2e+68)) && (d2 <= 8e+77))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) tmp = d1 * d2; else tmp = d1 * d4; end tmp_2 = tmp; end
code[d1_, d2_, d3_, d4_] := If[Or[LessEqual[d2, -7e+61], And[N[Not[LessEqual[d2, -3.7e-21]], $MachinePrecision], Or[LessEqual[d2, -1.15e-21], And[N[Not[LessEqual[d2, -3.25e-46]], $MachinePrecision], Or[LessEqual[d2, -5.5e-49], And[N[Not[LessEqual[d2, -1.65e-52]], $MachinePrecision], Or[LessEqual[d2, -2.55e-54], And[N[Not[LessEqual[d2, -4.2e-70]], $MachinePrecision], Or[LessEqual[d2, -5.7e-71], And[N[Not[LessEqual[d2, -2.5e-72]], $MachinePrecision], Or[LessEqual[d2, -2.4e-72], And[N[Not[LessEqual[d2, -1.15e-78]], $MachinePrecision], Or[LessEqual[d2, -9.5e-80], And[N[Not[LessEqual[d2, -3.7e-103]], $MachinePrecision], Or[LessEqual[d2, -1.6e-103], And[N[Not[LessEqual[d2, -6.5e-111]], $MachinePrecision], Or[LessEqual[d2, -6.4e-111], And[N[Not[LessEqual[d2, -2.9e-116]], $MachinePrecision], Or[LessEqual[d2, -1.2e-117], And[N[Not[Or[LessEqual[d2, -2e-118], LessEqual[d2, -2.4e-120]]], $MachinePrecision], Or[LessEqual[d2, -1.35e-126], And[N[Not[LessEqual[d2, -5.1e-133]], $MachinePrecision], Or[LessEqual[d2, -5e-133], And[N[Not[LessEqual[d2, -2.4e-145]], $MachinePrecision], Or[LessEqual[d2, -2.3e-145], And[N[Not[LessEqual[d2, -2.4e-149]], $MachinePrecision], Or[LessEqual[d2, -2.35e-149], And[N[Not[LessEqual[d2, -1.35e-188]], $MachinePrecision], Or[LessEqual[d2, -2.9e-202], And[N[Not[LessEqual[d2, -5.8e-219]], $MachinePrecision], Or[LessEqual[d2, -2.8e-224], And[N[Not[LessEqual[d2, -3.3e-242]], $MachinePrecision], Or[LessEqual[d2, -5.8e-249], And[N[Not[LessEqual[d2, -8.8e-265]], $MachinePrecision], Or[LessEqual[d2, -8.7e-265], And[N[Not[LessEqual[d2, -3.4e-281]], $MachinePrecision], Or[LessEqual[d2, -9e-284], And[N[Not[LessEqual[d2, -4.5e-292]], $MachinePrecision], Or[LessEqual[d2, -4.2e-292], And[N[Not[LessEqual[d2, -1.2e-298]], $MachinePrecision], Or[LessEqual[d2, -1.85e-301], And[N[Not[LessEqual[d2, 2.9e-283]], $MachinePrecision], Or[LessEqual[d2, 1.6e-259], And[N[Not[LessEqual[d2, 1.55e-233]], $MachinePrecision], Or[LessEqual[d2, 3e-219], And[N[Not[LessEqual[d2, 3.6e-207]], $MachinePrecision], Or[LessEqual[d2, 3.7e-207], And[N[Not[LessEqual[d2, 4.8e-168]], $MachinePrecision], Or[LessEqual[d2, 5e-168], And[N[Not[LessEqual[d2, 3.25e-99]], $MachinePrecision], Or[LessEqual[d2, 3.3e-99], And[N[Not[LessEqual[d2, 7.4e-90]], $MachinePrecision], Or[LessEqual[d2, 7.5e-90], And[N[Not[LessEqual[d2, 7e-22]], $MachinePrecision], Or[LessEqual[d2, 7.2e-22], And[N[Not[LessEqual[d2, 24500.0]], $MachinePrecision], Or[LessEqual[d2, 3.1e+18], And[N[Not[LessEqual[d2, 2.6e+33]], $MachinePrecision], Or[LessEqual[d2, 1.22e+35], And[N[Not[LessEqual[d2, 8.2e+68]], $MachinePrecision], LessEqual[d2, 8e+77]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]], N[(d1 * d2), $MachinePrecision], N[(d1 * d4), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;d2 \leq -7 \cdot 10^{+61} \lor \neg \left(d2 \leq -3.7 \cdot 10^{-21}\right) \land \left(d2 \leq -1.15 \cdot 10^{-21} \lor \neg \left(d2 \leq -3.25 \cdot 10^{-46}\right) \land \left(d2 \leq -5.5 \cdot 10^{-49} \lor \neg \left(d2 \leq -1.65 \cdot 10^{-52}\right) \land \left(d2 \leq -2.55 \cdot 10^{-54} \lor \neg \left(d2 \leq -4.2 \cdot 10^{-70}\right) \land \left(d2 \leq -5.7 \cdot 10^{-71} \lor \neg \left(d2 \leq -2.5 \cdot 10^{-72}\right) \land \left(d2 \leq -2.4 \cdot 10^{-72} \lor \neg \left(d2 \leq -1.15 \cdot 10^{-78}\right) \land \left(d2 \leq -9.5 \cdot 10^{-80} \lor \neg \left(d2 \leq -3.7 \cdot 10^{-103}\right) \land \left(d2 \leq -1.6 \cdot 10^{-103} \lor \neg \left(d2 \leq -6.5 \cdot 10^{-111}\right) \land \left(d2 \leq -6.4 \cdot 10^{-111} \lor \neg \left(d2 \leq -2.9 \cdot 10^{-116}\right) \land \left(d2 \leq -1.2 \cdot 10^{-117} \lor \neg \left(d2 \leq -2 \cdot 10^{-118} \lor d2 \leq -2.4 \cdot 10^{-120}\right) \land \left(d2 \leq -1.35 \cdot 10^{-126} \lor \neg \left(d2 \leq -5.1 \cdot 10^{-133}\right) \land \left(d2 \leq -5 \cdot 10^{-133} \lor \neg \left(d2 \leq -2.4 \cdot 10^{-145}\right) \land \left(d2 \leq -2.3 \cdot 10^{-145} \lor \neg \left(d2 \leq -2.4 \cdot 10^{-149}\right) \land \left(d2 \leq -2.35 \cdot 10^{-149} \lor \neg \left(d2 \leq -1.35 \cdot 10^{-188}\right) \land \left(d2 \leq -2.9 \cdot 10^{-202} \lor \neg \left(d2 \leq -5.8 \cdot 10^{-219}\right) \land \left(d2 \leq -2.8 \cdot 10^{-224} \lor \neg \left(d2 \leq -3.3 \cdot 10^{-242}\right) \land \left(d2 \leq -5.8 \cdot 10^{-249} \lor \neg \left(d2 \leq -8.8 \cdot 10^{-265}\right) \land \left(d2 \leq -8.7 \cdot 10^{-265} \lor \neg \left(d2 \leq -3.4 \cdot 10^{-281}\right) \land \left(d2 \leq -9 \cdot 10^{-284} \lor \neg \left(d2 \leq -4.5 \cdot 10^{-292}\right) \land \left(d2 \leq -4.2 \cdot 10^{-292} \lor \neg \left(d2 \leq -1.2 \cdot 10^{-298}\right) \land \left(d2 \leq -1.85 \cdot 10^{-301} \lor \neg \left(d2 \leq 2.9 \cdot 10^{-283}\right) \land \left(d2 \leq 1.6 \cdot 10^{-259} \lor \neg \left(d2 \leq 1.55 \cdot 10^{-233}\right) \land \left(d2 \leq 3 \cdot 10^{-219} \lor \neg \left(d2 \leq 3.6 \cdot 10^{-207}\right) \land \left(d2 \leq 3.7 \cdot 10^{-207} \lor \neg \left(d2 \leq 4.8 \cdot 10^{-168}\right) \land \left(d2 \leq 5 \cdot 10^{-168} \lor \neg \left(d2 \leq 3.25 \cdot 10^{-99}\right) \land \left(d2 \leq 3.3 \cdot 10^{-99} \lor \neg \left(d2 \leq 7.4 \cdot 10^{-90}\right) \land \left(d2 \leq 7.5 \cdot 10^{-90} \lor \neg \left(d2 \leq 7 \cdot 10^{-22}\right) \land \left(d2 \leq 7.2 \cdot 10^{-22} \lor \neg \left(d2 \leq 24500\right) \land \left(d2 \leq 3.1 \cdot 10^{+18} \lor \neg \left(d2 \leq 2.6 \cdot 10^{+33}\right) \land \left(d2 \leq 1.22 \cdot 10^{+35} \lor \neg \left(d2 \leq 8.2 \cdot 10^{+68}\right) \land d2 \leq 8 \cdot 10^{+77}\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right):\\
\;\;\;\;d1 \cdot d2\\
\mathbf{else}:\\
\;\;\;\;d1 \cdot d4\\
\end{array}
\end{array}
if d2 < -7.00000000000000036e61 or -3.7000000000000002e-21 < d2 < -1.15e-21 or -3.24999999999999983e-46 < d2 < -5.50000000000000031e-49 or -1.64999999999999998e-52 < d2 < -2.55000000000000005e-54 or -4.2000000000000002e-70 < d2 < -5.7000000000000003e-71 or -2.4999999999999998e-72 < d2 < -2.4e-72 or -1.1500000000000001e-78 < d2 < -9.5000000000000003e-80 or -3.6999999999999999e-103 < d2 < -1.59999999999999988e-103 or -6.49999999999999974e-111 < d2 < -6.3999999999999997e-111 or -2.8999999999999998e-116 < d2 < -1.20000000000000007e-117 or -2.3999999999999999e-120 < d2 < -1.34999999999999998e-126 or -5.0999999999999999e-133 < d2 < -4.9999999999999999e-133 or -2.40000000000000015e-145 < d2 < -2.30000000000000007e-145 or -2.4000000000000001e-149 < d2 < -2.35e-149 or -1.35e-188 < d2 < -2.89999999999999988e-202 or -5.79999999999999968e-219 < d2 < -2.7999999999999998e-224 or -3.29999999999999982e-242 < d2 < -5.80000000000000044e-249 or -8.80000000000000042e-265 < d2 < -8.6999999999999998e-265 or -3.4e-281 < d2 < -8.9999999999999999e-284 or -4.49999999999999956e-292 < d2 < -4.19999999999999977e-292 or -1.19999999999999994e-298 < d2 < -1.8499999999999999e-301 or 2.89999999999999988e-283 < d2 < 1.59999999999999994e-259 or 1.55000000000000007e-233 < d2 < 3.0000000000000001e-219 or 3.5999999999999997e-207 < d2 < 3.69999999999999984e-207 or 4.7999999999999999e-168 < d2 < 5.00000000000000001e-168 or 3.25000000000000017e-99 < d2 < 3.29999999999999986e-99 or 7.40000000000000035e-90 < d2 < 7.4999999999999999e-90 or 7.00000000000000011e-22 < d2 < 7.1999999999999996e-22 or 24500 < d2 < 3.1e18 or 2.5999999999999997e33 < d2 < 1.21999999999999999e35 or 8.1999999999999998e68 < d2 < 7.99999999999999986e77Initial program 83.5%
associate--l+83.5%
distribute-lft-out--86.8%
distribute-rgt-out--90.1%
distribute-lft-out99.9%
Simplified99.9%
Taylor expanded in d2 around inf 43.5%
if -7.00000000000000036e61 < d2 < -3.7000000000000002e-21 or -1.15e-21 < d2 < -3.24999999999999983e-46 or -5.50000000000000031e-49 < d2 < -1.64999999999999998e-52 or -2.55000000000000005e-54 < d2 < -4.2000000000000002e-70 or -5.7000000000000003e-71 < d2 < -2.4999999999999998e-72 or -2.4e-72 < d2 < -1.1500000000000001e-78 or -9.5000000000000003e-80 < d2 < -3.6999999999999999e-103 or -1.59999999999999988e-103 < d2 < -6.49999999999999974e-111 or -6.3999999999999997e-111 < d2 < -2.8999999999999998e-116 or -1.20000000000000007e-117 < d2 < -1.99999999999999997e-118 or -1.99999999999999997e-118 < d2 < -2.3999999999999999e-120 or -1.34999999999999998e-126 < d2 < -5.0999999999999999e-133 or -4.9999999999999999e-133 < d2 < -2.40000000000000015e-145 or -2.30000000000000007e-145 < d2 < -2.4000000000000001e-149 or -2.35e-149 < d2 < -1.35e-188 or -2.89999999999999988e-202 < d2 < -5.79999999999999968e-219 or -2.7999999999999998e-224 < d2 < -3.29999999999999982e-242 or -5.80000000000000044e-249 < d2 < -8.80000000000000042e-265 or -8.6999999999999998e-265 < d2 < -3.4e-281 or -8.9999999999999999e-284 < d2 < -4.49999999999999956e-292 or -4.19999999999999977e-292 < d2 < -1.19999999999999994e-298 or -1.8499999999999999e-301 < d2 < 2.89999999999999988e-283 or 1.59999999999999994e-259 < d2 < 1.55000000000000007e-233 or 3.0000000000000001e-219 < d2 < 3.5999999999999997e-207 or 3.69999999999999984e-207 < d2 < 4.7999999999999999e-168 or 5.00000000000000001e-168 < d2 < 3.25000000000000017e-99 or 3.29999999999999986e-99 < d2 < 7.40000000000000035e-90 or 7.4999999999999999e-90 < d2 < 7.00000000000000011e-22 or 7.1999999999999996e-22 < d2 < 24500 or 3.1e18 < d2 < 2.5999999999999997e33 or 1.21999999999999999e35 < d2 < 8.1999999999999998e68 or 7.99999999999999986e77 < d2 Initial program 88.5%
associate--l+88.5%
distribute-lft-out--89.7%
distribute-rgt-out--92.7%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d4 around inf 33.2%
Final simplification36.9%
(FPCore (d1 d2 d3 d4)
:precision binary64
(let* ((t_0 (* d1 (- d4 d1)))
(t_1 (* d1 (+ d2 d4)))
(t_2 (* d1 (- d3)))
(t_3 (* d1 (- d2 d3))))
(if (<= d4 5e+53)
t_3
(if (<= d4 9.6e+88)
t_0
(if (<= d4 1.75e+93)
t_2
(if (<= d4 9e+93)
(* d1 d4)
(if (<= d4 1.6e+109)
t_3
(if (<= d4 1.45e+110)
(* d1 d4)
(if (<= d4 1.5e+110)
t_2
(if (<= d4 1.2e+122)
t_0
(if (<= d4 2.1e+122)
(* d1 d2)
(if (<= d4 6.2e+128)
(* d1 (- d1))
(if (<= d4 5.2e+150)
t_1
(if (<= d4 5.3e+150)
t_2
(if (<= d4 3.8e+162)
t_0
(if (<= d4 3.9e+162)
t_2
(if (<= d4 1.1e+168)
(* d1 d4)
(if (<= d4 9.1e+170)
t_2
(if (<= d4 7.8e+177)
(* d1 d4)
(if (<= d4 8e+177)
t_2
(if (<= d4 1.15e+222)
t_1
(if (<= d4 1.2e+222)
t_2
(if (<= d4 4.8e+242)
t_0
(if (<= d4 1.05e+252)
t_1
(if (<= d4 1.08e+252)
t_2
(if (<= d4 7.3e+289)
t_0
(if (<= d4 7.5e+289)
t_2
(*
d1
d4))))))))))))))))))))))))))))
double code(double d1, double d2, double d3, double d4) {
double t_0 = d1 * (d4 - d1);
double t_1 = d1 * (d2 + d4);
double t_2 = d1 * -d3;
double t_3 = d1 * (d2 - d3);
double tmp;
if (d4 <= 5e+53) {
tmp = t_3;
} else if (d4 <= 9.6e+88) {
tmp = t_0;
} else if (d4 <= 1.75e+93) {
tmp = t_2;
} else if (d4 <= 9e+93) {
tmp = d1 * d4;
} else if (d4 <= 1.6e+109) {
tmp = t_3;
} else if (d4 <= 1.45e+110) {
tmp = d1 * d4;
} else if (d4 <= 1.5e+110) {
tmp = t_2;
} else if (d4 <= 1.2e+122) {
tmp = t_0;
} else if (d4 <= 2.1e+122) {
tmp = d1 * d2;
} else if (d4 <= 6.2e+128) {
tmp = d1 * -d1;
} else if (d4 <= 5.2e+150) {
tmp = t_1;
} else if (d4 <= 5.3e+150) {
tmp = t_2;
} else if (d4 <= 3.8e+162) {
tmp = t_0;
} else if (d4 <= 3.9e+162) {
tmp = t_2;
} else if (d4 <= 1.1e+168) {
tmp = d1 * d4;
} else if (d4 <= 9.1e+170) {
tmp = t_2;
} else if (d4 <= 7.8e+177) {
tmp = d1 * d4;
} else if (d4 <= 8e+177) {
tmp = t_2;
} else if (d4 <= 1.15e+222) {
tmp = t_1;
} else if (d4 <= 1.2e+222) {
tmp = t_2;
} else if (d4 <= 4.8e+242) {
tmp = t_0;
} else if (d4 <= 1.05e+252) {
tmp = t_1;
} else if (d4 <= 1.08e+252) {
tmp = t_2;
} else if (d4 <= 7.3e+289) {
tmp = t_0;
} else if (d4 <= 7.5e+289) {
tmp = t_2;
} else {
tmp = d1 * d4;
}
return tmp;
}
real(8) function code(d1, d2, d3, d4)
real(8), intent (in) :: d1
real(8), intent (in) :: d2
real(8), intent (in) :: d3
real(8), intent (in) :: d4
real(8) :: t_0
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_0 = d1 * (d4 - d1)
t_1 = d1 * (d2 + d4)
t_2 = d1 * -d3
t_3 = d1 * (d2 - d3)
if (d4 <= 5d+53) then
tmp = t_3
else if (d4 <= 9.6d+88) then
tmp = t_0
else if (d4 <= 1.75d+93) then
tmp = t_2
else if (d4 <= 9d+93) then
tmp = d1 * d4
else if (d4 <= 1.6d+109) then
tmp = t_3
else if (d4 <= 1.45d+110) then
tmp = d1 * d4
else if (d4 <= 1.5d+110) then
tmp = t_2
else if (d4 <= 1.2d+122) then
tmp = t_0
else if (d4 <= 2.1d+122) then
tmp = d1 * d2
else if (d4 <= 6.2d+128) then
tmp = d1 * -d1
else if (d4 <= 5.2d+150) then
tmp = t_1
else if (d4 <= 5.3d+150) then
tmp = t_2
else if (d4 <= 3.8d+162) then
tmp = t_0
else if (d4 <= 3.9d+162) then
tmp = t_2
else if (d4 <= 1.1d+168) then
tmp = d1 * d4
else if (d4 <= 9.1d+170) then
tmp = t_2
else if (d4 <= 7.8d+177) then
tmp = d1 * d4
else if (d4 <= 8d+177) then
tmp = t_2
else if (d4 <= 1.15d+222) then
tmp = t_1
else if (d4 <= 1.2d+222) then
tmp = t_2
else if (d4 <= 4.8d+242) then
tmp = t_0
else if (d4 <= 1.05d+252) then
tmp = t_1
else if (d4 <= 1.08d+252) then
tmp = t_2
else if (d4 <= 7.3d+289) then
tmp = t_0
else if (d4 <= 7.5d+289) then
tmp = t_2
else
tmp = d1 * d4
end if
code = tmp
end function
public static double code(double d1, double d2, double d3, double d4) {
double t_0 = d1 * (d4 - d1);
double t_1 = d1 * (d2 + d4);
double t_2 = d1 * -d3;
double t_3 = d1 * (d2 - d3);
double tmp;
if (d4 <= 5e+53) {
tmp = t_3;
} else if (d4 <= 9.6e+88) {
tmp = t_0;
} else if (d4 <= 1.75e+93) {
tmp = t_2;
} else if (d4 <= 9e+93) {
tmp = d1 * d4;
} else if (d4 <= 1.6e+109) {
tmp = t_3;
} else if (d4 <= 1.45e+110) {
tmp = d1 * d4;
} else if (d4 <= 1.5e+110) {
tmp = t_2;
} else if (d4 <= 1.2e+122) {
tmp = t_0;
} else if (d4 <= 2.1e+122) {
tmp = d1 * d2;
} else if (d4 <= 6.2e+128) {
tmp = d1 * -d1;
} else if (d4 <= 5.2e+150) {
tmp = t_1;
} else if (d4 <= 5.3e+150) {
tmp = t_2;
} else if (d4 <= 3.8e+162) {
tmp = t_0;
} else if (d4 <= 3.9e+162) {
tmp = t_2;
} else if (d4 <= 1.1e+168) {
tmp = d1 * d4;
} else if (d4 <= 9.1e+170) {
tmp = t_2;
} else if (d4 <= 7.8e+177) {
tmp = d1 * d4;
} else if (d4 <= 8e+177) {
tmp = t_2;
} else if (d4 <= 1.15e+222) {
tmp = t_1;
} else if (d4 <= 1.2e+222) {
tmp = t_2;
} else if (d4 <= 4.8e+242) {
tmp = t_0;
} else if (d4 <= 1.05e+252) {
tmp = t_1;
} else if (d4 <= 1.08e+252) {
tmp = t_2;
} else if (d4 <= 7.3e+289) {
tmp = t_0;
} else if (d4 <= 7.5e+289) {
tmp = t_2;
} else {
tmp = d1 * d4;
}
return tmp;
}
def code(d1, d2, d3, d4): t_0 = d1 * (d4 - d1) t_1 = d1 * (d2 + d4) t_2 = d1 * -d3 t_3 = d1 * (d2 - d3) tmp = 0 if d4 <= 5e+53: tmp = t_3 elif d4 <= 9.6e+88: tmp = t_0 elif d4 <= 1.75e+93: tmp = t_2 elif d4 <= 9e+93: tmp = d1 * d4 elif d4 <= 1.6e+109: tmp = t_3 elif d4 <= 1.45e+110: tmp = d1 * d4 elif d4 <= 1.5e+110: tmp = t_2 elif d4 <= 1.2e+122: tmp = t_0 elif d4 <= 2.1e+122: tmp = d1 * d2 elif d4 <= 6.2e+128: tmp = d1 * -d1 elif d4 <= 5.2e+150: tmp = t_1 elif d4 <= 5.3e+150: tmp = t_2 elif d4 <= 3.8e+162: tmp = t_0 elif d4 <= 3.9e+162: tmp = t_2 elif d4 <= 1.1e+168: tmp = d1 * d4 elif d4 <= 9.1e+170: tmp = t_2 elif d4 <= 7.8e+177: tmp = d1 * d4 elif d4 <= 8e+177: tmp = t_2 elif d4 <= 1.15e+222: tmp = t_1 elif d4 <= 1.2e+222: tmp = t_2 elif d4 <= 4.8e+242: tmp = t_0 elif d4 <= 1.05e+252: tmp = t_1 elif d4 <= 1.08e+252: tmp = t_2 elif d4 <= 7.3e+289: tmp = t_0 elif d4 <= 7.5e+289: tmp = t_2 else: tmp = d1 * d4 return tmp
function code(d1, d2, d3, d4) t_0 = Float64(d1 * Float64(d4 - d1)) t_1 = Float64(d1 * Float64(d2 + d4)) t_2 = Float64(d1 * Float64(-d3)) t_3 = Float64(d1 * Float64(d2 - d3)) tmp = 0.0 if (d4 <= 5e+53) tmp = t_3; elseif (d4 <= 9.6e+88) tmp = t_0; elseif (d4 <= 1.75e+93) tmp = t_2; elseif (d4 <= 9e+93) tmp = Float64(d1 * d4); elseif (d4 <= 1.6e+109) tmp = t_3; elseif (d4 <= 1.45e+110) tmp = Float64(d1 * d4); elseif (d4 <= 1.5e+110) tmp = t_2; elseif (d4 <= 1.2e+122) tmp = t_0; elseif (d4 <= 2.1e+122) tmp = Float64(d1 * d2); elseif (d4 <= 6.2e+128) tmp = Float64(d1 * Float64(-d1)); elseif (d4 <= 5.2e+150) tmp = t_1; elseif (d4 <= 5.3e+150) tmp = t_2; elseif (d4 <= 3.8e+162) tmp = t_0; elseif (d4 <= 3.9e+162) tmp = t_2; elseif (d4 <= 1.1e+168) tmp = Float64(d1 * d4); elseif (d4 <= 9.1e+170) tmp = t_2; elseif (d4 <= 7.8e+177) tmp = Float64(d1 * d4); elseif (d4 <= 8e+177) tmp = t_2; elseif (d4 <= 1.15e+222) tmp = t_1; elseif (d4 <= 1.2e+222) tmp = t_2; elseif (d4 <= 4.8e+242) tmp = t_0; elseif (d4 <= 1.05e+252) tmp = t_1; elseif (d4 <= 1.08e+252) tmp = t_2; elseif (d4 <= 7.3e+289) tmp = t_0; elseif (d4 <= 7.5e+289) tmp = t_2; else tmp = Float64(d1 * d4); end return tmp end
function tmp_2 = code(d1, d2, d3, d4) t_0 = d1 * (d4 - d1); t_1 = d1 * (d2 + d4); t_2 = d1 * -d3; t_3 = d1 * (d2 - d3); tmp = 0.0; if (d4 <= 5e+53) tmp = t_3; elseif (d4 <= 9.6e+88) tmp = t_0; elseif (d4 <= 1.75e+93) tmp = t_2; elseif (d4 <= 9e+93) tmp = d1 * d4; elseif (d4 <= 1.6e+109) tmp = t_3; elseif (d4 <= 1.45e+110) tmp = d1 * d4; elseif (d4 <= 1.5e+110) tmp = t_2; elseif (d4 <= 1.2e+122) tmp = t_0; elseif (d4 <= 2.1e+122) tmp = d1 * d2; elseif (d4 <= 6.2e+128) tmp = d1 * -d1; elseif (d4 <= 5.2e+150) tmp = t_1; elseif (d4 <= 5.3e+150) tmp = t_2; elseif (d4 <= 3.8e+162) tmp = t_0; elseif (d4 <= 3.9e+162) tmp = t_2; elseif (d4 <= 1.1e+168) tmp = d1 * d4; elseif (d4 <= 9.1e+170) tmp = t_2; elseif (d4 <= 7.8e+177) tmp = d1 * d4; elseif (d4 <= 8e+177) tmp = t_2; elseif (d4 <= 1.15e+222) tmp = t_1; elseif (d4 <= 1.2e+222) tmp = t_2; elseif (d4 <= 4.8e+242) tmp = t_0; elseif (d4 <= 1.05e+252) tmp = t_1; elseif (d4 <= 1.08e+252) tmp = t_2; elseif (d4 <= 7.3e+289) tmp = t_0; elseif (d4 <= 7.5e+289) tmp = t_2; else tmp = d1 * d4; end tmp_2 = tmp; end
code[d1_, d2_, d3_, d4_] := Block[{t$95$0 = N[(d1 * N[(d4 - d1), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(d1 * N[(d2 + d4), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(d1 * (-d3)), $MachinePrecision]}, Block[{t$95$3 = N[(d1 * N[(d2 - d3), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[d4, 5e+53], t$95$3, If[LessEqual[d4, 9.6e+88], t$95$0, If[LessEqual[d4, 1.75e+93], t$95$2, If[LessEqual[d4, 9e+93], N[(d1 * d4), $MachinePrecision], If[LessEqual[d4, 1.6e+109], t$95$3, If[LessEqual[d4, 1.45e+110], N[(d1 * d4), $MachinePrecision], If[LessEqual[d4, 1.5e+110], t$95$2, If[LessEqual[d4, 1.2e+122], t$95$0, If[LessEqual[d4, 2.1e+122], N[(d1 * d2), $MachinePrecision], If[LessEqual[d4, 6.2e+128], N[(d1 * (-d1)), $MachinePrecision], If[LessEqual[d4, 5.2e+150], t$95$1, If[LessEqual[d4, 5.3e+150], t$95$2, If[LessEqual[d4, 3.8e+162], t$95$0, If[LessEqual[d4, 3.9e+162], t$95$2, If[LessEqual[d4, 1.1e+168], N[(d1 * d4), $MachinePrecision], If[LessEqual[d4, 9.1e+170], t$95$2, If[LessEqual[d4, 7.8e+177], N[(d1 * d4), $MachinePrecision], If[LessEqual[d4, 8e+177], t$95$2, If[LessEqual[d4, 1.15e+222], t$95$1, If[LessEqual[d4, 1.2e+222], t$95$2, If[LessEqual[d4, 4.8e+242], t$95$0, If[LessEqual[d4, 1.05e+252], t$95$1, If[LessEqual[d4, 1.08e+252], t$95$2, If[LessEqual[d4, 7.3e+289], t$95$0, If[LessEqual[d4, 7.5e+289], t$95$2, N[(d1 * d4), $MachinePrecision]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := d1 \cdot \left(d4 - d1\right)\\
t_1 := d1 \cdot \left(d2 + d4\right)\\
t_2 := d1 \cdot \left(-d3\right)\\
t_3 := d1 \cdot \left(d2 - d3\right)\\
\mathbf{if}\;d4 \leq 5 \cdot 10^{+53}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;d4 \leq 9.6 \cdot 10^{+88}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d4 \leq 1.75 \cdot 10^{+93}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d4 \leq 9 \cdot 10^{+93}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d4 \leq 1.6 \cdot 10^{+109}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;d4 \leq 1.45 \cdot 10^{+110}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d4 \leq 1.5 \cdot 10^{+110}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d4 \leq 1.2 \cdot 10^{+122}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d4 \leq 2.1 \cdot 10^{+122}:\\
\;\;\;\;d1 \cdot d2\\
\mathbf{elif}\;d4 \leq 6.2 \cdot 10^{+128}:\\
\;\;\;\;d1 \cdot \left(-d1\right)\\
\mathbf{elif}\;d4 \leq 5.2 \cdot 10^{+150}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d4 \leq 5.3 \cdot 10^{+150}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d4 \leq 3.8 \cdot 10^{+162}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d4 \leq 3.9 \cdot 10^{+162}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d4 \leq 1.1 \cdot 10^{+168}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d4 \leq 9.1 \cdot 10^{+170}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d4 \leq 7.8 \cdot 10^{+177}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d4 \leq 8 \cdot 10^{+177}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d4 \leq 1.15 \cdot 10^{+222}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d4 \leq 1.2 \cdot 10^{+222}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d4 \leq 4.8 \cdot 10^{+242}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d4 \leq 1.05 \cdot 10^{+252}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d4 \leq 1.08 \cdot 10^{+252}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d4 \leq 7.3 \cdot 10^{+289}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d4 \leq 7.5 \cdot 10^{+289}:\\
\;\;\;\;t\_2\\
\mathbf{else}:\\
\;\;\;\;d1 \cdot d4\\
\end{array}
\end{array}
if d4 < 5.0000000000000004e53 or 8.99999999999999981e93 < d4 < 1.6000000000000001e109Initial program 87.2%
associate--l+87.2%
distribute-lft-out--89.1%
distribute-rgt-out--91.0%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d1 around 0 79.3%
Taylor expanded in d4 around 0 65.8%
if 5.0000000000000004e53 < d4 < 9.5999999999999996e88 or 1.50000000000000004e110 < d4 < 1.2000000000000001e122 or 5.30000000000000013e150 < d4 < 3.80000000000000024e162 or 1.2000000000000001e222 < d4 < 4.80000000000000024e242 or 1.08e252 < d4 < 7.3000000000000002e289Initial program 73.3%
associate--l+73.3%
distribute-lft-out--80.0%
distribute-rgt-out--93.2%
distribute-lft-out99.9%
Simplified99.9%
Taylor expanded in d2 around 0 87.5%
associate--r+87.5%
Simplified87.5%
Taylor expanded in d3 around 0 87.5%
if 9.5999999999999996e88 < d4 < 1.74999999999999999e93 or 1.45e110 < d4 < 1.50000000000000004e110 or 5.20000000000000012e150 < d4 < 5.30000000000000013e150 or 3.80000000000000024e162 < d4 < 3.9000000000000004e162 or 1.1000000000000001e168 < d4 < 9.09999999999999982e170 or 7.7999999999999998e177 < d4 < 8.0000000000000001e177 or 1.15000000000000005e222 < d4 < 1.2000000000000001e222 or 1.0500000000000001e252 < d4 < 1.08e252 or 7.3000000000000002e289 < d4 < 7.5e289Initial program 80.0%
associate--l+80.0%
distribute-lft-out--80.0%
distribute-rgt-out--80.0%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d3 around inf 100.0%
mul-1-neg100.0%
distribute-rgt-neg-out100.0%
Simplified100.0%
if 1.74999999999999999e93 < d4 < 8.99999999999999981e93 or 1.6000000000000001e109 < d4 < 1.45e110 or 3.9000000000000004e162 < d4 < 1.1000000000000001e168 or 9.09999999999999982e170 < d4 < 7.7999999999999998e177 or 7.5e289 < d4 Initial program 100.0%
associate--l+100.0%
distribute-lft-out--100.0%
distribute-rgt-out--100.0%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d4 around inf 100.0%
if 1.2000000000000001e122 < d4 < 2.10000000000000016e122Initial program 100.0%
associate--l+100.0%
distribute-lft-out--100.0%
distribute-rgt-out--100.0%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d2 around inf 100.0%
if 2.10000000000000016e122 < d4 < 6.20000000000000008e128Initial program 0.0%
associate--l+0.0%
distribute-lft-out--0.0%
distribute-rgt-out--100.0%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d1 around inf 100.0%
neg-mul-1100.0%
Simplified100.0%
if 6.20000000000000008e128 < d4 < 5.20000000000000012e150 or 8.0000000000000001e177 < d4 < 1.15000000000000005e222 or 4.80000000000000024e242 < d4 < 1.0500000000000001e252Initial program 94.4%
associate--l+94.4%
distribute-lft-out--94.4%
distribute-rgt-out--100.0%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d1 around 0 100.0%
Taylor expanded in d3 around 0 100.0%
+-commutative100.0%
Simplified100.0%
Final simplification71.1%
(FPCore (d1 d2 d3 d4)
:precision binary64
(let* ((t_0 (* d1 (- d4 d3)))
(t_1 (* d1 (- d2 d3)))
(t_2 (* d1 (- d4 d1)))
(t_3 (* d1 (+ d2 d4))))
(if (<= d4 5e-13)
t_1
(if (<= d4 4.7e+70)
t_0
(if (<= d4 7e+89)
t_2
(if (<= d4 5.4e+101)
t_0
(if (<= d4 2.9e+109)
t_1
(if (<= d4 1.35e+110)
(* d1 d4)
(if (<= d4 1.5e+110)
(* d1 (- d3))
(if (<= d4 4.9e+121)
t_2
(if (<= d4 6.8e+125)
(* d1 d2)
(if (<= d4 6.2e+128)
(* d1 (- d1))
(if (<= d4 4.4e+137)
t_3
(if (<= d4 1.12e+151)
t_0
(if (<= d4 1.1e+153)
t_2
(if (<= d4 3.6e+179)
t_0
(if (<= d4 1.55e+194)
t_3
(if (<= d4 2.5e+222)
t_0
(if (<= d4 1.9e+242)
t_3
(if (<= d4 1.25e+248)
t_1
(if (or (<= d4 1.5e+253)
(not (<= d4 1.5e+257)))
t_0
t_2)))))))))))))))))))))
double code(double d1, double d2, double d3, double d4) {
double t_0 = d1 * (d4 - d3);
double t_1 = d1 * (d2 - d3);
double t_2 = d1 * (d4 - d1);
double t_3 = d1 * (d2 + d4);
double tmp;
if (d4 <= 5e-13) {
tmp = t_1;
} else if (d4 <= 4.7e+70) {
tmp = t_0;
} else if (d4 <= 7e+89) {
tmp = t_2;
} else if (d4 <= 5.4e+101) {
tmp = t_0;
} else if (d4 <= 2.9e+109) {
tmp = t_1;
} else if (d4 <= 1.35e+110) {
tmp = d1 * d4;
} else if (d4 <= 1.5e+110) {
tmp = d1 * -d3;
} else if (d4 <= 4.9e+121) {
tmp = t_2;
} else if (d4 <= 6.8e+125) {
tmp = d1 * d2;
} else if (d4 <= 6.2e+128) {
tmp = d1 * -d1;
} else if (d4 <= 4.4e+137) {
tmp = t_3;
} else if (d4 <= 1.12e+151) {
tmp = t_0;
} else if (d4 <= 1.1e+153) {
tmp = t_2;
} else if (d4 <= 3.6e+179) {
tmp = t_0;
} else if (d4 <= 1.55e+194) {
tmp = t_3;
} else if (d4 <= 2.5e+222) {
tmp = t_0;
} else if (d4 <= 1.9e+242) {
tmp = t_3;
} else if (d4 <= 1.25e+248) {
tmp = t_1;
} else if ((d4 <= 1.5e+253) || !(d4 <= 1.5e+257)) {
tmp = t_0;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(d1, d2, d3, d4)
real(8), intent (in) :: d1
real(8), intent (in) :: d2
real(8), intent (in) :: d3
real(8), intent (in) :: d4
real(8) :: t_0
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_0 = d1 * (d4 - d3)
t_1 = d1 * (d2 - d3)
t_2 = d1 * (d4 - d1)
t_3 = d1 * (d2 + d4)
if (d4 <= 5d-13) then
tmp = t_1
else if (d4 <= 4.7d+70) then
tmp = t_0
else if (d4 <= 7d+89) then
tmp = t_2
else if (d4 <= 5.4d+101) then
tmp = t_0
else if (d4 <= 2.9d+109) then
tmp = t_1
else if (d4 <= 1.35d+110) then
tmp = d1 * d4
else if (d4 <= 1.5d+110) then
tmp = d1 * -d3
else if (d4 <= 4.9d+121) then
tmp = t_2
else if (d4 <= 6.8d+125) then
tmp = d1 * d2
else if (d4 <= 6.2d+128) then
tmp = d1 * -d1
else if (d4 <= 4.4d+137) then
tmp = t_3
else if (d4 <= 1.12d+151) then
tmp = t_0
else if (d4 <= 1.1d+153) then
tmp = t_2
else if (d4 <= 3.6d+179) then
tmp = t_0
else if (d4 <= 1.55d+194) then
tmp = t_3
else if (d4 <= 2.5d+222) then
tmp = t_0
else if (d4 <= 1.9d+242) then
tmp = t_3
else if (d4 <= 1.25d+248) then
tmp = t_1
else if ((d4 <= 1.5d+253) .or. (.not. (d4 <= 1.5d+257))) then
tmp = t_0
else
tmp = t_2
end if
code = tmp
end function
public static double code(double d1, double d2, double d3, double d4) {
double t_0 = d1 * (d4 - d3);
double t_1 = d1 * (d2 - d3);
double t_2 = d1 * (d4 - d1);
double t_3 = d1 * (d2 + d4);
double tmp;
if (d4 <= 5e-13) {
tmp = t_1;
} else if (d4 <= 4.7e+70) {
tmp = t_0;
} else if (d4 <= 7e+89) {
tmp = t_2;
} else if (d4 <= 5.4e+101) {
tmp = t_0;
} else if (d4 <= 2.9e+109) {
tmp = t_1;
} else if (d4 <= 1.35e+110) {
tmp = d1 * d4;
} else if (d4 <= 1.5e+110) {
tmp = d1 * -d3;
} else if (d4 <= 4.9e+121) {
tmp = t_2;
} else if (d4 <= 6.8e+125) {
tmp = d1 * d2;
} else if (d4 <= 6.2e+128) {
tmp = d1 * -d1;
} else if (d4 <= 4.4e+137) {
tmp = t_3;
} else if (d4 <= 1.12e+151) {
tmp = t_0;
} else if (d4 <= 1.1e+153) {
tmp = t_2;
} else if (d4 <= 3.6e+179) {
tmp = t_0;
} else if (d4 <= 1.55e+194) {
tmp = t_3;
} else if (d4 <= 2.5e+222) {
tmp = t_0;
} else if (d4 <= 1.9e+242) {
tmp = t_3;
} else if (d4 <= 1.25e+248) {
tmp = t_1;
} else if ((d4 <= 1.5e+253) || !(d4 <= 1.5e+257)) {
tmp = t_0;
} else {
tmp = t_2;
}
return tmp;
}
def code(d1, d2, d3, d4): t_0 = d1 * (d4 - d3) t_1 = d1 * (d2 - d3) t_2 = d1 * (d4 - d1) t_3 = d1 * (d2 + d4) tmp = 0 if d4 <= 5e-13: tmp = t_1 elif d4 <= 4.7e+70: tmp = t_0 elif d4 <= 7e+89: tmp = t_2 elif d4 <= 5.4e+101: tmp = t_0 elif d4 <= 2.9e+109: tmp = t_1 elif d4 <= 1.35e+110: tmp = d1 * d4 elif d4 <= 1.5e+110: tmp = d1 * -d3 elif d4 <= 4.9e+121: tmp = t_2 elif d4 <= 6.8e+125: tmp = d1 * d2 elif d4 <= 6.2e+128: tmp = d1 * -d1 elif d4 <= 4.4e+137: tmp = t_3 elif d4 <= 1.12e+151: tmp = t_0 elif d4 <= 1.1e+153: tmp = t_2 elif d4 <= 3.6e+179: tmp = t_0 elif d4 <= 1.55e+194: tmp = t_3 elif d4 <= 2.5e+222: tmp = t_0 elif d4 <= 1.9e+242: tmp = t_3 elif d4 <= 1.25e+248: tmp = t_1 elif (d4 <= 1.5e+253) or not (d4 <= 1.5e+257): tmp = t_0 else: tmp = t_2 return tmp
function code(d1, d2, d3, d4) t_0 = Float64(d1 * Float64(d4 - d3)) t_1 = Float64(d1 * Float64(d2 - d3)) t_2 = Float64(d1 * Float64(d4 - d1)) t_3 = Float64(d1 * Float64(d2 + d4)) tmp = 0.0 if (d4 <= 5e-13) tmp = t_1; elseif (d4 <= 4.7e+70) tmp = t_0; elseif (d4 <= 7e+89) tmp = t_2; elseif (d4 <= 5.4e+101) tmp = t_0; elseif (d4 <= 2.9e+109) tmp = t_1; elseif (d4 <= 1.35e+110) tmp = Float64(d1 * d4); elseif (d4 <= 1.5e+110) tmp = Float64(d1 * Float64(-d3)); elseif (d4 <= 4.9e+121) tmp = t_2; elseif (d4 <= 6.8e+125) tmp = Float64(d1 * d2); elseif (d4 <= 6.2e+128) tmp = Float64(d1 * Float64(-d1)); elseif (d4 <= 4.4e+137) tmp = t_3; elseif (d4 <= 1.12e+151) tmp = t_0; elseif (d4 <= 1.1e+153) tmp = t_2; elseif (d4 <= 3.6e+179) tmp = t_0; elseif (d4 <= 1.55e+194) tmp = t_3; elseif (d4 <= 2.5e+222) tmp = t_0; elseif (d4 <= 1.9e+242) tmp = t_3; elseif (d4 <= 1.25e+248) tmp = t_1; elseif ((d4 <= 1.5e+253) || !(d4 <= 1.5e+257)) tmp = t_0; else tmp = t_2; end return tmp end
function tmp_2 = code(d1, d2, d3, d4) t_0 = d1 * (d4 - d3); t_1 = d1 * (d2 - d3); t_2 = d1 * (d4 - d1); t_3 = d1 * (d2 + d4); tmp = 0.0; if (d4 <= 5e-13) tmp = t_1; elseif (d4 <= 4.7e+70) tmp = t_0; elseif (d4 <= 7e+89) tmp = t_2; elseif (d4 <= 5.4e+101) tmp = t_0; elseif (d4 <= 2.9e+109) tmp = t_1; elseif (d4 <= 1.35e+110) tmp = d1 * d4; elseif (d4 <= 1.5e+110) tmp = d1 * -d3; elseif (d4 <= 4.9e+121) tmp = t_2; elseif (d4 <= 6.8e+125) tmp = d1 * d2; elseif (d4 <= 6.2e+128) tmp = d1 * -d1; elseif (d4 <= 4.4e+137) tmp = t_3; elseif (d4 <= 1.12e+151) tmp = t_0; elseif (d4 <= 1.1e+153) tmp = t_2; elseif (d4 <= 3.6e+179) tmp = t_0; elseif (d4 <= 1.55e+194) tmp = t_3; elseif (d4 <= 2.5e+222) tmp = t_0; elseif (d4 <= 1.9e+242) tmp = t_3; elseif (d4 <= 1.25e+248) tmp = t_1; elseif ((d4 <= 1.5e+253) || ~((d4 <= 1.5e+257))) tmp = t_0; else tmp = t_2; end tmp_2 = tmp; end
code[d1_, d2_, d3_, d4_] := Block[{t$95$0 = N[(d1 * N[(d4 - d3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(d1 * N[(d2 - d3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(d1 * N[(d4 - d1), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(d1 * N[(d2 + d4), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[d4, 5e-13], t$95$1, If[LessEqual[d4, 4.7e+70], t$95$0, If[LessEqual[d4, 7e+89], t$95$2, If[LessEqual[d4, 5.4e+101], t$95$0, If[LessEqual[d4, 2.9e+109], t$95$1, If[LessEqual[d4, 1.35e+110], N[(d1 * d4), $MachinePrecision], If[LessEqual[d4, 1.5e+110], N[(d1 * (-d3)), $MachinePrecision], If[LessEqual[d4, 4.9e+121], t$95$2, If[LessEqual[d4, 6.8e+125], N[(d1 * d2), $MachinePrecision], If[LessEqual[d4, 6.2e+128], N[(d1 * (-d1)), $MachinePrecision], If[LessEqual[d4, 4.4e+137], t$95$3, If[LessEqual[d4, 1.12e+151], t$95$0, If[LessEqual[d4, 1.1e+153], t$95$2, If[LessEqual[d4, 3.6e+179], t$95$0, If[LessEqual[d4, 1.55e+194], t$95$3, If[LessEqual[d4, 2.5e+222], t$95$0, If[LessEqual[d4, 1.9e+242], t$95$3, If[LessEqual[d4, 1.25e+248], t$95$1, If[Or[LessEqual[d4, 1.5e+253], N[Not[LessEqual[d4, 1.5e+257]], $MachinePrecision]], t$95$0, t$95$2]]]]]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := d1 \cdot \left(d4 - d3\right)\\
t_1 := d1 \cdot \left(d2 - d3\right)\\
t_2 := d1 \cdot \left(d4 - d1\right)\\
t_3 := d1 \cdot \left(d2 + d4\right)\\
\mathbf{if}\;d4 \leq 5 \cdot 10^{-13}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d4 \leq 4.7 \cdot 10^{+70}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d4 \leq 7 \cdot 10^{+89}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d4 \leq 5.4 \cdot 10^{+101}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d4 \leq 2.9 \cdot 10^{+109}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d4 \leq 1.35 \cdot 10^{+110}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d4 \leq 1.5 \cdot 10^{+110}:\\
\;\;\;\;d1 \cdot \left(-d3\right)\\
\mathbf{elif}\;d4 \leq 4.9 \cdot 10^{+121}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d4 \leq 6.8 \cdot 10^{+125}:\\
\;\;\;\;d1 \cdot d2\\
\mathbf{elif}\;d4 \leq 6.2 \cdot 10^{+128}:\\
\;\;\;\;d1 \cdot \left(-d1\right)\\
\mathbf{elif}\;d4 \leq 4.4 \cdot 10^{+137}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;d4 \leq 1.12 \cdot 10^{+151}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d4 \leq 1.1 \cdot 10^{+153}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d4 \leq 3.6 \cdot 10^{+179}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d4 \leq 1.55 \cdot 10^{+194}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;d4 \leq 2.5 \cdot 10^{+222}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d4 \leq 1.9 \cdot 10^{+242}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;d4 \leq 1.25 \cdot 10^{+248}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d4 \leq 1.5 \cdot 10^{+253} \lor \neg \left(d4 \leq 1.5 \cdot 10^{+257}\right):\\
\;\;\;\;t\_0\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if d4 < 4.9999999999999999e-13 or 5.40000000000000012e101 < d4 < 2.9e109 or 1.90000000000000004e242 < d4 < 1.2499999999999999e248Initial program 87.3%
associate--l+87.3%
distribute-lft-out--89.4%
distribute-rgt-out--92.1%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d1 around 0 79.1%
Taylor expanded in d4 around 0 66.8%
if 4.9999999999999999e-13 < d4 < 4.6999999999999998e70 or 7.0000000000000001e89 < d4 < 5.40000000000000012e101 or 4.40000000000000031e137 < d4 < 1.12000000000000004e151 or 1.1e153 < d4 < 3.5999999999999998e179 or 1.55e194 < d4 < 2.50000000000000012e222 or 1.2499999999999999e248 < d4 < 1.4999999999999999e253 or 1.5e257 < d4 Initial program 88.2%
associate--l+88.2%
distribute-lft-out--88.2%
distribute-rgt-out--88.2%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d1 around 0 92.3%
Taylor expanded in d2 around 0 75.3%
if 4.6999999999999998e70 < d4 < 7.0000000000000001e89 or 1.50000000000000004e110 < d4 < 4.8999999999999998e121 or 1.12000000000000004e151 < d4 < 1.1e153 or 1.4999999999999999e253 < d4 < 1.5e257Initial program 50.0%
associate--l+50.0%
distribute-lft-out--75.0%
distribute-rgt-out--99.6%
distribute-lft-out99.6%
Simplified99.6%
Taylor expanded in d2 around 0 99.6%
associate--r+99.6%
Simplified99.6%
Taylor expanded in d3 around 0 99.6%
if 2.9e109 < d4 < 1.35000000000000005e110Initial program 86.7%
associate--l+86.7%
distribute-lft-out--88.7%
distribute-rgt-out--91.8%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d4 around inf 28.5%
if 1.35000000000000005e110 < d4 < 1.50000000000000004e110Initial program 100.0%
associate--l+100.0%
distribute-lft-out--100.0%
distribute-rgt-out--100.0%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d3 around inf 100.0%
mul-1-neg100.0%
distribute-rgt-neg-out100.0%
Simplified100.0%
if 4.8999999999999998e121 < d4 < 6.7999999999999998e125Initial program 100.0%
associate--l+100.0%
distribute-lft-out--100.0%
distribute-rgt-out--100.0%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d2 around inf 100.0%
if 6.7999999999999998e125 < d4 < 6.20000000000000008e128Initial program 0.0%
associate--l+0.0%
distribute-lft-out--0.0%
distribute-rgt-out--100.0%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d1 around inf 100.0%
neg-mul-1100.0%
Simplified100.0%
if 6.20000000000000008e128 < d4 < 4.40000000000000031e137 or 3.5999999999999998e179 < d4 < 1.55e194 or 2.50000000000000012e222 < d4 < 1.90000000000000004e242Initial program 87.5%
associate--l+87.5%
distribute-lft-out--87.5%
distribute-rgt-out--100.0%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d1 around 0 100.0%
Taylor expanded in d3 around 0 100.0%
+-commutative100.0%
Simplified100.0%
Final simplification70.4%
(FPCore (d1 d2 d3 d4)
:precision binary64
(let* ((t_0 (* d1 (+ d2 d4))) (t_1 (* d1 (- d3))) (t_2 (* d1 (- d1))))
(if (<= d4 1.5e+50)
(* d1 (- d2 d3))
(if (<= d4 5.2e+150)
t_0
(if (<= d4 1.85e+151)
t_1
(if (<= d4 2.1e+151)
t_2
(if (<= d4 3.8e+162)
(* d1 d4)
(if (<= d4 3.9e+162)
t_1
(if (<= d4 1.1e+168)
(* d1 d4)
(if (<= d4 9.1e+170)
t_1
(if (<= d4 7.8e+177)
(* d1 d4)
(if (<= d4 8e+177)
t_1
(if (<= d4 1.15e+222)
t_0
(if (<= d4 7e+222)
t_1
(if (<= d4 2.55e+238)
(* d1 d4)
(if (<= d4 1.92e+242)
t_2
(if (<= d4 1.05e+252)
t_0
(if (<= d4 1.08e+252)
t_1
(if (<= d4 9.2e+256)
(* d1 d4)
(if (<= d4 9.5e+256)
(* d1 d2)
(if (or (<= d4 7.3e+289)
(not (<= d4 7.5e+289)))
(* d1 d4)
t_1)))))))))))))))))))))
double code(double d1, double d2, double d3, double d4) {
double t_0 = d1 * (d2 + d4);
double t_1 = d1 * -d3;
double t_2 = d1 * -d1;
double tmp;
if (d4 <= 1.5e+50) {
tmp = d1 * (d2 - d3);
} else if (d4 <= 5.2e+150) {
tmp = t_0;
} else if (d4 <= 1.85e+151) {
tmp = t_1;
} else if (d4 <= 2.1e+151) {
tmp = t_2;
} else if (d4 <= 3.8e+162) {
tmp = d1 * d4;
} else if (d4 <= 3.9e+162) {
tmp = t_1;
} else if (d4 <= 1.1e+168) {
tmp = d1 * d4;
} else if (d4 <= 9.1e+170) {
tmp = t_1;
} else if (d4 <= 7.8e+177) {
tmp = d1 * d4;
} else if (d4 <= 8e+177) {
tmp = t_1;
} else if (d4 <= 1.15e+222) {
tmp = t_0;
} else if (d4 <= 7e+222) {
tmp = t_1;
} else if (d4 <= 2.55e+238) {
tmp = d1 * d4;
} else if (d4 <= 1.92e+242) {
tmp = t_2;
} else if (d4 <= 1.05e+252) {
tmp = t_0;
} else if (d4 <= 1.08e+252) {
tmp = t_1;
} else if (d4 <= 9.2e+256) {
tmp = d1 * d4;
} else if (d4 <= 9.5e+256) {
tmp = d1 * d2;
} else if ((d4 <= 7.3e+289) || !(d4 <= 7.5e+289)) {
tmp = d1 * d4;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(d1, d2, d3, d4)
real(8), intent (in) :: d1
real(8), intent (in) :: d2
real(8), intent (in) :: d3
real(8), intent (in) :: d4
real(8) :: t_0
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_0 = d1 * (d2 + d4)
t_1 = d1 * -d3
t_2 = d1 * -d1
if (d4 <= 1.5d+50) then
tmp = d1 * (d2 - d3)
else if (d4 <= 5.2d+150) then
tmp = t_0
else if (d4 <= 1.85d+151) then
tmp = t_1
else if (d4 <= 2.1d+151) then
tmp = t_2
else if (d4 <= 3.8d+162) then
tmp = d1 * d4
else if (d4 <= 3.9d+162) then
tmp = t_1
else if (d4 <= 1.1d+168) then
tmp = d1 * d4
else if (d4 <= 9.1d+170) then
tmp = t_1
else if (d4 <= 7.8d+177) then
tmp = d1 * d4
else if (d4 <= 8d+177) then
tmp = t_1
else if (d4 <= 1.15d+222) then
tmp = t_0
else if (d4 <= 7d+222) then
tmp = t_1
else if (d4 <= 2.55d+238) then
tmp = d1 * d4
else if (d4 <= 1.92d+242) then
tmp = t_2
else if (d4 <= 1.05d+252) then
tmp = t_0
else if (d4 <= 1.08d+252) then
tmp = t_1
else if (d4 <= 9.2d+256) then
tmp = d1 * d4
else if (d4 <= 9.5d+256) then
tmp = d1 * d2
else if ((d4 <= 7.3d+289) .or. (.not. (d4 <= 7.5d+289))) then
tmp = d1 * d4
else
tmp = t_1
end if
code = tmp
end function
public static double code(double d1, double d2, double d3, double d4) {
double t_0 = d1 * (d2 + d4);
double t_1 = d1 * -d3;
double t_2 = d1 * -d1;
double tmp;
if (d4 <= 1.5e+50) {
tmp = d1 * (d2 - d3);
} else if (d4 <= 5.2e+150) {
tmp = t_0;
} else if (d4 <= 1.85e+151) {
tmp = t_1;
} else if (d4 <= 2.1e+151) {
tmp = t_2;
} else if (d4 <= 3.8e+162) {
tmp = d1 * d4;
} else if (d4 <= 3.9e+162) {
tmp = t_1;
} else if (d4 <= 1.1e+168) {
tmp = d1 * d4;
} else if (d4 <= 9.1e+170) {
tmp = t_1;
} else if (d4 <= 7.8e+177) {
tmp = d1 * d4;
} else if (d4 <= 8e+177) {
tmp = t_1;
} else if (d4 <= 1.15e+222) {
tmp = t_0;
} else if (d4 <= 7e+222) {
tmp = t_1;
} else if (d4 <= 2.55e+238) {
tmp = d1 * d4;
} else if (d4 <= 1.92e+242) {
tmp = t_2;
} else if (d4 <= 1.05e+252) {
tmp = t_0;
} else if (d4 <= 1.08e+252) {
tmp = t_1;
} else if (d4 <= 9.2e+256) {
tmp = d1 * d4;
} else if (d4 <= 9.5e+256) {
tmp = d1 * d2;
} else if ((d4 <= 7.3e+289) || !(d4 <= 7.5e+289)) {
tmp = d1 * d4;
} else {
tmp = t_1;
}
return tmp;
}
def code(d1, d2, d3, d4): t_0 = d1 * (d2 + d4) t_1 = d1 * -d3 t_2 = d1 * -d1 tmp = 0 if d4 <= 1.5e+50: tmp = d1 * (d2 - d3) elif d4 <= 5.2e+150: tmp = t_0 elif d4 <= 1.85e+151: tmp = t_1 elif d4 <= 2.1e+151: tmp = t_2 elif d4 <= 3.8e+162: tmp = d1 * d4 elif d4 <= 3.9e+162: tmp = t_1 elif d4 <= 1.1e+168: tmp = d1 * d4 elif d4 <= 9.1e+170: tmp = t_1 elif d4 <= 7.8e+177: tmp = d1 * d4 elif d4 <= 8e+177: tmp = t_1 elif d4 <= 1.15e+222: tmp = t_0 elif d4 <= 7e+222: tmp = t_1 elif d4 <= 2.55e+238: tmp = d1 * d4 elif d4 <= 1.92e+242: tmp = t_2 elif d4 <= 1.05e+252: tmp = t_0 elif d4 <= 1.08e+252: tmp = t_1 elif d4 <= 9.2e+256: tmp = d1 * d4 elif d4 <= 9.5e+256: tmp = d1 * d2 elif (d4 <= 7.3e+289) or not (d4 <= 7.5e+289): tmp = d1 * d4 else: tmp = t_1 return tmp
function code(d1, d2, d3, d4) t_0 = Float64(d1 * Float64(d2 + d4)) t_1 = Float64(d1 * Float64(-d3)) t_2 = Float64(d1 * Float64(-d1)) tmp = 0.0 if (d4 <= 1.5e+50) tmp = Float64(d1 * Float64(d2 - d3)); elseif (d4 <= 5.2e+150) tmp = t_0; elseif (d4 <= 1.85e+151) tmp = t_1; elseif (d4 <= 2.1e+151) tmp = t_2; elseif (d4 <= 3.8e+162) tmp = Float64(d1 * d4); elseif (d4 <= 3.9e+162) tmp = t_1; elseif (d4 <= 1.1e+168) tmp = Float64(d1 * d4); elseif (d4 <= 9.1e+170) tmp = t_1; elseif (d4 <= 7.8e+177) tmp = Float64(d1 * d4); elseif (d4 <= 8e+177) tmp = t_1; elseif (d4 <= 1.15e+222) tmp = t_0; elseif (d4 <= 7e+222) tmp = t_1; elseif (d4 <= 2.55e+238) tmp = Float64(d1 * d4); elseif (d4 <= 1.92e+242) tmp = t_2; elseif (d4 <= 1.05e+252) tmp = t_0; elseif (d4 <= 1.08e+252) tmp = t_1; elseif (d4 <= 9.2e+256) tmp = Float64(d1 * d4); elseif (d4 <= 9.5e+256) tmp = Float64(d1 * d2); elseif ((d4 <= 7.3e+289) || !(d4 <= 7.5e+289)) tmp = Float64(d1 * d4); else tmp = t_1; end return tmp end
function tmp_2 = code(d1, d2, d3, d4) t_0 = d1 * (d2 + d4); t_1 = d1 * -d3; t_2 = d1 * -d1; tmp = 0.0; if (d4 <= 1.5e+50) tmp = d1 * (d2 - d3); elseif (d4 <= 5.2e+150) tmp = t_0; elseif (d4 <= 1.85e+151) tmp = t_1; elseif (d4 <= 2.1e+151) tmp = t_2; elseif (d4 <= 3.8e+162) tmp = d1 * d4; elseif (d4 <= 3.9e+162) tmp = t_1; elseif (d4 <= 1.1e+168) tmp = d1 * d4; elseif (d4 <= 9.1e+170) tmp = t_1; elseif (d4 <= 7.8e+177) tmp = d1 * d4; elseif (d4 <= 8e+177) tmp = t_1; elseif (d4 <= 1.15e+222) tmp = t_0; elseif (d4 <= 7e+222) tmp = t_1; elseif (d4 <= 2.55e+238) tmp = d1 * d4; elseif (d4 <= 1.92e+242) tmp = t_2; elseif (d4 <= 1.05e+252) tmp = t_0; elseif (d4 <= 1.08e+252) tmp = t_1; elseif (d4 <= 9.2e+256) tmp = d1 * d4; elseif (d4 <= 9.5e+256) tmp = d1 * d2; elseif ((d4 <= 7.3e+289) || ~((d4 <= 7.5e+289))) tmp = d1 * d4; else tmp = t_1; end tmp_2 = tmp; end
code[d1_, d2_, d3_, d4_] := Block[{t$95$0 = N[(d1 * N[(d2 + d4), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(d1 * (-d3)), $MachinePrecision]}, Block[{t$95$2 = N[(d1 * (-d1)), $MachinePrecision]}, If[LessEqual[d4, 1.5e+50], N[(d1 * N[(d2 - d3), $MachinePrecision]), $MachinePrecision], If[LessEqual[d4, 5.2e+150], t$95$0, If[LessEqual[d4, 1.85e+151], t$95$1, If[LessEqual[d4, 2.1e+151], t$95$2, If[LessEqual[d4, 3.8e+162], N[(d1 * d4), $MachinePrecision], If[LessEqual[d4, 3.9e+162], t$95$1, If[LessEqual[d4, 1.1e+168], N[(d1 * d4), $MachinePrecision], If[LessEqual[d4, 9.1e+170], t$95$1, If[LessEqual[d4, 7.8e+177], N[(d1 * d4), $MachinePrecision], If[LessEqual[d4, 8e+177], t$95$1, If[LessEqual[d4, 1.15e+222], t$95$0, If[LessEqual[d4, 7e+222], t$95$1, If[LessEqual[d4, 2.55e+238], N[(d1 * d4), $MachinePrecision], If[LessEqual[d4, 1.92e+242], t$95$2, If[LessEqual[d4, 1.05e+252], t$95$0, If[LessEqual[d4, 1.08e+252], t$95$1, If[LessEqual[d4, 9.2e+256], N[(d1 * d4), $MachinePrecision], If[LessEqual[d4, 9.5e+256], N[(d1 * d2), $MachinePrecision], If[Or[LessEqual[d4, 7.3e+289], N[Not[LessEqual[d4, 7.5e+289]], $MachinePrecision]], N[(d1 * d4), $MachinePrecision], t$95$1]]]]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := d1 \cdot \left(d2 + d4\right)\\
t_1 := d1 \cdot \left(-d3\right)\\
t_2 := d1 \cdot \left(-d1\right)\\
\mathbf{if}\;d4 \leq 1.5 \cdot 10^{+50}:\\
\;\;\;\;d1 \cdot \left(d2 - d3\right)\\
\mathbf{elif}\;d4 \leq 5.2 \cdot 10^{+150}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d4 \leq 1.85 \cdot 10^{+151}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d4 \leq 2.1 \cdot 10^{+151}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d4 \leq 3.8 \cdot 10^{+162}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d4 \leq 3.9 \cdot 10^{+162}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d4 \leq 1.1 \cdot 10^{+168}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d4 \leq 9.1 \cdot 10^{+170}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d4 \leq 7.8 \cdot 10^{+177}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d4 \leq 8 \cdot 10^{+177}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d4 \leq 1.15 \cdot 10^{+222}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d4 \leq 7 \cdot 10^{+222}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d4 \leq 2.55 \cdot 10^{+238}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d4 \leq 1.92 \cdot 10^{+242}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;d4 \leq 1.05 \cdot 10^{+252}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d4 \leq 1.08 \cdot 10^{+252}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d4 \leq 9.2 \cdot 10^{+256}:\\
\;\;\;\;d1 \cdot d4\\
\mathbf{elif}\;d4 \leq 9.5 \cdot 10^{+256}:\\
\;\;\;\;d1 \cdot d2\\
\mathbf{elif}\;d4 \leq 7.3 \cdot 10^{+289} \lor \neg \left(d4 \leq 7.5 \cdot 10^{+289}\right):\\
\;\;\;\;d1 \cdot d4\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if d4 < 1.4999999999999999e50Initial program 88.0%
associate--l+88.0%
distribute-lft-out--89.9%
distribute-rgt-out--91.8%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d1 around 0 79.0%
Taylor expanded in d4 around 0 65.3%
if 1.4999999999999999e50 < d4 < 5.20000000000000012e150 or 8.0000000000000001e177 < d4 < 1.15000000000000005e222 or 1.9199999999999999e242 < d4 < 1.0500000000000001e252Initial program 78.6%
associate--l+78.6%
distribute-lft-out--82.1%
distribute-rgt-out--92.9%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d1 around 0 96.4%
Taylor expanded in d3 around 0 89.8%
+-commutative89.8%
Simplified89.8%
if 5.20000000000000012e150 < d4 < 1.8499999999999999e151 or 3.80000000000000024e162 < d4 < 3.9000000000000004e162 or 1.1000000000000001e168 < d4 < 9.09999999999999982e170 or 7.7999999999999998e177 < d4 < 8.0000000000000001e177 or 1.15000000000000005e222 < d4 < 6.9999999999999997e222 or 1.0500000000000001e252 < d4 < 1.08e252 or 7.3000000000000002e289 < d4 < 7.5e289Initial program 80.0%
associate--l+80.0%
distribute-lft-out--80.0%
distribute-rgt-out--80.0%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d3 around inf 80.4%
mul-1-neg80.4%
distribute-rgt-neg-out80.4%
Simplified80.4%
if 1.8499999999999999e151 < d4 < 2.1000000000000001e151 or 2.5500000000000001e238 < d4 < 1.9199999999999999e242Initial program 50.0%
associate--l+50.0%
distribute-lft-out--50.0%
distribute-rgt-out--99.2%
distribute-lft-out99.2%
Simplified99.2%
Taylor expanded in d1 around inf 62.6%
neg-mul-162.6%
Simplified62.6%
if 2.1000000000000001e151 < d4 < 3.80000000000000024e162 or 3.9000000000000004e162 < d4 < 1.1000000000000001e168 or 9.09999999999999982e170 < d4 < 7.7999999999999998e177 or 6.9999999999999997e222 < d4 < 2.5500000000000001e238 or 1.08e252 < d4 < 9.1999999999999995e256 or 9.49999999999999995e256 < d4 < 7.3000000000000002e289 or 7.5e289 < d4 Initial program 92.3%
associate--l+92.3%
distribute-lft-out--92.3%
distribute-rgt-out--92.3%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d4 around inf 100.0%
if 9.1999999999999995e256 < d4 < 9.49999999999999995e256Initial program 86.7%
associate--l+86.7%
distribute-lft-out--88.7%
distribute-rgt-out--91.8%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d2 around inf 31.6%
Final simplification70.0%
(FPCore (d1 d2 d3 d4)
:precision binary64
(let* ((t_0 (* d1 (- (- d4 d1) d3))) (t_1 (- (* d1 d4) (* d1 d3))))
(if (<= d2 -1.95e+62)
(* d1 (- (+ d2 d4) d3))
(if (<= d2 -5.2e-52)
t_0
(if (<= d2 -1.6e-52)
(* d1 (- d2 d3))
(if (<= d2 -6.6e-210)
t_0
(if (<= d2 -2.8e-241)
t_1
(if (<= d2 9e-198)
t_0
(if (<= d2 6.8e-187)
(- (* d1 d4) (* d1 d1))
(if (or (<= d2 5.2e-83) (not (<= d2 9.5e-57)))
t_0
t_1))))))))))
double code(double d1, double d2, double d3, double d4) {
double t_0 = d1 * ((d4 - d1) - d3);
double t_1 = (d1 * d4) - (d1 * d3);
double tmp;
if (d2 <= -1.95e+62) {
tmp = d1 * ((d2 + d4) - d3);
} else if (d2 <= -5.2e-52) {
tmp = t_0;
} else if (d2 <= -1.6e-52) {
tmp = d1 * (d2 - d3);
} else if (d2 <= -6.6e-210) {
tmp = t_0;
} else if (d2 <= -2.8e-241) {
tmp = t_1;
} else if (d2 <= 9e-198) {
tmp = t_0;
} else if (d2 <= 6.8e-187) {
tmp = (d1 * d4) - (d1 * d1);
} else if ((d2 <= 5.2e-83) || !(d2 <= 9.5e-57)) {
tmp = t_0;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(d1, d2, d3, d4)
real(8), intent (in) :: d1
real(8), intent (in) :: d2
real(8), intent (in) :: d3
real(8), intent (in) :: d4
real(8) :: t_0
real(8) :: t_1
real(8) :: tmp
t_0 = d1 * ((d4 - d1) - d3)
t_1 = (d1 * d4) - (d1 * d3)
if (d2 <= (-1.95d+62)) then
tmp = d1 * ((d2 + d4) - d3)
else if (d2 <= (-5.2d-52)) then
tmp = t_0
else if (d2 <= (-1.6d-52)) then
tmp = d1 * (d2 - d3)
else if (d2 <= (-6.6d-210)) then
tmp = t_0
else if (d2 <= (-2.8d-241)) then
tmp = t_1
else if (d2 <= 9d-198) then
tmp = t_0
else if (d2 <= 6.8d-187) then
tmp = (d1 * d4) - (d1 * d1)
else if ((d2 <= 5.2d-83) .or. (.not. (d2 <= 9.5d-57))) then
tmp = t_0
else
tmp = t_1
end if
code = tmp
end function
public static double code(double d1, double d2, double d3, double d4) {
double t_0 = d1 * ((d4 - d1) - d3);
double t_1 = (d1 * d4) - (d1 * d3);
double tmp;
if (d2 <= -1.95e+62) {
tmp = d1 * ((d2 + d4) - d3);
} else if (d2 <= -5.2e-52) {
tmp = t_0;
} else if (d2 <= -1.6e-52) {
tmp = d1 * (d2 - d3);
} else if (d2 <= -6.6e-210) {
tmp = t_0;
} else if (d2 <= -2.8e-241) {
tmp = t_1;
} else if (d2 <= 9e-198) {
tmp = t_0;
} else if (d2 <= 6.8e-187) {
tmp = (d1 * d4) - (d1 * d1);
} else if ((d2 <= 5.2e-83) || !(d2 <= 9.5e-57)) {
tmp = t_0;
} else {
tmp = t_1;
}
return tmp;
}
def code(d1, d2, d3, d4): t_0 = d1 * ((d4 - d1) - d3) t_1 = (d1 * d4) - (d1 * d3) tmp = 0 if d2 <= -1.95e+62: tmp = d1 * ((d2 + d4) - d3) elif d2 <= -5.2e-52: tmp = t_0 elif d2 <= -1.6e-52: tmp = d1 * (d2 - d3) elif d2 <= -6.6e-210: tmp = t_0 elif d2 <= -2.8e-241: tmp = t_1 elif d2 <= 9e-198: tmp = t_0 elif d2 <= 6.8e-187: tmp = (d1 * d4) - (d1 * d1) elif (d2 <= 5.2e-83) or not (d2 <= 9.5e-57): tmp = t_0 else: tmp = t_1 return tmp
function code(d1, d2, d3, d4) t_0 = Float64(d1 * Float64(Float64(d4 - d1) - d3)) t_1 = Float64(Float64(d1 * d4) - Float64(d1 * d3)) tmp = 0.0 if (d2 <= -1.95e+62) tmp = Float64(d1 * Float64(Float64(d2 + d4) - d3)); elseif (d2 <= -5.2e-52) tmp = t_0; elseif (d2 <= -1.6e-52) tmp = Float64(d1 * Float64(d2 - d3)); elseif (d2 <= -6.6e-210) tmp = t_0; elseif (d2 <= -2.8e-241) tmp = t_1; elseif (d2 <= 9e-198) tmp = t_0; elseif (d2 <= 6.8e-187) tmp = Float64(Float64(d1 * d4) - Float64(d1 * d1)); elseif ((d2 <= 5.2e-83) || !(d2 <= 9.5e-57)) tmp = t_0; else tmp = t_1; end return tmp end
function tmp_2 = code(d1, d2, d3, d4) t_0 = d1 * ((d4 - d1) - d3); t_1 = (d1 * d4) - (d1 * d3); tmp = 0.0; if (d2 <= -1.95e+62) tmp = d1 * ((d2 + d4) - d3); elseif (d2 <= -5.2e-52) tmp = t_0; elseif (d2 <= -1.6e-52) tmp = d1 * (d2 - d3); elseif (d2 <= -6.6e-210) tmp = t_0; elseif (d2 <= -2.8e-241) tmp = t_1; elseif (d2 <= 9e-198) tmp = t_0; elseif (d2 <= 6.8e-187) tmp = (d1 * d4) - (d1 * d1); elseif ((d2 <= 5.2e-83) || ~((d2 <= 9.5e-57))) tmp = t_0; else tmp = t_1; end tmp_2 = tmp; end
code[d1_, d2_, d3_, d4_] := Block[{t$95$0 = N[(d1 * N[(N[(d4 - d1), $MachinePrecision] - d3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(N[(d1 * d4), $MachinePrecision] - N[(d1 * d3), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[d2, -1.95e+62], N[(d1 * N[(N[(d2 + d4), $MachinePrecision] - d3), $MachinePrecision]), $MachinePrecision], If[LessEqual[d2, -5.2e-52], t$95$0, If[LessEqual[d2, -1.6e-52], N[(d1 * N[(d2 - d3), $MachinePrecision]), $MachinePrecision], If[LessEqual[d2, -6.6e-210], t$95$0, If[LessEqual[d2, -2.8e-241], t$95$1, If[LessEqual[d2, 9e-198], t$95$0, If[LessEqual[d2, 6.8e-187], N[(N[(d1 * d4), $MachinePrecision] - N[(d1 * d1), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[d2, 5.2e-83], N[Not[LessEqual[d2, 9.5e-57]], $MachinePrecision]], t$95$0, t$95$1]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := d1 \cdot \left(\left(d4 - d1\right) - d3\right)\\
t_1 := d1 \cdot d4 - d1 \cdot d3\\
\mathbf{if}\;d2 \leq -1.95 \cdot 10^{+62}:\\
\;\;\;\;d1 \cdot \left(\left(d2 + d4\right) - d3\right)\\
\mathbf{elif}\;d2 \leq -5.2 \cdot 10^{-52}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -1.6 \cdot 10^{-52}:\\
\;\;\;\;d1 \cdot \left(d2 - d3\right)\\
\mathbf{elif}\;d2 \leq -6.6 \cdot 10^{-210}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -2.8 \cdot 10^{-241}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq 9 \cdot 10^{-198}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq 6.8 \cdot 10^{-187}:\\
\;\;\;\;d1 \cdot d4 - d1 \cdot d1\\
\mathbf{elif}\;d2 \leq 5.2 \cdot 10^{-83} \lor \neg \left(d2 \leq 9.5 \cdot 10^{-57}\right):\\
\;\;\;\;t\_0\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if d2 < -1.95e62Initial program 79.6%
associate--l+79.6%
distribute-lft-out--85.1%
distribute-rgt-out--88.8%
distribute-lft-out99.9%
Simplified99.9%
Taylor expanded in d1 around 0 98.1%
if -1.95e62 < d2 < -5.1999999999999997e-52 or -1.60000000000000005e-52 < d2 < -6.6e-210 or -2.7999999999999999e-241 < d2 < 8.9999999999999996e-198 or 6.8000000000000003e-187 < d2 < 5.20000000000000018e-83 or 9.5000000000000005e-57 < d2 Initial program 88.3%
associate--l+88.3%
distribute-lft-out--89.4%
distribute-rgt-out--92.0%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d2 around 0 85.1%
associate--r+85.1%
Simplified85.1%
if -5.1999999999999997e-52 < d2 < -1.60000000000000005e-52Initial program 100.0%
associate--l+100.0%
distribute-lft-out--100.0%
distribute-rgt-out--100.0%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d1 around 0 100.0%
Taylor expanded in d4 around 0 100.0%
if -6.6e-210 < d2 < -2.7999999999999999e-241 or 5.20000000000000018e-83 < d2 < 9.5000000000000005e-57Initial program 87.5%
associate--l+87.5%
distribute-lft-out--87.5%
distribute-rgt-out--100.0%
distribute-lft-out99.8%
Simplified99.8%
Taylor expanded in d1 around 0 74.9%
Taylor expanded in d4 around 0 75.1%
Taylor expanded in d2 around 0 75.1%
+-commutative75.1%
mul-1-neg75.1%
unsub-neg75.1%
Simplified75.1%
if 8.9999999999999996e-198 < d2 < 6.8000000000000003e-187Initial program 100.0%
associate--l+100.0%
distribute-lft-out--100.0%
distribute-rgt-out--99.6%
distribute-lft-out99.6%
Simplified99.6%
Taylor expanded in d2 around 0 99.6%
associate--r+99.6%
Simplified99.6%
Taylor expanded in d3 around 0 99.6%
sub-neg99.6%
distribute-rgt-in100.0%
*-commutative100.0%
Applied egg-rr100.0%
Final simplification87.8%
(FPCore (d1 d2 d3 d4)
:precision binary64
(let* ((t_0 (* d1 (- d4 d1))) (t_1 (* d1 (- d4 d3))))
(if (<= d2 1.16e-207)
(* d1 (- (+ d2 d4) d3))
(if (<= d2 4.55e-166)
t_0
(if (<= d2 1.15e-95)
t_1
(if (<= d2 2.5e-87)
t_0
(if (<= d2 1.6e-56)
t_1
(if (<= d2 2.25e+18)
t_0
(if (<= d2 4.4e+18)
(* d1 (- d3))
(if (<= d2 6.6e+35) t_0 t_1))))))))))
double code(double d1, double d2, double d3, double d4) {
double t_0 = d1 * (d4 - d1);
double t_1 = d1 * (d4 - d3);
double tmp;
if (d2 <= 1.16e-207) {
tmp = d1 * ((d2 + d4) - d3);
} else if (d2 <= 4.55e-166) {
tmp = t_0;
} else if (d2 <= 1.15e-95) {
tmp = t_1;
} else if (d2 <= 2.5e-87) {
tmp = t_0;
} else if (d2 <= 1.6e-56) {
tmp = t_1;
} else if (d2 <= 2.25e+18) {
tmp = t_0;
} else if (d2 <= 4.4e+18) {
tmp = d1 * -d3;
} else if (d2 <= 6.6e+35) {
tmp = t_0;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(d1, d2, d3, d4)
real(8), intent (in) :: d1
real(8), intent (in) :: d2
real(8), intent (in) :: d3
real(8), intent (in) :: d4
real(8) :: t_0
real(8) :: t_1
real(8) :: tmp
t_0 = d1 * (d4 - d1)
t_1 = d1 * (d4 - d3)
if (d2 <= 1.16d-207) then
tmp = d1 * ((d2 + d4) - d3)
else if (d2 <= 4.55d-166) then
tmp = t_0
else if (d2 <= 1.15d-95) then
tmp = t_1
else if (d2 <= 2.5d-87) then
tmp = t_0
else if (d2 <= 1.6d-56) then
tmp = t_1
else if (d2 <= 2.25d+18) then
tmp = t_0
else if (d2 <= 4.4d+18) then
tmp = d1 * -d3
else if (d2 <= 6.6d+35) then
tmp = t_0
else
tmp = t_1
end if
code = tmp
end function
public static double code(double d1, double d2, double d3, double d4) {
double t_0 = d1 * (d4 - d1);
double t_1 = d1 * (d4 - d3);
double tmp;
if (d2 <= 1.16e-207) {
tmp = d1 * ((d2 + d4) - d3);
} else if (d2 <= 4.55e-166) {
tmp = t_0;
} else if (d2 <= 1.15e-95) {
tmp = t_1;
} else if (d2 <= 2.5e-87) {
tmp = t_0;
} else if (d2 <= 1.6e-56) {
tmp = t_1;
} else if (d2 <= 2.25e+18) {
tmp = t_0;
} else if (d2 <= 4.4e+18) {
tmp = d1 * -d3;
} else if (d2 <= 6.6e+35) {
tmp = t_0;
} else {
tmp = t_1;
}
return tmp;
}
def code(d1, d2, d3, d4): t_0 = d1 * (d4 - d1) t_1 = d1 * (d4 - d3) tmp = 0 if d2 <= 1.16e-207: tmp = d1 * ((d2 + d4) - d3) elif d2 <= 4.55e-166: tmp = t_0 elif d2 <= 1.15e-95: tmp = t_1 elif d2 <= 2.5e-87: tmp = t_0 elif d2 <= 1.6e-56: tmp = t_1 elif d2 <= 2.25e+18: tmp = t_0 elif d2 <= 4.4e+18: tmp = d1 * -d3 elif d2 <= 6.6e+35: tmp = t_0 else: tmp = t_1 return tmp
function code(d1, d2, d3, d4) t_0 = Float64(d1 * Float64(d4 - d1)) t_1 = Float64(d1 * Float64(d4 - d3)) tmp = 0.0 if (d2 <= 1.16e-207) tmp = Float64(d1 * Float64(Float64(d2 + d4) - d3)); elseif (d2 <= 4.55e-166) tmp = t_0; elseif (d2 <= 1.15e-95) tmp = t_1; elseif (d2 <= 2.5e-87) tmp = t_0; elseif (d2 <= 1.6e-56) tmp = t_1; elseif (d2 <= 2.25e+18) tmp = t_0; elseif (d2 <= 4.4e+18) tmp = Float64(d1 * Float64(-d3)); elseif (d2 <= 6.6e+35) tmp = t_0; else tmp = t_1; end return tmp end
function tmp_2 = code(d1, d2, d3, d4) t_0 = d1 * (d4 - d1); t_1 = d1 * (d4 - d3); tmp = 0.0; if (d2 <= 1.16e-207) tmp = d1 * ((d2 + d4) - d3); elseif (d2 <= 4.55e-166) tmp = t_0; elseif (d2 <= 1.15e-95) tmp = t_1; elseif (d2 <= 2.5e-87) tmp = t_0; elseif (d2 <= 1.6e-56) tmp = t_1; elseif (d2 <= 2.25e+18) tmp = t_0; elseif (d2 <= 4.4e+18) tmp = d1 * -d3; elseif (d2 <= 6.6e+35) tmp = t_0; else tmp = t_1; end tmp_2 = tmp; end
code[d1_, d2_, d3_, d4_] := Block[{t$95$0 = N[(d1 * N[(d4 - d1), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(d1 * N[(d4 - d3), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[d2, 1.16e-207], N[(d1 * N[(N[(d2 + d4), $MachinePrecision] - d3), $MachinePrecision]), $MachinePrecision], If[LessEqual[d2, 4.55e-166], t$95$0, If[LessEqual[d2, 1.15e-95], t$95$1, If[LessEqual[d2, 2.5e-87], t$95$0, If[LessEqual[d2, 1.6e-56], t$95$1, If[LessEqual[d2, 2.25e+18], t$95$0, If[LessEqual[d2, 4.4e+18], N[(d1 * (-d3)), $MachinePrecision], If[LessEqual[d2, 6.6e+35], t$95$0, t$95$1]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := d1 \cdot \left(d4 - d1\right)\\
t_1 := d1 \cdot \left(d4 - d3\right)\\
\mathbf{if}\;d2 \leq 1.16 \cdot 10^{-207}:\\
\;\;\;\;d1 \cdot \left(\left(d2 + d4\right) - d3\right)\\
\mathbf{elif}\;d2 \leq 4.55 \cdot 10^{-166}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq 1.15 \cdot 10^{-95}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq 2.5 \cdot 10^{-87}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq 1.6 \cdot 10^{-56}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;d2 \leq 2.25 \cdot 10^{+18}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq 4.4 \cdot 10^{+18}:\\
\;\;\;\;d1 \cdot \left(-d3\right)\\
\mathbf{elif}\;d2 \leq 6.6 \cdot 10^{+35}:\\
\;\;\;\;t\_0\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if d2 < 1.16e-207Initial program 86.2%
associate--l+86.2%
distribute-lft-out--88.1%
distribute-rgt-out--92.7%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d1 around 0 82.9%
if 1.16e-207 < d2 < 4.54999999999999989e-166 or 1.15e-95 < d2 < 2.50000000000000021e-87 or 1.59999999999999993e-56 < d2 < 2.25e18 or 4.4e18 < d2 < 6.6000000000000003e35Initial program 89.7%
associate--l+89.7%
distribute-lft-out--89.7%
distribute-rgt-out--93.0%
distribute-lft-out99.9%
Simplified99.9%
Taylor expanded in d2 around 0 96.6%
associate--r+96.6%
Simplified96.6%
Taylor expanded in d3 around 0 63.4%
if 4.54999999999999989e-166 < d2 < 1.15e-95 or 2.50000000000000021e-87 < d2 < 1.59999999999999993e-56 or 6.6000000000000003e35 < d2 Initial program 86.5%
associate--l+86.5%
distribute-lft-out--89.2%
distribute-rgt-out--89.2%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d1 around 0 87.9%
Taylor expanded in d2 around 0 48.7%
if 2.25e18 < d2 < 4.4e18Initial program 100.0%
associate--l+100.0%
distribute-lft-out--100.0%
distribute-rgt-out--100.0%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d3 around inf 100.0%
mul-1-neg100.0%
distribute-rgt-neg-out100.0%
Simplified100.0%
(FPCore (d1 d2 d3 d4)
:precision binary64
(let* ((t_0 (* d1 (- (- d4 d1) d3))))
(if (<= d2 -9.2e+62)
(* d1 (- (+ d2 d4) d3))
(if (<= d2 -5.2e-52)
t_0
(if (<= d2 -1.6e-52)
(* d1 (- d2 d3))
(if (or (<= d2 -6.6e-210)
(not
(or (<= d2 -2.8e-241)
(and (not (<= d2 5.2e-83)) (<= d2 9.5e-57)))))
t_0
(- (* d1 d4) (* d1 d3))))))))
double code(double d1, double d2, double d3, double d4) {
double t_0 = d1 * ((d4 - d1) - d3);
double tmp;
if (d2 <= -9.2e+62) {
tmp = d1 * ((d2 + d4) - d3);
} else if (d2 <= -5.2e-52) {
tmp = t_0;
} else if (d2 <= -1.6e-52) {
tmp = d1 * (d2 - d3);
} else if ((d2 <= -6.6e-210) || !((d2 <= -2.8e-241) || (!(d2 <= 5.2e-83) && (d2 <= 9.5e-57)))) {
tmp = t_0;
} else {
tmp = (d1 * d4) - (d1 * d3);
}
return tmp;
}
real(8) function code(d1, d2, d3, d4)
real(8), intent (in) :: d1
real(8), intent (in) :: d2
real(8), intent (in) :: d3
real(8), intent (in) :: d4
real(8) :: t_0
real(8) :: tmp
t_0 = d1 * ((d4 - d1) - d3)
if (d2 <= (-9.2d+62)) then
tmp = d1 * ((d2 + d4) - d3)
else if (d2 <= (-5.2d-52)) then
tmp = t_0
else if (d2 <= (-1.6d-52)) then
tmp = d1 * (d2 - d3)
else if ((d2 <= (-6.6d-210)) .or. (.not. (d2 <= (-2.8d-241)) .or. (.not. (d2 <= 5.2d-83)) .and. (d2 <= 9.5d-57))) then
tmp = t_0
else
tmp = (d1 * d4) - (d1 * d3)
end if
code = tmp
end function
public static double code(double d1, double d2, double d3, double d4) {
double t_0 = d1 * ((d4 - d1) - d3);
double tmp;
if (d2 <= -9.2e+62) {
tmp = d1 * ((d2 + d4) - d3);
} else if (d2 <= -5.2e-52) {
tmp = t_0;
} else if (d2 <= -1.6e-52) {
tmp = d1 * (d2 - d3);
} else if ((d2 <= -6.6e-210) || !((d2 <= -2.8e-241) || (!(d2 <= 5.2e-83) && (d2 <= 9.5e-57)))) {
tmp = t_0;
} else {
tmp = (d1 * d4) - (d1 * d3);
}
return tmp;
}
def code(d1, d2, d3, d4): t_0 = d1 * ((d4 - d1) - d3) tmp = 0 if d2 <= -9.2e+62: tmp = d1 * ((d2 + d4) - d3) elif d2 <= -5.2e-52: tmp = t_0 elif d2 <= -1.6e-52: tmp = d1 * (d2 - d3) elif (d2 <= -6.6e-210) or not ((d2 <= -2.8e-241) or (not (d2 <= 5.2e-83) and (d2 <= 9.5e-57))): tmp = t_0 else: tmp = (d1 * d4) - (d1 * d3) return tmp
function code(d1, d2, d3, d4) t_0 = Float64(d1 * Float64(Float64(d4 - d1) - d3)) tmp = 0.0 if (d2 <= -9.2e+62) tmp = Float64(d1 * Float64(Float64(d2 + d4) - d3)); elseif (d2 <= -5.2e-52) tmp = t_0; elseif (d2 <= -1.6e-52) tmp = Float64(d1 * Float64(d2 - d3)); elseif ((d2 <= -6.6e-210) || !((d2 <= -2.8e-241) || (!(d2 <= 5.2e-83) && (d2 <= 9.5e-57)))) tmp = t_0; else tmp = Float64(Float64(d1 * d4) - Float64(d1 * d3)); end return tmp end
function tmp_2 = code(d1, d2, d3, d4) t_0 = d1 * ((d4 - d1) - d3); tmp = 0.0; if (d2 <= -9.2e+62) tmp = d1 * ((d2 + d4) - d3); elseif (d2 <= -5.2e-52) tmp = t_0; elseif (d2 <= -1.6e-52) tmp = d1 * (d2 - d3); elseif ((d2 <= -6.6e-210) || ~(((d2 <= -2.8e-241) || (~((d2 <= 5.2e-83)) && (d2 <= 9.5e-57))))) tmp = t_0; else tmp = (d1 * d4) - (d1 * d3); end tmp_2 = tmp; end
code[d1_, d2_, d3_, d4_] := Block[{t$95$0 = N[(d1 * N[(N[(d4 - d1), $MachinePrecision] - d3), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[d2, -9.2e+62], N[(d1 * N[(N[(d2 + d4), $MachinePrecision] - d3), $MachinePrecision]), $MachinePrecision], If[LessEqual[d2, -5.2e-52], t$95$0, If[LessEqual[d2, -1.6e-52], N[(d1 * N[(d2 - d3), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[d2, -6.6e-210], N[Not[Or[LessEqual[d2, -2.8e-241], And[N[Not[LessEqual[d2, 5.2e-83]], $MachinePrecision], LessEqual[d2, 9.5e-57]]]], $MachinePrecision]], t$95$0, N[(N[(d1 * d4), $MachinePrecision] - N[(d1 * d3), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := d1 \cdot \left(\left(d4 - d1\right) - d3\right)\\
\mathbf{if}\;d2 \leq -9.2 \cdot 10^{+62}:\\
\;\;\;\;d1 \cdot \left(\left(d2 + d4\right) - d3\right)\\
\mathbf{elif}\;d2 \leq -5.2 \cdot 10^{-52}:\\
\;\;\;\;t\_0\\
\mathbf{elif}\;d2 \leq -1.6 \cdot 10^{-52}:\\
\;\;\;\;d1 \cdot \left(d2 - d3\right)\\
\mathbf{elif}\;d2 \leq -6.6 \cdot 10^{-210} \lor \neg \left(d2 \leq -2.8 \cdot 10^{-241} \lor \neg \left(d2 \leq 5.2 \cdot 10^{-83}\right) \land d2 \leq 9.5 \cdot 10^{-57}\right):\\
\;\;\;\;t\_0\\
\mathbf{else}:\\
\;\;\;\;d1 \cdot d4 - d1 \cdot d3\\
\end{array}
\end{array}
if d2 < -9.19999999999999936e62Initial program 79.6%
associate--l+79.6%
distribute-lft-out--85.1%
distribute-rgt-out--88.8%
distribute-lft-out99.9%
Simplified99.9%
Taylor expanded in d1 around 0 98.1%
if -9.19999999999999936e62 < d2 < -5.1999999999999997e-52 or -1.60000000000000005e-52 < d2 < -6.6e-210 or -2.7999999999999999e-241 < d2 < 5.20000000000000018e-83 or 9.5000000000000005e-57 < d2 Initial program 88.5%
associate--l+88.5%
distribute-lft-out--89.6%
distribute-rgt-out--92.2%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d2 around 0 85.4%
associate--r+85.4%
Simplified85.4%
if -5.1999999999999997e-52 < d2 < -1.60000000000000005e-52Initial program 100.0%
associate--l+100.0%
distribute-lft-out--100.0%
distribute-rgt-out--100.0%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d1 around 0 100.0%
Taylor expanded in d4 around 0 100.0%
if -6.6e-210 < d2 < -2.7999999999999999e-241 or 5.20000000000000018e-83 < d2 < 9.5000000000000005e-57Initial program 87.5%
associate--l+87.5%
distribute-lft-out--87.5%
distribute-rgt-out--100.0%
distribute-lft-out99.8%
Simplified99.8%
Taylor expanded in d1 around 0 74.9%
Taylor expanded in d4 around 0 75.1%
Taylor expanded in d2 around 0 75.1%
+-commutative75.1%
mul-1-neg75.1%
unsub-neg75.1%
Simplified75.1%
Final simplification87.8%
(FPCore (d1 d2 d3 d4)
:precision binary64
(if (<= d2 -7e+67)
(* d1 (- (+ d2 d4) d3))
(if (or (<= d2 -5.2e-52) (not (<= d2 -1.6e-52)))
(* d1 (- (- d4 d1) d3))
(* d1 (- d2 d3)))))
double code(double d1, double d2, double d3, double d4) {
double tmp;
if (d2 <= -7e+67) {
tmp = d1 * ((d2 + d4) - d3);
} else if ((d2 <= -5.2e-52) || !(d2 <= -1.6e-52)) {
tmp = d1 * ((d4 - d1) - d3);
} else {
tmp = d1 * (d2 - d3);
}
return tmp;
}
real(8) function code(d1, d2, d3, d4)
real(8), intent (in) :: d1
real(8), intent (in) :: d2
real(8), intent (in) :: d3
real(8), intent (in) :: d4
real(8) :: tmp
if (d2 <= (-7d+67)) then
tmp = d1 * ((d2 + d4) - d3)
else if ((d2 <= (-5.2d-52)) .or. (.not. (d2 <= (-1.6d-52)))) then
tmp = d1 * ((d4 - d1) - d3)
else
tmp = d1 * (d2 - d3)
end if
code = tmp
end function
public static double code(double d1, double d2, double d3, double d4) {
double tmp;
if (d2 <= -7e+67) {
tmp = d1 * ((d2 + d4) - d3);
} else if ((d2 <= -5.2e-52) || !(d2 <= -1.6e-52)) {
tmp = d1 * ((d4 - d1) - d3);
} else {
tmp = d1 * (d2 - d3);
}
return tmp;
}
def code(d1, d2, d3, d4): tmp = 0 if d2 <= -7e+67: tmp = d1 * ((d2 + d4) - d3) elif (d2 <= -5.2e-52) or not (d2 <= -1.6e-52): tmp = d1 * ((d4 - d1) - d3) else: tmp = d1 * (d2 - d3) return tmp
function code(d1, d2, d3, d4) tmp = 0.0 if (d2 <= -7e+67) tmp = Float64(d1 * Float64(Float64(d2 + d4) - d3)); elseif ((d2 <= -5.2e-52) || !(d2 <= -1.6e-52)) tmp = Float64(d1 * Float64(Float64(d4 - d1) - d3)); else tmp = Float64(d1 * Float64(d2 - d3)); end return tmp end
function tmp_2 = code(d1, d2, d3, d4) tmp = 0.0; if (d2 <= -7e+67) tmp = d1 * ((d2 + d4) - d3); elseif ((d2 <= -5.2e-52) || ~((d2 <= -1.6e-52))) tmp = d1 * ((d4 - d1) - d3); else tmp = d1 * (d2 - d3); end tmp_2 = tmp; end
code[d1_, d2_, d3_, d4_] := If[LessEqual[d2, -7e+67], N[(d1 * N[(N[(d2 + d4), $MachinePrecision] - d3), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[d2, -5.2e-52], N[Not[LessEqual[d2, -1.6e-52]], $MachinePrecision]], N[(d1 * N[(N[(d4 - d1), $MachinePrecision] - d3), $MachinePrecision]), $MachinePrecision], N[(d1 * N[(d2 - d3), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;d2 \leq -7 \cdot 10^{+67}:\\
\;\;\;\;d1 \cdot \left(\left(d2 + d4\right) - d3\right)\\
\mathbf{elif}\;d2 \leq -5.2 \cdot 10^{-52} \lor \neg \left(d2 \leq -1.6 \cdot 10^{-52}\right):\\
\;\;\;\;d1 \cdot \left(\left(d4 - d1\right) - d3\right)\\
\mathbf{else}:\\
\;\;\;\;d1 \cdot \left(d2 - d3\right)\\
\end{array}
\end{array}
if d2 < -7e67Initial program 79.6%
associate--l+79.6%
distribute-lft-out--85.1%
distribute-rgt-out--88.8%
distribute-lft-out99.9%
Simplified99.9%
Taylor expanded in d1 around 0 98.1%
if -7e67 < d2 < -5.1999999999999997e-52 or -1.60000000000000005e-52 < d2 Initial program 88.5%
associate--l+88.5%
distribute-lft-out--89.5%
distribute-rgt-out--92.5%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d2 around 0 85.9%
associate--r+85.9%
Simplified85.9%
if -5.1999999999999997e-52 < d2 < -1.60000000000000005e-52Initial program 100.0%
associate--l+100.0%
distribute-lft-out--100.0%
distribute-rgt-out--100.0%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d1 around 0 100.0%
Taylor expanded in d4 around 0 100.0%
Final simplification88.6%
(FPCore (d1 d2 d3 d4) :precision binary64 (* d1 d2))
double code(double d1, double d2, double d3, double d4) {
return d1 * d2;
}
real(8) function code(d1, d2, d3, d4)
real(8), intent (in) :: d1
real(8), intent (in) :: d2
real(8), intent (in) :: d3
real(8), intent (in) :: d4
code = d1 * d2
end function
public static double code(double d1, double d2, double d3, double d4) {
return d1 * d2;
}
def code(d1, d2, d3, d4): return d1 * d2
function code(d1, d2, d3, d4) return Float64(d1 * d2) end
function tmp = code(d1, d2, d3, d4) tmp = d1 * d2; end
code[d1_, d2_, d3_, d4_] := N[(d1 * d2), $MachinePrecision]
\begin{array}{l}
\\
d1 \cdot d2
\end{array}
Initial program 86.7%
associate--l+86.7%
distribute-lft-out--88.7%
distribute-rgt-out--91.8%
distribute-lft-out100.0%
Simplified100.0%
Taylor expanded in d2 around inf 31.6%
(FPCore (d1 d2 d3 d4) :precision binary64 (* d1 (- (+ (- d2 d3) d4) d1)))
double code(double d1, double d2, double d3, double d4) {
return d1 * (((d2 - d3) + d4) - d1);
}
real(8) function code(d1, d2, d3, d4)
real(8), intent (in) :: d1
real(8), intent (in) :: d2
real(8), intent (in) :: d3
real(8), intent (in) :: d4
code = d1 * (((d2 - d3) + d4) - d1)
end function
public static double code(double d1, double d2, double d3, double d4) {
return d1 * (((d2 - d3) + d4) - d1);
}
def code(d1, d2, d3, d4): return d1 * (((d2 - d3) + d4) - d1)
function code(d1, d2, d3, d4) return Float64(d1 * Float64(Float64(Float64(d2 - d3) + d4) - d1)) end
function tmp = code(d1, d2, d3, d4) tmp = d1 * (((d2 - d3) + d4) - d1); end
code[d1_, d2_, d3_, d4_] := N[(d1 * N[(N[(N[(d2 - d3), $MachinePrecision] + d4), $MachinePrecision] - d1), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
d1 \cdot \left(\left(\left(d2 - d3\right) + d4\right) - d1\right)
\end{array}
herbie shell --seed 2024096
(FPCore (d1 d2 d3 d4)
:name "FastMath dist4"
:precision binary64
:alt
(* d1 (- (+ (- d2 d3) d4) d1))
(- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)))