
(FPCore (x y z t a b) :precision binary64 (+ (+ (* x y) (* z t)) (* a b)))
double code(double x, double y, double z, double t, double a, double b) {
return ((x * y) + (z * t)) + (a * b);
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
code = ((x * y) + (z * t)) + (a * b)
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return ((x * y) + (z * t)) + (a * b);
}
def code(x, y, z, t, a, b): return ((x * y) + (z * t)) + (a * b)
function code(x, y, z, t, a, b) return Float64(Float64(Float64(x * y) + Float64(z * t)) + Float64(a * b)) end
function tmp = code(x, y, z, t, a, b) tmp = ((x * y) + (z * t)) + (a * b); end
code[x_, y_, z_, t_, a_, b_] := N[(N[(N[(x * y), $MachinePrecision] + N[(z * t), $MachinePrecision]), $MachinePrecision] + N[(a * b), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(x \cdot y + z \cdot t\right) + a \cdot b
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 12 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a b) :precision binary64 (+ (+ (* x y) (* z t)) (* a b)))
double code(double x, double y, double z, double t, double a, double b) {
return ((x * y) + (z * t)) + (a * b);
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
code = ((x * y) + (z * t)) + (a * b)
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return ((x * y) + (z * t)) + (a * b);
}
def code(x, y, z, t, a, b): return ((x * y) + (z * t)) + (a * b)
function code(x, y, z, t, a, b) return Float64(Float64(Float64(x * y) + Float64(z * t)) + Float64(a * b)) end
function tmp = code(x, y, z, t, a, b) tmp = ((x * y) + (z * t)) + (a * b); end
code[x_, y_, z_, t_, a_, b_] := N[(N[(N[(x * y), $MachinePrecision] + N[(z * t), $MachinePrecision]), $MachinePrecision] + N[(a * b), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(x \cdot y + z \cdot t\right) + a \cdot b
\end{array}
(FPCore (x y z t a b) :precision binary64 (if (<= (+ (* a b) (+ (* x y) (* z t))) INFINITY) (+ (fma x y (* z t)) (* a b)) (* z (+ t (* y (/ x z))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (((a * b) + ((x * y) + (z * t))) <= ((double) INFINITY)) {
tmp = fma(x, y, (z * t)) + (a * b);
} else {
tmp = z * (t + (y * (x / z)));
}
return tmp;
}
function code(x, y, z, t, a, b) tmp = 0.0 if (Float64(Float64(a * b) + Float64(Float64(x * y) + Float64(z * t))) <= Inf) tmp = Float64(fma(x, y, Float64(z * t)) + Float64(a * b)); else tmp = Float64(z * Float64(t + Float64(y * Float64(x / z)))); end return tmp end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[N[(N[(a * b), $MachinePrecision] + N[(N[(x * y), $MachinePrecision] + N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], Infinity], N[(N[(x * y + N[(z * t), $MachinePrecision]), $MachinePrecision] + N[(a * b), $MachinePrecision]), $MachinePrecision], N[(z * N[(t + N[(y * N[(x / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \cdot b + \left(x \cdot y + z \cdot t\right) \leq \infty:\\
\;\;\;\;\mathsf{fma}\left(x, y, z \cdot t\right) + a \cdot b\\
\mathbf{else}:\\
\;\;\;\;z \cdot \left(t + y \cdot \frac{x}{z}\right)\\
\end{array}
\end{array}
if (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) < +inf.0Initial program 100.0%
fma-define100.0%
Simplified100.0%
if +inf.0 < (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) Initial program 0.0%
Taylor expanded in b around inf 44.4%
associate-/l*77.8%
associate-/l*77.8%
Simplified77.8%
Taylor expanded in z around inf 55.6%
Taylor expanded in b around 0 55.6%
*-commutative55.6%
associate-*r/77.8%
Simplified77.8%
Final simplification99.2%
(FPCore (x y z t a b)
:precision binary64
(if (<= (* x y) -1.85e+108)
(* x y)
(if (<= (* x y) -1.5e-51)
(* z t)
(if (<= (* x y) -1.45e-51)
(* x y)
(if (<= (* x y) -1.45e-57)
(* a b)
(if (<= (* x y) -5.2e-58)
(* z t)
(if (<= (* x y) -9e-87)
(* a b)
(if (<= (* x y) -9.2e-104)
(* z t)
(if (<= (* x y) -3.7e-112)
(* a b)
(if (<= (* x y) -7.5e-120)
(* z t)
(if (<= (* x y) -2.7e-121)
(* a b)
(if (<= (* x y) -3.7e-129)
(* z t)
(if (<= (* x y) -2.65e-133)
(* a b)
(if (<= (* x y) -2.8e-145)
(* z t)
(if (<= (* x y) -7.5e-169)
(* a b)
(if (<= (* x y) -1.05e-174)
(* z t)
(if (<= (* x y) -1e-174)
(* x y)
(if (<= (* x y) -5.8e-182)
(* a b)
(if (<= (* x y) -3.3e-184)
(* z t)
(if (<= (* x y) -2.85e-190)
(* a b)
(if (<= (* x y) -2.8e-190)
(* x y)
(if (<= (* x y) -3.3e-199)
(* z t)
(if (<= (* x y) -1.35e-203)
(* a b)
(if (<= (* x y) -9.5e-242)
(* z t)
(if (<= (* x y) -8.6e-255)
(* a b)
(if (<= (* x y) -1.1e-256)
(* z t)
(if (<= (* x y) -2.4e-259)
(* a b)
(if (<= (* x y) -5.8e-264)
(* z t)
(if (<=
(* x y)
-5.6e-285)
(* a b)
(if (<=
(* x y)
-7e-308)
(* z t)
(if (<= (* x y) 0.0)
(* a b)
(if (<=
(* x y)
5e-319)
(* z t)
(if (<=
(* x y)
3.7e-255)
(* a b)
(if (<=
(* x y)
7.5e-243)
(* z t)
(if (<=
(* x y)
3.8e-223)
(* a b)
(if (<=
(*
x
y)
1.65e-207)
(* z t)
(if (<=
(*
x
y)
7.6e-180)
(*
a
b)
(if (<=
(*
x
y)
1.1e-177)
(*
z
t)
(if (<=
(*
x
y)
1.4e-176)
(*
a
b)
(if (<=
(*
x
y)
4.6e-173)
(*
z
t)
(if (<=
(*
x
y)
6.8e-155)
(*
a
b)
(if (<=
(*
x
y)
7e-155)
(*
x
y)
(if (<=
(*
x
y)
1.7e-114)
(*
z
t)
(if (<=
(*
x
y)
1.25e-107)
(*
a
b)
(if (<=
(*
x
y)
1.3e-107)
(*
x
y)
(if (<=
(*
x
y)
7e-96)
(*
z
t)
(if (<=
(*
x
y)
5.4e-83)
(*
a
b)
(if (<=
(*
x
y)
1.45e-77)
(*
z
t)
(if (<=
(*
x
y)
2.55e-76)
(*
a
b)
(if (<=
(*
x
y)
3.7e-75)
(*
z
t)
(if (<=
(*
x
y)
4.4e-49)
(*
a
b)
(if (<=
(*
x
y)
5.2e-41)
(*
z
t)
(if (<=
(*
x
y)
1.45e-38)
(*
x
y)
(if (<=
(*
x
y)
7.2e-28)
(*
a
b)
(if (<=
(*
x
y)
310.0)
(*
z
t)
(if (<=
(*
x
y)
155000000.0)
(*
a
b)
(if (<=
(*
x
y)
8.6e+14)
(*
z
t)
(if (<=
(*
x
y)
5e+18)
(*
a
b)
(if (<=
(*
x
y)
2.35e+27)
(*
z
t)
(if (<=
(*
x
y)
3.9e+31)
(*
x
y)
(if (<=
(*
x
y)
6.5e+40)
(*
z
t)
(if (<=
(*
x
y)
1.55e+43)
(*
x
y)
(if (<=
(*
x
y)
2.45e+44)
(*
z
t)
(if (<=
(*
x
y)
1.75e+45)
(*
a
b)
(if (<=
(*
x
y)
4.5e+63)
(*
x
y)
(if (<=
(*
x
y)
2.7e+72)
(*
a
b)
(if (<=
(*
x
y)
6.6e+81)
(*
z
t)
(if (<=
(*
x
y)
7.1e+84)
(*
a
b)
(if (<=
(*
x
y)
2.35e+88)
(*
z
t)
(if (<=
(*
x
y)
1.95e+98)
(*
x
y)
(if (<=
(*
x
y)
5.1e+104)
(*
z
t)
(if (<=
(*
x
y)
1.2e+106)
(*
a
b)
(if (<=
(*
x
y)
1.35e+112)
(*
x
y)
(if (<=
(*
x
y)
5.3e+137)
(*
a
b)
(if (<=
(*
x
y)
1.3e+138)
(*
z
t)
(if (<=
(*
x
y)
4.4e+162)
(*
x
y)
(if (<=
(*
x
y)
3.1e+164)
(*
a
b)
(if (<=
(*
x
y)
4.7e+176)
(*
x
y)
(if (<=
(*
x
y)
4.8e+176)
(*
z
t)
(if (<=
(*
x
y)
7.2e+187)
(*
x
y)
(if (<=
(*
x
y)
1.5e+188)
(*
z
t)
(if (<=
(*
x
y)
1.5e+208)
(*
x
y)
(if (<=
(*
x
y)
1.6e+208)
(*
a
b)
(if (or (<=
(*
x
y)
1.5e+229)
(not
(<=
(*
x
y)
1.55e+229)))
(*
x
y)
(*
z
t)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((x * y) <= -1.85e+108) {
tmp = x * y;
} else if ((x * y) <= -1.5e-51) {
tmp = z * t;
} else if ((x * y) <= -1.45e-51) {
tmp = x * y;
} else if ((x * y) <= -1.45e-57) {
tmp = a * b;
} else if ((x * y) <= -5.2e-58) {
tmp = z * t;
} else if ((x * y) <= -9e-87) {
tmp = a * b;
} else if ((x * y) <= -9.2e-104) {
tmp = z * t;
} else if ((x * y) <= -3.7e-112) {
tmp = a * b;
} else if ((x * y) <= -7.5e-120) {
tmp = z * t;
} else if ((x * y) <= -2.7e-121) {
tmp = a * b;
} else if ((x * y) <= -3.7e-129) {
tmp = z * t;
} else if ((x * y) <= -2.65e-133) {
tmp = a * b;
} else if ((x * y) <= -2.8e-145) {
tmp = z * t;
} else if ((x * y) <= -7.5e-169) {
tmp = a * b;
} else if ((x * y) <= -1.05e-174) {
tmp = z * t;
} else if ((x * y) <= -1e-174) {
tmp = x * y;
} else if ((x * y) <= -5.8e-182) {
tmp = a * b;
} else if ((x * y) <= -3.3e-184) {
tmp = z * t;
} else if ((x * y) <= -2.85e-190) {
tmp = a * b;
} else if ((x * y) <= -2.8e-190) {
tmp = x * y;
} else if ((x * y) <= -3.3e-199) {
tmp = z * t;
} else if ((x * y) <= -1.35e-203) {
tmp = a * b;
} else if ((x * y) <= -9.5e-242) {
tmp = z * t;
} else if ((x * y) <= -8.6e-255) {
tmp = a * b;
} else if ((x * y) <= -1.1e-256) {
tmp = z * t;
} else if ((x * y) <= -2.4e-259) {
tmp = a * b;
} else if ((x * y) <= -5.8e-264) {
tmp = z * t;
} else if ((x * y) <= -5.6e-285) {
tmp = a * b;
} else if ((x * y) <= -7e-308) {
tmp = z * t;
} else if ((x * y) <= 0.0) {
tmp = a * b;
} else if ((x * y) <= 5e-319) {
tmp = z * t;
} else if ((x * y) <= 3.7e-255) {
tmp = a * b;
} else if ((x * y) <= 7.5e-243) {
tmp = z * t;
} else if ((x * y) <= 3.8e-223) {
tmp = a * b;
} else if ((x * y) <= 1.65e-207) {
tmp = z * t;
} else if ((x * y) <= 7.6e-180) {
tmp = a * b;
} else if ((x * y) <= 1.1e-177) {
tmp = z * t;
} else if ((x * y) <= 1.4e-176) {
tmp = a * b;
} else if ((x * y) <= 4.6e-173) {
tmp = z * t;
} else if ((x * y) <= 6.8e-155) {
tmp = a * b;
} else if ((x * y) <= 7e-155) {
tmp = x * y;
} else if ((x * y) <= 1.7e-114) {
tmp = z * t;
} else if ((x * y) <= 1.25e-107) {
tmp = a * b;
} else if ((x * y) <= 1.3e-107) {
tmp = x * y;
} else if ((x * y) <= 7e-96) {
tmp = z * t;
} else if ((x * y) <= 5.4e-83) {
tmp = a * b;
} else if ((x * y) <= 1.45e-77) {
tmp = z * t;
} else if ((x * y) <= 2.55e-76) {
tmp = a * b;
} else if ((x * y) <= 3.7e-75) {
tmp = z * t;
} else if ((x * y) <= 4.4e-49) {
tmp = a * b;
} else if ((x * y) <= 5.2e-41) {
tmp = z * t;
} else if ((x * y) <= 1.45e-38) {
tmp = x * y;
} else if ((x * y) <= 7.2e-28) {
tmp = a * b;
} else if ((x * y) <= 310.0) {
tmp = z * t;
} else if ((x * y) <= 155000000.0) {
tmp = a * b;
} else if ((x * y) <= 8.6e+14) {
tmp = z * t;
} else if ((x * y) <= 5e+18) {
tmp = a * b;
} else if ((x * y) <= 2.35e+27) {
tmp = z * t;
} else if ((x * y) <= 3.9e+31) {
tmp = x * y;
} else if ((x * y) <= 6.5e+40) {
tmp = z * t;
} else if ((x * y) <= 1.55e+43) {
tmp = x * y;
} else if ((x * y) <= 2.45e+44) {
tmp = z * t;
} else if ((x * y) <= 1.75e+45) {
tmp = a * b;
} else if ((x * y) <= 4.5e+63) {
tmp = x * y;
} else if ((x * y) <= 2.7e+72) {
tmp = a * b;
} else if ((x * y) <= 6.6e+81) {
tmp = z * t;
} else if ((x * y) <= 7.1e+84) {
tmp = a * b;
} else if ((x * y) <= 2.35e+88) {
tmp = z * t;
} else if ((x * y) <= 1.95e+98) {
tmp = x * y;
} else if ((x * y) <= 5.1e+104) {
tmp = z * t;
} else if ((x * y) <= 1.2e+106) {
tmp = a * b;
} else if ((x * y) <= 1.35e+112) {
tmp = x * y;
} else if ((x * y) <= 5.3e+137) {
tmp = a * b;
} else if ((x * y) <= 1.3e+138) {
tmp = z * t;
} else if ((x * y) <= 4.4e+162) {
tmp = x * y;
} else if ((x * y) <= 3.1e+164) {
tmp = a * b;
} else if ((x * y) <= 4.7e+176) {
tmp = x * y;
} else if ((x * y) <= 4.8e+176) {
tmp = z * t;
} else if ((x * y) <= 7.2e+187) {
tmp = x * y;
} else if ((x * y) <= 1.5e+188) {
tmp = z * t;
} else if ((x * y) <= 1.5e+208) {
tmp = x * y;
} else if ((x * y) <= 1.6e+208) {
tmp = a * b;
} else if (((x * y) <= 1.5e+229) || !((x * y) <= 1.55e+229)) {
tmp = x * y;
} else {
tmp = z * t;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if ((x * y) <= (-1.85d+108)) then
tmp = x * y
else if ((x * y) <= (-1.5d-51)) then
tmp = z * t
else if ((x * y) <= (-1.45d-51)) then
tmp = x * y
else if ((x * y) <= (-1.45d-57)) then
tmp = a * b
else if ((x * y) <= (-5.2d-58)) then
tmp = z * t
else if ((x * y) <= (-9d-87)) then
tmp = a * b
else if ((x * y) <= (-9.2d-104)) then
tmp = z * t
else if ((x * y) <= (-3.7d-112)) then
tmp = a * b
else if ((x * y) <= (-7.5d-120)) then
tmp = z * t
else if ((x * y) <= (-2.7d-121)) then
tmp = a * b
else if ((x * y) <= (-3.7d-129)) then
tmp = z * t
else if ((x * y) <= (-2.65d-133)) then
tmp = a * b
else if ((x * y) <= (-2.8d-145)) then
tmp = z * t
else if ((x * y) <= (-7.5d-169)) then
tmp = a * b
else if ((x * y) <= (-1.05d-174)) then
tmp = z * t
else if ((x * y) <= (-1d-174)) then
tmp = x * y
else if ((x * y) <= (-5.8d-182)) then
tmp = a * b
else if ((x * y) <= (-3.3d-184)) then
tmp = z * t
else if ((x * y) <= (-2.85d-190)) then
tmp = a * b
else if ((x * y) <= (-2.8d-190)) then
tmp = x * y
else if ((x * y) <= (-3.3d-199)) then
tmp = z * t
else if ((x * y) <= (-1.35d-203)) then
tmp = a * b
else if ((x * y) <= (-9.5d-242)) then
tmp = z * t
else if ((x * y) <= (-8.6d-255)) then
tmp = a * b
else if ((x * y) <= (-1.1d-256)) then
tmp = z * t
else if ((x * y) <= (-2.4d-259)) then
tmp = a * b
else if ((x * y) <= (-5.8d-264)) then
tmp = z * t
else if ((x * y) <= (-5.6d-285)) then
tmp = a * b
else if ((x * y) <= (-7d-308)) then
tmp = z * t
else if ((x * y) <= 0.0d0) then
tmp = a * b
else if ((x * y) <= 5d-319) then
tmp = z * t
else if ((x * y) <= 3.7d-255) then
tmp = a * b
else if ((x * y) <= 7.5d-243) then
tmp = z * t
else if ((x * y) <= 3.8d-223) then
tmp = a * b
else if ((x * y) <= 1.65d-207) then
tmp = z * t
else if ((x * y) <= 7.6d-180) then
tmp = a * b
else if ((x * y) <= 1.1d-177) then
tmp = z * t
else if ((x * y) <= 1.4d-176) then
tmp = a * b
else if ((x * y) <= 4.6d-173) then
tmp = z * t
else if ((x * y) <= 6.8d-155) then
tmp = a * b
else if ((x * y) <= 7d-155) then
tmp = x * y
else if ((x * y) <= 1.7d-114) then
tmp = z * t
else if ((x * y) <= 1.25d-107) then
tmp = a * b
else if ((x * y) <= 1.3d-107) then
tmp = x * y
else if ((x * y) <= 7d-96) then
tmp = z * t
else if ((x * y) <= 5.4d-83) then
tmp = a * b
else if ((x * y) <= 1.45d-77) then
tmp = z * t
else if ((x * y) <= 2.55d-76) then
tmp = a * b
else if ((x * y) <= 3.7d-75) then
tmp = z * t
else if ((x * y) <= 4.4d-49) then
tmp = a * b
else if ((x * y) <= 5.2d-41) then
tmp = z * t
else if ((x * y) <= 1.45d-38) then
tmp = x * y
else if ((x * y) <= 7.2d-28) then
tmp = a * b
else if ((x * y) <= 310.0d0) then
tmp = z * t
else if ((x * y) <= 155000000.0d0) then
tmp = a * b
else if ((x * y) <= 8.6d+14) then
tmp = z * t
else if ((x * y) <= 5d+18) then
tmp = a * b
else if ((x * y) <= 2.35d+27) then
tmp = z * t
else if ((x * y) <= 3.9d+31) then
tmp = x * y
else if ((x * y) <= 6.5d+40) then
tmp = z * t
else if ((x * y) <= 1.55d+43) then
tmp = x * y
else if ((x * y) <= 2.45d+44) then
tmp = z * t
else if ((x * y) <= 1.75d+45) then
tmp = a * b
else if ((x * y) <= 4.5d+63) then
tmp = x * y
else if ((x * y) <= 2.7d+72) then
tmp = a * b
else if ((x * y) <= 6.6d+81) then
tmp = z * t
else if ((x * y) <= 7.1d+84) then
tmp = a * b
else if ((x * y) <= 2.35d+88) then
tmp = z * t
else if ((x * y) <= 1.95d+98) then
tmp = x * y
else if ((x * y) <= 5.1d+104) then
tmp = z * t
else if ((x * y) <= 1.2d+106) then
tmp = a * b
else if ((x * y) <= 1.35d+112) then
tmp = x * y
else if ((x * y) <= 5.3d+137) then
tmp = a * b
else if ((x * y) <= 1.3d+138) then
tmp = z * t
else if ((x * y) <= 4.4d+162) then
tmp = x * y
else if ((x * y) <= 3.1d+164) then
tmp = a * b
else if ((x * y) <= 4.7d+176) then
tmp = x * y
else if ((x * y) <= 4.8d+176) then
tmp = z * t
else if ((x * y) <= 7.2d+187) then
tmp = x * y
else if ((x * y) <= 1.5d+188) then
tmp = z * t
else if ((x * y) <= 1.5d+208) then
tmp = x * y
else if ((x * y) <= 1.6d+208) then
tmp = a * b
else if (((x * y) <= 1.5d+229) .or. (.not. ((x * y) <= 1.55d+229))) then
tmp = x * y
else
tmp = z * t
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((x * y) <= -1.85e+108) {
tmp = x * y;
} else if ((x * y) <= -1.5e-51) {
tmp = z * t;
} else if ((x * y) <= -1.45e-51) {
tmp = x * y;
} else if ((x * y) <= -1.45e-57) {
tmp = a * b;
} else if ((x * y) <= -5.2e-58) {
tmp = z * t;
} else if ((x * y) <= -9e-87) {
tmp = a * b;
} else if ((x * y) <= -9.2e-104) {
tmp = z * t;
} else if ((x * y) <= -3.7e-112) {
tmp = a * b;
} else if ((x * y) <= -7.5e-120) {
tmp = z * t;
} else if ((x * y) <= -2.7e-121) {
tmp = a * b;
} else if ((x * y) <= -3.7e-129) {
tmp = z * t;
} else if ((x * y) <= -2.65e-133) {
tmp = a * b;
} else if ((x * y) <= -2.8e-145) {
tmp = z * t;
} else if ((x * y) <= -7.5e-169) {
tmp = a * b;
} else if ((x * y) <= -1.05e-174) {
tmp = z * t;
} else if ((x * y) <= -1e-174) {
tmp = x * y;
} else if ((x * y) <= -5.8e-182) {
tmp = a * b;
} else if ((x * y) <= -3.3e-184) {
tmp = z * t;
} else if ((x * y) <= -2.85e-190) {
tmp = a * b;
} else if ((x * y) <= -2.8e-190) {
tmp = x * y;
} else if ((x * y) <= -3.3e-199) {
tmp = z * t;
} else if ((x * y) <= -1.35e-203) {
tmp = a * b;
} else if ((x * y) <= -9.5e-242) {
tmp = z * t;
} else if ((x * y) <= -8.6e-255) {
tmp = a * b;
} else if ((x * y) <= -1.1e-256) {
tmp = z * t;
} else if ((x * y) <= -2.4e-259) {
tmp = a * b;
} else if ((x * y) <= -5.8e-264) {
tmp = z * t;
} else if ((x * y) <= -5.6e-285) {
tmp = a * b;
} else if ((x * y) <= -7e-308) {
tmp = z * t;
} else if ((x * y) <= 0.0) {
tmp = a * b;
} else if ((x * y) <= 5e-319) {
tmp = z * t;
} else if ((x * y) <= 3.7e-255) {
tmp = a * b;
} else if ((x * y) <= 7.5e-243) {
tmp = z * t;
} else if ((x * y) <= 3.8e-223) {
tmp = a * b;
} else if ((x * y) <= 1.65e-207) {
tmp = z * t;
} else if ((x * y) <= 7.6e-180) {
tmp = a * b;
} else if ((x * y) <= 1.1e-177) {
tmp = z * t;
} else if ((x * y) <= 1.4e-176) {
tmp = a * b;
} else if ((x * y) <= 4.6e-173) {
tmp = z * t;
} else if ((x * y) <= 6.8e-155) {
tmp = a * b;
} else if ((x * y) <= 7e-155) {
tmp = x * y;
} else if ((x * y) <= 1.7e-114) {
tmp = z * t;
} else if ((x * y) <= 1.25e-107) {
tmp = a * b;
} else if ((x * y) <= 1.3e-107) {
tmp = x * y;
} else if ((x * y) <= 7e-96) {
tmp = z * t;
} else if ((x * y) <= 5.4e-83) {
tmp = a * b;
} else if ((x * y) <= 1.45e-77) {
tmp = z * t;
} else if ((x * y) <= 2.55e-76) {
tmp = a * b;
} else if ((x * y) <= 3.7e-75) {
tmp = z * t;
} else if ((x * y) <= 4.4e-49) {
tmp = a * b;
} else if ((x * y) <= 5.2e-41) {
tmp = z * t;
} else if ((x * y) <= 1.45e-38) {
tmp = x * y;
} else if ((x * y) <= 7.2e-28) {
tmp = a * b;
} else if ((x * y) <= 310.0) {
tmp = z * t;
} else if ((x * y) <= 155000000.0) {
tmp = a * b;
} else if ((x * y) <= 8.6e+14) {
tmp = z * t;
} else if ((x * y) <= 5e+18) {
tmp = a * b;
} else if ((x * y) <= 2.35e+27) {
tmp = z * t;
} else if ((x * y) <= 3.9e+31) {
tmp = x * y;
} else if ((x * y) <= 6.5e+40) {
tmp = z * t;
} else if ((x * y) <= 1.55e+43) {
tmp = x * y;
} else if ((x * y) <= 2.45e+44) {
tmp = z * t;
} else if ((x * y) <= 1.75e+45) {
tmp = a * b;
} else if ((x * y) <= 4.5e+63) {
tmp = x * y;
} else if ((x * y) <= 2.7e+72) {
tmp = a * b;
} else if ((x * y) <= 6.6e+81) {
tmp = z * t;
} else if ((x * y) <= 7.1e+84) {
tmp = a * b;
} else if ((x * y) <= 2.35e+88) {
tmp = z * t;
} else if ((x * y) <= 1.95e+98) {
tmp = x * y;
} else if ((x * y) <= 5.1e+104) {
tmp = z * t;
} else if ((x * y) <= 1.2e+106) {
tmp = a * b;
} else if ((x * y) <= 1.35e+112) {
tmp = x * y;
} else if ((x * y) <= 5.3e+137) {
tmp = a * b;
} else if ((x * y) <= 1.3e+138) {
tmp = z * t;
} else if ((x * y) <= 4.4e+162) {
tmp = x * y;
} else if ((x * y) <= 3.1e+164) {
tmp = a * b;
} else if ((x * y) <= 4.7e+176) {
tmp = x * y;
} else if ((x * y) <= 4.8e+176) {
tmp = z * t;
} else if ((x * y) <= 7.2e+187) {
tmp = x * y;
} else if ((x * y) <= 1.5e+188) {
tmp = z * t;
} else if ((x * y) <= 1.5e+208) {
tmp = x * y;
} else if ((x * y) <= 1.6e+208) {
tmp = a * b;
} else if (((x * y) <= 1.5e+229) || !((x * y) <= 1.55e+229)) {
tmp = x * y;
} else {
tmp = z * t;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if (x * y) <= -1.85e+108: tmp = x * y elif (x * y) <= -1.5e-51: tmp = z * t elif (x * y) <= -1.45e-51: tmp = x * y elif (x * y) <= -1.45e-57: tmp = a * b elif (x * y) <= -5.2e-58: tmp = z * t elif (x * y) <= -9e-87: tmp = a * b elif (x * y) <= -9.2e-104: tmp = z * t elif (x * y) <= -3.7e-112: tmp = a * b elif (x * y) <= -7.5e-120: tmp = z * t elif (x * y) <= -2.7e-121: tmp = a * b elif (x * y) <= -3.7e-129: tmp = z * t elif (x * y) <= -2.65e-133: tmp = a * b elif (x * y) <= -2.8e-145: tmp = z * t elif (x * y) <= -7.5e-169: tmp = a * b elif (x * y) <= -1.05e-174: tmp = z * t elif (x * y) <= -1e-174: tmp = x * y elif (x * y) <= -5.8e-182: tmp = a * b elif (x * y) <= -3.3e-184: tmp = z * t elif (x * y) <= -2.85e-190: tmp = a * b elif (x * y) <= -2.8e-190: tmp = x * y elif (x * y) <= -3.3e-199: tmp = z * t elif (x * y) <= -1.35e-203: tmp = a * b elif (x * y) <= -9.5e-242: tmp = z * t elif (x * y) <= -8.6e-255: tmp = a * b elif (x * y) <= -1.1e-256: tmp = z * t elif (x * y) <= -2.4e-259: tmp = a * b elif (x * y) <= -5.8e-264: tmp = z * t elif (x * y) <= -5.6e-285: tmp = a * b elif (x * y) <= -7e-308: tmp = z * t elif (x * y) <= 0.0: tmp = a * b elif (x * y) <= 5e-319: tmp = z * t elif (x * y) <= 3.7e-255: tmp = a * b elif (x * y) <= 7.5e-243: tmp = z * t elif (x * y) <= 3.8e-223: tmp = a * b elif (x * y) <= 1.65e-207: tmp = z * t elif (x * y) <= 7.6e-180: tmp = a * b elif (x * y) <= 1.1e-177: tmp = z * t elif (x * y) <= 1.4e-176: tmp = a * b elif (x * y) <= 4.6e-173: tmp = z * t elif (x * y) <= 6.8e-155: tmp = a * b elif (x * y) <= 7e-155: tmp = x * y elif (x * y) <= 1.7e-114: tmp = z * t elif (x * y) <= 1.25e-107: tmp = a * b elif (x * y) <= 1.3e-107: tmp = x * y elif (x * y) <= 7e-96: tmp = z * t elif (x * y) <= 5.4e-83: tmp = a * b elif (x * y) <= 1.45e-77: tmp = z * t elif (x * y) <= 2.55e-76: tmp = a * b elif (x * y) <= 3.7e-75: tmp = z * t elif (x * y) <= 4.4e-49: tmp = a * b elif (x * y) <= 5.2e-41: tmp = z * t elif (x * y) <= 1.45e-38: tmp = x * y elif (x * y) <= 7.2e-28: tmp = a * b elif (x * y) <= 310.0: tmp = z * t elif (x * y) <= 155000000.0: tmp = a * b elif (x * y) <= 8.6e+14: tmp = z * t elif (x * y) <= 5e+18: tmp = a * b elif (x * y) <= 2.35e+27: tmp = z * t elif (x * y) <= 3.9e+31: tmp = x * y elif (x * y) <= 6.5e+40: tmp = z * t elif (x * y) <= 1.55e+43: tmp = x * y elif (x * y) <= 2.45e+44: tmp = z * t elif (x * y) <= 1.75e+45: tmp = a * b elif (x * y) <= 4.5e+63: tmp = x * y elif (x * y) <= 2.7e+72: tmp = a * b elif (x * y) <= 6.6e+81: tmp = z * t elif (x * y) <= 7.1e+84: tmp = a * b elif (x * y) <= 2.35e+88: tmp = z * t elif (x * y) <= 1.95e+98: tmp = x * y elif (x * y) <= 5.1e+104: tmp = z * t elif (x * y) <= 1.2e+106: tmp = a * b elif (x * y) <= 1.35e+112: tmp = x * y elif (x * y) <= 5.3e+137: tmp = a * b elif (x * y) <= 1.3e+138: tmp = z * t elif (x * y) <= 4.4e+162: tmp = x * y elif (x * y) <= 3.1e+164: tmp = a * b elif (x * y) <= 4.7e+176: tmp = x * y elif (x * y) <= 4.8e+176: tmp = z * t elif (x * y) <= 7.2e+187: tmp = x * y elif (x * y) <= 1.5e+188: tmp = z * t elif (x * y) <= 1.5e+208: tmp = x * y elif (x * y) <= 1.6e+208: tmp = a * b elif ((x * y) <= 1.5e+229) or not ((x * y) <= 1.55e+229): tmp = x * y else: tmp = z * t return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (Float64(x * y) <= -1.85e+108) tmp = Float64(x * y); elseif (Float64(x * y) <= -1.5e-51) tmp = Float64(z * t); elseif (Float64(x * y) <= -1.45e-51) tmp = Float64(x * y); elseif (Float64(x * y) <= -1.45e-57) tmp = Float64(a * b); elseif (Float64(x * y) <= -5.2e-58) tmp = Float64(z * t); elseif (Float64(x * y) <= -9e-87) tmp = Float64(a * b); elseif (Float64(x * y) <= -9.2e-104) tmp = Float64(z * t); elseif (Float64(x * y) <= -3.7e-112) tmp = Float64(a * b); elseif (Float64(x * y) <= -7.5e-120) tmp = Float64(z * t); elseif (Float64(x * y) <= -2.7e-121) tmp = Float64(a * b); elseif (Float64(x * y) <= -3.7e-129) tmp = Float64(z * t); elseif (Float64(x * y) <= -2.65e-133) tmp = Float64(a * b); elseif (Float64(x * y) <= -2.8e-145) tmp = Float64(z * t); elseif (Float64(x * y) <= -7.5e-169) tmp = Float64(a * b); elseif (Float64(x * y) <= -1.05e-174) tmp = Float64(z * t); elseif (Float64(x * y) <= -1e-174) tmp = Float64(x * y); elseif (Float64(x * y) <= -5.8e-182) tmp = Float64(a * b); elseif (Float64(x * y) <= -3.3e-184) tmp = Float64(z * t); elseif (Float64(x * y) <= -2.85e-190) tmp = Float64(a * b); elseif (Float64(x * y) <= -2.8e-190) tmp = Float64(x * y); elseif (Float64(x * y) <= -3.3e-199) tmp = Float64(z * t); elseif (Float64(x * y) <= -1.35e-203) tmp = Float64(a * b); elseif (Float64(x * y) <= -9.5e-242) tmp = Float64(z * t); elseif (Float64(x * y) <= -8.6e-255) tmp = Float64(a * b); elseif (Float64(x * y) <= -1.1e-256) tmp = Float64(z * t); elseif (Float64(x * y) <= -2.4e-259) tmp = Float64(a * b); elseif (Float64(x * y) <= -5.8e-264) tmp = Float64(z * t); elseif (Float64(x * y) <= -5.6e-285) tmp = Float64(a * b); elseif (Float64(x * y) <= -7e-308) tmp = Float64(z * t); elseif (Float64(x * y) <= 0.0) tmp = Float64(a * b); elseif (Float64(x * y) <= 5e-319) tmp = Float64(z * t); elseif (Float64(x * y) <= 3.7e-255) tmp = Float64(a * b); elseif (Float64(x * y) <= 7.5e-243) tmp = Float64(z * t); elseif (Float64(x * y) <= 3.8e-223) tmp = Float64(a * b); elseif (Float64(x * y) <= 1.65e-207) tmp = Float64(z * t); elseif (Float64(x * y) <= 7.6e-180) tmp = Float64(a * b); elseif (Float64(x * y) <= 1.1e-177) tmp = Float64(z * t); elseif (Float64(x * y) <= 1.4e-176) tmp = Float64(a * b); elseif (Float64(x * y) <= 4.6e-173) tmp = Float64(z * t); elseif (Float64(x * y) <= 6.8e-155) tmp = Float64(a * b); elseif (Float64(x * y) <= 7e-155) tmp = Float64(x * y); elseif (Float64(x * y) <= 1.7e-114) tmp = Float64(z * t); elseif (Float64(x * y) <= 1.25e-107) tmp = Float64(a * b); elseif (Float64(x * y) <= 1.3e-107) tmp = Float64(x * y); elseif (Float64(x * y) <= 7e-96) tmp = Float64(z * t); elseif (Float64(x * y) <= 5.4e-83) tmp = Float64(a * b); elseif (Float64(x * y) <= 1.45e-77) tmp = Float64(z * t); elseif (Float64(x * y) <= 2.55e-76) tmp = Float64(a * b); elseif (Float64(x * y) <= 3.7e-75) tmp = Float64(z * t); elseif (Float64(x * y) <= 4.4e-49) tmp = Float64(a * b); elseif (Float64(x * y) <= 5.2e-41) tmp = Float64(z * t); elseif (Float64(x * y) <= 1.45e-38) tmp = Float64(x * y); elseif (Float64(x * y) <= 7.2e-28) tmp = Float64(a * b); elseif (Float64(x * y) <= 310.0) tmp = Float64(z * t); elseif (Float64(x * y) <= 155000000.0) tmp = Float64(a * b); elseif (Float64(x * y) <= 8.6e+14) tmp = Float64(z * t); elseif (Float64(x * y) <= 5e+18) tmp = Float64(a * b); elseif (Float64(x * y) <= 2.35e+27) tmp = Float64(z * t); elseif (Float64(x * y) <= 3.9e+31) tmp = Float64(x * y); elseif (Float64(x * y) <= 6.5e+40) tmp = Float64(z * t); elseif (Float64(x * y) <= 1.55e+43) tmp = Float64(x * y); elseif (Float64(x * y) <= 2.45e+44) tmp = Float64(z * t); elseif (Float64(x * y) <= 1.75e+45) tmp = Float64(a * b); elseif (Float64(x * y) <= 4.5e+63) tmp = Float64(x * y); elseif (Float64(x * y) <= 2.7e+72) tmp = Float64(a * b); elseif (Float64(x * y) <= 6.6e+81) tmp = Float64(z * t); elseif (Float64(x * y) <= 7.1e+84) tmp = Float64(a * b); elseif (Float64(x * y) <= 2.35e+88) tmp = Float64(z * t); elseif (Float64(x * y) <= 1.95e+98) tmp = Float64(x * y); elseif (Float64(x * y) <= 5.1e+104) tmp = Float64(z * t); elseif (Float64(x * y) <= 1.2e+106) tmp = Float64(a * b); elseif (Float64(x * y) <= 1.35e+112) tmp = Float64(x * y); elseif (Float64(x * y) <= 5.3e+137) tmp = Float64(a * b); elseif (Float64(x * y) <= 1.3e+138) tmp = Float64(z * t); elseif (Float64(x * y) <= 4.4e+162) tmp = Float64(x * y); elseif (Float64(x * y) <= 3.1e+164) tmp = Float64(a * b); elseif (Float64(x * y) <= 4.7e+176) tmp = Float64(x * y); elseif (Float64(x * y) <= 4.8e+176) tmp = Float64(z * t); elseif (Float64(x * y) <= 7.2e+187) tmp = Float64(x * y); elseif (Float64(x * y) <= 1.5e+188) tmp = Float64(z * t); elseif (Float64(x * y) <= 1.5e+208) tmp = Float64(x * y); elseif (Float64(x * y) <= 1.6e+208) tmp = Float64(a * b); elseif ((Float64(x * y) <= 1.5e+229) || !(Float64(x * y) <= 1.55e+229)) tmp = Float64(x * y); else tmp = Float64(z * t); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if ((x * y) <= -1.85e+108) tmp = x * y; elseif ((x * y) <= -1.5e-51) tmp = z * t; elseif ((x * y) <= -1.45e-51) tmp = x * y; elseif ((x * y) <= -1.45e-57) tmp = a * b; elseif ((x * y) <= -5.2e-58) tmp = z * t; elseif ((x * y) <= -9e-87) tmp = a * b; elseif ((x * y) <= -9.2e-104) tmp = z * t; elseif ((x * y) <= -3.7e-112) tmp = a * b; elseif ((x * y) <= -7.5e-120) tmp = z * t; elseif ((x * y) <= -2.7e-121) tmp = a * b; elseif ((x * y) <= -3.7e-129) tmp = z * t; elseif ((x * y) <= -2.65e-133) tmp = a * b; elseif ((x * y) <= -2.8e-145) tmp = z * t; elseif ((x * y) <= -7.5e-169) tmp = a * b; elseif ((x * y) <= -1.05e-174) tmp = z * t; elseif ((x * y) <= -1e-174) tmp = x * y; elseif ((x * y) <= -5.8e-182) tmp = a * b; elseif ((x * y) <= -3.3e-184) tmp = z * t; elseif ((x * y) <= -2.85e-190) tmp = a * b; elseif ((x * y) <= -2.8e-190) tmp = x * y; elseif ((x * y) <= -3.3e-199) tmp = z * t; elseif ((x * y) <= -1.35e-203) tmp = a * b; elseif ((x * y) <= -9.5e-242) tmp = z * t; elseif ((x * y) <= -8.6e-255) tmp = a * b; elseif ((x * y) <= -1.1e-256) tmp = z * t; elseif ((x * y) <= -2.4e-259) tmp = a * b; elseif ((x * y) <= -5.8e-264) tmp = z * t; elseif ((x * y) <= -5.6e-285) tmp = a * b; elseif ((x * y) <= -7e-308) tmp = z * t; elseif ((x * y) <= 0.0) tmp = a * b; elseif ((x * y) <= 5e-319) tmp = z * t; elseif ((x * y) <= 3.7e-255) tmp = a * b; elseif ((x * y) <= 7.5e-243) tmp = z * t; elseif ((x * y) <= 3.8e-223) tmp = a * b; elseif ((x * y) <= 1.65e-207) tmp = z * t; elseif ((x * y) <= 7.6e-180) tmp = a * b; elseif ((x * y) <= 1.1e-177) tmp = z * t; elseif ((x * y) <= 1.4e-176) tmp = a * b; elseif ((x * y) <= 4.6e-173) tmp = z * t; elseif ((x * y) <= 6.8e-155) tmp = a * b; elseif ((x * y) <= 7e-155) tmp = x * y; elseif ((x * y) <= 1.7e-114) tmp = z * t; elseif ((x * y) <= 1.25e-107) tmp = a * b; elseif ((x * y) <= 1.3e-107) tmp = x * y; elseif ((x * y) <= 7e-96) tmp = z * t; elseif ((x * y) <= 5.4e-83) tmp = a * b; elseif ((x * y) <= 1.45e-77) tmp = z * t; elseif ((x * y) <= 2.55e-76) tmp = a * b; elseif ((x * y) <= 3.7e-75) tmp = z * t; elseif ((x * y) <= 4.4e-49) tmp = a * b; elseif ((x * y) <= 5.2e-41) tmp = z * t; elseif ((x * y) <= 1.45e-38) tmp = x * y; elseif ((x * y) <= 7.2e-28) tmp = a * b; elseif ((x * y) <= 310.0) tmp = z * t; elseif ((x * y) <= 155000000.0) tmp = a * b; elseif ((x * y) <= 8.6e+14) tmp = z * t; elseif ((x * y) <= 5e+18) tmp = a * b; elseif ((x * y) <= 2.35e+27) tmp = z * t; elseif ((x * y) <= 3.9e+31) tmp = x * y; elseif ((x * y) <= 6.5e+40) tmp = z * t; elseif ((x * y) <= 1.55e+43) tmp = x * y; elseif ((x * y) <= 2.45e+44) tmp = z * t; elseif ((x * y) <= 1.75e+45) tmp = a * b; elseif ((x * y) <= 4.5e+63) tmp = x * y; elseif ((x * y) <= 2.7e+72) tmp = a * b; elseif ((x * y) <= 6.6e+81) tmp = z * t; elseif ((x * y) <= 7.1e+84) tmp = a * b; elseif ((x * y) <= 2.35e+88) tmp = z * t; elseif ((x * y) <= 1.95e+98) tmp = x * y; elseif ((x * y) <= 5.1e+104) tmp = z * t; elseif ((x * y) <= 1.2e+106) tmp = a * b; elseif ((x * y) <= 1.35e+112) tmp = x * y; elseif ((x * y) <= 5.3e+137) tmp = a * b; elseif ((x * y) <= 1.3e+138) tmp = z * t; elseif ((x * y) <= 4.4e+162) tmp = x * y; elseif ((x * y) <= 3.1e+164) tmp = a * b; elseif ((x * y) <= 4.7e+176) tmp = x * y; elseif ((x * y) <= 4.8e+176) tmp = z * t; elseif ((x * y) <= 7.2e+187) tmp = x * y; elseif ((x * y) <= 1.5e+188) tmp = z * t; elseif ((x * y) <= 1.5e+208) tmp = x * y; elseif ((x * y) <= 1.6e+208) tmp = a * b; elseif (((x * y) <= 1.5e+229) || ~(((x * y) <= 1.55e+229))) tmp = x * y; else tmp = z * t; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[N[(x * y), $MachinePrecision], -1.85e+108], N[(x * y), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -1.5e-51], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -1.45e-51], N[(x * y), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -1.45e-57], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -5.2e-58], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -9e-87], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -9.2e-104], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -3.7e-112], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -7.5e-120], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -2.7e-121], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -3.7e-129], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -2.65e-133], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -2.8e-145], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -7.5e-169], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -1.05e-174], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -1e-174], N[(x * y), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -5.8e-182], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -3.3e-184], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -2.85e-190], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -2.8e-190], N[(x * y), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -3.3e-199], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -1.35e-203], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -9.5e-242], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -8.6e-255], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -1.1e-256], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -2.4e-259], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -5.8e-264], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -5.6e-285], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -7e-308], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 0.0], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 5e-319], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 3.7e-255], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 7.5e-243], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 3.8e-223], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 1.65e-207], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 7.6e-180], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 1.1e-177], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 1.4e-176], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 4.6e-173], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 6.8e-155], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 7e-155], N[(x * y), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 1.7e-114], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 1.25e-107], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 1.3e-107], N[(x * y), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 7e-96], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 5.4e-83], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 1.45e-77], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 2.55e-76], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 3.7e-75], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 4.4e-49], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 5.2e-41], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 1.45e-38], N[(x * y), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 7.2e-28], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 310.0], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 155000000.0], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 8.6e+14], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 5e+18], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 2.35e+27], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 3.9e+31], N[(x * y), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 6.5e+40], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 1.55e+43], N[(x * y), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 2.45e+44], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 1.75e+45], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 4.5e+63], N[(x * y), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 2.7e+72], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 6.6e+81], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 7.1e+84], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 2.35e+88], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 1.95e+98], N[(x * y), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 5.1e+104], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 1.2e+106], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 1.35e+112], N[(x * y), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 5.3e+137], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 1.3e+138], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 4.4e+162], N[(x * y), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 3.1e+164], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 4.7e+176], N[(x * y), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 4.8e+176], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 7.2e+187], N[(x * y), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 1.5e+188], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 1.5e+208], N[(x * y), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 1.6e+208], N[(a * b), $MachinePrecision], If[Or[LessEqual[N[(x * y), $MachinePrecision], 1.5e+229], N[Not[LessEqual[N[(x * y), $MachinePrecision], 1.55e+229]], $MachinePrecision]], N[(x * y), $MachinePrecision], N[(z * t), $MachinePrecision]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \cdot y \leq -1.85 \cdot 10^{+108}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;x \cdot y \leq -1.5 \cdot 10^{-51}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq -1.45 \cdot 10^{-51}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;x \cdot y \leq -1.45 \cdot 10^{-57}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq -5.2 \cdot 10^{-58}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq -9 \cdot 10^{-87}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq -9.2 \cdot 10^{-104}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq -3.7 \cdot 10^{-112}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq -7.5 \cdot 10^{-120}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq -2.7 \cdot 10^{-121}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq -3.7 \cdot 10^{-129}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq -2.65 \cdot 10^{-133}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq -2.8 \cdot 10^{-145}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq -7.5 \cdot 10^{-169}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq -1.05 \cdot 10^{-174}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq -1 \cdot 10^{-174}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;x \cdot y \leq -5.8 \cdot 10^{-182}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq -3.3 \cdot 10^{-184}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq -2.85 \cdot 10^{-190}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq -2.8 \cdot 10^{-190}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;x \cdot y \leq -3.3 \cdot 10^{-199}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq -1.35 \cdot 10^{-203}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq -9.5 \cdot 10^{-242}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq -8.6 \cdot 10^{-255}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq -1.1 \cdot 10^{-256}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq -2.4 \cdot 10^{-259}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq -5.8 \cdot 10^{-264}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq -5.6 \cdot 10^{-285}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq -7 \cdot 10^{-308}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq 0:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{-319}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq 3.7 \cdot 10^{-255}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq 7.5 \cdot 10^{-243}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq 3.8 \cdot 10^{-223}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq 1.65 \cdot 10^{-207}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq 7.6 \cdot 10^{-180}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq 1.1 \cdot 10^{-177}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq 1.4 \cdot 10^{-176}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq 4.6 \cdot 10^{-173}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq 6.8 \cdot 10^{-155}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq 7 \cdot 10^{-155}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;x \cdot y \leq 1.7 \cdot 10^{-114}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq 1.25 \cdot 10^{-107}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq 1.3 \cdot 10^{-107}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;x \cdot y \leq 7 \cdot 10^{-96}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq 5.4 \cdot 10^{-83}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq 1.45 \cdot 10^{-77}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq 2.55 \cdot 10^{-76}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq 3.7 \cdot 10^{-75}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq 4.4 \cdot 10^{-49}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq 5.2 \cdot 10^{-41}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq 1.45 \cdot 10^{-38}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;x \cdot y \leq 7.2 \cdot 10^{-28}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq 310:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq 155000000:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq 8.6 \cdot 10^{+14}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{+18}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq 2.35 \cdot 10^{+27}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq 3.9 \cdot 10^{+31}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;x \cdot y \leq 6.5 \cdot 10^{+40}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq 1.55 \cdot 10^{+43}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;x \cdot y \leq 2.45 \cdot 10^{+44}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq 1.75 \cdot 10^{+45}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq 4.5 \cdot 10^{+63}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;x \cdot y \leq 2.7 \cdot 10^{+72}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq 6.6 \cdot 10^{+81}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq 7.1 \cdot 10^{+84}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq 2.35 \cdot 10^{+88}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq 1.95 \cdot 10^{+98}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;x \cdot y \leq 5.1 \cdot 10^{+104}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq 1.2 \cdot 10^{+106}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq 1.35 \cdot 10^{+112}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;x \cdot y \leq 5.3 \cdot 10^{+137}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq 1.3 \cdot 10^{+138}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq 4.4 \cdot 10^{+162}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;x \cdot y \leq 3.1 \cdot 10^{+164}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq 4.7 \cdot 10^{+176}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;x \cdot y \leq 4.8 \cdot 10^{+176}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq 7.2 \cdot 10^{+187}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;x \cdot y \leq 1.5 \cdot 10^{+188}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq 1.5 \cdot 10^{+208}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;x \cdot y \leq 1.6 \cdot 10^{+208}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq 1.5 \cdot 10^{+229} \lor \neg \left(x \cdot y \leq 1.55 \cdot 10^{+229}\right):\\
\;\;\;\;x \cdot y\\
\mathbf{else}:\\
\;\;\;\;z \cdot t\\
\end{array}
\end{array}
if (*.f64 x y) < -1.8499999999999999e108 or -1.50000000000000001e-51 < (*.f64 x y) < -1.44999999999999986e-51 or -1.05000000000000005e-174 < (*.f64 x y) < -1e-174 or -2.84999999999999987e-190 < (*.f64 x y) < -2.80000000000000005e-190 or 6.8e-155 < (*.f64 x y) < 7.00000000000000031e-155 or 1.24999999999999993e-107 < (*.f64 x y) < 1.3e-107 or 5.1999999999999999e-41 < (*.f64 x y) < 1.44999999999999997e-38 or 2.34999999999999988e27 < (*.f64 x y) < 3.89999999999999999e31 or 6.5000000000000001e40 < (*.f64 x y) < 1.5500000000000001e43 or 1.75000000000000011e45 < (*.f64 x y) < 4.50000000000000017e63 or 2.35000000000000004e88 < (*.f64 x y) < 1.95e98 or 1.2e106 < (*.f64 x y) < 1.3500000000000001e112 or 1.3e138 < (*.f64 x y) < 4.4000000000000004e162 or 3.1000000000000002e164 < (*.f64 x y) < 4.69999999999999981e176 or 4.8000000000000003e176 < (*.f64 x y) < 7.20000000000000072e187 or 1.5e188 < (*.f64 x y) < 1.49999999999999997e208 or 1.6000000000000001e208 < (*.f64 x y) < 1.49999999999999999e229 or 1.55000000000000007e229 < (*.f64 x y) Initial program 92.5%
Taylor expanded in x around inf 80.6%
if -1.8499999999999999e108 < (*.f64 x y) < -1.50000000000000001e-51 or -1.45000000000000013e-57 < (*.f64 x y) < -5.20000000000000013e-58 or -8.99999999999999915e-87 < (*.f64 x y) < -9.1999999999999998e-104 or -3.6999999999999998e-112 < (*.f64 x y) < -7.5000000000000004e-120 or -2.7000000000000002e-121 < (*.f64 x y) < -3.7000000000000002e-129 or -2.64999999999999992e-133 < (*.f64 x y) < -2.8000000000000001e-145 or -7.49999999999999978e-169 < (*.f64 x y) < -1.05000000000000005e-174 or -5.79999999999999974e-182 < (*.f64 x y) < -3.2999999999999997e-184 or -2.80000000000000005e-190 < (*.f64 x y) < -3.3000000000000002e-199 or -1.34999999999999999e-203 < (*.f64 x y) < -9.4999999999999997e-242 or -8.59999999999999978e-255 < (*.f64 x y) < -1.10000000000000005e-256 or -2.4000000000000001e-259 < (*.f64 x y) < -5.7999999999999997e-264 or -5.59999999999999982e-285 < (*.f64 x y) < -7e-308 or 0.0 < (*.f64 x y) < 4.9999937e-319 or 3.7000000000000002e-255 < (*.f64 x y) < 7.5e-243 or 3.80000000000000012e-223 < (*.f64 x y) < 1.6499999999999999e-207 or 7.59999999999999999e-180 < (*.f64 x y) < 1.10000000000000006e-177 or 1.4000000000000001e-176 < (*.f64 x y) < 4.59999999999999976e-173 or 7.00000000000000031e-155 < (*.f64 x y) < 1.69999999999999991e-114 or 1.3e-107 < (*.f64 x y) < 6.9999999999999998e-96 or 5.39999999999999982e-83 < (*.f64 x y) < 1.4499999999999999e-77 or 2.54999999999999993e-76 < (*.f64 x y) < 3.70000000000000024e-75 or 4.3999999999999998e-49 < (*.f64 x y) < 5.1999999999999999e-41 or 7.1999999999999997e-28 < (*.f64 x y) < 310 or 1.55e8 < (*.f64 x y) < 8.6e14 or 5e18 < (*.f64 x y) < 2.34999999999999988e27 or 3.89999999999999999e31 < (*.f64 x y) < 6.5000000000000001e40 or 1.5500000000000001e43 < (*.f64 x y) < 2.45000000000000018e44 or 2.7000000000000001e72 < (*.f64 x y) < 6.6e81 or 7.0999999999999998e84 < (*.f64 x y) < 2.35000000000000004e88 or 1.95e98 < (*.f64 x y) < 5.1000000000000002e104 or 5.29999999999999968e137 < (*.f64 x y) < 1.3e138 or 4.69999999999999981e176 < (*.f64 x y) < 4.8000000000000003e176 or 7.20000000000000072e187 < (*.f64 x y) < 1.5e188 or 1.49999999999999999e229 < (*.f64 x y) < 1.55000000000000007e229Initial program 97.5%
Taylor expanded in z around inf 79.6%
if -1.44999999999999986e-51 < (*.f64 x y) < -1.45000000000000013e-57 or -5.20000000000000013e-58 < (*.f64 x y) < -8.99999999999999915e-87 or -9.1999999999999998e-104 < (*.f64 x y) < -3.6999999999999998e-112 or -7.5000000000000004e-120 < (*.f64 x y) < -2.7000000000000002e-121 or -3.7000000000000002e-129 < (*.f64 x y) < -2.64999999999999992e-133 or -2.8000000000000001e-145 < (*.f64 x y) < -7.49999999999999978e-169 or -1e-174 < (*.f64 x y) < -5.79999999999999974e-182 or -3.2999999999999997e-184 < (*.f64 x y) < -2.84999999999999987e-190 or -3.3000000000000002e-199 < (*.f64 x y) < -1.34999999999999999e-203 or -9.4999999999999997e-242 < (*.f64 x y) < -8.59999999999999978e-255 or -1.10000000000000005e-256 < (*.f64 x y) < -2.4000000000000001e-259 or -5.7999999999999997e-264 < (*.f64 x y) < -5.59999999999999982e-285 or -7e-308 < (*.f64 x y) < 0.0 or 4.9999937e-319 < (*.f64 x y) < 3.7000000000000002e-255 or 7.5e-243 < (*.f64 x y) < 3.80000000000000012e-223 or 1.6499999999999999e-207 < (*.f64 x y) < 7.59999999999999999e-180 or 1.10000000000000006e-177 < (*.f64 x y) < 1.4000000000000001e-176 or 4.59999999999999976e-173 < (*.f64 x y) < 6.8e-155 or 1.69999999999999991e-114 < (*.f64 x y) < 1.24999999999999993e-107 or 6.9999999999999998e-96 < (*.f64 x y) < 5.39999999999999982e-83 or 1.4499999999999999e-77 < (*.f64 x y) < 2.54999999999999993e-76 or 3.70000000000000024e-75 < (*.f64 x y) < 4.3999999999999998e-49 or 1.44999999999999997e-38 < (*.f64 x y) < 7.1999999999999997e-28 or 310 < (*.f64 x y) < 1.55e8 or 8.6e14 < (*.f64 x y) < 5e18 or 2.45000000000000018e44 < (*.f64 x y) < 1.75000000000000011e45 or 4.50000000000000017e63 < (*.f64 x y) < 2.7000000000000001e72 or 6.6e81 < (*.f64 x y) < 7.0999999999999998e84 or 5.1000000000000002e104 < (*.f64 x y) < 1.2e106 or 1.3500000000000001e112 < (*.f64 x y) < 5.29999999999999968e137 or 4.4000000000000004e162 < (*.f64 x y) < 3.1000000000000002e164 or 1.49999999999999997e208 < (*.f64 x y) < 1.6000000000000001e208Initial program 100.0%
Taylor expanded in a around inf 85.6%
Final simplification81.9%
(FPCore (x y z t a b)
:precision binary64
(if (or (<= (* a b) -6.5e+203)
(and (not (<= (* a b) -4.8e+68))
(or (<= (* a b) -3.65e+64)
(and (not (<= (* a b) -6.2e+37))
(or (<= (* a b) -5.5e+36)
(and (not (<= (* a b) -1.45e+14))
(or (<= (* a b) -52000000000000.0)
(and (not (<= (* a b) -40.0))
(or (<= (* a b) -0.155)
(and (not (<= (* a b) -8e-24))
(or (<= (* a b) -6.8e-24)
(and (not
(<=
(* a b)
-1.35e-39))
(or (<=
(* a b)
-1.45e-53)
(and (not
(<=
(* a b)
-5.5e-86))
(or (<=
(*
a
b)
-5.4e-86)
(and (not
(<=
(*
a
b)
-3.2e-129))
(or (<=
(*
a
b)
-3.1e-129)
(and (not
(<=
(*
a
b)
-1.22e-144))
(or (<=
(*
a
b)
-1.2e-144)
(and (not
(<=
(*
a
b)
-2.3e-182))
(or (<=
(*
a
b)
-2.25e-182)
(and (not
(<=
(*
a
b)
-3.85e-208))
(or (<=
(*
a
b)
-9e-214)
(and (not
(<=
(*
a
b)
-1.65e-273))
(or (<=
(*
a
b)
-1.62e-273)
(and (not
(<=
(*
a
b)
-1.95e-294))
(or (<=
(*
a
b)
-1.9e-294)
(and (not
(<=
(*
a
b)
-2.4e-298))
(or (<=
(*
a
b)
-2.35e-298)
(and (not
(<=
(*
a
b)
3.7e-293))
(or (<=
(*
a
b)
3.8e-293)
(and (not
(<=
(*
a
b)
1.85e-266))
(or (<=
(*
a
b)
2.3e-263)
(and (not
(<=
(*
a
b)
2.1e-254))
(or (<=
(*
a
b)
2.2e-254)
(not
(or (<=
(*
a
b)
4.6e-227)
(and (not
(<=
(*
a
b)
1.2e-222))
(or (<=
(*
a
b)
5.3e-196)
(and (not
(<=
(*
a
b)
5.5e-196))
(or (<=
(*
a
b)
2.8e-172)
(and (not
(<=
(*
a
b)
3e-172))
(or (<=
(*
a
b)
4.3e-129)
(and (not
(or (<=
(*
a
b)
2e-120)
(<=
(*
a
b)
4.2e-58)))
(or (<=
(*
a
b)
1.46e-36)
(and (not
(<=
(*
a
b)
4.5e-36))
(or (<=
(*
a
b)
3.1e-23)
(and (not
(<=
(*
a
b)
7.5e-21))
(or (<=
(*
a
b)
4.5e-13)
(and (not
(<=
(*
a
b)
46000.0))
(or (<=
(*
a
b)
1.05e+28)
(and (not
(<=
(*
a
b)
3.15e+28))
(or (<=
(*
a
b)
3e+31)
(and (not
(<=
(*
a
b)
9.6e+34))
(or (<=
(*
a
b)
3.7e+60)
(and (not
(<=
(*
a
b)
1.95e+70))
(or (<=
(*
a
b)
2.9e+71)
(and (not
(<=
(*
a
b)
3.4e+77))
(or (<=
(*
a
b)
3.5e+78)
(and (not
(<=
(*
a
b)
9.6e+96))
(or (<=
(*
a
b)
6.4e+115)
(and (not
(<=
(*
a
b)
1.3e+118))
(or (<=
(*
a
b)
4.7e+121)
(and (not
(<=
(*
a
b)
9.5e+133))
(or (<=
(*
a
b)
1e+134)
(and (not
(<=
(*
a
b)
1.8e+142))
(or (<=
(*
a
b)
4.5e+146)
(and (not
(<=
(*
a
b)
5.2e+151))
(or (<=
(*
a
b)
1.35e+158)
(and (not
(<=
(*
a
b)
2.4e+201))
(or (<=
(*
a
b)
2.42e+201)
(and (not
(<=
(*
a
b)
1.65e+223))
(<=
(*
a
b)
4.1e+223)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
(* a b)
(* z t)))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (((a * b) <= -6.5e+203) || (!((a * b) <= -4.8e+68) && (((a * b) <= -3.65e+64) || (!((a * b) <= -6.2e+37) && (((a * b) <= -5.5e+36) || (!((a * b) <= -1.45e+14) && (((a * b) <= -52000000000000.0) || (!((a * b) <= -40.0) && (((a * b) <= -0.155) || (!((a * b) <= -8e-24) && (((a * b) <= -6.8e-24) || (!((a * b) <= -1.35e-39) && (((a * b) <= -1.45e-53) || (!((a * b) <= -5.5e-86) && (((a * b) <= -5.4e-86) || (!((a * b) <= -3.2e-129) && (((a * b) <= -3.1e-129) || (!((a * b) <= -1.22e-144) && (((a * b) <= -1.2e-144) || (!((a * b) <= -2.3e-182) && (((a * b) <= -2.25e-182) || (!((a * b) <= -3.85e-208) && (((a * b) <= -9e-214) || (!((a * b) <= -1.65e-273) && (((a * b) <= -1.62e-273) || (!((a * b) <= -1.95e-294) && (((a * b) <= -1.9e-294) || (!((a * b) <= -2.4e-298) && (((a * b) <= -2.35e-298) || (!((a * b) <= 3.7e-293) && (((a * b) <= 3.8e-293) || (!((a * b) <= 1.85e-266) && (((a * b) <= 2.3e-263) || (!((a * b) <= 2.1e-254) && (((a * b) <= 2.2e-254) || !(((a * b) <= 4.6e-227) || (!((a * b) <= 1.2e-222) && (((a * b) <= 5.3e-196) || (!((a * b) <= 5.5e-196) && (((a * b) <= 2.8e-172) || (!((a * b) <= 3e-172) && (((a * b) <= 4.3e-129) || (!(((a * b) <= 2e-120) || ((a * b) <= 4.2e-58)) && (((a * b) <= 1.46e-36) || (!((a * b) <= 4.5e-36) && (((a * b) <= 3.1e-23) || (!((a * b) <= 7.5e-21) && (((a * b) <= 4.5e-13) || (!((a * b) <= 46000.0) && (((a * b) <= 1.05e+28) || (!((a * b) <= 3.15e+28) && (((a * b) <= 3e+31) || (!((a * b) <= 9.6e+34) && (((a * b) <= 3.7e+60) || (!((a * b) <= 1.95e+70) && (((a * b) <= 2.9e+71) || (!((a * b) <= 3.4e+77) && (((a * b) <= 3.5e+78) || (!((a * b) <= 9.6e+96) && (((a * b) <= 6.4e+115) || (!((a * b) <= 1.3e+118) && (((a * b) <= 4.7e+121) || (!((a * b) <= 9.5e+133) && (((a * b) <= 1e+134) || (!((a * b) <= 1.8e+142) && (((a * b) <= 4.5e+146) || (!((a * b) <= 5.2e+151) && (((a * b) <= 1.35e+158) || (!((a * b) <= 2.4e+201) && (((a * b) <= 2.42e+201) || (!((a * b) <= 1.65e+223) && ((a * b) <= 4.1e+223)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) {
tmp = a * b;
} else {
tmp = z * t;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: tmp
if (((a * b) <= (-6.5d+203)) .or. (.not. ((a * b) <= (-4.8d+68))) .and. ((a * b) <= (-3.65d+64)) .or. (.not. ((a * b) <= (-6.2d+37))) .and. ((a * b) <= (-5.5d+36)) .or. (.not. ((a * b) <= (-1.45d+14))) .and. ((a * b) <= (-52000000000000.0d0)) .or. (.not. ((a * b) <= (-40.0d0))) .and. ((a * b) <= (-0.155d0)) .or. (.not. ((a * b) <= (-8d-24))) .and. ((a * b) <= (-6.8d-24)) .or. (.not. ((a * b) <= (-1.35d-39))) .and. ((a * b) <= (-1.45d-53)) .or. (.not. ((a * b) <= (-5.5d-86))) .and. ((a * b) <= (-5.4d-86)) .or. (.not. ((a * b) <= (-3.2d-129))) .and. ((a * b) <= (-3.1d-129)) .or. (.not. ((a * b) <= (-1.22d-144))) .and. ((a * b) <= (-1.2d-144)) .or. (.not. ((a * b) <= (-2.3d-182))) .and. ((a * b) <= (-2.25d-182)) .or. (.not. ((a * b) <= (-3.85d-208))) .and. ((a * b) <= (-9d-214)) .or. (.not. ((a * b) <= (-1.65d-273))) .and. ((a * b) <= (-1.62d-273)) .or. (.not. ((a * b) <= (-1.95d-294))) .and. ((a * b) <= (-1.9d-294)) .or. (.not. ((a * b) <= (-2.4d-298))) .and. ((a * b) <= (-2.35d-298)) .or. (.not. ((a * b) <= 3.7d-293)) .and. ((a * b) <= 3.8d-293) .or. (.not. ((a * b) <= 1.85d-266)) .and. ((a * b) <= 2.3d-263) .or. (.not. ((a * b) <= 2.1d-254)) .and. ((a * b) <= 2.2d-254) .or. (.not. ((a * b) <= 4.6d-227) .or. (.not. ((a * b) <= 1.2d-222)) .and. ((a * b) <= 5.3d-196) .or. (.not. ((a * b) <= 5.5d-196)) .and. ((a * b) <= 2.8d-172) .or. (.not. ((a * b) <= 3d-172)) .and. ((a * b) <= 4.3d-129) .or. (.not. ((a * b) <= 2d-120) .or. ((a * b) <= 4.2d-58)) .and. ((a * b) <= 1.46d-36) .or. (.not. ((a * b) <= 4.5d-36)) .and. ((a * b) <= 3.1d-23) .or. (.not. ((a * b) <= 7.5d-21)) .and. ((a * b) <= 4.5d-13) .or. (.not. ((a * b) <= 46000.0d0)) .and. ((a * b) <= 1.05d+28) .or. (.not. ((a * b) <= 3.15d+28)) .and. ((a * b) <= 3d+31) .or. (.not. ((a * b) <= 9.6d+34)) .and. ((a * b) <= 3.7d+60) .or. (.not. ((a * b) <= 1.95d+70)) .and. ((a * b) <= 2.9d+71) .or. (.not. ((a * b) <= 3.4d+77)) .and. ((a * b) <= 3.5d+78) .or. (.not. ((a * b) <= 9.6d+96)) .and. ((a * b) <= 6.4d+115) .or. (.not. ((a * b) <= 1.3d+118)) .and. ((a * b) <= 4.7d+121) .or. (.not. ((a * b) <= 9.5d+133)) .and. ((a * b) <= 1d+134) .or. (.not. ((a * b) <= 1.8d+142)) .and. ((a * b) <= 4.5d+146) .or. (.not. ((a * b) <= 5.2d+151)) .and. ((a * b) <= 1.35d+158) .or. (.not. ((a * b) <= 2.4d+201)) .and. ((a * b) <= 2.42d+201) .or. (.not. ((a * b) <= 1.65d+223)) .and. ((a * b) <= 4.1d+223))) then
tmp = a * b
else
tmp = z * t
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (((a * b) <= -6.5e+203) || (!((a * b) <= -4.8e+68) && (((a * b) <= -3.65e+64) || (!((a * b) <= -6.2e+37) && (((a * b) <= -5.5e+36) || (!((a * b) <= -1.45e+14) && (((a * b) <= -52000000000000.0) || (!((a * b) <= -40.0) && (((a * b) <= -0.155) || (!((a * b) <= -8e-24) && (((a * b) <= -6.8e-24) || (!((a * b) <= -1.35e-39) && (((a * b) <= -1.45e-53) || (!((a * b) <= -5.5e-86) && (((a * b) <= -5.4e-86) || (!((a * b) <= -3.2e-129) && (((a * b) <= -3.1e-129) || (!((a * b) <= -1.22e-144) && (((a * b) <= -1.2e-144) || (!((a * b) <= -2.3e-182) && (((a * b) <= -2.25e-182) || (!((a * b) <= -3.85e-208) && (((a * b) <= -9e-214) || (!((a * b) <= -1.65e-273) && (((a * b) <= -1.62e-273) || (!((a * b) <= -1.95e-294) && (((a * b) <= -1.9e-294) || (!((a * b) <= -2.4e-298) && (((a * b) <= -2.35e-298) || (!((a * b) <= 3.7e-293) && (((a * b) <= 3.8e-293) || (!((a * b) <= 1.85e-266) && (((a * b) <= 2.3e-263) || (!((a * b) <= 2.1e-254) && (((a * b) <= 2.2e-254) || !(((a * b) <= 4.6e-227) || (!((a * b) <= 1.2e-222) && (((a * b) <= 5.3e-196) || (!((a * b) <= 5.5e-196) && (((a * b) <= 2.8e-172) || (!((a * b) <= 3e-172) && (((a * b) <= 4.3e-129) || (!(((a * b) <= 2e-120) || ((a * b) <= 4.2e-58)) && (((a * b) <= 1.46e-36) || (!((a * b) <= 4.5e-36) && (((a * b) <= 3.1e-23) || (!((a * b) <= 7.5e-21) && (((a * b) <= 4.5e-13) || (!((a * b) <= 46000.0) && (((a * b) <= 1.05e+28) || (!((a * b) <= 3.15e+28) && (((a * b) <= 3e+31) || (!((a * b) <= 9.6e+34) && (((a * b) <= 3.7e+60) || (!((a * b) <= 1.95e+70) && (((a * b) <= 2.9e+71) || (!((a * b) <= 3.4e+77) && (((a * b) <= 3.5e+78) || (!((a * b) <= 9.6e+96) && (((a * b) <= 6.4e+115) || (!((a * b) <= 1.3e+118) && (((a * b) <= 4.7e+121) || (!((a * b) <= 9.5e+133) && (((a * b) <= 1e+134) || (!((a * b) <= 1.8e+142) && (((a * b) <= 4.5e+146) || (!((a * b) <= 5.2e+151) && (((a * b) <= 1.35e+158) || (!((a * b) <= 2.4e+201) && (((a * b) <= 2.42e+201) || (!((a * b) <= 1.65e+223) && ((a * b) <= 4.1e+223)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) {
tmp = a * b;
} else {
tmp = z * t;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if ((a * b) <= -6.5e+203) or (not ((a * b) <= -4.8e+68) and (((a * b) <= -3.65e+64) or (not ((a * b) <= -6.2e+37) and (((a * b) <= -5.5e+36) or (not ((a * b) <= -1.45e+14) and (((a * b) <= -52000000000000.0) or (not ((a * b) <= -40.0) and (((a * b) <= -0.155) or (not ((a * b) <= -8e-24) and (((a * b) <= -6.8e-24) or (not ((a * b) <= -1.35e-39) and (((a * b) <= -1.45e-53) or (not ((a * b) <= -5.5e-86) and (((a * b) <= -5.4e-86) or (not ((a * b) <= -3.2e-129) and (((a * b) <= -3.1e-129) or (not ((a * b) <= -1.22e-144) and (((a * b) <= -1.2e-144) or (not ((a * b) <= -2.3e-182) and (((a * b) <= -2.25e-182) or (not ((a * b) <= -3.85e-208) and (((a * b) <= -9e-214) or (not ((a * b) <= -1.65e-273) and (((a * b) <= -1.62e-273) or (not ((a * b) <= -1.95e-294) and (((a * b) <= -1.9e-294) or (not ((a * b) <= -2.4e-298) and (((a * b) <= -2.35e-298) or (not ((a * b) <= 3.7e-293) and (((a * b) <= 3.8e-293) or (not ((a * b) <= 1.85e-266) and (((a * b) <= 2.3e-263) or (not ((a * b) <= 2.1e-254) and (((a * b) <= 2.2e-254) or not (((a * b) <= 4.6e-227) or (not ((a * b) <= 1.2e-222) and (((a * b) <= 5.3e-196) or (not ((a * b) <= 5.5e-196) and (((a * b) <= 2.8e-172) or (not ((a * b) <= 3e-172) and (((a * b) <= 4.3e-129) or (not (((a * b) <= 2e-120) or ((a * b) <= 4.2e-58)) and (((a * b) <= 1.46e-36) or (not ((a * b) <= 4.5e-36) and (((a * b) <= 3.1e-23) or (not ((a * b) <= 7.5e-21) and (((a * b) <= 4.5e-13) or (not ((a * b) <= 46000.0) and (((a * b) <= 1.05e+28) or (not ((a * b) <= 3.15e+28) and (((a * b) <= 3e+31) or (not ((a * b) <= 9.6e+34) and (((a * b) <= 3.7e+60) or (not ((a * b) <= 1.95e+70) and (((a * b) <= 2.9e+71) or (not ((a * b) <= 3.4e+77) and (((a * b) <= 3.5e+78) or (not ((a * b) <= 9.6e+96) and (((a * b) <= 6.4e+115) or (not ((a * b) <= 1.3e+118) and (((a * b) <= 4.7e+121) or (not ((a * b) <= 9.5e+133) and (((a * b) <= 1e+134) or (not ((a * b) <= 1.8e+142) and (((a * b) <= 4.5e+146) or (not ((a * b) <= 5.2e+151) and (((a * b) <= 1.35e+158) or (not ((a * b) <= 2.4e+201) and (((a * b) <= 2.42e+201) or (not ((a * b) <= 1.65e+223) and ((a * b) <= 4.1e+223))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))): tmp = a * b else: tmp = z * t return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((Float64(a * b) <= -6.5e+203) || (!(Float64(a * b) <= -4.8e+68) && ((Float64(a * b) <= -3.65e+64) || (!(Float64(a * b) <= -6.2e+37) && ((Float64(a * b) <= -5.5e+36) || (!(Float64(a * b) <= -1.45e+14) && ((Float64(a * b) <= -52000000000000.0) || (!(Float64(a * b) <= -40.0) && ((Float64(a * b) <= -0.155) || (!(Float64(a * b) <= -8e-24) && ((Float64(a * b) <= -6.8e-24) || (!(Float64(a * b) <= -1.35e-39) && ((Float64(a * b) <= -1.45e-53) || (!(Float64(a * b) <= -5.5e-86) && ((Float64(a * b) <= -5.4e-86) || (!(Float64(a * b) <= -3.2e-129) && ((Float64(a * b) <= -3.1e-129) || (!(Float64(a * b) <= -1.22e-144) && ((Float64(a * b) <= -1.2e-144) || (!(Float64(a * b) <= -2.3e-182) && ((Float64(a * b) <= -2.25e-182) || (!(Float64(a * b) <= -3.85e-208) && ((Float64(a * b) <= -9e-214) || (!(Float64(a * b) <= -1.65e-273) && ((Float64(a * b) <= -1.62e-273) || (!(Float64(a * b) <= -1.95e-294) && ((Float64(a * b) <= -1.9e-294) || (!(Float64(a * b) <= -2.4e-298) && ((Float64(a * b) <= -2.35e-298) || (!(Float64(a * b) <= 3.7e-293) && ((Float64(a * b) <= 3.8e-293) || (!(Float64(a * b) <= 1.85e-266) && ((Float64(a * b) <= 2.3e-263) || (!(Float64(a * b) <= 2.1e-254) && ((Float64(a * b) <= 2.2e-254) || !((Float64(a * b) <= 4.6e-227) || (!(Float64(a * b) <= 1.2e-222) && ((Float64(a * b) <= 5.3e-196) || (!(Float64(a * b) <= 5.5e-196) && ((Float64(a * b) <= 2.8e-172) || (!(Float64(a * b) <= 3e-172) && ((Float64(a * b) <= 4.3e-129) || (!((Float64(a * b) <= 2e-120) || (Float64(a * b) <= 4.2e-58)) && ((Float64(a * b) <= 1.46e-36) || (!(Float64(a * b) <= 4.5e-36) && ((Float64(a * b) <= 3.1e-23) || (!(Float64(a * b) <= 7.5e-21) && ((Float64(a * b) <= 4.5e-13) || (!(Float64(a * b) <= 46000.0) && ((Float64(a * b) <= 1.05e+28) || (!(Float64(a * b) <= 3.15e+28) && ((Float64(a * b) <= 3e+31) || (!(Float64(a * b) <= 9.6e+34) && ((Float64(a * b) <= 3.7e+60) || (!(Float64(a * b) <= 1.95e+70) && ((Float64(a * b) <= 2.9e+71) || (!(Float64(a * b) <= 3.4e+77) && ((Float64(a * b) <= 3.5e+78) || (!(Float64(a * b) <= 9.6e+96) && ((Float64(a * b) <= 6.4e+115) || (!(Float64(a * b) <= 1.3e+118) && ((Float64(a * b) <= 4.7e+121) || (!(Float64(a * b) <= 9.5e+133) && ((Float64(a * b) <= 1e+134) || (!(Float64(a * b) <= 1.8e+142) && ((Float64(a * b) <= 4.5e+146) || (!(Float64(a * b) <= 5.2e+151) && ((Float64(a * b) <= 1.35e+158) || (!(Float64(a * b) <= 2.4e+201) && ((Float64(a * b) <= 2.42e+201) || (!(Float64(a * b) <= 1.65e+223) && (Float64(a * b) <= 4.1e+223)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) tmp = Float64(a * b); else tmp = Float64(z * t); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (((a * b) <= -6.5e+203) || (~(((a * b) <= -4.8e+68)) && (((a * b) <= -3.65e+64) || (~(((a * b) <= -6.2e+37)) && (((a * b) <= -5.5e+36) || (~(((a * b) <= -1.45e+14)) && (((a * b) <= -52000000000000.0) || (~(((a * b) <= -40.0)) && (((a * b) <= -0.155) || (~(((a * b) <= -8e-24)) && (((a * b) <= -6.8e-24) || (~(((a * b) <= -1.35e-39)) && (((a * b) <= -1.45e-53) || (~(((a * b) <= -5.5e-86)) && (((a * b) <= -5.4e-86) || (~(((a * b) <= -3.2e-129)) && (((a * b) <= -3.1e-129) || (~(((a * b) <= -1.22e-144)) && (((a * b) <= -1.2e-144) || (~(((a * b) <= -2.3e-182)) && (((a * b) <= -2.25e-182) || (~(((a * b) <= -3.85e-208)) && (((a * b) <= -9e-214) || (~(((a * b) <= -1.65e-273)) && (((a * b) <= -1.62e-273) || (~(((a * b) <= -1.95e-294)) && (((a * b) <= -1.9e-294) || (~(((a * b) <= -2.4e-298)) && (((a * b) <= -2.35e-298) || (~(((a * b) <= 3.7e-293)) && (((a * b) <= 3.8e-293) || (~(((a * b) <= 1.85e-266)) && (((a * b) <= 2.3e-263) || (~(((a * b) <= 2.1e-254)) && (((a * b) <= 2.2e-254) || ~((((a * b) <= 4.6e-227) || (~(((a * b) <= 1.2e-222)) && (((a * b) <= 5.3e-196) || (~(((a * b) <= 5.5e-196)) && (((a * b) <= 2.8e-172) || (~(((a * b) <= 3e-172)) && (((a * b) <= 4.3e-129) || (~((((a * b) <= 2e-120) || ((a * b) <= 4.2e-58))) && (((a * b) <= 1.46e-36) || (~(((a * b) <= 4.5e-36)) && (((a * b) <= 3.1e-23) || (~(((a * b) <= 7.5e-21)) && (((a * b) <= 4.5e-13) || (~(((a * b) <= 46000.0)) && (((a * b) <= 1.05e+28) || (~(((a * b) <= 3.15e+28)) && (((a * b) <= 3e+31) || (~(((a * b) <= 9.6e+34)) && (((a * b) <= 3.7e+60) || (~(((a * b) <= 1.95e+70)) && (((a * b) <= 2.9e+71) || (~(((a * b) <= 3.4e+77)) && (((a * b) <= 3.5e+78) || (~(((a * b) <= 9.6e+96)) && (((a * b) <= 6.4e+115) || (~(((a * b) <= 1.3e+118)) && (((a * b) <= 4.7e+121) || (~(((a * b) <= 9.5e+133)) && (((a * b) <= 1e+134) || (~(((a * b) <= 1.8e+142)) && (((a * b) <= 4.5e+146) || (~(((a * b) <= 5.2e+151)) && (((a * b) <= 1.35e+158) || (~(((a * b) <= 2.4e+201)) && (((a * b) <= 2.42e+201) || (~(((a * b) <= 1.65e+223)) && ((a * b) <= 4.1e+223))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) tmp = a * b; else tmp = z * t; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[N[(a * b), $MachinePrecision], -6.5e+203], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], -4.8e+68]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], -3.65e+64], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], -6.2e+37]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], -5.5e+36], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], -1.45e+14]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], -52000000000000.0], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], -40.0]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], -0.155], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], -8e-24]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], -6.8e-24], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], -1.35e-39]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], -1.45e-53], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], -5.5e-86]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], -5.4e-86], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], -3.2e-129]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], -3.1e-129], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], -1.22e-144]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], -1.2e-144], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], -2.3e-182]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], -2.25e-182], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], -3.85e-208]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], -9e-214], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], -1.65e-273]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], -1.62e-273], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], -1.95e-294]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], -1.9e-294], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], -2.4e-298]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], -2.35e-298], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], 3.7e-293]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], 3.8e-293], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], 1.85e-266]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], 2.3e-263], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], 2.1e-254]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], 2.2e-254], N[Not[Or[LessEqual[N[(a * b), $MachinePrecision], 4.6e-227], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], 1.2e-222]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], 5.3e-196], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], 5.5e-196]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], 2.8e-172], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], 3e-172]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], 4.3e-129], And[N[Not[Or[LessEqual[N[(a * b), $MachinePrecision], 2e-120], LessEqual[N[(a * b), $MachinePrecision], 4.2e-58]]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], 1.46e-36], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], 4.5e-36]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], 3.1e-23], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], 7.5e-21]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], 4.5e-13], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], 46000.0]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], 1.05e+28], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], 3.15e+28]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], 3e+31], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], 9.6e+34]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], 3.7e+60], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], 1.95e+70]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], 2.9e+71], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], 3.4e+77]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], 3.5e+78], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], 9.6e+96]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], 6.4e+115], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], 1.3e+118]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], 4.7e+121], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], 9.5e+133]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], 1e+134], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], 1.8e+142]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], 4.5e+146], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], 5.2e+151]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], 1.35e+158], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], 2.4e+201]], $MachinePrecision], Or[LessEqual[N[(a * b), $MachinePrecision], 2.42e+201], And[N[Not[LessEqual[N[(a * b), $MachinePrecision], 1.65e+223]], $MachinePrecision], LessEqual[N[(a * b), $MachinePrecision], 4.1e+223]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]], $MachinePrecision]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]], N[(a * b), $MachinePrecision], N[(z * t), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \cdot b \leq -6.5 \cdot 10^{+203} \lor \neg \left(a \cdot b \leq -4.8 \cdot 10^{+68}\right) \land \left(a \cdot b \leq -3.65 \cdot 10^{+64} \lor \neg \left(a \cdot b \leq -6.2 \cdot 10^{+37}\right) \land \left(a \cdot b \leq -5.5 \cdot 10^{+36} \lor \neg \left(a \cdot b \leq -1.45 \cdot 10^{+14}\right) \land \left(a \cdot b \leq -52000000000000 \lor \neg \left(a \cdot b \leq -40\right) \land \left(a \cdot b \leq -0.155 \lor \neg \left(a \cdot b \leq -8 \cdot 10^{-24}\right) \land \left(a \cdot b \leq -6.8 \cdot 10^{-24} \lor \neg \left(a \cdot b \leq -1.35 \cdot 10^{-39}\right) \land \left(a \cdot b \leq -1.45 \cdot 10^{-53} \lor \neg \left(a \cdot b \leq -5.5 \cdot 10^{-86}\right) \land \left(a \cdot b \leq -5.4 \cdot 10^{-86} \lor \neg \left(a \cdot b \leq -3.2 \cdot 10^{-129}\right) \land \left(a \cdot b \leq -3.1 \cdot 10^{-129} \lor \neg \left(a \cdot b \leq -1.22 \cdot 10^{-144}\right) \land \left(a \cdot b \leq -1.2 \cdot 10^{-144} \lor \neg \left(a \cdot b \leq -2.3 \cdot 10^{-182}\right) \land \left(a \cdot b \leq -2.25 \cdot 10^{-182} \lor \neg \left(a \cdot b \leq -3.85 \cdot 10^{-208}\right) \land \left(a \cdot b \leq -9 \cdot 10^{-214} \lor \neg \left(a \cdot b \leq -1.65 \cdot 10^{-273}\right) \land \left(a \cdot b \leq -1.62 \cdot 10^{-273} \lor \neg \left(a \cdot b \leq -1.95 \cdot 10^{-294}\right) \land \left(a \cdot b \leq -1.9 \cdot 10^{-294} \lor \neg \left(a \cdot b \leq -2.4 \cdot 10^{-298}\right) \land \left(a \cdot b \leq -2.35 \cdot 10^{-298} \lor \neg \left(a \cdot b \leq 3.7 \cdot 10^{-293}\right) \land \left(a \cdot b \leq 3.8 \cdot 10^{-293} \lor \neg \left(a \cdot b \leq 1.85 \cdot 10^{-266}\right) \land \left(a \cdot b \leq 2.3 \cdot 10^{-263} \lor \neg \left(a \cdot b \leq 2.1 \cdot 10^{-254}\right) \land \left(a \cdot b \leq 2.2 \cdot 10^{-254} \lor \neg \left(a \cdot b \leq 4.6 \cdot 10^{-227} \lor \neg \left(a \cdot b \leq 1.2 \cdot 10^{-222}\right) \land \left(a \cdot b \leq 5.3 \cdot 10^{-196} \lor \neg \left(a \cdot b \leq 5.5 \cdot 10^{-196}\right) \land \left(a \cdot b \leq 2.8 \cdot 10^{-172} \lor \neg \left(a \cdot b \leq 3 \cdot 10^{-172}\right) \land \left(a \cdot b \leq 4.3 \cdot 10^{-129} \lor \neg \left(a \cdot b \leq 2 \cdot 10^{-120} \lor a \cdot b \leq 4.2 \cdot 10^{-58}\right) \land \left(a \cdot b \leq 1.46 \cdot 10^{-36} \lor \neg \left(a \cdot b \leq 4.5 \cdot 10^{-36}\right) \land \left(a \cdot b \leq 3.1 \cdot 10^{-23} \lor \neg \left(a \cdot b \leq 7.5 \cdot 10^{-21}\right) \land \left(a \cdot b \leq 4.5 \cdot 10^{-13} \lor \neg \left(a \cdot b \leq 46000\right) \land \left(a \cdot b \leq 1.05 \cdot 10^{+28} \lor \neg \left(a \cdot b \leq 3.15 \cdot 10^{+28}\right) \land \left(a \cdot b \leq 3 \cdot 10^{+31} \lor \neg \left(a \cdot b \leq 9.6 \cdot 10^{+34}\right) \land \left(a \cdot b \leq 3.7 \cdot 10^{+60} \lor \neg \left(a \cdot b \leq 1.95 \cdot 10^{+70}\right) \land \left(a \cdot b \leq 2.9 \cdot 10^{+71} \lor \neg \left(a \cdot b \leq 3.4 \cdot 10^{+77}\right) \land \left(a \cdot b \leq 3.5 \cdot 10^{+78} \lor \neg \left(a \cdot b \leq 9.6 \cdot 10^{+96}\right) \land \left(a \cdot b \leq 6.4 \cdot 10^{+115} \lor \neg \left(a \cdot b \leq 1.3 \cdot 10^{+118}\right) \land \left(a \cdot b \leq 4.7 \cdot 10^{+121} \lor \neg \left(a \cdot b \leq 9.5 \cdot 10^{+133}\right) \land \left(a \cdot b \leq 10^{+134} \lor \neg \left(a \cdot b \leq 1.8 \cdot 10^{+142}\right) \land \left(a \cdot b \leq 4.5 \cdot 10^{+146} \lor \neg \left(a \cdot b \leq 5.2 \cdot 10^{+151}\right) \land \left(a \cdot b \leq 1.35 \cdot 10^{+158} \lor \neg \left(a \cdot b \leq 2.4 \cdot 10^{+201}\right) \land \left(a \cdot b \leq 2.42 \cdot 10^{+201} \lor \neg \left(a \cdot b \leq 1.65 \cdot 10^{+223}\right) \land a \cdot b \leq 4.1 \cdot 10^{+223}\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)\right)\right)\right)\right)\right)\right):\\
\;\;\;\;a \cdot b\\
\mathbf{else}:\\
\;\;\;\;z \cdot t\\
\end{array}
\end{array}
if (*.f64 a b) < -6.5000000000000003e203 or -4.80000000000000016e68 < (*.f64 a b) < -3.64999999999999998e64 or -6.2000000000000004e37 < (*.f64 a b) < -5.5000000000000002e36 or -1.45e14 < (*.f64 a b) < -5.2e13 or -40 < (*.f64 a b) < -0.154999999999999999 or -7.99999999999999939e-24 < (*.f64 a b) < -6.79999999999999985e-24 or -1.35e-39 < (*.f64 a b) < -1.4499999999999999e-53 or -5.5e-86 < (*.f64 a b) < -5.39999999999999985e-86 or -3.2000000000000003e-129 < (*.f64 a b) < -3.1e-129 or -1.22e-144 < (*.f64 a b) < -1.19999999999999997e-144 or -2.2999999999999999e-182 < (*.f64 a b) < -2.2499999999999999e-182 or -3.84999999999999986e-208 < (*.f64 a b) < -9.0000000000000002e-214 or -1.64999999999999995e-273 < (*.f64 a b) < -1.61999999999999995e-273 or -1.9500000000000001e-294 < (*.f64 a b) < -1.9e-294 or -2.39999999999999987e-298 < (*.f64 a b) < -2.35000000000000019e-298 or 3.70000000000000008e-293 < (*.f64 a b) < 3.8e-293 or 1.8500000000000001e-266 < (*.f64 a b) < 2.30000000000000003e-263 or 2.09999999999999997e-254 < (*.f64 a b) < 2.2000000000000001e-254 or 4.60000000000000024e-227 < (*.f64 a b) < 1.19999999999999997e-222 or 5.3000000000000001e-196 < (*.f64 a b) < 5.50000000000000014e-196 or 2.80000000000000011e-172 < (*.f64 a b) < 2.99999999999999984e-172 or 4.29999999999999981e-129 < (*.f64 a b) < 1.99999999999999996e-120 or 1.99999999999999996e-120 < (*.f64 a b) < 4.19999999999999975e-58 or 1.4599999999999999e-36 < (*.f64 a b) < 4.50000000000000024e-36 or 3.0999999999999999e-23 < (*.f64 a b) < 7.50000000000000072e-21 or 4.5e-13 < (*.f64 a b) < 46000 or 1.04999999999999995e28 < (*.f64 a b) < 3.1500000000000001e28 or 2.99999999999999989e31 < (*.f64 a b) < 9.59999999999999948e34 or 3.69999999999999988e60 < (*.f64 a b) < 1.94999999999999987e70 or 2.90000000000000007e71 < (*.f64 a b) < 3.39999999999999997e77 or 3.5000000000000001e78 < (*.f64 a b) < 9.59999999999999972e96 or 6.4e115 < (*.f64 a b) < 1.30000000000000008e118 or 4.70000000000000005e121 < (*.f64 a b) < 9.49999999999999996e133 or 9.99999999999999921e133 < (*.f64 a b) < 1.8000000000000001e142 or 4.50000000000000026e146 < (*.f64 a b) < 5.20000000000000026e151 or 1.34999999999999989e158 < (*.f64 a b) < 2.39999999999999993e201 or 2.42e201 < (*.f64 a b) < 1.65e223 or 4.1e223 < (*.f64 a b) Initial program 95.1%
Taylor expanded in a around inf 68.1%
if -6.5000000000000003e203 < (*.f64 a b) < -4.80000000000000016e68 or -3.64999999999999998e64 < (*.f64 a b) < -6.2000000000000004e37 or -5.5000000000000002e36 < (*.f64 a b) < -1.45e14 or -5.2e13 < (*.f64 a b) < -40 or -0.154999999999999999 < (*.f64 a b) < -7.99999999999999939e-24 or -6.79999999999999985e-24 < (*.f64 a b) < -1.35e-39 or -1.4499999999999999e-53 < (*.f64 a b) < -5.5e-86 or -5.39999999999999985e-86 < (*.f64 a b) < -3.2000000000000003e-129 or -3.1e-129 < (*.f64 a b) < -1.22e-144 or -1.19999999999999997e-144 < (*.f64 a b) < -2.2999999999999999e-182 or -2.2499999999999999e-182 < (*.f64 a b) < -3.84999999999999986e-208 or -9.0000000000000002e-214 < (*.f64 a b) < -1.64999999999999995e-273 or -1.61999999999999995e-273 < (*.f64 a b) < -1.9500000000000001e-294 or -1.9e-294 < (*.f64 a b) < -2.39999999999999987e-298 or -2.35000000000000019e-298 < (*.f64 a b) < 3.70000000000000008e-293 or 3.8e-293 < (*.f64 a b) < 1.8500000000000001e-266 or 2.30000000000000003e-263 < (*.f64 a b) < 2.09999999999999997e-254 or 2.2000000000000001e-254 < (*.f64 a b) < 4.60000000000000024e-227 or 1.19999999999999997e-222 < (*.f64 a b) < 5.3000000000000001e-196 or 5.50000000000000014e-196 < (*.f64 a b) < 2.80000000000000011e-172 or 2.99999999999999984e-172 < (*.f64 a b) < 4.29999999999999981e-129 or 4.19999999999999975e-58 < (*.f64 a b) < 1.4599999999999999e-36 or 4.50000000000000024e-36 < (*.f64 a b) < 3.0999999999999999e-23 or 7.50000000000000072e-21 < (*.f64 a b) < 4.5e-13 or 46000 < (*.f64 a b) < 1.04999999999999995e28 or 3.1500000000000001e28 < (*.f64 a b) < 2.99999999999999989e31 or 9.59999999999999948e34 < (*.f64 a b) < 3.69999999999999988e60 or 1.94999999999999987e70 < (*.f64 a b) < 2.90000000000000007e71 or 3.39999999999999997e77 < (*.f64 a b) < 3.5000000000000001e78 or 9.59999999999999972e96 < (*.f64 a b) < 6.4e115 or 1.30000000000000008e118 < (*.f64 a b) < 4.70000000000000005e121 or 9.49999999999999996e133 < (*.f64 a b) < 9.99999999999999921e133 or 1.8000000000000001e142 < (*.f64 a b) < 4.50000000000000026e146 or 5.20000000000000026e151 < (*.f64 a b) < 1.34999999999999989e158 or 2.39999999999999993e201 < (*.f64 a b) < 2.42e201 or 1.65e223 < (*.f64 a b) < 4.1e223Initial program 97.7%
Taylor expanded in z around inf 61.2%
Final simplification64.5%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (+ (* a b) (* z t))))
(if (<= (* a b) 1e-323)
t_1
(if (<= (* a b) 1.45e-234)
(* x y)
(if (<= (* a b) 1e-232)
(* z t)
(if (<= (* a b) 9.5e-216)
(* x y)
(if (<= (* a b) 2.2e-196)
(* z t)
(if (<= (* a b) 4.2e-195)
(* x y)
(if (<= (* a b) 6.6e-175)
(* z t)
(if (<= (* a b) 1.5e-167)
(* x y)
(if (<= (* a b) 2.5e-150)
(* z t)
(if (<= (* a b) 1.35e-41)
(* x y)
(if (<= (* a b) 3.2e-22)
t_1
(if (<= (* a b) 1.5e-21)
(* x y)
(if (<= (* a b) 2.45e-21)
(* a b)
(if (<= (* a b) 2.3e-20)
(* x y)
(if (<= (* a b) 2e-14)
(* z t)
(if (<= (* a b) 5e-13)
(* x y)
(if (<= (* a b) 5.1e-12)
(* a b)
(if (<= (* a b) 2e-9)
(* x y)
(if (<= (* a b) 23000.0)
(* a b)
(if (<= (* a b) 43000.0)
(* x y)
(if (<= (* a b) 2.1e+49)
t_1
(if (<= (* a b) 2.6e+61)
(* x y)
(if (<= (* a b) 7.5e+70)
(* a b)
(if (<= (* a b) 1.25e+71)
(* x y)
(if (<= (* a b) 2.5e+91)
t_1
(if (<= (* a b) 2.6e+91)
(* x y)
(if (<= (* a b) 6e+99)
t_1
(if (<=
(* a b)
3e+100)
(* x y)
(if (<=
(* a b)
3.3e+111)
(* z t)
(if (<=
(* a b)
3.1e+114)
(* x y)
(if (<=
(* a b)
9.5e+133)
t_1
(if (<=
(* a b)
2.5e+134)
(* x y)
(if (<=
(* a b)
5.2e+151)
t_1
(if (<=
(*
a
b)
6.4e+156)
(* x y)
(if (<=
(*
a
b)
3.8e+160)
(*
z
t)
(if (<=
(*
a
b)
1.25e+162)
(*
x
y)
(if (<=
(*
a
b)
2.3e+201)
(*
a
b)
(if (<=
(*
a
b)
2.42e+201)
(*
x
y)
(if (<=
(*
a
b)
1.3e+223)
(*
a
b)
(if (<=
(*
a
b)
1.7e+223)
(*
x
y)
(if (<=
(*
a
b)
9e+236)
t_1
(if (<=
(*
a
b)
1.2e+246)
(*
x
y)
(*
a
b)))))))))))))))))))))))))))))))))))))))))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (a * b) + (z * t);
double tmp;
if ((a * b) <= 1e-323) {
tmp = t_1;
} else if ((a * b) <= 1.45e-234) {
tmp = x * y;
} else if ((a * b) <= 1e-232) {
tmp = z * t;
} else if ((a * b) <= 9.5e-216) {
tmp = x * y;
} else if ((a * b) <= 2.2e-196) {
tmp = z * t;
} else if ((a * b) <= 4.2e-195) {
tmp = x * y;
} else if ((a * b) <= 6.6e-175) {
tmp = z * t;
} else if ((a * b) <= 1.5e-167) {
tmp = x * y;
} else if ((a * b) <= 2.5e-150) {
tmp = z * t;
} else if ((a * b) <= 1.35e-41) {
tmp = x * y;
} else if ((a * b) <= 3.2e-22) {
tmp = t_1;
} else if ((a * b) <= 1.5e-21) {
tmp = x * y;
} else if ((a * b) <= 2.45e-21) {
tmp = a * b;
} else if ((a * b) <= 2.3e-20) {
tmp = x * y;
} else if ((a * b) <= 2e-14) {
tmp = z * t;
} else if ((a * b) <= 5e-13) {
tmp = x * y;
} else if ((a * b) <= 5.1e-12) {
tmp = a * b;
} else if ((a * b) <= 2e-9) {
tmp = x * y;
} else if ((a * b) <= 23000.0) {
tmp = a * b;
} else if ((a * b) <= 43000.0) {
tmp = x * y;
} else if ((a * b) <= 2.1e+49) {
tmp = t_1;
} else if ((a * b) <= 2.6e+61) {
tmp = x * y;
} else if ((a * b) <= 7.5e+70) {
tmp = a * b;
} else if ((a * b) <= 1.25e+71) {
tmp = x * y;
} else if ((a * b) <= 2.5e+91) {
tmp = t_1;
} else if ((a * b) <= 2.6e+91) {
tmp = x * y;
} else if ((a * b) <= 6e+99) {
tmp = t_1;
} else if ((a * b) <= 3e+100) {
tmp = x * y;
} else if ((a * b) <= 3.3e+111) {
tmp = z * t;
} else if ((a * b) <= 3.1e+114) {
tmp = x * y;
} else if ((a * b) <= 9.5e+133) {
tmp = t_1;
} else if ((a * b) <= 2.5e+134) {
tmp = x * y;
} else if ((a * b) <= 5.2e+151) {
tmp = t_1;
} else if ((a * b) <= 6.4e+156) {
tmp = x * y;
} else if ((a * b) <= 3.8e+160) {
tmp = z * t;
} else if ((a * b) <= 1.25e+162) {
tmp = x * y;
} else if ((a * b) <= 2.3e+201) {
tmp = a * b;
} else if ((a * b) <= 2.42e+201) {
tmp = x * y;
} else if ((a * b) <= 1.3e+223) {
tmp = a * b;
} else if ((a * b) <= 1.7e+223) {
tmp = x * y;
} else if ((a * b) <= 9e+236) {
tmp = t_1;
} else if ((a * b) <= 1.2e+246) {
tmp = x * y;
} else {
tmp = a * b;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: tmp
t_1 = (a * b) + (z * t)
if ((a * b) <= 1d-323) then
tmp = t_1
else if ((a * b) <= 1.45d-234) then
tmp = x * y
else if ((a * b) <= 1d-232) then
tmp = z * t
else if ((a * b) <= 9.5d-216) then
tmp = x * y
else if ((a * b) <= 2.2d-196) then
tmp = z * t
else if ((a * b) <= 4.2d-195) then
tmp = x * y
else if ((a * b) <= 6.6d-175) then
tmp = z * t
else if ((a * b) <= 1.5d-167) then
tmp = x * y
else if ((a * b) <= 2.5d-150) then
tmp = z * t
else if ((a * b) <= 1.35d-41) then
tmp = x * y
else if ((a * b) <= 3.2d-22) then
tmp = t_1
else if ((a * b) <= 1.5d-21) then
tmp = x * y
else if ((a * b) <= 2.45d-21) then
tmp = a * b
else if ((a * b) <= 2.3d-20) then
tmp = x * y
else if ((a * b) <= 2d-14) then
tmp = z * t
else if ((a * b) <= 5d-13) then
tmp = x * y
else if ((a * b) <= 5.1d-12) then
tmp = a * b
else if ((a * b) <= 2d-9) then
tmp = x * y
else if ((a * b) <= 23000.0d0) then
tmp = a * b
else if ((a * b) <= 43000.0d0) then
tmp = x * y
else if ((a * b) <= 2.1d+49) then
tmp = t_1
else if ((a * b) <= 2.6d+61) then
tmp = x * y
else if ((a * b) <= 7.5d+70) then
tmp = a * b
else if ((a * b) <= 1.25d+71) then
tmp = x * y
else if ((a * b) <= 2.5d+91) then
tmp = t_1
else if ((a * b) <= 2.6d+91) then
tmp = x * y
else if ((a * b) <= 6d+99) then
tmp = t_1
else if ((a * b) <= 3d+100) then
tmp = x * y
else if ((a * b) <= 3.3d+111) then
tmp = z * t
else if ((a * b) <= 3.1d+114) then
tmp = x * y
else if ((a * b) <= 9.5d+133) then
tmp = t_1
else if ((a * b) <= 2.5d+134) then
tmp = x * y
else if ((a * b) <= 5.2d+151) then
tmp = t_1
else if ((a * b) <= 6.4d+156) then
tmp = x * y
else if ((a * b) <= 3.8d+160) then
tmp = z * t
else if ((a * b) <= 1.25d+162) then
tmp = x * y
else if ((a * b) <= 2.3d+201) then
tmp = a * b
else if ((a * b) <= 2.42d+201) then
tmp = x * y
else if ((a * b) <= 1.3d+223) then
tmp = a * b
else if ((a * b) <= 1.7d+223) then
tmp = x * y
else if ((a * b) <= 9d+236) then
tmp = t_1
else if ((a * b) <= 1.2d+246) then
tmp = x * y
else
tmp = a * b
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (a * b) + (z * t);
double tmp;
if ((a * b) <= 1e-323) {
tmp = t_1;
} else if ((a * b) <= 1.45e-234) {
tmp = x * y;
} else if ((a * b) <= 1e-232) {
tmp = z * t;
} else if ((a * b) <= 9.5e-216) {
tmp = x * y;
} else if ((a * b) <= 2.2e-196) {
tmp = z * t;
} else if ((a * b) <= 4.2e-195) {
tmp = x * y;
} else if ((a * b) <= 6.6e-175) {
tmp = z * t;
} else if ((a * b) <= 1.5e-167) {
tmp = x * y;
} else if ((a * b) <= 2.5e-150) {
tmp = z * t;
} else if ((a * b) <= 1.35e-41) {
tmp = x * y;
} else if ((a * b) <= 3.2e-22) {
tmp = t_1;
} else if ((a * b) <= 1.5e-21) {
tmp = x * y;
} else if ((a * b) <= 2.45e-21) {
tmp = a * b;
} else if ((a * b) <= 2.3e-20) {
tmp = x * y;
} else if ((a * b) <= 2e-14) {
tmp = z * t;
} else if ((a * b) <= 5e-13) {
tmp = x * y;
} else if ((a * b) <= 5.1e-12) {
tmp = a * b;
} else if ((a * b) <= 2e-9) {
tmp = x * y;
} else if ((a * b) <= 23000.0) {
tmp = a * b;
} else if ((a * b) <= 43000.0) {
tmp = x * y;
} else if ((a * b) <= 2.1e+49) {
tmp = t_1;
} else if ((a * b) <= 2.6e+61) {
tmp = x * y;
} else if ((a * b) <= 7.5e+70) {
tmp = a * b;
} else if ((a * b) <= 1.25e+71) {
tmp = x * y;
} else if ((a * b) <= 2.5e+91) {
tmp = t_1;
} else if ((a * b) <= 2.6e+91) {
tmp = x * y;
} else if ((a * b) <= 6e+99) {
tmp = t_1;
} else if ((a * b) <= 3e+100) {
tmp = x * y;
} else if ((a * b) <= 3.3e+111) {
tmp = z * t;
} else if ((a * b) <= 3.1e+114) {
tmp = x * y;
} else if ((a * b) <= 9.5e+133) {
tmp = t_1;
} else if ((a * b) <= 2.5e+134) {
tmp = x * y;
} else if ((a * b) <= 5.2e+151) {
tmp = t_1;
} else if ((a * b) <= 6.4e+156) {
tmp = x * y;
} else if ((a * b) <= 3.8e+160) {
tmp = z * t;
} else if ((a * b) <= 1.25e+162) {
tmp = x * y;
} else if ((a * b) <= 2.3e+201) {
tmp = a * b;
} else if ((a * b) <= 2.42e+201) {
tmp = x * y;
} else if ((a * b) <= 1.3e+223) {
tmp = a * b;
} else if ((a * b) <= 1.7e+223) {
tmp = x * y;
} else if ((a * b) <= 9e+236) {
tmp = t_1;
} else if ((a * b) <= 1.2e+246) {
tmp = x * y;
} else {
tmp = a * b;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = (a * b) + (z * t) tmp = 0 if (a * b) <= 1e-323: tmp = t_1 elif (a * b) <= 1.45e-234: tmp = x * y elif (a * b) <= 1e-232: tmp = z * t elif (a * b) <= 9.5e-216: tmp = x * y elif (a * b) <= 2.2e-196: tmp = z * t elif (a * b) <= 4.2e-195: tmp = x * y elif (a * b) <= 6.6e-175: tmp = z * t elif (a * b) <= 1.5e-167: tmp = x * y elif (a * b) <= 2.5e-150: tmp = z * t elif (a * b) <= 1.35e-41: tmp = x * y elif (a * b) <= 3.2e-22: tmp = t_1 elif (a * b) <= 1.5e-21: tmp = x * y elif (a * b) <= 2.45e-21: tmp = a * b elif (a * b) <= 2.3e-20: tmp = x * y elif (a * b) <= 2e-14: tmp = z * t elif (a * b) <= 5e-13: tmp = x * y elif (a * b) <= 5.1e-12: tmp = a * b elif (a * b) <= 2e-9: tmp = x * y elif (a * b) <= 23000.0: tmp = a * b elif (a * b) <= 43000.0: tmp = x * y elif (a * b) <= 2.1e+49: tmp = t_1 elif (a * b) <= 2.6e+61: tmp = x * y elif (a * b) <= 7.5e+70: tmp = a * b elif (a * b) <= 1.25e+71: tmp = x * y elif (a * b) <= 2.5e+91: tmp = t_1 elif (a * b) <= 2.6e+91: tmp = x * y elif (a * b) <= 6e+99: tmp = t_1 elif (a * b) <= 3e+100: tmp = x * y elif (a * b) <= 3.3e+111: tmp = z * t elif (a * b) <= 3.1e+114: tmp = x * y elif (a * b) <= 9.5e+133: tmp = t_1 elif (a * b) <= 2.5e+134: tmp = x * y elif (a * b) <= 5.2e+151: tmp = t_1 elif (a * b) <= 6.4e+156: tmp = x * y elif (a * b) <= 3.8e+160: tmp = z * t elif (a * b) <= 1.25e+162: tmp = x * y elif (a * b) <= 2.3e+201: tmp = a * b elif (a * b) <= 2.42e+201: tmp = x * y elif (a * b) <= 1.3e+223: tmp = a * b elif (a * b) <= 1.7e+223: tmp = x * y elif (a * b) <= 9e+236: tmp = t_1 elif (a * b) <= 1.2e+246: tmp = x * y else: tmp = a * b return tmp
function code(x, y, z, t, a, b) t_1 = Float64(Float64(a * b) + Float64(z * t)) tmp = 0.0 if (Float64(a * b) <= 1e-323) tmp = t_1; elseif (Float64(a * b) <= 1.45e-234) tmp = Float64(x * y); elseif (Float64(a * b) <= 1e-232) tmp = Float64(z * t); elseif (Float64(a * b) <= 9.5e-216) tmp = Float64(x * y); elseif (Float64(a * b) <= 2.2e-196) tmp = Float64(z * t); elseif (Float64(a * b) <= 4.2e-195) tmp = Float64(x * y); elseif (Float64(a * b) <= 6.6e-175) tmp = Float64(z * t); elseif (Float64(a * b) <= 1.5e-167) tmp = Float64(x * y); elseif (Float64(a * b) <= 2.5e-150) tmp = Float64(z * t); elseif (Float64(a * b) <= 1.35e-41) tmp = Float64(x * y); elseif (Float64(a * b) <= 3.2e-22) tmp = t_1; elseif (Float64(a * b) <= 1.5e-21) tmp = Float64(x * y); elseif (Float64(a * b) <= 2.45e-21) tmp = Float64(a * b); elseif (Float64(a * b) <= 2.3e-20) tmp = Float64(x * y); elseif (Float64(a * b) <= 2e-14) tmp = Float64(z * t); elseif (Float64(a * b) <= 5e-13) tmp = Float64(x * y); elseif (Float64(a * b) <= 5.1e-12) tmp = Float64(a * b); elseif (Float64(a * b) <= 2e-9) tmp = Float64(x * y); elseif (Float64(a * b) <= 23000.0) tmp = Float64(a * b); elseif (Float64(a * b) <= 43000.0) tmp = Float64(x * y); elseif (Float64(a * b) <= 2.1e+49) tmp = t_1; elseif (Float64(a * b) <= 2.6e+61) tmp = Float64(x * y); elseif (Float64(a * b) <= 7.5e+70) tmp = Float64(a * b); elseif (Float64(a * b) <= 1.25e+71) tmp = Float64(x * y); elseif (Float64(a * b) <= 2.5e+91) tmp = t_1; elseif (Float64(a * b) <= 2.6e+91) tmp = Float64(x * y); elseif (Float64(a * b) <= 6e+99) tmp = t_1; elseif (Float64(a * b) <= 3e+100) tmp = Float64(x * y); elseif (Float64(a * b) <= 3.3e+111) tmp = Float64(z * t); elseif (Float64(a * b) <= 3.1e+114) tmp = Float64(x * y); elseif (Float64(a * b) <= 9.5e+133) tmp = t_1; elseif (Float64(a * b) <= 2.5e+134) tmp = Float64(x * y); elseif (Float64(a * b) <= 5.2e+151) tmp = t_1; elseif (Float64(a * b) <= 6.4e+156) tmp = Float64(x * y); elseif (Float64(a * b) <= 3.8e+160) tmp = Float64(z * t); elseif (Float64(a * b) <= 1.25e+162) tmp = Float64(x * y); elseif (Float64(a * b) <= 2.3e+201) tmp = Float64(a * b); elseif (Float64(a * b) <= 2.42e+201) tmp = Float64(x * y); elseif (Float64(a * b) <= 1.3e+223) tmp = Float64(a * b); elseif (Float64(a * b) <= 1.7e+223) tmp = Float64(x * y); elseif (Float64(a * b) <= 9e+236) tmp = t_1; elseif (Float64(a * b) <= 1.2e+246) tmp = Float64(x * y); else tmp = Float64(a * b); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = (a * b) + (z * t); tmp = 0.0; if ((a * b) <= 1e-323) tmp = t_1; elseif ((a * b) <= 1.45e-234) tmp = x * y; elseif ((a * b) <= 1e-232) tmp = z * t; elseif ((a * b) <= 9.5e-216) tmp = x * y; elseif ((a * b) <= 2.2e-196) tmp = z * t; elseif ((a * b) <= 4.2e-195) tmp = x * y; elseif ((a * b) <= 6.6e-175) tmp = z * t; elseif ((a * b) <= 1.5e-167) tmp = x * y; elseif ((a * b) <= 2.5e-150) tmp = z * t; elseif ((a * b) <= 1.35e-41) tmp = x * y; elseif ((a * b) <= 3.2e-22) tmp = t_1; elseif ((a * b) <= 1.5e-21) tmp = x * y; elseif ((a * b) <= 2.45e-21) tmp = a * b; elseif ((a * b) <= 2.3e-20) tmp = x * y; elseif ((a * b) <= 2e-14) tmp = z * t; elseif ((a * b) <= 5e-13) tmp = x * y; elseif ((a * b) <= 5.1e-12) tmp = a * b; elseif ((a * b) <= 2e-9) tmp = x * y; elseif ((a * b) <= 23000.0) tmp = a * b; elseif ((a * b) <= 43000.0) tmp = x * y; elseif ((a * b) <= 2.1e+49) tmp = t_1; elseif ((a * b) <= 2.6e+61) tmp = x * y; elseif ((a * b) <= 7.5e+70) tmp = a * b; elseif ((a * b) <= 1.25e+71) tmp = x * y; elseif ((a * b) <= 2.5e+91) tmp = t_1; elseif ((a * b) <= 2.6e+91) tmp = x * y; elseif ((a * b) <= 6e+99) tmp = t_1; elseif ((a * b) <= 3e+100) tmp = x * y; elseif ((a * b) <= 3.3e+111) tmp = z * t; elseif ((a * b) <= 3.1e+114) tmp = x * y; elseif ((a * b) <= 9.5e+133) tmp = t_1; elseif ((a * b) <= 2.5e+134) tmp = x * y; elseif ((a * b) <= 5.2e+151) tmp = t_1; elseif ((a * b) <= 6.4e+156) tmp = x * y; elseif ((a * b) <= 3.8e+160) tmp = z * t; elseif ((a * b) <= 1.25e+162) tmp = x * y; elseif ((a * b) <= 2.3e+201) tmp = a * b; elseif ((a * b) <= 2.42e+201) tmp = x * y; elseif ((a * b) <= 1.3e+223) tmp = a * b; elseif ((a * b) <= 1.7e+223) tmp = x * y; elseif ((a * b) <= 9e+236) tmp = t_1; elseif ((a * b) <= 1.2e+246) tmp = x * y; else tmp = a * b; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(a * b), $MachinePrecision] + N[(z * t), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(a * b), $MachinePrecision], 1e-323], t$95$1, If[LessEqual[N[(a * b), $MachinePrecision], 1.45e-234], N[(x * y), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 1e-232], N[(z * t), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 9.5e-216], N[(x * y), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 2.2e-196], N[(z * t), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 4.2e-195], N[(x * y), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 6.6e-175], N[(z * t), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 1.5e-167], N[(x * y), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 2.5e-150], N[(z * t), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 1.35e-41], N[(x * y), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 3.2e-22], t$95$1, If[LessEqual[N[(a * b), $MachinePrecision], 1.5e-21], N[(x * y), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 2.45e-21], N[(a * b), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 2.3e-20], N[(x * y), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 2e-14], N[(z * t), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 5e-13], N[(x * y), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 5.1e-12], N[(a * b), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 2e-9], N[(x * y), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 23000.0], N[(a * b), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 43000.0], N[(x * y), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 2.1e+49], t$95$1, If[LessEqual[N[(a * b), $MachinePrecision], 2.6e+61], N[(x * y), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 7.5e+70], N[(a * b), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 1.25e+71], N[(x * y), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 2.5e+91], t$95$1, If[LessEqual[N[(a * b), $MachinePrecision], 2.6e+91], N[(x * y), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 6e+99], t$95$1, If[LessEqual[N[(a * b), $MachinePrecision], 3e+100], N[(x * y), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 3.3e+111], N[(z * t), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 3.1e+114], N[(x * y), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 9.5e+133], t$95$1, If[LessEqual[N[(a * b), $MachinePrecision], 2.5e+134], N[(x * y), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 5.2e+151], t$95$1, If[LessEqual[N[(a * b), $MachinePrecision], 6.4e+156], N[(x * y), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 3.8e+160], N[(z * t), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 1.25e+162], N[(x * y), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 2.3e+201], N[(a * b), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 2.42e+201], N[(x * y), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 1.3e+223], N[(a * b), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 1.7e+223], N[(x * y), $MachinePrecision], If[LessEqual[N[(a * b), $MachinePrecision], 9e+236], t$95$1, If[LessEqual[N[(a * b), $MachinePrecision], 1.2e+246], N[(x * y), $MachinePrecision], N[(a * b), $MachinePrecision]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot b + z \cdot t\\
\mathbf{if}\;a \cdot b \leq 10^{-323}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \cdot b \leq 1.45 \cdot 10^{-234}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;a \cdot b \leq 10^{-232}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;a \cdot b \leq 9.5 \cdot 10^{-216}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;a \cdot b \leq 2.2 \cdot 10^{-196}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;a \cdot b \leq 4.2 \cdot 10^{-195}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;a \cdot b \leq 6.6 \cdot 10^{-175}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;a \cdot b \leq 1.5 \cdot 10^{-167}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;a \cdot b \leq 2.5 \cdot 10^{-150}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;a \cdot b \leq 1.35 \cdot 10^{-41}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;a \cdot b \leq 3.2 \cdot 10^{-22}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \cdot b \leq 1.5 \cdot 10^{-21}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;a \cdot b \leq 2.45 \cdot 10^{-21}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;a \cdot b \leq 2.3 \cdot 10^{-20}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;a \cdot b \leq 2 \cdot 10^{-14}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;a \cdot b \leq 5 \cdot 10^{-13}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;a \cdot b \leq 5.1 \cdot 10^{-12}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;a \cdot b \leq 2 \cdot 10^{-9}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;a \cdot b \leq 23000:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;a \cdot b \leq 43000:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;a \cdot b \leq 2.1 \cdot 10^{+49}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \cdot b \leq 2.6 \cdot 10^{+61}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;a \cdot b \leq 7.5 \cdot 10^{+70}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;a \cdot b \leq 1.25 \cdot 10^{+71}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;a \cdot b \leq 2.5 \cdot 10^{+91}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \cdot b \leq 2.6 \cdot 10^{+91}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;a \cdot b \leq 6 \cdot 10^{+99}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \cdot b \leq 3 \cdot 10^{+100}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;a \cdot b \leq 3.3 \cdot 10^{+111}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;a \cdot b \leq 3.1 \cdot 10^{+114}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;a \cdot b \leq 9.5 \cdot 10^{+133}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \cdot b \leq 2.5 \cdot 10^{+134}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;a \cdot b \leq 5.2 \cdot 10^{+151}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \cdot b \leq 6.4 \cdot 10^{+156}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;a \cdot b \leq 3.8 \cdot 10^{+160}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;a \cdot b \leq 1.25 \cdot 10^{+162}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;a \cdot b \leq 2.3 \cdot 10^{+201}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;a \cdot b \leq 2.42 \cdot 10^{+201}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;a \cdot b \leq 1.3 \cdot 10^{+223}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;a \cdot b \leq 1.7 \cdot 10^{+223}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;a \cdot b \leq 9 \cdot 10^{+236}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \cdot b \leq 1.2 \cdot 10^{+246}:\\
\;\;\;\;x \cdot y\\
\mathbf{else}:\\
\;\;\;\;a \cdot b\\
\end{array}
\end{array}
if (*.f64 a b) < 9.88131e-324 or 1.35e-41 < (*.f64 a b) < 3.19999999999999987e-22 or 43000 < (*.f64 a b) < 2.10000000000000011e49 or 1.24999999999999993e71 < (*.f64 a b) < 2.5000000000000001e91 or 2.6e91 < (*.f64 a b) < 6.00000000000000029e99 or 3.1e114 < (*.f64 a b) < 9.49999999999999996e133 or 2.4999999999999999e134 < (*.f64 a b) < 5.20000000000000026e151 or 1.6999999999999999e223 < (*.f64 a b) < 9.00000000000000037e236Initial program 95.6%
Taylor expanded in x around 0 74.5%
if 9.88131e-324 < (*.f64 a b) < 1.45000000000000008e-234 or 1.00000000000000002e-232 < (*.f64 a b) < 9.49999999999999943e-216 or 2.20000000000000015e-196 < (*.f64 a b) < 4.2e-195 or 6.59999999999999997e-175 < (*.f64 a b) < 1.4999999999999999e-167 or 2.49999999999999995e-150 < (*.f64 a b) < 1.35e-41 or 3.19999999999999987e-22 < (*.f64 a b) < 1.49999999999999996e-21 or 2.4500000000000001e-21 < (*.f64 a b) < 2.2999999999999999e-20 or 2e-14 < (*.f64 a b) < 4.9999999999999999e-13 or 5.09999999999999968e-12 < (*.f64 a b) < 2.00000000000000012e-9 or 23000 < (*.f64 a b) < 43000 or 2.10000000000000011e49 < (*.f64 a b) < 2.59999999999999973e61 or 7.50000000000000031e70 < (*.f64 a b) < 1.24999999999999993e71 or 2.5000000000000001e91 < (*.f64 a b) < 2.6e91 or 6.00000000000000029e99 < (*.f64 a b) < 2.99999999999999985e100 or 3.3000000000000001e111 < (*.f64 a b) < 3.1e114 or 9.49999999999999996e133 < (*.f64 a b) < 2.4999999999999999e134 or 5.20000000000000026e151 < (*.f64 a b) < 6.40000000000000005e156 or 3.80000000000000012e160 < (*.f64 a b) < 1.2499999999999999e162 or 2.3000000000000001e201 < (*.f64 a b) < 2.42e201 or 1.3000000000000001e223 < (*.f64 a b) < 1.6999999999999999e223 or 9.00000000000000037e236 < (*.f64 a b) < 1.2e246Initial program 100.0%
Taylor expanded in x around inf 89.5%
if 1.45000000000000008e-234 < (*.f64 a b) < 1.00000000000000002e-232 or 9.49999999999999943e-216 < (*.f64 a b) < 2.20000000000000015e-196 or 4.2e-195 < (*.f64 a b) < 6.59999999999999997e-175 or 1.4999999999999999e-167 < (*.f64 a b) < 2.49999999999999995e-150 or 2.2999999999999999e-20 < (*.f64 a b) < 2e-14 or 2.99999999999999985e100 < (*.f64 a b) < 3.3000000000000001e111 or 6.40000000000000005e156 < (*.f64 a b) < 3.80000000000000012e160Initial program 100.0%
Taylor expanded in z around inf 100.0%
if 1.49999999999999996e-21 < (*.f64 a b) < 2.4500000000000001e-21 or 4.9999999999999999e-13 < (*.f64 a b) < 5.09999999999999968e-12 or 2.00000000000000012e-9 < (*.f64 a b) < 23000 or 2.59999999999999973e61 < (*.f64 a b) < 7.50000000000000031e70 or 1.2499999999999999e162 < (*.f64 a b) < 2.3000000000000001e201 or 2.42e201 < (*.f64 a b) < 1.3000000000000001e223 or 1.2e246 < (*.f64 a b) Initial program 94.7%
Taylor expanded in a around inf 99.9%
Final simplification82.0%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (+ (* x y) (* a b)))
(t_2 (* z (+ t (* y (/ x z)))))
(t_3 (+ (* a b) (* z t)))
(t_4 (+ (* x y) (* z t)))
(t_5 (* b (+ a (/ (* z t) b)))))
(if (<= (* x y) -4e+111)
t_1
(if (<= (* x y) -1e-17)
t_3
(if (<= (* x y) -1e-19)
(* x y)
(if (<= (* x y) -5e-48)
t_3
(if (<= (* x y) -1e-53)
t_1
(if (<= (* x y) -5e-58)
t_4
(if (<= (* x y) -4e-168)
t_3
(if (<= (* x y) -1e-174)
t_4
(if (<= (* x y) -1e-182)
t_3
(if (<= (* x y) -2e-190)
t_1
(if (<= (* x y) -4e-237)
t_5
(if (<= (* x y) 1e-165)
t_3
(if (<= (* x y) 5e-119)
t_4
(if (<= (* x y) 2e-107)
t_1
(if (<= (* x y) 5e-61)
t_3
(if (<= (* x y) 1e-38)
t_4
(if (<= (* x y) 5e-37)
t_5
(if (<= (* x y) 2e-22)
t_3
(if (<= (* x y) 2e+15)
t_5
(if (<= (* x y) 5e+43)
t_4
(if (<= (* x y) 1e+62)
t_1
(if (<= (* x y) 7.5e+84)
t_3
(if (<= (* x y) 5e+91)
t_4
(if (<= (* x y) 5e+104)
t_2
(if (<= (* x y) 5e+113)
t_1
(if (<= (* x y) 1e+138)
t_3
(if (<= (* x y) 5e+164)
t_1
(if (<=
(* x y)
1.3e+201)
t_4
(if (<=
(* x y)
2e+208)
t_1
(if (<=
(* x y)
2e+274)
t_4
t_2))))))))))))))))))))))))))))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x * y) + (a * b);
double t_2 = z * (t + (y * (x / z)));
double t_3 = (a * b) + (z * t);
double t_4 = (x * y) + (z * t);
double t_5 = b * (a + ((z * t) / b));
double tmp;
if ((x * y) <= -4e+111) {
tmp = t_1;
} else if ((x * y) <= -1e-17) {
tmp = t_3;
} else if ((x * y) <= -1e-19) {
tmp = x * y;
} else if ((x * y) <= -5e-48) {
tmp = t_3;
} else if ((x * y) <= -1e-53) {
tmp = t_1;
} else if ((x * y) <= -5e-58) {
tmp = t_4;
} else if ((x * y) <= -4e-168) {
tmp = t_3;
} else if ((x * y) <= -1e-174) {
tmp = t_4;
} else if ((x * y) <= -1e-182) {
tmp = t_3;
} else if ((x * y) <= -2e-190) {
tmp = t_1;
} else if ((x * y) <= -4e-237) {
tmp = t_5;
} else if ((x * y) <= 1e-165) {
tmp = t_3;
} else if ((x * y) <= 5e-119) {
tmp = t_4;
} else if ((x * y) <= 2e-107) {
tmp = t_1;
} else if ((x * y) <= 5e-61) {
tmp = t_3;
} else if ((x * y) <= 1e-38) {
tmp = t_4;
} else if ((x * y) <= 5e-37) {
tmp = t_5;
} else if ((x * y) <= 2e-22) {
tmp = t_3;
} else if ((x * y) <= 2e+15) {
tmp = t_5;
} else if ((x * y) <= 5e+43) {
tmp = t_4;
} else if ((x * y) <= 1e+62) {
tmp = t_1;
} else if ((x * y) <= 7.5e+84) {
tmp = t_3;
} else if ((x * y) <= 5e+91) {
tmp = t_4;
} else if ((x * y) <= 5e+104) {
tmp = t_2;
} else if ((x * y) <= 5e+113) {
tmp = t_1;
} else if ((x * y) <= 1e+138) {
tmp = t_3;
} else if ((x * y) <= 5e+164) {
tmp = t_1;
} else if ((x * y) <= 1.3e+201) {
tmp = t_4;
} else if ((x * y) <= 2e+208) {
tmp = t_1;
} else if ((x * y) <= 2e+274) {
tmp = t_4;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: t_4
real(8) :: t_5
real(8) :: tmp
t_1 = (x * y) + (a * b)
t_2 = z * (t + (y * (x / z)))
t_3 = (a * b) + (z * t)
t_4 = (x * y) + (z * t)
t_5 = b * (a + ((z * t) / b))
if ((x * y) <= (-4d+111)) then
tmp = t_1
else if ((x * y) <= (-1d-17)) then
tmp = t_3
else if ((x * y) <= (-1d-19)) then
tmp = x * y
else if ((x * y) <= (-5d-48)) then
tmp = t_3
else if ((x * y) <= (-1d-53)) then
tmp = t_1
else if ((x * y) <= (-5d-58)) then
tmp = t_4
else if ((x * y) <= (-4d-168)) then
tmp = t_3
else if ((x * y) <= (-1d-174)) then
tmp = t_4
else if ((x * y) <= (-1d-182)) then
tmp = t_3
else if ((x * y) <= (-2d-190)) then
tmp = t_1
else if ((x * y) <= (-4d-237)) then
tmp = t_5
else if ((x * y) <= 1d-165) then
tmp = t_3
else if ((x * y) <= 5d-119) then
tmp = t_4
else if ((x * y) <= 2d-107) then
tmp = t_1
else if ((x * y) <= 5d-61) then
tmp = t_3
else if ((x * y) <= 1d-38) then
tmp = t_4
else if ((x * y) <= 5d-37) then
tmp = t_5
else if ((x * y) <= 2d-22) then
tmp = t_3
else if ((x * y) <= 2d+15) then
tmp = t_5
else if ((x * y) <= 5d+43) then
tmp = t_4
else if ((x * y) <= 1d+62) then
tmp = t_1
else if ((x * y) <= 7.5d+84) then
tmp = t_3
else if ((x * y) <= 5d+91) then
tmp = t_4
else if ((x * y) <= 5d+104) then
tmp = t_2
else if ((x * y) <= 5d+113) then
tmp = t_1
else if ((x * y) <= 1d+138) then
tmp = t_3
else if ((x * y) <= 5d+164) then
tmp = t_1
else if ((x * y) <= 1.3d+201) then
tmp = t_4
else if ((x * y) <= 2d+208) then
tmp = t_1
else if ((x * y) <= 2d+274) then
tmp = t_4
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x * y) + (a * b);
double t_2 = z * (t + (y * (x / z)));
double t_3 = (a * b) + (z * t);
double t_4 = (x * y) + (z * t);
double t_5 = b * (a + ((z * t) / b));
double tmp;
if ((x * y) <= -4e+111) {
tmp = t_1;
} else if ((x * y) <= -1e-17) {
tmp = t_3;
} else if ((x * y) <= -1e-19) {
tmp = x * y;
} else if ((x * y) <= -5e-48) {
tmp = t_3;
} else if ((x * y) <= -1e-53) {
tmp = t_1;
} else if ((x * y) <= -5e-58) {
tmp = t_4;
} else if ((x * y) <= -4e-168) {
tmp = t_3;
} else if ((x * y) <= -1e-174) {
tmp = t_4;
} else if ((x * y) <= -1e-182) {
tmp = t_3;
} else if ((x * y) <= -2e-190) {
tmp = t_1;
} else if ((x * y) <= -4e-237) {
tmp = t_5;
} else if ((x * y) <= 1e-165) {
tmp = t_3;
} else if ((x * y) <= 5e-119) {
tmp = t_4;
} else if ((x * y) <= 2e-107) {
tmp = t_1;
} else if ((x * y) <= 5e-61) {
tmp = t_3;
} else if ((x * y) <= 1e-38) {
tmp = t_4;
} else if ((x * y) <= 5e-37) {
tmp = t_5;
} else if ((x * y) <= 2e-22) {
tmp = t_3;
} else if ((x * y) <= 2e+15) {
tmp = t_5;
} else if ((x * y) <= 5e+43) {
tmp = t_4;
} else if ((x * y) <= 1e+62) {
tmp = t_1;
} else if ((x * y) <= 7.5e+84) {
tmp = t_3;
} else if ((x * y) <= 5e+91) {
tmp = t_4;
} else if ((x * y) <= 5e+104) {
tmp = t_2;
} else if ((x * y) <= 5e+113) {
tmp = t_1;
} else if ((x * y) <= 1e+138) {
tmp = t_3;
} else if ((x * y) <= 5e+164) {
tmp = t_1;
} else if ((x * y) <= 1.3e+201) {
tmp = t_4;
} else if ((x * y) <= 2e+208) {
tmp = t_1;
} else if ((x * y) <= 2e+274) {
tmp = t_4;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = (x * y) + (a * b) t_2 = z * (t + (y * (x / z))) t_3 = (a * b) + (z * t) t_4 = (x * y) + (z * t) t_5 = b * (a + ((z * t) / b)) tmp = 0 if (x * y) <= -4e+111: tmp = t_1 elif (x * y) <= -1e-17: tmp = t_3 elif (x * y) <= -1e-19: tmp = x * y elif (x * y) <= -5e-48: tmp = t_3 elif (x * y) <= -1e-53: tmp = t_1 elif (x * y) <= -5e-58: tmp = t_4 elif (x * y) <= -4e-168: tmp = t_3 elif (x * y) <= -1e-174: tmp = t_4 elif (x * y) <= -1e-182: tmp = t_3 elif (x * y) <= -2e-190: tmp = t_1 elif (x * y) <= -4e-237: tmp = t_5 elif (x * y) <= 1e-165: tmp = t_3 elif (x * y) <= 5e-119: tmp = t_4 elif (x * y) <= 2e-107: tmp = t_1 elif (x * y) <= 5e-61: tmp = t_3 elif (x * y) <= 1e-38: tmp = t_4 elif (x * y) <= 5e-37: tmp = t_5 elif (x * y) <= 2e-22: tmp = t_3 elif (x * y) <= 2e+15: tmp = t_5 elif (x * y) <= 5e+43: tmp = t_4 elif (x * y) <= 1e+62: tmp = t_1 elif (x * y) <= 7.5e+84: tmp = t_3 elif (x * y) <= 5e+91: tmp = t_4 elif (x * y) <= 5e+104: tmp = t_2 elif (x * y) <= 5e+113: tmp = t_1 elif (x * y) <= 1e+138: tmp = t_3 elif (x * y) <= 5e+164: tmp = t_1 elif (x * y) <= 1.3e+201: tmp = t_4 elif (x * y) <= 2e+208: tmp = t_1 elif (x * y) <= 2e+274: tmp = t_4 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(Float64(x * y) + Float64(a * b)) t_2 = Float64(z * Float64(t + Float64(y * Float64(x / z)))) t_3 = Float64(Float64(a * b) + Float64(z * t)) t_4 = Float64(Float64(x * y) + Float64(z * t)) t_5 = Float64(b * Float64(a + Float64(Float64(z * t) / b))) tmp = 0.0 if (Float64(x * y) <= -4e+111) tmp = t_1; elseif (Float64(x * y) <= -1e-17) tmp = t_3; elseif (Float64(x * y) <= -1e-19) tmp = Float64(x * y); elseif (Float64(x * y) <= -5e-48) tmp = t_3; elseif (Float64(x * y) <= -1e-53) tmp = t_1; elseif (Float64(x * y) <= -5e-58) tmp = t_4; elseif (Float64(x * y) <= -4e-168) tmp = t_3; elseif (Float64(x * y) <= -1e-174) tmp = t_4; elseif (Float64(x * y) <= -1e-182) tmp = t_3; elseif (Float64(x * y) <= -2e-190) tmp = t_1; elseif (Float64(x * y) <= -4e-237) tmp = t_5; elseif (Float64(x * y) <= 1e-165) tmp = t_3; elseif (Float64(x * y) <= 5e-119) tmp = t_4; elseif (Float64(x * y) <= 2e-107) tmp = t_1; elseif (Float64(x * y) <= 5e-61) tmp = t_3; elseif (Float64(x * y) <= 1e-38) tmp = t_4; elseif (Float64(x * y) <= 5e-37) tmp = t_5; elseif (Float64(x * y) <= 2e-22) tmp = t_3; elseif (Float64(x * y) <= 2e+15) tmp = t_5; elseif (Float64(x * y) <= 5e+43) tmp = t_4; elseif (Float64(x * y) <= 1e+62) tmp = t_1; elseif (Float64(x * y) <= 7.5e+84) tmp = t_3; elseif (Float64(x * y) <= 5e+91) tmp = t_4; elseif (Float64(x * y) <= 5e+104) tmp = t_2; elseif (Float64(x * y) <= 5e+113) tmp = t_1; elseif (Float64(x * y) <= 1e+138) tmp = t_3; elseif (Float64(x * y) <= 5e+164) tmp = t_1; elseif (Float64(x * y) <= 1.3e+201) tmp = t_4; elseif (Float64(x * y) <= 2e+208) tmp = t_1; elseif (Float64(x * y) <= 2e+274) tmp = t_4; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = (x * y) + (a * b); t_2 = z * (t + (y * (x / z))); t_3 = (a * b) + (z * t); t_4 = (x * y) + (z * t); t_5 = b * (a + ((z * t) / b)); tmp = 0.0; if ((x * y) <= -4e+111) tmp = t_1; elseif ((x * y) <= -1e-17) tmp = t_3; elseif ((x * y) <= -1e-19) tmp = x * y; elseif ((x * y) <= -5e-48) tmp = t_3; elseif ((x * y) <= -1e-53) tmp = t_1; elseif ((x * y) <= -5e-58) tmp = t_4; elseif ((x * y) <= -4e-168) tmp = t_3; elseif ((x * y) <= -1e-174) tmp = t_4; elseif ((x * y) <= -1e-182) tmp = t_3; elseif ((x * y) <= -2e-190) tmp = t_1; elseif ((x * y) <= -4e-237) tmp = t_5; elseif ((x * y) <= 1e-165) tmp = t_3; elseif ((x * y) <= 5e-119) tmp = t_4; elseif ((x * y) <= 2e-107) tmp = t_1; elseif ((x * y) <= 5e-61) tmp = t_3; elseif ((x * y) <= 1e-38) tmp = t_4; elseif ((x * y) <= 5e-37) tmp = t_5; elseif ((x * y) <= 2e-22) tmp = t_3; elseif ((x * y) <= 2e+15) tmp = t_5; elseif ((x * y) <= 5e+43) tmp = t_4; elseif ((x * y) <= 1e+62) tmp = t_1; elseif ((x * y) <= 7.5e+84) tmp = t_3; elseif ((x * y) <= 5e+91) tmp = t_4; elseif ((x * y) <= 5e+104) tmp = t_2; elseif ((x * y) <= 5e+113) tmp = t_1; elseif ((x * y) <= 1e+138) tmp = t_3; elseif ((x * y) <= 5e+164) tmp = t_1; elseif ((x * y) <= 1.3e+201) tmp = t_4; elseif ((x * y) <= 2e+208) tmp = t_1; elseif ((x * y) <= 2e+274) tmp = t_4; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(x * y), $MachinePrecision] + N[(a * b), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(z * N[(t + N[(y * N[(x / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(a * b), $MachinePrecision] + N[(z * t), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(N[(x * y), $MachinePrecision] + N[(z * t), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(b * N[(a + N[(N[(z * t), $MachinePrecision] / b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(x * y), $MachinePrecision], -4e+111], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], -1e-17], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], -1e-19], N[(x * y), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -5e-48], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], -1e-53], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], -5e-58], t$95$4, If[LessEqual[N[(x * y), $MachinePrecision], -4e-168], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], -1e-174], t$95$4, If[LessEqual[N[(x * y), $MachinePrecision], -1e-182], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], -2e-190], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], -4e-237], t$95$5, If[LessEqual[N[(x * y), $MachinePrecision], 1e-165], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], 5e-119], t$95$4, If[LessEqual[N[(x * y), $MachinePrecision], 2e-107], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], 5e-61], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], 1e-38], t$95$4, If[LessEqual[N[(x * y), $MachinePrecision], 5e-37], t$95$5, If[LessEqual[N[(x * y), $MachinePrecision], 2e-22], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], 2e+15], t$95$5, If[LessEqual[N[(x * y), $MachinePrecision], 5e+43], t$95$4, If[LessEqual[N[(x * y), $MachinePrecision], 1e+62], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], 7.5e+84], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], 5e+91], t$95$4, If[LessEqual[N[(x * y), $MachinePrecision], 5e+104], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], 5e+113], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], 1e+138], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], 5e+164], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], 1.3e+201], t$95$4, If[LessEqual[N[(x * y), $MachinePrecision], 2e+208], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], 2e+274], t$95$4, t$95$2]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot y + a \cdot b\\
t_2 := z \cdot \left(t + y \cdot \frac{x}{z}\right)\\
t_3 := a \cdot b + z \cdot t\\
t_4 := x \cdot y + z \cdot t\\
t_5 := b \cdot \left(a + \frac{z \cdot t}{b}\right)\\
\mathbf{if}\;x \cdot y \leq -4 \cdot 10^{+111}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq -1 \cdot 10^{-17}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq -1 \cdot 10^{-19}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;x \cdot y \leq -5 \cdot 10^{-48}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq -1 \cdot 10^{-53}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq -5 \cdot 10^{-58}:\\
\;\;\;\;t\_4\\
\mathbf{elif}\;x \cdot y \leq -4 \cdot 10^{-168}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq -1 \cdot 10^{-174}:\\
\;\;\;\;t\_4\\
\mathbf{elif}\;x \cdot y \leq -1 \cdot 10^{-182}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq -2 \cdot 10^{-190}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq -4 \cdot 10^{-237}:\\
\;\;\;\;t\_5\\
\mathbf{elif}\;x \cdot y \leq 10^{-165}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{-119}:\\
\;\;\;\;t\_4\\
\mathbf{elif}\;x \cdot y \leq 2 \cdot 10^{-107}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{-61}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq 10^{-38}:\\
\;\;\;\;t\_4\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{-37}:\\
\;\;\;\;t\_5\\
\mathbf{elif}\;x \cdot y \leq 2 \cdot 10^{-22}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq 2 \cdot 10^{+15}:\\
\;\;\;\;t\_5\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{+43}:\\
\;\;\;\;t\_4\\
\mathbf{elif}\;x \cdot y \leq 10^{+62}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq 7.5 \cdot 10^{+84}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{+91}:\\
\;\;\;\;t\_4\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{+104}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{+113}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq 10^{+138}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{+164}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq 1.3 \cdot 10^{+201}:\\
\;\;\;\;t\_4\\
\mathbf{elif}\;x \cdot y \leq 2 \cdot 10^{+208}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq 2 \cdot 10^{+274}:\\
\;\;\;\;t\_4\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if (*.f64 x y) < -3.99999999999999983e111 or -4.9999999999999999e-48 < (*.f64 x y) < -1.00000000000000003e-53 or -1e-182 < (*.f64 x y) < -2e-190 or 4.99999999999999993e-119 < (*.f64 x y) < 2e-107 or 5.0000000000000004e43 < (*.f64 x y) < 1.00000000000000004e62 or 4.9999999999999997e104 < (*.f64 x y) < 5e113 or 1e138 < (*.f64 x y) < 4.9999999999999995e164 or 1.29999999999999993e201 < (*.f64 x y) < 2e208Initial program 95.4%
Taylor expanded in z around 0 92.1%
if -3.99999999999999983e111 < (*.f64 x y) < -1.00000000000000007e-17 or -9.9999999999999998e-20 < (*.f64 x y) < -4.9999999999999999e-48 or -4.99999999999999977e-58 < (*.f64 x y) < -4.0000000000000002e-168 or -1e-174 < (*.f64 x y) < -1e-182 or -4e-237 < (*.f64 x y) < 1e-165 or 2e-107 < (*.f64 x y) < 4.9999999999999999e-61 or 4.9999999999999997e-37 < (*.f64 x y) < 2.0000000000000001e-22 or 1.00000000000000004e62 < (*.f64 x y) < 7.5000000000000001e84 or 5e113 < (*.f64 x y) < 1e138Initial program 100.0%
Taylor expanded in x around 0 96.9%
if -1.00000000000000007e-17 < (*.f64 x y) < -9.9999999999999998e-20Initial program 100.0%
Taylor expanded in x around inf 100.0%
if -1.00000000000000003e-53 < (*.f64 x y) < -4.99999999999999977e-58 or -4.0000000000000002e-168 < (*.f64 x y) < -1e-174 or 1e-165 < (*.f64 x y) < 4.99999999999999993e-119 or 4.9999999999999999e-61 < (*.f64 x y) < 9.9999999999999996e-39 or 2e15 < (*.f64 x y) < 5.0000000000000004e43 or 7.5000000000000001e84 < (*.f64 x y) < 5.0000000000000002e91 or 4.9999999999999995e164 < (*.f64 x y) < 1.29999999999999993e201 or 2e208 < (*.f64 x y) < 1.99999999999999984e274Initial program 100.0%
Taylor expanded in a around 0 100.0%
if -2e-190 < (*.f64 x y) < -4e-237 or 9.9999999999999996e-39 < (*.f64 x y) < 4.9999999999999997e-37 or 2.0000000000000001e-22 < (*.f64 x y) < 2e15Initial program 84.5%
Taylor expanded in b around inf 99.9%
associate-/l*92.3%
associate-/l*92.3%
Simplified92.3%
Taylor expanded in x around 0 99.9%
if 5.0000000000000002e91 < (*.f64 x y) < 4.9999999999999997e104 or 1.99999999999999984e274 < (*.f64 x y) Initial program 77.7%
Taylor expanded in b around inf 83.2%
associate-/l*83.3%
associate-/l*83.3%
Simplified83.3%
Taylor expanded in z around inf 88.9%
Taylor expanded in b around 0 88.9%
*-commutative88.9%
associate-*r/100.0%
Simplified100.0%
Final simplification96.5%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (+ (* x y) (* a b)))
(t_2 (+ (* a b) (* z t)))
(t_3 (+ (* x y) (* z t))))
(if (<= (* x y) -4e+111)
t_1
(if (<= (* x y) -1e-17)
t_2
(if (<= (* x y) -1e-19)
(* x y)
(if (<= (* x y) -5e-48)
t_2
(if (<= (* x y) -1e-53)
t_1
(if (<= (* x y) -5e-58)
t_3
(if (<= (* x y) -4e-168)
t_2
(if (<= (* x y) -1e-174)
t_3
(if (<= (* x y) -1e-182)
t_2
(if (<= (* x y) -2e-190)
t_1
(if (<= (* x y) -1e-200)
t_2
(if (<= (* x y) -4e-237)
(* z t)
(if (<= (* x y) 1e-165)
t_2
(if (<= (* x y) 5e-119)
t_3
(if (<= (* x y) 2e-107)
t_1
(if (<= (* x y) 5e-61)
t_2
(if (<= (* x y) 1e-38)
t_3
(if (<= (* x y) 2000.0)
t_2
(if (<= (* x y) 2e+14)
(* z t)
(if (<= (* x y) 2e+15)
(* a b)
(if (<= (* x y) 5e+43)
t_3
(if (<= (* x y) 1e+62)
t_1
(if (<= (* x y) 7.5e+84)
t_2
(if (<= (* x y) 5e+104)
t_3
(if (<= (* x y) 5e+113)
t_1
(if (<= (* x y) 1e+138)
t_2
(if (<= (* x y) 5e+164)
t_1
(if (<=
(* x y)
1.3e+201)
t_3
(if (<=
(* x y)
2e+208)
t_1
(if (<=
(* x y)
2e+229)
t_3
(*
x
y)))))))))))))))))))))))))))))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x * y) + (a * b);
double t_2 = (a * b) + (z * t);
double t_3 = (x * y) + (z * t);
double tmp;
if ((x * y) <= -4e+111) {
tmp = t_1;
} else if ((x * y) <= -1e-17) {
tmp = t_2;
} else if ((x * y) <= -1e-19) {
tmp = x * y;
} else if ((x * y) <= -5e-48) {
tmp = t_2;
} else if ((x * y) <= -1e-53) {
tmp = t_1;
} else if ((x * y) <= -5e-58) {
tmp = t_3;
} else if ((x * y) <= -4e-168) {
tmp = t_2;
} else if ((x * y) <= -1e-174) {
tmp = t_3;
} else if ((x * y) <= -1e-182) {
tmp = t_2;
} else if ((x * y) <= -2e-190) {
tmp = t_1;
} else if ((x * y) <= -1e-200) {
tmp = t_2;
} else if ((x * y) <= -4e-237) {
tmp = z * t;
} else if ((x * y) <= 1e-165) {
tmp = t_2;
} else if ((x * y) <= 5e-119) {
tmp = t_3;
} else if ((x * y) <= 2e-107) {
tmp = t_1;
} else if ((x * y) <= 5e-61) {
tmp = t_2;
} else if ((x * y) <= 1e-38) {
tmp = t_3;
} else if ((x * y) <= 2000.0) {
tmp = t_2;
} else if ((x * y) <= 2e+14) {
tmp = z * t;
} else if ((x * y) <= 2e+15) {
tmp = a * b;
} else if ((x * y) <= 5e+43) {
tmp = t_3;
} else if ((x * y) <= 1e+62) {
tmp = t_1;
} else if ((x * y) <= 7.5e+84) {
tmp = t_2;
} else if ((x * y) <= 5e+104) {
tmp = t_3;
} else if ((x * y) <= 5e+113) {
tmp = t_1;
} else if ((x * y) <= 1e+138) {
tmp = t_2;
} else if ((x * y) <= 5e+164) {
tmp = t_1;
} else if ((x * y) <= 1.3e+201) {
tmp = t_3;
} else if ((x * y) <= 2e+208) {
tmp = t_1;
} else if ((x * y) <= 2e+229) {
tmp = t_3;
} else {
tmp = x * y;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = (x * y) + (a * b)
t_2 = (a * b) + (z * t)
t_3 = (x * y) + (z * t)
if ((x * y) <= (-4d+111)) then
tmp = t_1
else if ((x * y) <= (-1d-17)) then
tmp = t_2
else if ((x * y) <= (-1d-19)) then
tmp = x * y
else if ((x * y) <= (-5d-48)) then
tmp = t_2
else if ((x * y) <= (-1d-53)) then
tmp = t_1
else if ((x * y) <= (-5d-58)) then
tmp = t_3
else if ((x * y) <= (-4d-168)) then
tmp = t_2
else if ((x * y) <= (-1d-174)) then
tmp = t_3
else if ((x * y) <= (-1d-182)) then
tmp = t_2
else if ((x * y) <= (-2d-190)) then
tmp = t_1
else if ((x * y) <= (-1d-200)) then
tmp = t_2
else if ((x * y) <= (-4d-237)) then
tmp = z * t
else if ((x * y) <= 1d-165) then
tmp = t_2
else if ((x * y) <= 5d-119) then
tmp = t_3
else if ((x * y) <= 2d-107) then
tmp = t_1
else if ((x * y) <= 5d-61) then
tmp = t_2
else if ((x * y) <= 1d-38) then
tmp = t_3
else if ((x * y) <= 2000.0d0) then
tmp = t_2
else if ((x * y) <= 2d+14) then
tmp = z * t
else if ((x * y) <= 2d+15) then
tmp = a * b
else if ((x * y) <= 5d+43) then
tmp = t_3
else if ((x * y) <= 1d+62) then
tmp = t_1
else if ((x * y) <= 7.5d+84) then
tmp = t_2
else if ((x * y) <= 5d+104) then
tmp = t_3
else if ((x * y) <= 5d+113) then
tmp = t_1
else if ((x * y) <= 1d+138) then
tmp = t_2
else if ((x * y) <= 5d+164) then
tmp = t_1
else if ((x * y) <= 1.3d+201) then
tmp = t_3
else if ((x * y) <= 2d+208) then
tmp = t_1
else if ((x * y) <= 2d+229) then
tmp = t_3
else
tmp = x * y
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x * y) + (a * b);
double t_2 = (a * b) + (z * t);
double t_3 = (x * y) + (z * t);
double tmp;
if ((x * y) <= -4e+111) {
tmp = t_1;
} else if ((x * y) <= -1e-17) {
tmp = t_2;
} else if ((x * y) <= -1e-19) {
tmp = x * y;
} else if ((x * y) <= -5e-48) {
tmp = t_2;
} else if ((x * y) <= -1e-53) {
tmp = t_1;
} else if ((x * y) <= -5e-58) {
tmp = t_3;
} else if ((x * y) <= -4e-168) {
tmp = t_2;
} else if ((x * y) <= -1e-174) {
tmp = t_3;
} else if ((x * y) <= -1e-182) {
tmp = t_2;
} else if ((x * y) <= -2e-190) {
tmp = t_1;
} else if ((x * y) <= -1e-200) {
tmp = t_2;
} else if ((x * y) <= -4e-237) {
tmp = z * t;
} else if ((x * y) <= 1e-165) {
tmp = t_2;
} else if ((x * y) <= 5e-119) {
tmp = t_3;
} else if ((x * y) <= 2e-107) {
tmp = t_1;
} else if ((x * y) <= 5e-61) {
tmp = t_2;
} else if ((x * y) <= 1e-38) {
tmp = t_3;
} else if ((x * y) <= 2000.0) {
tmp = t_2;
} else if ((x * y) <= 2e+14) {
tmp = z * t;
} else if ((x * y) <= 2e+15) {
tmp = a * b;
} else if ((x * y) <= 5e+43) {
tmp = t_3;
} else if ((x * y) <= 1e+62) {
tmp = t_1;
} else if ((x * y) <= 7.5e+84) {
tmp = t_2;
} else if ((x * y) <= 5e+104) {
tmp = t_3;
} else if ((x * y) <= 5e+113) {
tmp = t_1;
} else if ((x * y) <= 1e+138) {
tmp = t_2;
} else if ((x * y) <= 5e+164) {
tmp = t_1;
} else if ((x * y) <= 1.3e+201) {
tmp = t_3;
} else if ((x * y) <= 2e+208) {
tmp = t_1;
} else if ((x * y) <= 2e+229) {
tmp = t_3;
} else {
tmp = x * y;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = (x * y) + (a * b) t_2 = (a * b) + (z * t) t_3 = (x * y) + (z * t) tmp = 0 if (x * y) <= -4e+111: tmp = t_1 elif (x * y) <= -1e-17: tmp = t_2 elif (x * y) <= -1e-19: tmp = x * y elif (x * y) <= -5e-48: tmp = t_2 elif (x * y) <= -1e-53: tmp = t_1 elif (x * y) <= -5e-58: tmp = t_3 elif (x * y) <= -4e-168: tmp = t_2 elif (x * y) <= -1e-174: tmp = t_3 elif (x * y) <= -1e-182: tmp = t_2 elif (x * y) <= -2e-190: tmp = t_1 elif (x * y) <= -1e-200: tmp = t_2 elif (x * y) <= -4e-237: tmp = z * t elif (x * y) <= 1e-165: tmp = t_2 elif (x * y) <= 5e-119: tmp = t_3 elif (x * y) <= 2e-107: tmp = t_1 elif (x * y) <= 5e-61: tmp = t_2 elif (x * y) <= 1e-38: tmp = t_3 elif (x * y) <= 2000.0: tmp = t_2 elif (x * y) <= 2e+14: tmp = z * t elif (x * y) <= 2e+15: tmp = a * b elif (x * y) <= 5e+43: tmp = t_3 elif (x * y) <= 1e+62: tmp = t_1 elif (x * y) <= 7.5e+84: tmp = t_2 elif (x * y) <= 5e+104: tmp = t_3 elif (x * y) <= 5e+113: tmp = t_1 elif (x * y) <= 1e+138: tmp = t_2 elif (x * y) <= 5e+164: tmp = t_1 elif (x * y) <= 1.3e+201: tmp = t_3 elif (x * y) <= 2e+208: tmp = t_1 elif (x * y) <= 2e+229: tmp = t_3 else: tmp = x * y return tmp
function code(x, y, z, t, a, b) t_1 = Float64(Float64(x * y) + Float64(a * b)) t_2 = Float64(Float64(a * b) + Float64(z * t)) t_3 = Float64(Float64(x * y) + Float64(z * t)) tmp = 0.0 if (Float64(x * y) <= -4e+111) tmp = t_1; elseif (Float64(x * y) <= -1e-17) tmp = t_2; elseif (Float64(x * y) <= -1e-19) tmp = Float64(x * y); elseif (Float64(x * y) <= -5e-48) tmp = t_2; elseif (Float64(x * y) <= -1e-53) tmp = t_1; elseif (Float64(x * y) <= -5e-58) tmp = t_3; elseif (Float64(x * y) <= -4e-168) tmp = t_2; elseif (Float64(x * y) <= -1e-174) tmp = t_3; elseif (Float64(x * y) <= -1e-182) tmp = t_2; elseif (Float64(x * y) <= -2e-190) tmp = t_1; elseif (Float64(x * y) <= -1e-200) tmp = t_2; elseif (Float64(x * y) <= -4e-237) tmp = Float64(z * t); elseif (Float64(x * y) <= 1e-165) tmp = t_2; elseif (Float64(x * y) <= 5e-119) tmp = t_3; elseif (Float64(x * y) <= 2e-107) tmp = t_1; elseif (Float64(x * y) <= 5e-61) tmp = t_2; elseif (Float64(x * y) <= 1e-38) tmp = t_3; elseif (Float64(x * y) <= 2000.0) tmp = t_2; elseif (Float64(x * y) <= 2e+14) tmp = Float64(z * t); elseif (Float64(x * y) <= 2e+15) tmp = Float64(a * b); elseif (Float64(x * y) <= 5e+43) tmp = t_3; elseif (Float64(x * y) <= 1e+62) tmp = t_1; elseif (Float64(x * y) <= 7.5e+84) tmp = t_2; elseif (Float64(x * y) <= 5e+104) tmp = t_3; elseif (Float64(x * y) <= 5e+113) tmp = t_1; elseif (Float64(x * y) <= 1e+138) tmp = t_2; elseif (Float64(x * y) <= 5e+164) tmp = t_1; elseif (Float64(x * y) <= 1.3e+201) tmp = t_3; elseif (Float64(x * y) <= 2e+208) tmp = t_1; elseif (Float64(x * y) <= 2e+229) tmp = t_3; else tmp = Float64(x * y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = (x * y) + (a * b); t_2 = (a * b) + (z * t); t_3 = (x * y) + (z * t); tmp = 0.0; if ((x * y) <= -4e+111) tmp = t_1; elseif ((x * y) <= -1e-17) tmp = t_2; elseif ((x * y) <= -1e-19) tmp = x * y; elseif ((x * y) <= -5e-48) tmp = t_2; elseif ((x * y) <= -1e-53) tmp = t_1; elseif ((x * y) <= -5e-58) tmp = t_3; elseif ((x * y) <= -4e-168) tmp = t_2; elseif ((x * y) <= -1e-174) tmp = t_3; elseif ((x * y) <= -1e-182) tmp = t_2; elseif ((x * y) <= -2e-190) tmp = t_1; elseif ((x * y) <= -1e-200) tmp = t_2; elseif ((x * y) <= -4e-237) tmp = z * t; elseif ((x * y) <= 1e-165) tmp = t_2; elseif ((x * y) <= 5e-119) tmp = t_3; elseif ((x * y) <= 2e-107) tmp = t_1; elseif ((x * y) <= 5e-61) tmp = t_2; elseif ((x * y) <= 1e-38) tmp = t_3; elseif ((x * y) <= 2000.0) tmp = t_2; elseif ((x * y) <= 2e+14) tmp = z * t; elseif ((x * y) <= 2e+15) tmp = a * b; elseif ((x * y) <= 5e+43) tmp = t_3; elseif ((x * y) <= 1e+62) tmp = t_1; elseif ((x * y) <= 7.5e+84) tmp = t_2; elseif ((x * y) <= 5e+104) tmp = t_3; elseif ((x * y) <= 5e+113) tmp = t_1; elseif ((x * y) <= 1e+138) tmp = t_2; elseif ((x * y) <= 5e+164) tmp = t_1; elseif ((x * y) <= 1.3e+201) tmp = t_3; elseif ((x * y) <= 2e+208) tmp = t_1; elseif ((x * y) <= 2e+229) tmp = t_3; else tmp = x * y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(x * y), $MachinePrecision] + N[(a * b), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(a * b), $MachinePrecision] + N[(z * t), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(x * y), $MachinePrecision] + N[(z * t), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(x * y), $MachinePrecision], -4e+111], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], -1e-17], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], -1e-19], N[(x * y), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -5e-48], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], -1e-53], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], -5e-58], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], -4e-168], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], -1e-174], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], -1e-182], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], -2e-190], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], -1e-200], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], -4e-237], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 1e-165], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], 5e-119], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], 2e-107], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], 5e-61], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], 1e-38], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], 2000.0], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], 2e+14], N[(z * t), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 2e+15], N[(a * b), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 5e+43], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], 1e+62], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], 7.5e+84], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], 5e+104], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], 5e+113], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], 1e+138], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], 5e+164], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], 1.3e+201], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], 2e+208], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], 2e+229], t$95$3, N[(x * y), $MachinePrecision]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot y + a \cdot b\\
t_2 := a \cdot b + z \cdot t\\
t_3 := x \cdot y + z \cdot t\\
\mathbf{if}\;x \cdot y \leq -4 \cdot 10^{+111}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq -1 \cdot 10^{-17}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq -1 \cdot 10^{-19}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;x \cdot y \leq -5 \cdot 10^{-48}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq -1 \cdot 10^{-53}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq -5 \cdot 10^{-58}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq -4 \cdot 10^{-168}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq -1 \cdot 10^{-174}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq -1 \cdot 10^{-182}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq -2 \cdot 10^{-190}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq -1 \cdot 10^{-200}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq -4 \cdot 10^{-237}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq 10^{-165}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{-119}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq 2 \cdot 10^{-107}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{-61}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq 10^{-38}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq 2000:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq 2 \cdot 10^{+14}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;x \cdot y \leq 2 \cdot 10^{+15}:\\
\;\;\;\;a \cdot b\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{+43}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq 10^{+62}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq 7.5 \cdot 10^{+84}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{+104}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{+113}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq 10^{+138}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{+164}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq 1.3 \cdot 10^{+201}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq 2 \cdot 10^{+208}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq 2 \cdot 10^{+229}:\\
\;\;\;\;t\_3\\
\mathbf{else}:\\
\;\;\;\;x \cdot y\\
\end{array}
\end{array}
if (*.f64 x y) < -3.99999999999999983e111 or -4.9999999999999999e-48 < (*.f64 x y) < -1.00000000000000003e-53 or -1e-182 < (*.f64 x y) < -2e-190 or 4.99999999999999993e-119 < (*.f64 x y) < 2e-107 or 5.0000000000000004e43 < (*.f64 x y) < 1.00000000000000004e62 or 4.9999999999999997e104 < (*.f64 x y) < 5e113 or 1e138 < (*.f64 x y) < 4.9999999999999995e164 or 1.29999999999999993e201 < (*.f64 x y) < 2e208Initial program 95.4%
Taylor expanded in z around 0 92.1%
if -3.99999999999999983e111 < (*.f64 x y) < -1.00000000000000007e-17 or -9.9999999999999998e-20 < (*.f64 x y) < -4.9999999999999999e-48 or -4.99999999999999977e-58 < (*.f64 x y) < -4.0000000000000002e-168 or -1e-174 < (*.f64 x y) < -1e-182 or -2e-190 < (*.f64 x y) < -9.9999999999999998e-201 or -4e-237 < (*.f64 x y) < 1e-165 or 2e-107 < (*.f64 x y) < 4.9999999999999999e-61 or 9.9999999999999996e-39 < (*.f64 x y) < 2e3 or 1.00000000000000004e62 < (*.f64 x y) < 7.5000000000000001e84 or 5e113 < (*.f64 x y) < 1e138Initial program 100.0%
Taylor expanded in x around 0 97.0%
if -1.00000000000000007e-17 < (*.f64 x y) < -9.9999999999999998e-20 or 2e229 < (*.f64 x y) Initial program 81.8%
Taylor expanded in x around inf 90.9%
if -1.00000000000000003e-53 < (*.f64 x y) < -4.99999999999999977e-58 or -4.0000000000000002e-168 < (*.f64 x y) < -1e-174 or 1e-165 < (*.f64 x y) < 4.99999999999999993e-119 or 4.9999999999999999e-61 < (*.f64 x y) < 9.9999999999999996e-39 or 2e15 < (*.f64 x y) < 5.0000000000000004e43 or 7.5000000000000001e84 < (*.f64 x y) < 4.9999999999999997e104 or 4.9999999999999995e164 < (*.f64 x y) < 1.29999999999999993e201 or 2e208 < (*.f64 x y) < 2e229Initial program 100.0%
Taylor expanded in a around 0 100.0%
if -9.9999999999999998e-201 < (*.f64 x y) < -4e-237 or 2e3 < (*.f64 x y) < 2e14Initial program 60.0%
Taylor expanded in z around inf 100.0%
if 2e14 < (*.f64 x y) < 2e15Initial program 100.0%
Taylor expanded in a around inf 100.0%
Final simplification95.7%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (+ (* x y) (* a b)))
(t_2 (+ (* a b) (* z t)))
(t_3 (+ (* x y) (* z t)))
(t_4 (* b (+ a (/ (* z t) b)))))
(if (<= (* x y) -4e+111)
t_1
(if (<= (* x y) -1e-17)
t_2
(if (<= (* x y) -1e-19)
(* x y)
(if (<= (* x y) -5e-48)
t_2
(if (<= (* x y) -1e-53)
t_1
(if (<= (* x y) -5e-58)
t_3
(if (<= (* x y) -4e-168)
t_2
(if (<= (* x y) -1e-174)
t_3
(if (<= (* x y) -1e-182)
t_2
(if (<= (* x y) -2e-190)
t_1
(if (<= (* x y) -4e-237)
t_4
(if (<= (* x y) 1e-165)
t_2
(if (<= (* x y) 5e-119)
t_3
(if (<= (* x y) 2e-107)
t_1
(if (<= (* x y) 5e-61)
t_2
(if (<= (* x y) 1e-38)
t_3
(if (<= (* x y) 5e-37)
t_4
(if (<= (* x y) 2e-22)
t_2
(if (<= (* x y) 2e+15)
t_4
(if (<= (* x y) 5e+43)
t_3
(if (<= (* x y) 1e+62)
t_1
(if (<= (* x y) 7.5e+84)
t_2
(if (<= (* x y) 5e+104)
(* z (+ t (/ (* x y) z)))
(if (<= (* x y) 5e+113)
t_1
(if (<= (* x y) 1e+138)
t_2
(if (<= (* x y) 5e+164)
t_1
(if (<=
(* x y)
1.3e+201)
t_3
(if (<=
(* x y)
2e+208)
t_1
(if (<=
(* x y)
2e+274)
t_3
(*
z
(+
t
(*
y
(/
x
z)))))))))))))))))))))))))))))))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x * y) + (a * b);
double t_2 = (a * b) + (z * t);
double t_3 = (x * y) + (z * t);
double t_4 = b * (a + ((z * t) / b));
double tmp;
if ((x * y) <= -4e+111) {
tmp = t_1;
} else if ((x * y) <= -1e-17) {
tmp = t_2;
} else if ((x * y) <= -1e-19) {
tmp = x * y;
} else if ((x * y) <= -5e-48) {
tmp = t_2;
} else if ((x * y) <= -1e-53) {
tmp = t_1;
} else if ((x * y) <= -5e-58) {
tmp = t_3;
} else if ((x * y) <= -4e-168) {
tmp = t_2;
} else if ((x * y) <= -1e-174) {
tmp = t_3;
} else if ((x * y) <= -1e-182) {
tmp = t_2;
} else if ((x * y) <= -2e-190) {
tmp = t_1;
} else if ((x * y) <= -4e-237) {
tmp = t_4;
} else if ((x * y) <= 1e-165) {
tmp = t_2;
} else if ((x * y) <= 5e-119) {
tmp = t_3;
} else if ((x * y) <= 2e-107) {
tmp = t_1;
} else if ((x * y) <= 5e-61) {
tmp = t_2;
} else if ((x * y) <= 1e-38) {
tmp = t_3;
} else if ((x * y) <= 5e-37) {
tmp = t_4;
} else if ((x * y) <= 2e-22) {
tmp = t_2;
} else if ((x * y) <= 2e+15) {
tmp = t_4;
} else if ((x * y) <= 5e+43) {
tmp = t_3;
} else if ((x * y) <= 1e+62) {
tmp = t_1;
} else if ((x * y) <= 7.5e+84) {
tmp = t_2;
} else if ((x * y) <= 5e+104) {
tmp = z * (t + ((x * y) / z));
} else if ((x * y) <= 5e+113) {
tmp = t_1;
} else if ((x * y) <= 1e+138) {
tmp = t_2;
} else if ((x * y) <= 5e+164) {
tmp = t_1;
} else if ((x * y) <= 1.3e+201) {
tmp = t_3;
} else if ((x * y) <= 2e+208) {
tmp = t_1;
} else if ((x * y) <= 2e+274) {
tmp = t_3;
} else {
tmp = z * (t + (y * (x / z)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: t_4
real(8) :: tmp
t_1 = (x * y) + (a * b)
t_2 = (a * b) + (z * t)
t_3 = (x * y) + (z * t)
t_4 = b * (a + ((z * t) / b))
if ((x * y) <= (-4d+111)) then
tmp = t_1
else if ((x * y) <= (-1d-17)) then
tmp = t_2
else if ((x * y) <= (-1d-19)) then
tmp = x * y
else if ((x * y) <= (-5d-48)) then
tmp = t_2
else if ((x * y) <= (-1d-53)) then
tmp = t_1
else if ((x * y) <= (-5d-58)) then
tmp = t_3
else if ((x * y) <= (-4d-168)) then
tmp = t_2
else if ((x * y) <= (-1d-174)) then
tmp = t_3
else if ((x * y) <= (-1d-182)) then
tmp = t_2
else if ((x * y) <= (-2d-190)) then
tmp = t_1
else if ((x * y) <= (-4d-237)) then
tmp = t_4
else if ((x * y) <= 1d-165) then
tmp = t_2
else if ((x * y) <= 5d-119) then
tmp = t_3
else if ((x * y) <= 2d-107) then
tmp = t_1
else if ((x * y) <= 5d-61) then
tmp = t_2
else if ((x * y) <= 1d-38) then
tmp = t_3
else if ((x * y) <= 5d-37) then
tmp = t_4
else if ((x * y) <= 2d-22) then
tmp = t_2
else if ((x * y) <= 2d+15) then
tmp = t_4
else if ((x * y) <= 5d+43) then
tmp = t_3
else if ((x * y) <= 1d+62) then
tmp = t_1
else if ((x * y) <= 7.5d+84) then
tmp = t_2
else if ((x * y) <= 5d+104) then
tmp = z * (t + ((x * y) / z))
else if ((x * y) <= 5d+113) then
tmp = t_1
else if ((x * y) <= 1d+138) then
tmp = t_2
else if ((x * y) <= 5d+164) then
tmp = t_1
else if ((x * y) <= 1.3d+201) then
tmp = t_3
else if ((x * y) <= 2d+208) then
tmp = t_1
else if ((x * y) <= 2d+274) then
tmp = t_3
else
tmp = z * (t + (y * (x / z)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x * y) + (a * b);
double t_2 = (a * b) + (z * t);
double t_3 = (x * y) + (z * t);
double t_4 = b * (a + ((z * t) / b));
double tmp;
if ((x * y) <= -4e+111) {
tmp = t_1;
} else if ((x * y) <= -1e-17) {
tmp = t_2;
} else if ((x * y) <= -1e-19) {
tmp = x * y;
} else if ((x * y) <= -5e-48) {
tmp = t_2;
} else if ((x * y) <= -1e-53) {
tmp = t_1;
} else if ((x * y) <= -5e-58) {
tmp = t_3;
} else if ((x * y) <= -4e-168) {
tmp = t_2;
} else if ((x * y) <= -1e-174) {
tmp = t_3;
} else if ((x * y) <= -1e-182) {
tmp = t_2;
} else if ((x * y) <= -2e-190) {
tmp = t_1;
} else if ((x * y) <= -4e-237) {
tmp = t_4;
} else if ((x * y) <= 1e-165) {
tmp = t_2;
} else if ((x * y) <= 5e-119) {
tmp = t_3;
} else if ((x * y) <= 2e-107) {
tmp = t_1;
} else if ((x * y) <= 5e-61) {
tmp = t_2;
} else if ((x * y) <= 1e-38) {
tmp = t_3;
} else if ((x * y) <= 5e-37) {
tmp = t_4;
} else if ((x * y) <= 2e-22) {
tmp = t_2;
} else if ((x * y) <= 2e+15) {
tmp = t_4;
} else if ((x * y) <= 5e+43) {
tmp = t_3;
} else if ((x * y) <= 1e+62) {
tmp = t_1;
} else if ((x * y) <= 7.5e+84) {
tmp = t_2;
} else if ((x * y) <= 5e+104) {
tmp = z * (t + ((x * y) / z));
} else if ((x * y) <= 5e+113) {
tmp = t_1;
} else if ((x * y) <= 1e+138) {
tmp = t_2;
} else if ((x * y) <= 5e+164) {
tmp = t_1;
} else if ((x * y) <= 1.3e+201) {
tmp = t_3;
} else if ((x * y) <= 2e+208) {
tmp = t_1;
} else if ((x * y) <= 2e+274) {
tmp = t_3;
} else {
tmp = z * (t + (y * (x / z)));
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = (x * y) + (a * b) t_2 = (a * b) + (z * t) t_3 = (x * y) + (z * t) t_4 = b * (a + ((z * t) / b)) tmp = 0 if (x * y) <= -4e+111: tmp = t_1 elif (x * y) <= -1e-17: tmp = t_2 elif (x * y) <= -1e-19: tmp = x * y elif (x * y) <= -5e-48: tmp = t_2 elif (x * y) <= -1e-53: tmp = t_1 elif (x * y) <= -5e-58: tmp = t_3 elif (x * y) <= -4e-168: tmp = t_2 elif (x * y) <= -1e-174: tmp = t_3 elif (x * y) <= -1e-182: tmp = t_2 elif (x * y) <= -2e-190: tmp = t_1 elif (x * y) <= -4e-237: tmp = t_4 elif (x * y) <= 1e-165: tmp = t_2 elif (x * y) <= 5e-119: tmp = t_3 elif (x * y) <= 2e-107: tmp = t_1 elif (x * y) <= 5e-61: tmp = t_2 elif (x * y) <= 1e-38: tmp = t_3 elif (x * y) <= 5e-37: tmp = t_4 elif (x * y) <= 2e-22: tmp = t_2 elif (x * y) <= 2e+15: tmp = t_4 elif (x * y) <= 5e+43: tmp = t_3 elif (x * y) <= 1e+62: tmp = t_1 elif (x * y) <= 7.5e+84: tmp = t_2 elif (x * y) <= 5e+104: tmp = z * (t + ((x * y) / z)) elif (x * y) <= 5e+113: tmp = t_1 elif (x * y) <= 1e+138: tmp = t_2 elif (x * y) <= 5e+164: tmp = t_1 elif (x * y) <= 1.3e+201: tmp = t_3 elif (x * y) <= 2e+208: tmp = t_1 elif (x * y) <= 2e+274: tmp = t_3 else: tmp = z * (t + (y * (x / z))) return tmp
function code(x, y, z, t, a, b) t_1 = Float64(Float64(x * y) + Float64(a * b)) t_2 = Float64(Float64(a * b) + Float64(z * t)) t_3 = Float64(Float64(x * y) + Float64(z * t)) t_4 = Float64(b * Float64(a + Float64(Float64(z * t) / b))) tmp = 0.0 if (Float64(x * y) <= -4e+111) tmp = t_1; elseif (Float64(x * y) <= -1e-17) tmp = t_2; elseif (Float64(x * y) <= -1e-19) tmp = Float64(x * y); elseif (Float64(x * y) <= -5e-48) tmp = t_2; elseif (Float64(x * y) <= -1e-53) tmp = t_1; elseif (Float64(x * y) <= -5e-58) tmp = t_3; elseif (Float64(x * y) <= -4e-168) tmp = t_2; elseif (Float64(x * y) <= -1e-174) tmp = t_3; elseif (Float64(x * y) <= -1e-182) tmp = t_2; elseif (Float64(x * y) <= -2e-190) tmp = t_1; elseif (Float64(x * y) <= -4e-237) tmp = t_4; elseif (Float64(x * y) <= 1e-165) tmp = t_2; elseif (Float64(x * y) <= 5e-119) tmp = t_3; elseif (Float64(x * y) <= 2e-107) tmp = t_1; elseif (Float64(x * y) <= 5e-61) tmp = t_2; elseif (Float64(x * y) <= 1e-38) tmp = t_3; elseif (Float64(x * y) <= 5e-37) tmp = t_4; elseif (Float64(x * y) <= 2e-22) tmp = t_2; elseif (Float64(x * y) <= 2e+15) tmp = t_4; elseif (Float64(x * y) <= 5e+43) tmp = t_3; elseif (Float64(x * y) <= 1e+62) tmp = t_1; elseif (Float64(x * y) <= 7.5e+84) tmp = t_2; elseif (Float64(x * y) <= 5e+104) tmp = Float64(z * Float64(t + Float64(Float64(x * y) / z))); elseif (Float64(x * y) <= 5e+113) tmp = t_1; elseif (Float64(x * y) <= 1e+138) tmp = t_2; elseif (Float64(x * y) <= 5e+164) tmp = t_1; elseif (Float64(x * y) <= 1.3e+201) tmp = t_3; elseif (Float64(x * y) <= 2e+208) tmp = t_1; elseif (Float64(x * y) <= 2e+274) tmp = t_3; else tmp = Float64(z * Float64(t + Float64(y * Float64(x / z)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = (x * y) + (a * b); t_2 = (a * b) + (z * t); t_3 = (x * y) + (z * t); t_4 = b * (a + ((z * t) / b)); tmp = 0.0; if ((x * y) <= -4e+111) tmp = t_1; elseif ((x * y) <= -1e-17) tmp = t_2; elseif ((x * y) <= -1e-19) tmp = x * y; elseif ((x * y) <= -5e-48) tmp = t_2; elseif ((x * y) <= -1e-53) tmp = t_1; elseif ((x * y) <= -5e-58) tmp = t_3; elseif ((x * y) <= -4e-168) tmp = t_2; elseif ((x * y) <= -1e-174) tmp = t_3; elseif ((x * y) <= -1e-182) tmp = t_2; elseif ((x * y) <= -2e-190) tmp = t_1; elseif ((x * y) <= -4e-237) tmp = t_4; elseif ((x * y) <= 1e-165) tmp = t_2; elseif ((x * y) <= 5e-119) tmp = t_3; elseif ((x * y) <= 2e-107) tmp = t_1; elseif ((x * y) <= 5e-61) tmp = t_2; elseif ((x * y) <= 1e-38) tmp = t_3; elseif ((x * y) <= 5e-37) tmp = t_4; elseif ((x * y) <= 2e-22) tmp = t_2; elseif ((x * y) <= 2e+15) tmp = t_4; elseif ((x * y) <= 5e+43) tmp = t_3; elseif ((x * y) <= 1e+62) tmp = t_1; elseif ((x * y) <= 7.5e+84) tmp = t_2; elseif ((x * y) <= 5e+104) tmp = z * (t + ((x * y) / z)); elseif ((x * y) <= 5e+113) tmp = t_1; elseif ((x * y) <= 1e+138) tmp = t_2; elseif ((x * y) <= 5e+164) tmp = t_1; elseif ((x * y) <= 1.3e+201) tmp = t_3; elseif ((x * y) <= 2e+208) tmp = t_1; elseif ((x * y) <= 2e+274) tmp = t_3; else tmp = z * (t + (y * (x / z))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(x * y), $MachinePrecision] + N[(a * b), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(a * b), $MachinePrecision] + N[(z * t), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(x * y), $MachinePrecision] + N[(z * t), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(b * N[(a + N[(N[(z * t), $MachinePrecision] / b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(x * y), $MachinePrecision], -4e+111], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], -1e-17], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], -1e-19], N[(x * y), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -5e-48], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], -1e-53], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], -5e-58], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], -4e-168], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], -1e-174], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], -1e-182], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], -2e-190], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], -4e-237], t$95$4, If[LessEqual[N[(x * y), $MachinePrecision], 1e-165], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], 5e-119], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], 2e-107], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], 5e-61], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], 1e-38], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], 5e-37], t$95$4, If[LessEqual[N[(x * y), $MachinePrecision], 2e-22], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], 2e+15], t$95$4, If[LessEqual[N[(x * y), $MachinePrecision], 5e+43], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], 1e+62], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], 7.5e+84], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], 5e+104], N[(z * N[(t + N[(N[(x * y), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], 5e+113], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], 1e+138], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], 5e+164], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], 1.3e+201], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], 2e+208], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], 2e+274], t$95$3, N[(z * N[(t + N[(y * N[(x / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot y + a \cdot b\\
t_2 := a \cdot b + z \cdot t\\
t_3 := x \cdot y + z \cdot t\\
t_4 := b \cdot \left(a + \frac{z \cdot t}{b}\right)\\
\mathbf{if}\;x \cdot y \leq -4 \cdot 10^{+111}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq -1 \cdot 10^{-17}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq -1 \cdot 10^{-19}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;x \cdot y \leq -5 \cdot 10^{-48}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq -1 \cdot 10^{-53}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq -5 \cdot 10^{-58}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq -4 \cdot 10^{-168}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq -1 \cdot 10^{-174}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq -1 \cdot 10^{-182}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq -2 \cdot 10^{-190}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq -4 \cdot 10^{-237}:\\
\;\;\;\;t\_4\\
\mathbf{elif}\;x \cdot y \leq 10^{-165}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{-119}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq 2 \cdot 10^{-107}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{-61}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq 10^{-38}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{-37}:\\
\;\;\;\;t\_4\\
\mathbf{elif}\;x \cdot y \leq 2 \cdot 10^{-22}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq 2 \cdot 10^{+15}:\\
\;\;\;\;t\_4\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{+43}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq 10^{+62}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq 7.5 \cdot 10^{+84}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{+104}:\\
\;\;\;\;z \cdot \left(t + \frac{x \cdot y}{z}\right)\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{+113}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq 10^{+138}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{+164}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq 1.3 \cdot 10^{+201}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq 2 \cdot 10^{+208}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq 2 \cdot 10^{+274}:\\
\;\;\;\;t\_3\\
\mathbf{else}:\\
\;\;\;\;z \cdot \left(t + y \cdot \frac{x}{z}\right)\\
\end{array}
\end{array}
if (*.f64 x y) < -3.99999999999999983e111 or -4.9999999999999999e-48 < (*.f64 x y) < -1.00000000000000003e-53 or -1e-182 < (*.f64 x y) < -2e-190 or 4.99999999999999993e-119 < (*.f64 x y) < 2e-107 or 5.0000000000000004e43 < (*.f64 x y) < 1.00000000000000004e62 or 4.9999999999999997e104 < (*.f64 x y) < 5e113 or 1e138 < (*.f64 x y) < 4.9999999999999995e164 or 1.29999999999999993e201 < (*.f64 x y) < 2e208Initial program 95.4%
Taylor expanded in z around 0 92.1%
if -3.99999999999999983e111 < (*.f64 x y) < -1.00000000000000007e-17 or -9.9999999999999998e-20 < (*.f64 x y) < -4.9999999999999999e-48 or -4.99999999999999977e-58 < (*.f64 x y) < -4.0000000000000002e-168 or -1e-174 < (*.f64 x y) < -1e-182 or -4e-237 < (*.f64 x y) < 1e-165 or 2e-107 < (*.f64 x y) < 4.9999999999999999e-61 or 4.9999999999999997e-37 < (*.f64 x y) < 2.0000000000000001e-22 or 1.00000000000000004e62 < (*.f64 x y) < 7.5000000000000001e84 or 5e113 < (*.f64 x y) < 1e138Initial program 100.0%
Taylor expanded in x around 0 96.9%
if -1.00000000000000007e-17 < (*.f64 x y) < -9.9999999999999998e-20Initial program 100.0%
Taylor expanded in x around inf 100.0%
if -1.00000000000000003e-53 < (*.f64 x y) < -4.99999999999999977e-58 or -4.0000000000000002e-168 < (*.f64 x y) < -1e-174 or 1e-165 < (*.f64 x y) < 4.99999999999999993e-119 or 4.9999999999999999e-61 < (*.f64 x y) < 9.9999999999999996e-39 or 2e15 < (*.f64 x y) < 5.0000000000000004e43 or 4.9999999999999995e164 < (*.f64 x y) < 1.29999999999999993e201 or 2e208 < (*.f64 x y) < 1.99999999999999984e274Initial program 100.0%
Taylor expanded in a around 0 100.0%
if -2e-190 < (*.f64 x y) < -4e-237 or 9.9999999999999996e-39 < (*.f64 x y) < 4.9999999999999997e-37 or 2.0000000000000001e-22 < (*.f64 x y) < 2e15Initial program 84.5%
Taylor expanded in b around inf 99.9%
associate-/l*92.3%
associate-/l*92.3%
Simplified92.3%
Taylor expanded in x around 0 99.9%
if 7.5000000000000001e84 < (*.f64 x y) < 4.9999999999999997e104Initial program 99.6%
Taylor expanded in z around inf 100.0%
Taylor expanded in a around 0 100.0%
if 1.99999999999999984e274 < (*.f64 x y) Initial program 75.0%
Taylor expanded in b around inf 81.3%
associate-/l*81.3%
associate-/l*81.3%
Simplified81.3%
Taylor expanded in z around inf 87.5%
Taylor expanded in b around 0 87.5%
*-commutative87.5%
associate-*r/100.0%
Simplified100.0%
Final simplification96.5%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (+ (* x y) (* a b)))
(t_2 (+ (* a b) (* z t)))
(t_3 (+ (* x y) (* z t)))
(t_4 (* b (+ a (/ (* z t) b)))))
(if (<= (* x y) -4e+111)
t_1
(if (<= (* x y) -1e-17)
t_2
(if (<= (* x y) -1e-19)
(* x y)
(if (<= (* x y) -5e-48)
t_2
(if (<= (* x y) -1e-53)
t_1
(if (<= (* x y) -5e-58)
t_3
(if (<= (* x y) -4e-168)
t_2
(if (<= (* x y) -1e-174)
t_3
(if (<= (* x y) -1e-182)
t_2
(if (<= (* x y) -2e-190)
t_1
(if (<= (* x y) -4e-237)
t_4
(if (<= (* x y) 1e-165)
t_2
(if (<= (* x y) 5e-119)
t_3
(if (<= (* x y) 2e-107)
t_1
(if (<= (* x y) 5e-61)
t_2
(if (<= (* x y) 1e-38)
t_3
(if (<= (* x y) 5e-37)
t_4
(if (<= (* x y) 2e-22)
t_2
(if (<= (* x y) 2e+15)
t_4
(if (<= (* x y) 5e+43)
t_3
(if (<= (* x y) 1e+62)
t_1
(if (<= (* x y) 7.5e+84)
t_2
(if (<= (* x y) 5e+104)
t_3
(if (<= (* x y) 5e+113)
t_1
(if (<= (* x y) 1e+138)
t_2
(if (<= (* x y) 5e+164)
t_1
(if (<=
(* x y)
1.3e+201)
t_3
(if (<=
(* x y)
2e+208)
t_1
(if (<=
(* x y)
2e+229)
t_3
(*
x
y))))))))))))))))))))))))))))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x * y) + (a * b);
double t_2 = (a * b) + (z * t);
double t_3 = (x * y) + (z * t);
double t_4 = b * (a + ((z * t) / b));
double tmp;
if ((x * y) <= -4e+111) {
tmp = t_1;
} else if ((x * y) <= -1e-17) {
tmp = t_2;
} else if ((x * y) <= -1e-19) {
tmp = x * y;
} else if ((x * y) <= -5e-48) {
tmp = t_2;
} else if ((x * y) <= -1e-53) {
tmp = t_1;
} else if ((x * y) <= -5e-58) {
tmp = t_3;
} else if ((x * y) <= -4e-168) {
tmp = t_2;
} else if ((x * y) <= -1e-174) {
tmp = t_3;
} else if ((x * y) <= -1e-182) {
tmp = t_2;
} else if ((x * y) <= -2e-190) {
tmp = t_1;
} else if ((x * y) <= -4e-237) {
tmp = t_4;
} else if ((x * y) <= 1e-165) {
tmp = t_2;
} else if ((x * y) <= 5e-119) {
tmp = t_3;
} else if ((x * y) <= 2e-107) {
tmp = t_1;
} else if ((x * y) <= 5e-61) {
tmp = t_2;
} else if ((x * y) <= 1e-38) {
tmp = t_3;
} else if ((x * y) <= 5e-37) {
tmp = t_4;
} else if ((x * y) <= 2e-22) {
tmp = t_2;
} else if ((x * y) <= 2e+15) {
tmp = t_4;
} else if ((x * y) <= 5e+43) {
tmp = t_3;
} else if ((x * y) <= 1e+62) {
tmp = t_1;
} else if ((x * y) <= 7.5e+84) {
tmp = t_2;
} else if ((x * y) <= 5e+104) {
tmp = t_3;
} else if ((x * y) <= 5e+113) {
tmp = t_1;
} else if ((x * y) <= 1e+138) {
tmp = t_2;
} else if ((x * y) <= 5e+164) {
tmp = t_1;
} else if ((x * y) <= 1.3e+201) {
tmp = t_3;
} else if ((x * y) <= 2e+208) {
tmp = t_1;
} else if ((x * y) <= 2e+229) {
tmp = t_3;
} else {
tmp = x * y;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: t_4
real(8) :: tmp
t_1 = (x * y) + (a * b)
t_2 = (a * b) + (z * t)
t_3 = (x * y) + (z * t)
t_4 = b * (a + ((z * t) / b))
if ((x * y) <= (-4d+111)) then
tmp = t_1
else if ((x * y) <= (-1d-17)) then
tmp = t_2
else if ((x * y) <= (-1d-19)) then
tmp = x * y
else if ((x * y) <= (-5d-48)) then
tmp = t_2
else if ((x * y) <= (-1d-53)) then
tmp = t_1
else if ((x * y) <= (-5d-58)) then
tmp = t_3
else if ((x * y) <= (-4d-168)) then
tmp = t_2
else if ((x * y) <= (-1d-174)) then
tmp = t_3
else if ((x * y) <= (-1d-182)) then
tmp = t_2
else if ((x * y) <= (-2d-190)) then
tmp = t_1
else if ((x * y) <= (-4d-237)) then
tmp = t_4
else if ((x * y) <= 1d-165) then
tmp = t_2
else if ((x * y) <= 5d-119) then
tmp = t_3
else if ((x * y) <= 2d-107) then
tmp = t_1
else if ((x * y) <= 5d-61) then
tmp = t_2
else if ((x * y) <= 1d-38) then
tmp = t_3
else if ((x * y) <= 5d-37) then
tmp = t_4
else if ((x * y) <= 2d-22) then
tmp = t_2
else if ((x * y) <= 2d+15) then
tmp = t_4
else if ((x * y) <= 5d+43) then
tmp = t_3
else if ((x * y) <= 1d+62) then
tmp = t_1
else if ((x * y) <= 7.5d+84) then
tmp = t_2
else if ((x * y) <= 5d+104) then
tmp = t_3
else if ((x * y) <= 5d+113) then
tmp = t_1
else if ((x * y) <= 1d+138) then
tmp = t_2
else if ((x * y) <= 5d+164) then
tmp = t_1
else if ((x * y) <= 1.3d+201) then
tmp = t_3
else if ((x * y) <= 2d+208) then
tmp = t_1
else if ((x * y) <= 2d+229) then
tmp = t_3
else
tmp = x * y
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x * y) + (a * b);
double t_2 = (a * b) + (z * t);
double t_3 = (x * y) + (z * t);
double t_4 = b * (a + ((z * t) / b));
double tmp;
if ((x * y) <= -4e+111) {
tmp = t_1;
} else if ((x * y) <= -1e-17) {
tmp = t_2;
} else if ((x * y) <= -1e-19) {
tmp = x * y;
} else if ((x * y) <= -5e-48) {
tmp = t_2;
} else if ((x * y) <= -1e-53) {
tmp = t_1;
} else if ((x * y) <= -5e-58) {
tmp = t_3;
} else if ((x * y) <= -4e-168) {
tmp = t_2;
} else if ((x * y) <= -1e-174) {
tmp = t_3;
} else if ((x * y) <= -1e-182) {
tmp = t_2;
} else if ((x * y) <= -2e-190) {
tmp = t_1;
} else if ((x * y) <= -4e-237) {
tmp = t_4;
} else if ((x * y) <= 1e-165) {
tmp = t_2;
} else if ((x * y) <= 5e-119) {
tmp = t_3;
} else if ((x * y) <= 2e-107) {
tmp = t_1;
} else if ((x * y) <= 5e-61) {
tmp = t_2;
} else if ((x * y) <= 1e-38) {
tmp = t_3;
} else if ((x * y) <= 5e-37) {
tmp = t_4;
} else if ((x * y) <= 2e-22) {
tmp = t_2;
} else if ((x * y) <= 2e+15) {
tmp = t_4;
} else if ((x * y) <= 5e+43) {
tmp = t_3;
} else if ((x * y) <= 1e+62) {
tmp = t_1;
} else if ((x * y) <= 7.5e+84) {
tmp = t_2;
} else if ((x * y) <= 5e+104) {
tmp = t_3;
} else if ((x * y) <= 5e+113) {
tmp = t_1;
} else if ((x * y) <= 1e+138) {
tmp = t_2;
} else if ((x * y) <= 5e+164) {
tmp = t_1;
} else if ((x * y) <= 1.3e+201) {
tmp = t_3;
} else if ((x * y) <= 2e+208) {
tmp = t_1;
} else if ((x * y) <= 2e+229) {
tmp = t_3;
} else {
tmp = x * y;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = (x * y) + (a * b) t_2 = (a * b) + (z * t) t_3 = (x * y) + (z * t) t_4 = b * (a + ((z * t) / b)) tmp = 0 if (x * y) <= -4e+111: tmp = t_1 elif (x * y) <= -1e-17: tmp = t_2 elif (x * y) <= -1e-19: tmp = x * y elif (x * y) <= -5e-48: tmp = t_2 elif (x * y) <= -1e-53: tmp = t_1 elif (x * y) <= -5e-58: tmp = t_3 elif (x * y) <= -4e-168: tmp = t_2 elif (x * y) <= -1e-174: tmp = t_3 elif (x * y) <= -1e-182: tmp = t_2 elif (x * y) <= -2e-190: tmp = t_1 elif (x * y) <= -4e-237: tmp = t_4 elif (x * y) <= 1e-165: tmp = t_2 elif (x * y) <= 5e-119: tmp = t_3 elif (x * y) <= 2e-107: tmp = t_1 elif (x * y) <= 5e-61: tmp = t_2 elif (x * y) <= 1e-38: tmp = t_3 elif (x * y) <= 5e-37: tmp = t_4 elif (x * y) <= 2e-22: tmp = t_2 elif (x * y) <= 2e+15: tmp = t_4 elif (x * y) <= 5e+43: tmp = t_3 elif (x * y) <= 1e+62: tmp = t_1 elif (x * y) <= 7.5e+84: tmp = t_2 elif (x * y) <= 5e+104: tmp = t_3 elif (x * y) <= 5e+113: tmp = t_1 elif (x * y) <= 1e+138: tmp = t_2 elif (x * y) <= 5e+164: tmp = t_1 elif (x * y) <= 1.3e+201: tmp = t_3 elif (x * y) <= 2e+208: tmp = t_1 elif (x * y) <= 2e+229: tmp = t_3 else: tmp = x * y return tmp
function code(x, y, z, t, a, b) t_1 = Float64(Float64(x * y) + Float64(a * b)) t_2 = Float64(Float64(a * b) + Float64(z * t)) t_3 = Float64(Float64(x * y) + Float64(z * t)) t_4 = Float64(b * Float64(a + Float64(Float64(z * t) / b))) tmp = 0.0 if (Float64(x * y) <= -4e+111) tmp = t_1; elseif (Float64(x * y) <= -1e-17) tmp = t_2; elseif (Float64(x * y) <= -1e-19) tmp = Float64(x * y); elseif (Float64(x * y) <= -5e-48) tmp = t_2; elseif (Float64(x * y) <= -1e-53) tmp = t_1; elseif (Float64(x * y) <= -5e-58) tmp = t_3; elseif (Float64(x * y) <= -4e-168) tmp = t_2; elseif (Float64(x * y) <= -1e-174) tmp = t_3; elseif (Float64(x * y) <= -1e-182) tmp = t_2; elseif (Float64(x * y) <= -2e-190) tmp = t_1; elseif (Float64(x * y) <= -4e-237) tmp = t_4; elseif (Float64(x * y) <= 1e-165) tmp = t_2; elseif (Float64(x * y) <= 5e-119) tmp = t_3; elseif (Float64(x * y) <= 2e-107) tmp = t_1; elseif (Float64(x * y) <= 5e-61) tmp = t_2; elseif (Float64(x * y) <= 1e-38) tmp = t_3; elseif (Float64(x * y) <= 5e-37) tmp = t_4; elseif (Float64(x * y) <= 2e-22) tmp = t_2; elseif (Float64(x * y) <= 2e+15) tmp = t_4; elseif (Float64(x * y) <= 5e+43) tmp = t_3; elseif (Float64(x * y) <= 1e+62) tmp = t_1; elseif (Float64(x * y) <= 7.5e+84) tmp = t_2; elseif (Float64(x * y) <= 5e+104) tmp = t_3; elseif (Float64(x * y) <= 5e+113) tmp = t_1; elseif (Float64(x * y) <= 1e+138) tmp = t_2; elseif (Float64(x * y) <= 5e+164) tmp = t_1; elseif (Float64(x * y) <= 1.3e+201) tmp = t_3; elseif (Float64(x * y) <= 2e+208) tmp = t_1; elseif (Float64(x * y) <= 2e+229) tmp = t_3; else tmp = Float64(x * y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = (x * y) + (a * b); t_2 = (a * b) + (z * t); t_3 = (x * y) + (z * t); t_4 = b * (a + ((z * t) / b)); tmp = 0.0; if ((x * y) <= -4e+111) tmp = t_1; elseif ((x * y) <= -1e-17) tmp = t_2; elseif ((x * y) <= -1e-19) tmp = x * y; elseif ((x * y) <= -5e-48) tmp = t_2; elseif ((x * y) <= -1e-53) tmp = t_1; elseif ((x * y) <= -5e-58) tmp = t_3; elseif ((x * y) <= -4e-168) tmp = t_2; elseif ((x * y) <= -1e-174) tmp = t_3; elseif ((x * y) <= -1e-182) tmp = t_2; elseif ((x * y) <= -2e-190) tmp = t_1; elseif ((x * y) <= -4e-237) tmp = t_4; elseif ((x * y) <= 1e-165) tmp = t_2; elseif ((x * y) <= 5e-119) tmp = t_3; elseif ((x * y) <= 2e-107) tmp = t_1; elseif ((x * y) <= 5e-61) tmp = t_2; elseif ((x * y) <= 1e-38) tmp = t_3; elseif ((x * y) <= 5e-37) tmp = t_4; elseif ((x * y) <= 2e-22) tmp = t_2; elseif ((x * y) <= 2e+15) tmp = t_4; elseif ((x * y) <= 5e+43) tmp = t_3; elseif ((x * y) <= 1e+62) tmp = t_1; elseif ((x * y) <= 7.5e+84) tmp = t_2; elseif ((x * y) <= 5e+104) tmp = t_3; elseif ((x * y) <= 5e+113) tmp = t_1; elseif ((x * y) <= 1e+138) tmp = t_2; elseif ((x * y) <= 5e+164) tmp = t_1; elseif ((x * y) <= 1.3e+201) tmp = t_3; elseif ((x * y) <= 2e+208) tmp = t_1; elseif ((x * y) <= 2e+229) tmp = t_3; else tmp = x * y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(x * y), $MachinePrecision] + N[(a * b), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(a * b), $MachinePrecision] + N[(z * t), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(x * y), $MachinePrecision] + N[(z * t), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(b * N[(a + N[(N[(z * t), $MachinePrecision] / b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(x * y), $MachinePrecision], -4e+111], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], -1e-17], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], -1e-19], N[(x * y), $MachinePrecision], If[LessEqual[N[(x * y), $MachinePrecision], -5e-48], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], -1e-53], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], -5e-58], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], -4e-168], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], -1e-174], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], -1e-182], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], -2e-190], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], -4e-237], t$95$4, If[LessEqual[N[(x * y), $MachinePrecision], 1e-165], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], 5e-119], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], 2e-107], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], 5e-61], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], 1e-38], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], 5e-37], t$95$4, If[LessEqual[N[(x * y), $MachinePrecision], 2e-22], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], 2e+15], t$95$4, If[LessEqual[N[(x * y), $MachinePrecision], 5e+43], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], 1e+62], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], 7.5e+84], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], 5e+104], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], 5e+113], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], 1e+138], t$95$2, If[LessEqual[N[(x * y), $MachinePrecision], 5e+164], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], 1.3e+201], t$95$3, If[LessEqual[N[(x * y), $MachinePrecision], 2e+208], t$95$1, If[LessEqual[N[(x * y), $MachinePrecision], 2e+229], t$95$3, N[(x * y), $MachinePrecision]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot y + a \cdot b\\
t_2 := a \cdot b + z \cdot t\\
t_3 := x \cdot y + z \cdot t\\
t_4 := b \cdot \left(a + \frac{z \cdot t}{b}\right)\\
\mathbf{if}\;x \cdot y \leq -4 \cdot 10^{+111}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq -1 \cdot 10^{-17}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq -1 \cdot 10^{-19}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;x \cdot y \leq -5 \cdot 10^{-48}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq -1 \cdot 10^{-53}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq -5 \cdot 10^{-58}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq -4 \cdot 10^{-168}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq -1 \cdot 10^{-174}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq -1 \cdot 10^{-182}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq -2 \cdot 10^{-190}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq -4 \cdot 10^{-237}:\\
\;\;\;\;t\_4\\
\mathbf{elif}\;x \cdot y \leq 10^{-165}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{-119}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq 2 \cdot 10^{-107}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{-61}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq 10^{-38}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{-37}:\\
\;\;\;\;t\_4\\
\mathbf{elif}\;x \cdot y \leq 2 \cdot 10^{-22}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq 2 \cdot 10^{+15}:\\
\;\;\;\;t\_4\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{+43}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq 10^{+62}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq 7.5 \cdot 10^{+84}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{+104}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{+113}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq 10^{+138}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \cdot y \leq 5 \cdot 10^{+164}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq 1.3 \cdot 10^{+201}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \cdot y \leq 2 \cdot 10^{+208}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \cdot y \leq 2 \cdot 10^{+229}:\\
\;\;\;\;t\_3\\
\mathbf{else}:\\
\;\;\;\;x \cdot y\\
\end{array}
\end{array}
if (*.f64 x y) < -3.99999999999999983e111 or -4.9999999999999999e-48 < (*.f64 x y) < -1.00000000000000003e-53 or -1e-182 < (*.f64 x y) < -2e-190 or 4.99999999999999993e-119 < (*.f64 x y) < 2e-107 or 5.0000000000000004e43 < (*.f64 x y) < 1.00000000000000004e62 or 4.9999999999999997e104 < (*.f64 x y) < 5e113 or 1e138 < (*.f64 x y) < 4.9999999999999995e164 or 1.29999999999999993e201 < (*.f64 x y) < 2e208Initial program 95.4%
Taylor expanded in z around 0 92.1%
if -3.99999999999999983e111 < (*.f64 x y) < -1.00000000000000007e-17 or -9.9999999999999998e-20 < (*.f64 x y) < -4.9999999999999999e-48 or -4.99999999999999977e-58 < (*.f64 x y) < -4.0000000000000002e-168 or -1e-174 < (*.f64 x y) < -1e-182 or -4e-237 < (*.f64 x y) < 1e-165 or 2e-107 < (*.f64 x y) < 4.9999999999999999e-61 or 4.9999999999999997e-37 < (*.f64 x y) < 2.0000000000000001e-22 or 1.00000000000000004e62 < (*.f64 x y) < 7.5000000000000001e84 or 5e113 < (*.f64 x y) < 1e138Initial program 100.0%
Taylor expanded in x around 0 96.9%
if -1.00000000000000007e-17 < (*.f64 x y) < -9.9999999999999998e-20 or 2e229 < (*.f64 x y) Initial program 81.8%
Taylor expanded in x around inf 90.9%
if -1.00000000000000003e-53 < (*.f64 x y) < -4.99999999999999977e-58 or -4.0000000000000002e-168 < (*.f64 x y) < -1e-174 or 1e-165 < (*.f64 x y) < 4.99999999999999993e-119 or 4.9999999999999999e-61 < (*.f64 x y) < 9.9999999999999996e-39 or 2e15 < (*.f64 x y) < 5.0000000000000004e43 or 7.5000000000000001e84 < (*.f64 x y) < 4.9999999999999997e104 or 4.9999999999999995e164 < (*.f64 x y) < 1.29999999999999993e201 or 2e208 < (*.f64 x y) < 2e229Initial program 100.0%
Taylor expanded in a around 0 100.0%
if -2e-190 < (*.f64 x y) < -4e-237 or 9.9999999999999996e-39 < (*.f64 x y) < 4.9999999999999997e-37 or 2.0000000000000001e-22 < (*.f64 x y) < 2e15Initial program 84.5%
Taylor expanded in b around inf 99.9%
associate-/l*92.3%
associate-/l*92.3%
Simplified92.3%
Taylor expanded in x around 0 99.9%
Final simplification95.7%
(FPCore (x y z t a b) :precision binary64 (fma a b (fma x y (* z t))))
double code(double x, double y, double z, double t, double a, double b) {
return fma(a, b, fma(x, y, (z * t)));
}
function code(x, y, z, t, a, b) return fma(a, b, fma(x, y, Float64(z * t))) end
code[x_, y_, z_, t_, a_, b_] := N[(a * b + N[(x * y + N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\mathsf{fma}\left(a, b, \mathsf{fma}\left(x, y, z \cdot t\right)\right)
\end{array}
Initial program 96.5%
+-commutative96.5%
fma-define98.0%
fma-define98.8%
Simplified98.8%
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (+ (* x y) (* a b))) (t_2 (+ (* a b) (* z t))))
(if (<= z -1.52e+54)
t_2
(if (<= z -1.45e-7)
t_1
(if (<= z -8.5e-13)
(* z t)
(if (<= z -1.45e-15)
(* x y)
(if (<= z -3.4e-28)
t_2
(if (<= z -7.6e-70)
t_1
(if (<= z -7.5e-70)
(* z t)
(if (<= z -3.3e-89)
t_1
(if (<= z -1.4e-97)
t_2
(if (<= z -8.8e-106)
t_1
(if (<= z -1.2e-113)
t_2
(if (<= z -9.4e-130)
t_1
(if (<= z -5e-152)
t_2
(if (<= z -1.25e-186)
t_1
(if (<= z -3.8e-207)
t_2
(if (<= z -3.8e-241)
t_1
(if (<= z -3.6e-241)
(* z t)
(if (<= z -6.3e-246)
t_2
(if (<= z 2.35e-254)
t_1
(if (<= z 2.4e-254)
(* z t)
(if (<= z 1.56e-203)
t_1
(if (<= z 1.6e-203)
(* z t)
(if (<= z 4.8e-198)
(* x y)
(if (<= z 5.5e-182)
t_2
(if (<= z 4.8e-128)
t_1
(if (<= z 4.9e-128)
(* z t)
(if (<= z 4.4e-107)
(* x y)
(if (<= z 1.1e-101)
(* z t)
(if (<= z 1.45e-59)
t_1
(if (<= z 1.5e-59)
(* z t)
(if (<=
z
9.5e-49)
t_1
(if (<=
z
2.45e-42)
t_2
(if (<=
z
4e+30)
(* z t)
(if (<=
z
1.4e+95)
t_2
(if (<=
z
3.5e+104)
(*
x
y)
(*
z
t))))))))))))))))))))))))))))))))))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x * y) + (a * b);
double t_2 = (a * b) + (z * t);
double tmp;
if (z <= -1.52e+54) {
tmp = t_2;
} else if (z <= -1.45e-7) {
tmp = t_1;
} else if (z <= -8.5e-13) {
tmp = z * t;
} else if (z <= -1.45e-15) {
tmp = x * y;
} else if (z <= -3.4e-28) {
tmp = t_2;
} else if (z <= -7.6e-70) {
tmp = t_1;
} else if (z <= -7.5e-70) {
tmp = z * t;
} else if (z <= -3.3e-89) {
tmp = t_1;
} else if (z <= -1.4e-97) {
tmp = t_2;
} else if (z <= -8.8e-106) {
tmp = t_1;
} else if (z <= -1.2e-113) {
tmp = t_2;
} else if (z <= -9.4e-130) {
tmp = t_1;
} else if (z <= -5e-152) {
tmp = t_2;
} else if (z <= -1.25e-186) {
tmp = t_1;
} else if (z <= -3.8e-207) {
tmp = t_2;
} else if (z <= -3.8e-241) {
tmp = t_1;
} else if (z <= -3.6e-241) {
tmp = z * t;
} else if (z <= -6.3e-246) {
tmp = t_2;
} else if (z <= 2.35e-254) {
tmp = t_1;
} else if (z <= 2.4e-254) {
tmp = z * t;
} else if (z <= 1.56e-203) {
tmp = t_1;
} else if (z <= 1.6e-203) {
tmp = z * t;
} else if (z <= 4.8e-198) {
tmp = x * y;
} else if (z <= 5.5e-182) {
tmp = t_2;
} else if (z <= 4.8e-128) {
tmp = t_1;
} else if (z <= 4.9e-128) {
tmp = z * t;
} else if (z <= 4.4e-107) {
tmp = x * y;
} else if (z <= 1.1e-101) {
tmp = z * t;
} else if (z <= 1.45e-59) {
tmp = t_1;
} else if (z <= 1.5e-59) {
tmp = z * t;
} else if (z <= 9.5e-49) {
tmp = t_1;
} else if (z <= 2.45e-42) {
tmp = t_2;
} else if (z <= 4e+30) {
tmp = z * t;
} else if (z <= 1.4e+95) {
tmp = t_2;
} else if (z <= 3.5e+104) {
tmp = x * y;
} else {
tmp = z * t;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = (x * y) + (a * b)
t_2 = (a * b) + (z * t)
if (z <= (-1.52d+54)) then
tmp = t_2
else if (z <= (-1.45d-7)) then
tmp = t_1
else if (z <= (-8.5d-13)) then
tmp = z * t
else if (z <= (-1.45d-15)) then
tmp = x * y
else if (z <= (-3.4d-28)) then
tmp = t_2
else if (z <= (-7.6d-70)) then
tmp = t_1
else if (z <= (-7.5d-70)) then
tmp = z * t
else if (z <= (-3.3d-89)) then
tmp = t_1
else if (z <= (-1.4d-97)) then
tmp = t_2
else if (z <= (-8.8d-106)) then
tmp = t_1
else if (z <= (-1.2d-113)) then
tmp = t_2
else if (z <= (-9.4d-130)) then
tmp = t_1
else if (z <= (-5d-152)) then
tmp = t_2
else if (z <= (-1.25d-186)) then
tmp = t_1
else if (z <= (-3.8d-207)) then
tmp = t_2
else if (z <= (-3.8d-241)) then
tmp = t_1
else if (z <= (-3.6d-241)) then
tmp = z * t
else if (z <= (-6.3d-246)) then
tmp = t_2
else if (z <= 2.35d-254) then
tmp = t_1
else if (z <= 2.4d-254) then
tmp = z * t
else if (z <= 1.56d-203) then
tmp = t_1
else if (z <= 1.6d-203) then
tmp = z * t
else if (z <= 4.8d-198) then
tmp = x * y
else if (z <= 5.5d-182) then
tmp = t_2
else if (z <= 4.8d-128) then
tmp = t_1
else if (z <= 4.9d-128) then
tmp = z * t
else if (z <= 4.4d-107) then
tmp = x * y
else if (z <= 1.1d-101) then
tmp = z * t
else if (z <= 1.45d-59) then
tmp = t_1
else if (z <= 1.5d-59) then
tmp = z * t
else if (z <= 9.5d-49) then
tmp = t_1
else if (z <= 2.45d-42) then
tmp = t_2
else if (z <= 4d+30) then
tmp = z * t
else if (z <= 1.4d+95) then
tmp = t_2
else if (z <= 3.5d+104) then
tmp = x * y
else
tmp = z * t
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x * y) + (a * b);
double t_2 = (a * b) + (z * t);
double tmp;
if (z <= -1.52e+54) {
tmp = t_2;
} else if (z <= -1.45e-7) {
tmp = t_1;
} else if (z <= -8.5e-13) {
tmp = z * t;
} else if (z <= -1.45e-15) {
tmp = x * y;
} else if (z <= -3.4e-28) {
tmp = t_2;
} else if (z <= -7.6e-70) {
tmp = t_1;
} else if (z <= -7.5e-70) {
tmp = z * t;
} else if (z <= -3.3e-89) {
tmp = t_1;
} else if (z <= -1.4e-97) {
tmp = t_2;
} else if (z <= -8.8e-106) {
tmp = t_1;
} else if (z <= -1.2e-113) {
tmp = t_2;
} else if (z <= -9.4e-130) {
tmp = t_1;
} else if (z <= -5e-152) {
tmp = t_2;
} else if (z <= -1.25e-186) {
tmp = t_1;
} else if (z <= -3.8e-207) {
tmp = t_2;
} else if (z <= -3.8e-241) {
tmp = t_1;
} else if (z <= -3.6e-241) {
tmp = z * t;
} else if (z <= -6.3e-246) {
tmp = t_2;
} else if (z <= 2.35e-254) {
tmp = t_1;
} else if (z <= 2.4e-254) {
tmp = z * t;
} else if (z <= 1.56e-203) {
tmp = t_1;
} else if (z <= 1.6e-203) {
tmp = z * t;
} else if (z <= 4.8e-198) {
tmp = x * y;
} else if (z <= 5.5e-182) {
tmp = t_2;
} else if (z <= 4.8e-128) {
tmp = t_1;
} else if (z <= 4.9e-128) {
tmp = z * t;
} else if (z <= 4.4e-107) {
tmp = x * y;
} else if (z <= 1.1e-101) {
tmp = z * t;
} else if (z <= 1.45e-59) {
tmp = t_1;
} else if (z <= 1.5e-59) {
tmp = z * t;
} else if (z <= 9.5e-49) {
tmp = t_1;
} else if (z <= 2.45e-42) {
tmp = t_2;
} else if (z <= 4e+30) {
tmp = z * t;
} else if (z <= 1.4e+95) {
tmp = t_2;
} else if (z <= 3.5e+104) {
tmp = x * y;
} else {
tmp = z * t;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = (x * y) + (a * b) t_2 = (a * b) + (z * t) tmp = 0 if z <= -1.52e+54: tmp = t_2 elif z <= -1.45e-7: tmp = t_1 elif z <= -8.5e-13: tmp = z * t elif z <= -1.45e-15: tmp = x * y elif z <= -3.4e-28: tmp = t_2 elif z <= -7.6e-70: tmp = t_1 elif z <= -7.5e-70: tmp = z * t elif z <= -3.3e-89: tmp = t_1 elif z <= -1.4e-97: tmp = t_2 elif z <= -8.8e-106: tmp = t_1 elif z <= -1.2e-113: tmp = t_2 elif z <= -9.4e-130: tmp = t_1 elif z <= -5e-152: tmp = t_2 elif z <= -1.25e-186: tmp = t_1 elif z <= -3.8e-207: tmp = t_2 elif z <= -3.8e-241: tmp = t_1 elif z <= -3.6e-241: tmp = z * t elif z <= -6.3e-246: tmp = t_2 elif z <= 2.35e-254: tmp = t_1 elif z <= 2.4e-254: tmp = z * t elif z <= 1.56e-203: tmp = t_1 elif z <= 1.6e-203: tmp = z * t elif z <= 4.8e-198: tmp = x * y elif z <= 5.5e-182: tmp = t_2 elif z <= 4.8e-128: tmp = t_1 elif z <= 4.9e-128: tmp = z * t elif z <= 4.4e-107: tmp = x * y elif z <= 1.1e-101: tmp = z * t elif z <= 1.45e-59: tmp = t_1 elif z <= 1.5e-59: tmp = z * t elif z <= 9.5e-49: tmp = t_1 elif z <= 2.45e-42: tmp = t_2 elif z <= 4e+30: tmp = z * t elif z <= 1.4e+95: tmp = t_2 elif z <= 3.5e+104: tmp = x * y else: tmp = z * t return tmp
function code(x, y, z, t, a, b) t_1 = Float64(Float64(x * y) + Float64(a * b)) t_2 = Float64(Float64(a * b) + Float64(z * t)) tmp = 0.0 if (z <= -1.52e+54) tmp = t_2; elseif (z <= -1.45e-7) tmp = t_1; elseif (z <= -8.5e-13) tmp = Float64(z * t); elseif (z <= -1.45e-15) tmp = Float64(x * y); elseif (z <= -3.4e-28) tmp = t_2; elseif (z <= -7.6e-70) tmp = t_1; elseif (z <= -7.5e-70) tmp = Float64(z * t); elseif (z <= -3.3e-89) tmp = t_1; elseif (z <= -1.4e-97) tmp = t_2; elseif (z <= -8.8e-106) tmp = t_1; elseif (z <= -1.2e-113) tmp = t_2; elseif (z <= -9.4e-130) tmp = t_1; elseif (z <= -5e-152) tmp = t_2; elseif (z <= -1.25e-186) tmp = t_1; elseif (z <= -3.8e-207) tmp = t_2; elseif (z <= -3.8e-241) tmp = t_1; elseif (z <= -3.6e-241) tmp = Float64(z * t); elseif (z <= -6.3e-246) tmp = t_2; elseif (z <= 2.35e-254) tmp = t_1; elseif (z <= 2.4e-254) tmp = Float64(z * t); elseif (z <= 1.56e-203) tmp = t_1; elseif (z <= 1.6e-203) tmp = Float64(z * t); elseif (z <= 4.8e-198) tmp = Float64(x * y); elseif (z <= 5.5e-182) tmp = t_2; elseif (z <= 4.8e-128) tmp = t_1; elseif (z <= 4.9e-128) tmp = Float64(z * t); elseif (z <= 4.4e-107) tmp = Float64(x * y); elseif (z <= 1.1e-101) tmp = Float64(z * t); elseif (z <= 1.45e-59) tmp = t_1; elseif (z <= 1.5e-59) tmp = Float64(z * t); elseif (z <= 9.5e-49) tmp = t_1; elseif (z <= 2.45e-42) tmp = t_2; elseif (z <= 4e+30) tmp = Float64(z * t); elseif (z <= 1.4e+95) tmp = t_2; elseif (z <= 3.5e+104) tmp = Float64(x * y); else tmp = Float64(z * t); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = (x * y) + (a * b); t_2 = (a * b) + (z * t); tmp = 0.0; if (z <= -1.52e+54) tmp = t_2; elseif (z <= -1.45e-7) tmp = t_1; elseif (z <= -8.5e-13) tmp = z * t; elseif (z <= -1.45e-15) tmp = x * y; elseif (z <= -3.4e-28) tmp = t_2; elseif (z <= -7.6e-70) tmp = t_1; elseif (z <= -7.5e-70) tmp = z * t; elseif (z <= -3.3e-89) tmp = t_1; elseif (z <= -1.4e-97) tmp = t_2; elseif (z <= -8.8e-106) tmp = t_1; elseif (z <= -1.2e-113) tmp = t_2; elseif (z <= -9.4e-130) tmp = t_1; elseif (z <= -5e-152) tmp = t_2; elseif (z <= -1.25e-186) tmp = t_1; elseif (z <= -3.8e-207) tmp = t_2; elseif (z <= -3.8e-241) tmp = t_1; elseif (z <= -3.6e-241) tmp = z * t; elseif (z <= -6.3e-246) tmp = t_2; elseif (z <= 2.35e-254) tmp = t_1; elseif (z <= 2.4e-254) tmp = z * t; elseif (z <= 1.56e-203) tmp = t_1; elseif (z <= 1.6e-203) tmp = z * t; elseif (z <= 4.8e-198) tmp = x * y; elseif (z <= 5.5e-182) tmp = t_2; elseif (z <= 4.8e-128) tmp = t_1; elseif (z <= 4.9e-128) tmp = z * t; elseif (z <= 4.4e-107) tmp = x * y; elseif (z <= 1.1e-101) tmp = z * t; elseif (z <= 1.45e-59) tmp = t_1; elseif (z <= 1.5e-59) tmp = z * t; elseif (z <= 9.5e-49) tmp = t_1; elseif (z <= 2.45e-42) tmp = t_2; elseif (z <= 4e+30) tmp = z * t; elseif (z <= 1.4e+95) tmp = t_2; elseif (z <= 3.5e+104) tmp = x * y; else tmp = z * t; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(x * y), $MachinePrecision] + N[(a * b), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(a * b), $MachinePrecision] + N[(z * t), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -1.52e+54], t$95$2, If[LessEqual[z, -1.45e-7], t$95$1, If[LessEqual[z, -8.5e-13], N[(z * t), $MachinePrecision], If[LessEqual[z, -1.45e-15], N[(x * y), $MachinePrecision], If[LessEqual[z, -3.4e-28], t$95$2, If[LessEqual[z, -7.6e-70], t$95$1, If[LessEqual[z, -7.5e-70], N[(z * t), $MachinePrecision], If[LessEqual[z, -3.3e-89], t$95$1, If[LessEqual[z, -1.4e-97], t$95$2, If[LessEqual[z, -8.8e-106], t$95$1, If[LessEqual[z, -1.2e-113], t$95$2, If[LessEqual[z, -9.4e-130], t$95$1, If[LessEqual[z, -5e-152], t$95$2, If[LessEqual[z, -1.25e-186], t$95$1, If[LessEqual[z, -3.8e-207], t$95$2, If[LessEqual[z, -3.8e-241], t$95$1, If[LessEqual[z, -3.6e-241], N[(z * t), $MachinePrecision], If[LessEqual[z, -6.3e-246], t$95$2, If[LessEqual[z, 2.35e-254], t$95$1, If[LessEqual[z, 2.4e-254], N[(z * t), $MachinePrecision], If[LessEqual[z, 1.56e-203], t$95$1, If[LessEqual[z, 1.6e-203], N[(z * t), $MachinePrecision], If[LessEqual[z, 4.8e-198], N[(x * y), $MachinePrecision], If[LessEqual[z, 5.5e-182], t$95$2, If[LessEqual[z, 4.8e-128], t$95$1, If[LessEqual[z, 4.9e-128], N[(z * t), $MachinePrecision], If[LessEqual[z, 4.4e-107], N[(x * y), $MachinePrecision], If[LessEqual[z, 1.1e-101], N[(z * t), $MachinePrecision], If[LessEqual[z, 1.45e-59], t$95$1, If[LessEqual[z, 1.5e-59], N[(z * t), $MachinePrecision], If[LessEqual[z, 9.5e-49], t$95$1, If[LessEqual[z, 2.45e-42], t$95$2, If[LessEqual[z, 4e+30], N[(z * t), $MachinePrecision], If[LessEqual[z, 1.4e+95], t$95$2, If[LessEqual[z, 3.5e+104], N[(x * y), $MachinePrecision], N[(z * t), $MachinePrecision]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot y + a \cdot b\\
t_2 := a \cdot b + z \cdot t\\
\mathbf{if}\;z \leq -1.52 \cdot 10^{+54}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;z \leq -1.45 \cdot 10^{-7}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq -8.5 \cdot 10^{-13}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;z \leq -1.45 \cdot 10^{-15}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;z \leq -3.4 \cdot 10^{-28}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;z \leq -7.6 \cdot 10^{-70}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq -7.5 \cdot 10^{-70}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;z \leq -3.3 \cdot 10^{-89}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq -1.4 \cdot 10^{-97}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;z \leq -8.8 \cdot 10^{-106}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq -1.2 \cdot 10^{-113}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;z \leq -9.4 \cdot 10^{-130}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq -5 \cdot 10^{-152}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;z \leq -1.25 \cdot 10^{-186}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq -3.8 \cdot 10^{-207}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;z \leq -3.8 \cdot 10^{-241}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq -3.6 \cdot 10^{-241}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;z \leq -6.3 \cdot 10^{-246}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;z \leq 2.35 \cdot 10^{-254}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq 2.4 \cdot 10^{-254}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;z \leq 1.56 \cdot 10^{-203}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq 1.6 \cdot 10^{-203}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;z \leq 4.8 \cdot 10^{-198}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;z \leq 5.5 \cdot 10^{-182}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;z \leq 4.8 \cdot 10^{-128}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq 4.9 \cdot 10^{-128}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;z \leq 4.4 \cdot 10^{-107}:\\
\;\;\;\;x \cdot y\\
\mathbf{elif}\;z \leq 1.1 \cdot 10^{-101}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;z \leq 1.45 \cdot 10^{-59}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq 1.5 \cdot 10^{-59}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;z \leq 9.5 \cdot 10^{-49}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq 2.45 \cdot 10^{-42}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;z \leq 4 \cdot 10^{+30}:\\
\;\;\;\;z \cdot t\\
\mathbf{elif}\;z \leq 1.4 \cdot 10^{+95}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;z \leq 3.5 \cdot 10^{+104}:\\
\;\;\;\;x \cdot y\\
\mathbf{else}:\\
\;\;\;\;z \cdot t\\
\end{array}
\end{array}
if z < -1.51999999999999999e54 or -1.45000000000000009e-15 < z < -3.4000000000000001e-28 or -3.2999999999999997e-89 < z < -1.4000000000000001e-97 or -8.79999999999999977e-106 < z < -1.20000000000000006e-113 or -9.39999999999999937e-130 < z < -4.9999999999999997e-152 or -1.25e-186 < z < -3.8e-207 or -3.5999999999999999e-241 < z < -6.30000000000000009e-246 or 4.79999999999999973e-198 < z < 5.49999999999999993e-182 or 9.50000000000000006e-49 < z < 2.45e-42 or 4.0000000000000001e30 < z < 1.3999999999999999e95Initial program 97.6%
Taylor expanded in x around 0 77.3%
if -1.51999999999999999e54 < z < -1.4499999999999999e-7 or -3.4000000000000001e-28 < z < -7.5999999999999995e-70 or -7.49999999999999973e-70 < z < -3.2999999999999997e-89 or -1.4000000000000001e-97 < z < -8.79999999999999977e-106 or -1.20000000000000006e-113 < z < -9.39999999999999937e-130 or -4.9999999999999997e-152 < z < -1.25e-186 or -3.8e-207 < z < -3.7999999999999999e-241 or -6.30000000000000009e-246 < z < 2.35000000000000013e-254 or 2.40000000000000002e-254 < z < 1.56e-203 or 5.49999999999999993e-182 < z < 4.7999999999999996e-128 or 1.0999999999999999e-101 < z < 1.45000000000000008e-59 or 1.5e-59 < z < 9.50000000000000006e-49Initial program 99.0%
Taylor expanded in z around 0 87.5%
if -1.4499999999999999e-7 < z < -8.5000000000000001e-13 or -7.5999999999999995e-70 < z < -7.49999999999999973e-70 or -3.7999999999999999e-241 < z < -3.5999999999999999e-241 or 2.35000000000000013e-254 < z < 2.40000000000000002e-254 or 1.56e-203 < z < 1.6e-203 or 4.7999999999999996e-128 < z < 4.89999999999999989e-128 or 4.40000000000000025e-107 < z < 1.0999999999999999e-101 or 1.45000000000000008e-59 < z < 1.5e-59 or 2.45e-42 < z < 4.0000000000000001e30 or 3.5000000000000002e104 < z Initial program 89.8%
Taylor expanded in z around inf 62.8%
if -8.5000000000000001e-13 < z < -1.45000000000000009e-15 or 1.6e-203 < z < 4.79999999999999973e-198 or 4.89999999999999989e-128 < z < 4.40000000000000025e-107 or 1.3999999999999999e95 < z < 3.5000000000000002e104Initial program 100.0%
Taylor expanded in x around inf 38.3%
Final simplification77.3%
(FPCore (x y z t a b) :precision binary64 (let* ((t_1 (+ (* a b) (+ (* x y) (* z t))))) (if (<= t_1 INFINITY) t_1 (* z (+ t (* y (/ x z)))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (a * b) + ((x * y) + (z * t));
double tmp;
if (t_1 <= ((double) INFINITY)) {
tmp = t_1;
} else {
tmp = z * (t + (y * (x / z)));
}
return tmp;
}
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (a * b) + ((x * y) + (z * t));
double tmp;
if (t_1 <= Double.POSITIVE_INFINITY) {
tmp = t_1;
} else {
tmp = z * (t + (y * (x / z)));
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = (a * b) + ((x * y) + (z * t)) tmp = 0 if t_1 <= math.inf: tmp = t_1 else: tmp = z * (t + (y * (x / z))) return tmp
function code(x, y, z, t, a, b) t_1 = Float64(Float64(a * b) + Float64(Float64(x * y) + Float64(z * t))) tmp = 0.0 if (t_1 <= Inf) tmp = t_1; else tmp = Float64(z * Float64(t + Float64(y * Float64(x / z)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = (a * b) + ((x * y) + (z * t)); tmp = 0.0; if (t_1 <= Inf) tmp = t_1; else tmp = z * (t + (y * (x / z))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(a * b), $MachinePrecision] + N[(N[(x * y), $MachinePrecision] + N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, Infinity], t$95$1, N[(z * N[(t + N[(y * N[(x / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot b + \left(x \cdot y + z \cdot t\right)\\
\mathbf{if}\;t\_1 \leq \infty:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;z \cdot \left(t + y \cdot \frac{x}{z}\right)\\
\end{array}
\end{array}
if (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) < +inf.0Initial program 100.0%
if +inf.0 < (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) Initial program 0.0%
Taylor expanded in b around inf 44.4%
associate-/l*77.8%
associate-/l*77.8%
Simplified77.8%
Taylor expanded in z around inf 55.6%
Taylor expanded in b around 0 55.6%
*-commutative55.6%
associate-*r/77.8%
Simplified77.8%
Final simplification99.2%
(FPCore (x y z t a b) :precision binary64 (* a b))
double code(double x, double y, double z, double t, double a, double b) {
return a * b;
}
real(8) function code(x, y, z, t, a, b)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
code = a * b
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return a * b;
}
def code(x, y, z, t, a, b): return a * b
function code(x, y, z, t, a, b) return Float64(a * b) end
function tmp = code(x, y, z, t, a, b) tmp = a * b; end
code[x_, y_, z_, t_, a_, b_] := N[(a * b), $MachinePrecision]
\begin{array}{l}
\\
a \cdot b
\end{array}
Initial program 96.5%
Taylor expanded in a around inf 36.5%
herbie shell --seed 2024096
(FPCore (x y z t a b)
:name "Linear.V3:$cdot from linear-1.19.1.3, B"
:precision binary64
(+ (+ (* x y) (* z t)) (* a b)))