
(FPCore (x y z t) :precision binary64 (/ (* x (- y z)) (- t z)))
double code(double x, double y, double z, double t) {
return (x * (y - z)) / (t - z);
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
code = (x * (y - z)) / (t - z)
end function
public static double code(double x, double y, double z, double t) {
return (x * (y - z)) / (t - z);
}
def code(x, y, z, t): return (x * (y - z)) / (t - z)
function code(x, y, z, t) return Float64(Float64(x * Float64(y - z)) / Float64(t - z)) end
function tmp = code(x, y, z, t) tmp = (x * (y - z)) / (t - z); end
code[x_, y_, z_, t_] := N[(N[(x * N[(y - z), $MachinePrecision]), $MachinePrecision] / N[(t - z), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{x \cdot \left(y - z\right)}{t - z}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 16 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t) :precision binary64 (/ (* x (- y z)) (- t z)))
double code(double x, double y, double z, double t) {
return (x * (y - z)) / (t - z);
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
code = (x * (y - z)) / (t - z)
end function
public static double code(double x, double y, double z, double t) {
return (x * (y - z)) / (t - z);
}
def code(x, y, z, t): return (x * (y - z)) / (t - z)
function code(x, y, z, t) return Float64(Float64(x * Float64(y - z)) / Float64(t - z)) end
function tmp = code(x, y, z, t) tmp = (x * (y - z)) / (t - z); end
code[x_, y_, z_, t_] := N[(N[(x * N[(y - z), $MachinePrecision]), $MachinePrecision] / N[(t - z), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{x \cdot \left(y - z\right)}{t - z}
\end{array}
(FPCore (x y z t) :precision binary64 (/ x (/ (- t z) (- y z))))
double code(double x, double y, double z, double t) {
return x / ((t - z) / (y - z));
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
code = x / ((t - z) / (y - z))
end function
public static double code(double x, double y, double z, double t) {
return x / ((t - z) / (y - z));
}
def code(x, y, z, t): return x / ((t - z) / (y - z))
function code(x, y, z, t) return Float64(x / Float64(Float64(t - z) / Float64(y - z))) end
function tmp = code(x, y, z, t) tmp = x / ((t - z) / (y - z)); end
code[x_, y_, z_, t_] := N[(x / N[(N[(t - z), $MachinePrecision] / N[(y - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{x}{\frac{t - z}{y - z}}
\end{array}
Initial program 82.8%
associate-/l*96.8%
Simplified96.8%
clear-num96.4%
un-div-inv97.0%
Applied egg-rr97.0%
(FPCore (x y z t)
:precision binary64
(let* ((t_1 (/ x (/ t y))) (t_2 (* x (/ y t))) (t_3 (* y (/ x t))))
(if (<= z -2.5e+84)
x
(if (<= z -9.5e+22)
t_2
(if (<= z -2.2e+20)
x
(if (<= z -9e-67)
t_1
(if (<= z -7.4e-85)
x
(if (<= z -2.7e-175)
t_3
(if (<= z -4.9e-181)
x
(if (<= z -2.6e-217)
t_2
(if (<= z -2.45e-241)
t_3
(if (<= z 5.5e+66) t_1 x))))))))))))
double code(double x, double y, double z, double t) {
double t_1 = x / (t / y);
double t_2 = x * (y / t);
double t_3 = y * (x / t);
double tmp;
if (z <= -2.5e+84) {
tmp = x;
} else if (z <= -9.5e+22) {
tmp = t_2;
} else if (z <= -2.2e+20) {
tmp = x;
} else if (z <= -9e-67) {
tmp = t_1;
} else if (z <= -7.4e-85) {
tmp = x;
} else if (z <= -2.7e-175) {
tmp = t_3;
} else if (z <= -4.9e-181) {
tmp = x;
} else if (z <= -2.6e-217) {
tmp = t_2;
} else if (z <= -2.45e-241) {
tmp = t_3;
} else if (z <= 5.5e+66) {
tmp = t_1;
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = x / (t / y)
t_2 = x * (y / t)
t_3 = y * (x / t)
if (z <= (-2.5d+84)) then
tmp = x
else if (z <= (-9.5d+22)) then
tmp = t_2
else if (z <= (-2.2d+20)) then
tmp = x
else if (z <= (-9d-67)) then
tmp = t_1
else if (z <= (-7.4d-85)) then
tmp = x
else if (z <= (-2.7d-175)) then
tmp = t_3
else if (z <= (-4.9d-181)) then
tmp = x
else if (z <= (-2.6d-217)) then
tmp = t_2
else if (z <= (-2.45d-241)) then
tmp = t_3
else if (z <= 5.5d+66) then
tmp = t_1
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double t_1 = x / (t / y);
double t_2 = x * (y / t);
double t_3 = y * (x / t);
double tmp;
if (z <= -2.5e+84) {
tmp = x;
} else if (z <= -9.5e+22) {
tmp = t_2;
} else if (z <= -2.2e+20) {
tmp = x;
} else if (z <= -9e-67) {
tmp = t_1;
} else if (z <= -7.4e-85) {
tmp = x;
} else if (z <= -2.7e-175) {
tmp = t_3;
} else if (z <= -4.9e-181) {
tmp = x;
} else if (z <= -2.6e-217) {
tmp = t_2;
} else if (z <= -2.45e-241) {
tmp = t_3;
} else if (z <= 5.5e+66) {
tmp = t_1;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t): t_1 = x / (t / y) t_2 = x * (y / t) t_3 = y * (x / t) tmp = 0 if z <= -2.5e+84: tmp = x elif z <= -9.5e+22: tmp = t_2 elif z <= -2.2e+20: tmp = x elif z <= -9e-67: tmp = t_1 elif z <= -7.4e-85: tmp = x elif z <= -2.7e-175: tmp = t_3 elif z <= -4.9e-181: tmp = x elif z <= -2.6e-217: tmp = t_2 elif z <= -2.45e-241: tmp = t_3 elif z <= 5.5e+66: tmp = t_1 else: tmp = x return tmp
function code(x, y, z, t) t_1 = Float64(x / Float64(t / y)) t_2 = Float64(x * Float64(y / t)) t_3 = Float64(y * Float64(x / t)) tmp = 0.0 if (z <= -2.5e+84) tmp = x; elseif (z <= -9.5e+22) tmp = t_2; elseif (z <= -2.2e+20) tmp = x; elseif (z <= -9e-67) tmp = t_1; elseif (z <= -7.4e-85) tmp = x; elseif (z <= -2.7e-175) tmp = t_3; elseif (z <= -4.9e-181) tmp = x; elseif (z <= -2.6e-217) tmp = t_2; elseif (z <= -2.45e-241) tmp = t_3; elseif (z <= 5.5e+66) tmp = t_1; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t) t_1 = x / (t / y); t_2 = x * (y / t); t_3 = y * (x / t); tmp = 0.0; if (z <= -2.5e+84) tmp = x; elseif (z <= -9.5e+22) tmp = t_2; elseif (z <= -2.2e+20) tmp = x; elseif (z <= -9e-67) tmp = t_1; elseif (z <= -7.4e-85) tmp = x; elseif (z <= -2.7e-175) tmp = t_3; elseif (z <= -4.9e-181) tmp = x; elseif (z <= -2.6e-217) tmp = t_2; elseif (z <= -2.45e-241) tmp = t_3; elseif (z <= 5.5e+66) tmp = t_1; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[(x / N[(t / y), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x * N[(y / t), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(y * N[(x / t), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -2.5e+84], x, If[LessEqual[z, -9.5e+22], t$95$2, If[LessEqual[z, -2.2e+20], x, If[LessEqual[z, -9e-67], t$95$1, If[LessEqual[z, -7.4e-85], x, If[LessEqual[z, -2.7e-175], t$95$3, If[LessEqual[z, -4.9e-181], x, If[LessEqual[z, -2.6e-217], t$95$2, If[LessEqual[z, -2.45e-241], t$95$3, If[LessEqual[z, 5.5e+66], t$95$1, x]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{x}{\frac{t}{y}}\\
t_2 := x \cdot \frac{y}{t}\\
t_3 := y \cdot \frac{x}{t}\\
\mathbf{if}\;z \leq -2.5 \cdot 10^{+84}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq -9.5 \cdot 10^{+22}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;z \leq -2.2 \cdot 10^{+20}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq -9 \cdot 10^{-67}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq -7.4 \cdot 10^{-85}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq -2.7 \cdot 10^{-175}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;z \leq -4.9 \cdot 10^{-181}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq -2.6 \cdot 10^{-217}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;z \leq -2.45 \cdot 10^{-241}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;z \leq 5.5 \cdot 10^{+66}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if z < -2.5e84 or -9.49999999999999937e22 < z < -2.2e20 or -9.00000000000000031e-67 < z < -7.39999999999999966e-85 or -2.69999999999999999e-175 < z < -4.89999999999999963e-181 or 5.5e66 < z Initial program 72.3%
associate-/l*99.6%
Simplified99.6%
Taylor expanded in z around inf 63.3%
if -2.5e84 < z < -9.49999999999999937e22 or -4.89999999999999963e-181 < z < -2.59999999999999993e-217Initial program 85.4%
associate-/l*99.9%
Simplified99.9%
Taylor expanded in z around 0 51.4%
associate-/l*62.2%
Simplified62.2%
if -2.2e20 < z < -9.00000000000000031e-67 or -2.4499999999999999e-241 < z < 5.5e66Initial program 90.0%
associate-/l*96.0%
Simplified96.0%
clear-num96.0%
un-div-inv96.1%
Applied egg-rr96.1%
Taylor expanded in z around 0 61.2%
if -7.39999999999999966e-85 < z < -2.69999999999999999e-175 or -2.59999999999999993e-217 < z < -2.4499999999999999e-241Initial program 92.7%
associate-/l*87.5%
Simplified87.5%
clear-num86.0%
un-div-inv91.4%
Applied egg-rr91.4%
clear-num85.8%
associate-/r/91.2%
Applied egg-rr91.2%
clear-num89.1%
inv-pow89.1%
associate-*l/89.2%
*-un-lft-identity89.2%
associate-/l/90.5%
Applied egg-rr90.5%
unpow-190.5%
associate-/r*97.4%
Simplified97.4%
Taylor expanded in z around 0 59.1%
*-rgt-identity59.1%
times-frac66.1%
/-rgt-identity66.1%
Simplified66.1%
Final simplification62.6%
(FPCore (x y z t)
:precision binary64
(let* ((t_1 (/ x (/ t y))))
(if (<= z -2.25e+84)
x
(if (<= z -2.5e+23)
(* x (/ y t))
(if (<= z -1.65e+20)
x
(if (<= z -9e-67)
t_1
(if (<= z -7.4e-85)
x
(if (<= z -2.7e-175)
(* y (/ x t))
(if (<= z -4.9e-181)
x
(if (<= z -2.4e-242)
(/ (* x y) t)
(if (<= z 3.05e+63) t_1 x)))))))))))
double code(double x, double y, double z, double t) {
double t_1 = x / (t / y);
double tmp;
if (z <= -2.25e+84) {
tmp = x;
} else if (z <= -2.5e+23) {
tmp = x * (y / t);
} else if (z <= -1.65e+20) {
tmp = x;
} else if (z <= -9e-67) {
tmp = t_1;
} else if (z <= -7.4e-85) {
tmp = x;
} else if (z <= -2.7e-175) {
tmp = y * (x / t);
} else if (z <= -4.9e-181) {
tmp = x;
} else if (z <= -2.4e-242) {
tmp = (x * y) / t;
} else if (z <= 3.05e+63) {
tmp = t_1;
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: t_1
real(8) :: tmp
t_1 = x / (t / y)
if (z <= (-2.25d+84)) then
tmp = x
else if (z <= (-2.5d+23)) then
tmp = x * (y / t)
else if (z <= (-1.65d+20)) then
tmp = x
else if (z <= (-9d-67)) then
tmp = t_1
else if (z <= (-7.4d-85)) then
tmp = x
else if (z <= (-2.7d-175)) then
tmp = y * (x / t)
else if (z <= (-4.9d-181)) then
tmp = x
else if (z <= (-2.4d-242)) then
tmp = (x * y) / t
else if (z <= 3.05d+63) then
tmp = t_1
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double t_1 = x / (t / y);
double tmp;
if (z <= -2.25e+84) {
tmp = x;
} else if (z <= -2.5e+23) {
tmp = x * (y / t);
} else if (z <= -1.65e+20) {
tmp = x;
} else if (z <= -9e-67) {
tmp = t_1;
} else if (z <= -7.4e-85) {
tmp = x;
} else if (z <= -2.7e-175) {
tmp = y * (x / t);
} else if (z <= -4.9e-181) {
tmp = x;
} else if (z <= -2.4e-242) {
tmp = (x * y) / t;
} else if (z <= 3.05e+63) {
tmp = t_1;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t): t_1 = x / (t / y) tmp = 0 if z <= -2.25e+84: tmp = x elif z <= -2.5e+23: tmp = x * (y / t) elif z <= -1.65e+20: tmp = x elif z <= -9e-67: tmp = t_1 elif z <= -7.4e-85: tmp = x elif z <= -2.7e-175: tmp = y * (x / t) elif z <= -4.9e-181: tmp = x elif z <= -2.4e-242: tmp = (x * y) / t elif z <= 3.05e+63: tmp = t_1 else: tmp = x return tmp
function code(x, y, z, t) t_1 = Float64(x / Float64(t / y)) tmp = 0.0 if (z <= -2.25e+84) tmp = x; elseif (z <= -2.5e+23) tmp = Float64(x * Float64(y / t)); elseif (z <= -1.65e+20) tmp = x; elseif (z <= -9e-67) tmp = t_1; elseif (z <= -7.4e-85) tmp = x; elseif (z <= -2.7e-175) tmp = Float64(y * Float64(x / t)); elseif (z <= -4.9e-181) tmp = x; elseif (z <= -2.4e-242) tmp = Float64(Float64(x * y) / t); elseif (z <= 3.05e+63) tmp = t_1; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t) t_1 = x / (t / y); tmp = 0.0; if (z <= -2.25e+84) tmp = x; elseif (z <= -2.5e+23) tmp = x * (y / t); elseif (z <= -1.65e+20) tmp = x; elseif (z <= -9e-67) tmp = t_1; elseif (z <= -7.4e-85) tmp = x; elseif (z <= -2.7e-175) tmp = y * (x / t); elseif (z <= -4.9e-181) tmp = x; elseif (z <= -2.4e-242) tmp = (x * y) / t; elseif (z <= 3.05e+63) tmp = t_1; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[(x / N[(t / y), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -2.25e+84], x, If[LessEqual[z, -2.5e+23], N[(x * N[(y / t), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -1.65e+20], x, If[LessEqual[z, -9e-67], t$95$1, If[LessEqual[z, -7.4e-85], x, If[LessEqual[z, -2.7e-175], N[(y * N[(x / t), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -4.9e-181], x, If[LessEqual[z, -2.4e-242], N[(N[(x * y), $MachinePrecision] / t), $MachinePrecision], If[LessEqual[z, 3.05e+63], t$95$1, x]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{x}{\frac{t}{y}}\\
\mathbf{if}\;z \leq -2.25 \cdot 10^{+84}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq -2.5 \cdot 10^{+23}:\\
\;\;\;\;x \cdot \frac{y}{t}\\
\mathbf{elif}\;z \leq -1.65 \cdot 10^{+20}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq -9 \cdot 10^{-67}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq -7.4 \cdot 10^{-85}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq -2.7 \cdot 10^{-175}:\\
\;\;\;\;y \cdot \frac{x}{t}\\
\mathbf{elif}\;z \leq -4.9 \cdot 10^{-181}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq -2.4 \cdot 10^{-242}:\\
\;\;\;\;\frac{x \cdot y}{t}\\
\mathbf{elif}\;z \leq 3.05 \cdot 10^{+63}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if z < -2.2499999999999999e84 or -2.5e23 < z < -1.65e20 or -9.00000000000000031e-67 < z < -7.39999999999999966e-85 or -2.69999999999999999e-175 < z < -4.89999999999999963e-181 or 3.04999999999999984e63 < z Initial program 72.3%
associate-/l*99.6%
Simplified99.6%
Taylor expanded in z around inf 63.3%
if -2.2499999999999999e84 < z < -2.5e23Initial program 80.7%
associate-/l*99.9%
Simplified99.9%
Taylor expanded in z around 0 35.4%
associate-/l*49.6%
Simplified49.6%
if -1.65e20 < z < -9.00000000000000031e-67 or -2.4000000000000001e-242 < z < 3.04999999999999984e63Initial program 90.0%
associate-/l*96.0%
Simplified96.0%
clear-num96.0%
un-div-inv96.1%
Applied egg-rr96.1%
Taylor expanded in z around 0 61.2%
if -7.39999999999999966e-85 < z < -2.69999999999999999e-175Initial program 90.7%
associate-/l*88.5%
Simplified88.5%
clear-num86.6%
un-div-inv90.4%
Applied egg-rr90.4%
clear-num86.5%
associate-/r/90.4%
Applied egg-rr90.4%
clear-num87.6%
inv-pow87.6%
associate-*l/87.7%
*-un-lft-identity87.7%
associate-/l/87.9%
Applied egg-rr87.9%
unpow-187.9%
associate-/r*96.8%
Simplified96.8%
Taylor expanded in z around 0 47.6%
*-rgt-identity47.6%
times-frac56.5%
/-rgt-identity56.5%
Simplified56.5%
if -4.89999999999999963e-181 < z < -2.4000000000000001e-242Initial program 99.4%
associate-/l*91.1%
Simplified91.1%
Taylor expanded in z around 0 99.4%
Final simplification62.6%
(FPCore (x y z t)
:precision binary64
(let* ((t_1 (* x (/ y t))) (t_2 (* y (/ x t))))
(if (<= z -2.25e+84)
x
(if (<= z -1.4e+24)
t_1
(if (<= z -2.2e+20)
x
(if (<= z -9e-67)
t_1
(if (<= z -3.25e-97)
x
(if (<= z -1.85e-142)
t_2
(if (<= z -3.8e-217)
t_1
(if (<= z -1.2e-241) t_2 (if (<= z 1.15e+65) t_1 x)))))))))))
double code(double x, double y, double z, double t) {
double t_1 = x * (y / t);
double t_2 = y * (x / t);
double tmp;
if (z <= -2.25e+84) {
tmp = x;
} else if (z <= -1.4e+24) {
tmp = t_1;
} else if (z <= -2.2e+20) {
tmp = x;
} else if (z <= -9e-67) {
tmp = t_1;
} else if (z <= -3.25e-97) {
tmp = x;
} else if (z <= -1.85e-142) {
tmp = t_2;
} else if (z <= -3.8e-217) {
tmp = t_1;
} else if (z <= -1.2e-241) {
tmp = t_2;
} else if (z <= 1.15e+65) {
tmp = t_1;
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = x * (y / t)
t_2 = y * (x / t)
if (z <= (-2.25d+84)) then
tmp = x
else if (z <= (-1.4d+24)) then
tmp = t_1
else if (z <= (-2.2d+20)) then
tmp = x
else if (z <= (-9d-67)) then
tmp = t_1
else if (z <= (-3.25d-97)) then
tmp = x
else if (z <= (-1.85d-142)) then
tmp = t_2
else if (z <= (-3.8d-217)) then
tmp = t_1
else if (z <= (-1.2d-241)) then
tmp = t_2
else if (z <= 1.15d+65) then
tmp = t_1
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double t_1 = x * (y / t);
double t_2 = y * (x / t);
double tmp;
if (z <= -2.25e+84) {
tmp = x;
} else if (z <= -1.4e+24) {
tmp = t_1;
} else if (z <= -2.2e+20) {
tmp = x;
} else if (z <= -9e-67) {
tmp = t_1;
} else if (z <= -3.25e-97) {
tmp = x;
} else if (z <= -1.85e-142) {
tmp = t_2;
} else if (z <= -3.8e-217) {
tmp = t_1;
} else if (z <= -1.2e-241) {
tmp = t_2;
} else if (z <= 1.15e+65) {
tmp = t_1;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t): t_1 = x * (y / t) t_2 = y * (x / t) tmp = 0 if z <= -2.25e+84: tmp = x elif z <= -1.4e+24: tmp = t_1 elif z <= -2.2e+20: tmp = x elif z <= -9e-67: tmp = t_1 elif z <= -3.25e-97: tmp = x elif z <= -1.85e-142: tmp = t_2 elif z <= -3.8e-217: tmp = t_1 elif z <= -1.2e-241: tmp = t_2 elif z <= 1.15e+65: tmp = t_1 else: tmp = x return tmp
function code(x, y, z, t) t_1 = Float64(x * Float64(y / t)) t_2 = Float64(y * Float64(x / t)) tmp = 0.0 if (z <= -2.25e+84) tmp = x; elseif (z <= -1.4e+24) tmp = t_1; elseif (z <= -2.2e+20) tmp = x; elseif (z <= -9e-67) tmp = t_1; elseif (z <= -3.25e-97) tmp = x; elseif (z <= -1.85e-142) tmp = t_2; elseif (z <= -3.8e-217) tmp = t_1; elseif (z <= -1.2e-241) tmp = t_2; elseif (z <= 1.15e+65) tmp = t_1; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t) t_1 = x * (y / t); t_2 = y * (x / t); tmp = 0.0; if (z <= -2.25e+84) tmp = x; elseif (z <= -1.4e+24) tmp = t_1; elseif (z <= -2.2e+20) tmp = x; elseif (z <= -9e-67) tmp = t_1; elseif (z <= -3.25e-97) tmp = x; elseif (z <= -1.85e-142) tmp = t_2; elseif (z <= -3.8e-217) tmp = t_1; elseif (z <= -1.2e-241) tmp = t_2; elseif (z <= 1.15e+65) tmp = t_1; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[(x * N[(y / t), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y * N[(x / t), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -2.25e+84], x, If[LessEqual[z, -1.4e+24], t$95$1, If[LessEqual[z, -2.2e+20], x, If[LessEqual[z, -9e-67], t$95$1, If[LessEqual[z, -3.25e-97], x, If[LessEqual[z, -1.85e-142], t$95$2, If[LessEqual[z, -3.8e-217], t$95$1, If[LessEqual[z, -1.2e-241], t$95$2, If[LessEqual[z, 1.15e+65], t$95$1, x]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \frac{y}{t}\\
t_2 := y \cdot \frac{x}{t}\\
\mathbf{if}\;z \leq -2.25 \cdot 10^{+84}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq -1.4 \cdot 10^{+24}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq -2.2 \cdot 10^{+20}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq -9 \cdot 10^{-67}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq -3.25 \cdot 10^{-97}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq -1.85 \cdot 10^{-142}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;z \leq -3.8 \cdot 10^{-217}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq -1.2 \cdot 10^{-241}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;z \leq 1.15 \cdot 10^{+65}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if z < -2.2499999999999999e84 or -1.4000000000000001e24 < z < -2.2e20 or -9.00000000000000031e-67 < z < -3.2500000000000002e-97 or 1.15e65 < z Initial program 73.0%
associate-/l*99.9%
Simplified99.9%
Taylor expanded in z around inf 63.0%
if -2.2499999999999999e84 < z < -1.4000000000000001e24 or -2.2e20 < z < -9.00000000000000031e-67 or -1.84999999999999993e-142 < z < -3.79999999999999987e-217 or -1.2e-241 < z < 1.15e65Initial program 88.2%
associate-/l*95.6%
Simplified95.6%
Taylor expanded in z around 0 52.3%
associate-/l*60.2%
Simplified60.2%
if -3.2500000000000002e-97 < z < -1.84999999999999993e-142 or -3.79999999999999987e-217 < z < -1.2e-241Initial program 99.7%
associate-/l*87.1%
Simplified87.1%
clear-num87.1%
un-div-inv96.9%
Applied egg-rr96.9%
clear-num86.9%
associate-/r/96.6%
Applied egg-rr96.6%
clear-num92.8%
inv-pow92.8%
associate-*l/93.1%
*-un-lft-identity93.1%
associate-/l/95.8%
Applied egg-rr95.8%
unpow-195.8%
associate-/r*95.8%
Simplified95.8%
Taylor expanded in z around 0 76.2%
*-rgt-identity76.2%
times-frac76.2%
/-rgt-identity76.2%
Simplified76.2%
Final simplification62.2%
(FPCore (x y z t)
:precision binary64
(let* ((t_1 (* x (/ y (- t z)))) (t_2 (* x (- 1.0 (/ y z)))))
(if (<= z -2.25e+84)
t_2
(if (<= z -2.6e+20)
t_1
(if (<= z -5600000000.0)
x
(if (<= z 8.8e+77)
t_1
(if (or (<= z 1.1e+147)
(and (not (<= z 1.9e+156)) (<= z 1.65e+212)))
(* x (/ z (- z t)))
t_2)))))))
double code(double x, double y, double z, double t) {
double t_1 = x * (y / (t - z));
double t_2 = x * (1.0 - (y / z));
double tmp;
if (z <= -2.25e+84) {
tmp = t_2;
} else if (z <= -2.6e+20) {
tmp = t_1;
} else if (z <= -5600000000.0) {
tmp = x;
} else if (z <= 8.8e+77) {
tmp = t_1;
} else if ((z <= 1.1e+147) || (!(z <= 1.9e+156) && (z <= 1.65e+212))) {
tmp = x * (z / (z - t));
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = x * (y / (t - z))
t_2 = x * (1.0d0 - (y / z))
if (z <= (-2.25d+84)) then
tmp = t_2
else if (z <= (-2.6d+20)) then
tmp = t_1
else if (z <= (-5600000000.0d0)) then
tmp = x
else if (z <= 8.8d+77) then
tmp = t_1
else if ((z <= 1.1d+147) .or. (.not. (z <= 1.9d+156)) .and. (z <= 1.65d+212)) then
tmp = x * (z / (z - t))
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double t_1 = x * (y / (t - z));
double t_2 = x * (1.0 - (y / z));
double tmp;
if (z <= -2.25e+84) {
tmp = t_2;
} else if (z <= -2.6e+20) {
tmp = t_1;
} else if (z <= -5600000000.0) {
tmp = x;
} else if (z <= 8.8e+77) {
tmp = t_1;
} else if ((z <= 1.1e+147) || (!(z <= 1.9e+156) && (z <= 1.65e+212))) {
tmp = x * (z / (z - t));
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t): t_1 = x * (y / (t - z)) t_2 = x * (1.0 - (y / z)) tmp = 0 if z <= -2.25e+84: tmp = t_2 elif z <= -2.6e+20: tmp = t_1 elif z <= -5600000000.0: tmp = x elif z <= 8.8e+77: tmp = t_1 elif (z <= 1.1e+147) or (not (z <= 1.9e+156) and (z <= 1.65e+212)): tmp = x * (z / (z - t)) else: tmp = t_2 return tmp
function code(x, y, z, t) t_1 = Float64(x * Float64(y / Float64(t - z))) t_2 = Float64(x * Float64(1.0 - Float64(y / z))) tmp = 0.0 if (z <= -2.25e+84) tmp = t_2; elseif (z <= -2.6e+20) tmp = t_1; elseif (z <= -5600000000.0) tmp = x; elseif (z <= 8.8e+77) tmp = t_1; elseif ((z <= 1.1e+147) || (!(z <= 1.9e+156) && (z <= 1.65e+212))) tmp = Float64(x * Float64(z / Float64(z - t))); else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t) t_1 = x * (y / (t - z)); t_2 = x * (1.0 - (y / z)); tmp = 0.0; if (z <= -2.25e+84) tmp = t_2; elseif (z <= -2.6e+20) tmp = t_1; elseif (z <= -5600000000.0) tmp = x; elseif (z <= 8.8e+77) tmp = t_1; elseif ((z <= 1.1e+147) || (~((z <= 1.9e+156)) && (z <= 1.65e+212))) tmp = x * (z / (z - t)); else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[(x * N[(y / N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x * N[(1.0 - N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -2.25e+84], t$95$2, If[LessEqual[z, -2.6e+20], t$95$1, If[LessEqual[z, -5600000000.0], x, If[LessEqual[z, 8.8e+77], t$95$1, If[Or[LessEqual[z, 1.1e+147], And[N[Not[LessEqual[z, 1.9e+156]], $MachinePrecision], LessEqual[z, 1.65e+212]]], N[(x * N[(z / N[(z - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \frac{y}{t - z}\\
t_2 := x \cdot \left(1 - \frac{y}{z}\right)\\
\mathbf{if}\;z \leq -2.25 \cdot 10^{+84}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;z \leq -2.6 \cdot 10^{+20}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq -5600000000:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq 8.8 \cdot 10^{+77}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq 1.1 \cdot 10^{+147} \lor \neg \left(z \leq 1.9 \cdot 10^{+156}\right) \land z \leq 1.65 \cdot 10^{+212}:\\
\;\;\;\;x \cdot \frac{z}{z - t}\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if z < -2.2499999999999999e84 or 1.1000000000000001e147 < z < 1.90000000000000012e156 or 1.65e212 < z Initial program 66.3%
associate-/l*99.9%
Simplified99.9%
Taylor expanded in t around 0 61.6%
mul-1-neg61.6%
associate-/l*92.1%
distribute-rgt-neg-in92.1%
distribute-frac-neg92.1%
neg-sub092.1%
associate--r-92.1%
neg-sub092.1%
+-commutative92.1%
sub-neg92.1%
div-sub92.1%
*-inverses92.1%
Simplified92.1%
if -2.2499999999999999e84 < z < -2.6e20 or -5.6e9 < z < 8.8000000000000002e77Initial program 89.3%
associate-/l*95.1%
Simplified95.1%
Taylor expanded in y around inf 67.4%
associate-/l*73.5%
Simplified73.5%
if -2.6e20 < z < -5.6e9Initial program 100.0%
associate-/l*100.0%
Simplified100.0%
Taylor expanded in z around inf 100.0%
if 8.8000000000000002e77 < z < 1.1000000000000001e147 or 1.90000000000000012e156 < z < 1.65e212Initial program 79.8%
associate-/l*99.9%
Simplified99.9%
Taylor expanded in y around 0 64.8%
mul-1-neg64.8%
distribute-neg-frac264.8%
neg-sub064.8%
associate--r-64.8%
neg-sub064.8%
+-commutative64.8%
sub-neg64.8%
associate-/l*81.8%
Simplified81.8%
Final simplification79.1%
(FPCore (x y z t)
:precision binary64
(if (<= z -2.25e+84)
x
(if (<= z -1.5e+21)
(* x (/ y t))
(if (<= z -1.02e+20)
x
(if (<= z -7.6e-70)
(* x (/ z (- t)))
(if (<= z -2.3e-75)
x
(if (<= z -2.05e-125)
(/ (* x z) (- t))
(if (<= z 3e+65) (/ x (/ t y)) x))))))))
double code(double x, double y, double z, double t) {
double tmp;
if (z <= -2.25e+84) {
tmp = x;
} else if (z <= -1.5e+21) {
tmp = x * (y / t);
} else if (z <= -1.02e+20) {
tmp = x;
} else if (z <= -7.6e-70) {
tmp = x * (z / -t);
} else if (z <= -2.3e-75) {
tmp = x;
} else if (z <= -2.05e-125) {
tmp = (x * z) / -t;
} else if (z <= 3e+65) {
tmp = x / (t / y);
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: tmp
if (z <= (-2.25d+84)) then
tmp = x
else if (z <= (-1.5d+21)) then
tmp = x * (y / t)
else if (z <= (-1.02d+20)) then
tmp = x
else if (z <= (-7.6d-70)) then
tmp = x * (z / -t)
else if (z <= (-2.3d-75)) then
tmp = x
else if (z <= (-2.05d-125)) then
tmp = (x * z) / -t
else if (z <= 3d+65) then
tmp = x / (t / y)
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double tmp;
if (z <= -2.25e+84) {
tmp = x;
} else if (z <= -1.5e+21) {
tmp = x * (y / t);
} else if (z <= -1.02e+20) {
tmp = x;
} else if (z <= -7.6e-70) {
tmp = x * (z / -t);
} else if (z <= -2.3e-75) {
tmp = x;
} else if (z <= -2.05e-125) {
tmp = (x * z) / -t;
} else if (z <= 3e+65) {
tmp = x / (t / y);
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t): tmp = 0 if z <= -2.25e+84: tmp = x elif z <= -1.5e+21: tmp = x * (y / t) elif z <= -1.02e+20: tmp = x elif z <= -7.6e-70: tmp = x * (z / -t) elif z <= -2.3e-75: tmp = x elif z <= -2.05e-125: tmp = (x * z) / -t elif z <= 3e+65: tmp = x / (t / y) else: tmp = x return tmp
function code(x, y, z, t) tmp = 0.0 if (z <= -2.25e+84) tmp = x; elseif (z <= -1.5e+21) tmp = Float64(x * Float64(y / t)); elseif (z <= -1.02e+20) tmp = x; elseif (z <= -7.6e-70) tmp = Float64(x * Float64(z / Float64(-t))); elseif (z <= -2.3e-75) tmp = x; elseif (z <= -2.05e-125) tmp = Float64(Float64(x * z) / Float64(-t)); elseif (z <= 3e+65) tmp = Float64(x / Float64(t / y)); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t) tmp = 0.0; if (z <= -2.25e+84) tmp = x; elseif (z <= -1.5e+21) tmp = x * (y / t); elseif (z <= -1.02e+20) tmp = x; elseif (z <= -7.6e-70) tmp = x * (z / -t); elseif (z <= -2.3e-75) tmp = x; elseif (z <= -2.05e-125) tmp = (x * z) / -t; elseif (z <= 3e+65) tmp = x / (t / y); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_] := If[LessEqual[z, -2.25e+84], x, If[LessEqual[z, -1.5e+21], N[(x * N[(y / t), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -1.02e+20], x, If[LessEqual[z, -7.6e-70], N[(x * N[(z / (-t)), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -2.3e-75], x, If[LessEqual[z, -2.05e-125], N[(N[(x * z), $MachinePrecision] / (-t)), $MachinePrecision], If[LessEqual[z, 3e+65], N[(x / N[(t / y), $MachinePrecision]), $MachinePrecision], x]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -2.25 \cdot 10^{+84}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq -1.5 \cdot 10^{+21}:\\
\;\;\;\;x \cdot \frac{y}{t}\\
\mathbf{elif}\;z \leq -1.02 \cdot 10^{+20}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq -7.6 \cdot 10^{-70}:\\
\;\;\;\;x \cdot \frac{z}{-t}\\
\mathbf{elif}\;z \leq -2.3 \cdot 10^{-75}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq -2.05 \cdot 10^{-125}:\\
\;\;\;\;\frac{x \cdot z}{-t}\\
\mathbf{elif}\;z \leq 3 \cdot 10^{+65}:\\
\;\;\;\;\frac{x}{\frac{t}{y}}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if z < -2.2499999999999999e84 or -1.5e21 < z < -1.02e20 or -7.5999999999999995e-70 < z < -2.3e-75 or 3.0000000000000002e65 < z Initial program 71.6%
associate-/l*99.9%
Simplified99.9%
Taylor expanded in z around inf 66.0%
if -2.2499999999999999e84 < z < -1.5e21Initial program 80.7%
associate-/l*99.9%
Simplified99.9%
Taylor expanded in z around 0 35.4%
associate-/l*49.6%
Simplified49.6%
if -1.02e20 < z < -7.5999999999999995e-70Initial program 99.7%
remove-double-neg99.7%
distribute-lft-neg-out99.7%
distribute-neg-frac99.7%
distribute-neg-frac299.7%
distribute-lft-neg-out99.7%
distribute-rgt-neg-in99.7%
sub-neg99.7%
distribute-neg-in99.7%
remove-double-neg99.7%
+-commutative99.7%
sub-neg99.7%
sub-neg99.7%
distribute-neg-in99.7%
remove-double-neg99.7%
+-commutative99.7%
sub-neg99.7%
Simplified99.7%
Taylor expanded in y around 0 50.3%
Taylor expanded in z around 0 43.7%
mul-1-neg43.7%
associate-/l*44.0%
distribute-rgt-neg-in44.0%
Simplified44.0%
if -2.3e-75 < z < -2.0499999999999999e-125Initial program 100.0%
remove-double-neg100.0%
distribute-lft-neg-out100.0%
distribute-neg-frac100.0%
distribute-neg-frac2100.0%
distribute-lft-neg-out100.0%
distribute-rgt-neg-in100.0%
sub-neg100.0%
distribute-neg-in100.0%
remove-double-neg100.0%
+-commutative100.0%
sub-neg100.0%
sub-neg100.0%
distribute-neg-in100.0%
remove-double-neg100.0%
+-commutative100.0%
sub-neg100.0%
Simplified100.0%
Taylor expanded in y around 0 68.1%
Taylor expanded in z around 0 57.0%
associate-*r/57.0%
associate-*r*57.0%
neg-mul-157.0%
Simplified57.0%
if -2.0499999999999999e-125 < z < 3.0000000000000002e65Initial program 88.7%
associate-/l*94.2%
Simplified94.2%
clear-num93.3%
un-div-inv93.9%
Applied egg-rr93.9%
Taylor expanded in z around 0 64.3%
Final simplification62.7%
(FPCore (x y z t)
:precision binary64
(if (<= z -2.25e+84)
x
(if (<= z -6.6e+20)
(* x (/ y t))
(if (<= z -5e+19)
x
(if (<= z -1.55e-70)
(* x (/ z (- t)))
(if (<= z -3.8e-77)
x
(if (<= z -1.05e-125)
(* z (/ x (- t)))
(if (<= z 6e+68) (/ x (/ t y)) x))))))))
double code(double x, double y, double z, double t) {
double tmp;
if (z <= -2.25e+84) {
tmp = x;
} else if (z <= -6.6e+20) {
tmp = x * (y / t);
} else if (z <= -5e+19) {
tmp = x;
} else if (z <= -1.55e-70) {
tmp = x * (z / -t);
} else if (z <= -3.8e-77) {
tmp = x;
} else if (z <= -1.05e-125) {
tmp = z * (x / -t);
} else if (z <= 6e+68) {
tmp = x / (t / y);
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: tmp
if (z <= (-2.25d+84)) then
tmp = x
else if (z <= (-6.6d+20)) then
tmp = x * (y / t)
else if (z <= (-5d+19)) then
tmp = x
else if (z <= (-1.55d-70)) then
tmp = x * (z / -t)
else if (z <= (-3.8d-77)) then
tmp = x
else if (z <= (-1.05d-125)) then
tmp = z * (x / -t)
else if (z <= 6d+68) then
tmp = x / (t / y)
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double tmp;
if (z <= -2.25e+84) {
tmp = x;
} else if (z <= -6.6e+20) {
tmp = x * (y / t);
} else if (z <= -5e+19) {
tmp = x;
} else if (z <= -1.55e-70) {
tmp = x * (z / -t);
} else if (z <= -3.8e-77) {
tmp = x;
} else if (z <= -1.05e-125) {
tmp = z * (x / -t);
} else if (z <= 6e+68) {
tmp = x / (t / y);
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t): tmp = 0 if z <= -2.25e+84: tmp = x elif z <= -6.6e+20: tmp = x * (y / t) elif z <= -5e+19: tmp = x elif z <= -1.55e-70: tmp = x * (z / -t) elif z <= -3.8e-77: tmp = x elif z <= -1.05e-125: tmp = z * (x / -t) elif z <= 6e+68: tmp = x / (t / y) else: tmp = x return tmp
function code(x, y, z, t) tmp = 0.0 if (z <= -2.25e+84) tmp = x; elseif (z <= -6.6e+20) tmp = Float64(x * Float64(y / t)); elseif (z <= -5e+19) tmp = x; elseif (z <= -1.55e-70) tmp = Float64(x * Float64(z / Float64(-t))); elseif (z <= -3.8e-77) tmp = x; elseif (z <= -1.05e-125) tmp = Float64(z * Float64(x / Float64(-t))); elseif (z <= 6e+68) tmp = Float64(x / Float64(t / y)); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t) tmp = 0.0; if (z <= -2.25e+84) tmp = x; elseif (z <= -6.6e+20) tmp = x * (y / t); elseif (z <= -5e+19) tmp = x; elseif (z <= -1.55e-70) tmp = x * (z / -t); elseif (z <= -3.8e-77) tmp = x; elseif (z <= -1.05e-125) tmp = z * (x / -t); elseif (z <= 6e+68) tmp = x / (t / y); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_] := If[LessEqual[z, -2.25e+84], x, If[LessEqual[z, -6.6e+20], N[(x * N[(y / t), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -5e+19], x, If[LessEqual[z, -1.55e-70], N[(x * N[(z / (-t)), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -3.8e-77], x, If[LessEqual[z, -1.05e-125], N[(z * N[(x / (-t)), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 6e+68], N[(x / N[(t / y), $MachinePrecision]), $MachinePrecision], x]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -2.25 \cdot 10^{+84}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq -6.6 \cdot 10^{+20}:\\
\;\;\;\;x \cdot \frac{y}{t}\\
\mathbf{elif}\;z \leq -5 \cdot 10^{+19}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq -1.55 \cdot 10^{-70}:\\
\;\;\;\;x \cdot \frac{z}{-t}\\
\mathbf{elif}\;z \leq -3.8 \cdot 10^{-77}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq -1.05 \cdot 10^{-125}:\\
\;\;\;\;z \cdot \frac{x}{-t}\\
\mathbf{elif}\;z \leq 6 \cdot 10^{+68}:\\
\;\;\;\;\frac{x}{\frac{t}{y}}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if z < -2.2499999999999999e84 or -6.6e20 < z < -5e19 or -1.55e-70 < z < -3.7999999999999999e-77 or 6.0000000000000004e68 < z Initial program 71.6%
associate-/l*99.9%
Simplified99.9%
Taylor expanded in z around inf 66.0%
if -2.2499999999999999e84 < z < -6.6e20Initial program 80.7%
associate-/l*99.9%
Simplified99.9%
Taylor expanded in z around 0 35.4%
associate-/l*49.6%
Simplified49.6%
if -5e19 < z < -1.55e-70Initial program 99.7%
remove-double-neg99.7%
distribute-lft-neg-out99.7%
distribute-neg-frac99.7%
distribute-neg-frac299.7%
distribute-lft-neg-out99.7%
distribute-rgt-neg-in99.7%
sub-neg99.7%
distribute-neg-in99.7%
remove-double-neg99.7%
+-commutative99.7%
sub-neg99.7%
sub-neg99.7%
distribute-neg-in99.7%
remove-double-neg99.7%
+-commutative99.7%
sub-neg99.7%
Simplified99.7%
Taylor expanded in y around 0 50.3%
Taylor expanded in z around 0 43.7%
mul-1-neg43.7%
associate-/l*44.0%
distribute-rgt-neg-in44.0%
Simplified44.0%
if -3.7999999999999999e-77 < z < -1.05e-125Initial program 100.0%
remove-double-neg100.0%
distribute-lft-neg-out100.0%
distribute-neg-frac100.0%
distribute-neg-frac2100.0%
distribute-lft-neg-out100.0%
distribute-rgt-neg-in100.0%
sub-neg100.0%
distribute-neg-in100.0%
remove-double-neg100.0%
+-commutative100.0%
sub-neg100.0%
sub-neg100.0%
distribute-neg-in100.0%
remove-double-neg100.0%
+-commutative100.0%
sub-neg100.0%
Simplified100.0%
Taylor expanded in y around 0 68.1%
associate-/l*67.9%
*-commutative67.9%
Applied egg-rr67.9%
Taylor expanded in z around 0 57.0%
mul-1-neg57.0%
associate-*l/56.9%
distribute-rgt-neg-in56.9%
Simplified56.9%
if -1.05e-125 < z < 6.0000000000000004e68Initial program 88.7%
associate-/l*94.2%
Simplified94.2%
clear-num93.3%
un-div-inv93.9%
Applied egg-rr93.9%
Taylor expanded in z around 0 64.3%
Final simplification62.6%
(FPCore (x y z t)
:precision binary64
(let* ((t_1 (* x (/ z (- t)))))
(if (<= z -2.25e+84)
x
(if (<= z -4.2e+24)
(* x (/ y t))
(if (<= z -1.05e+20)
x
(if (<= z -1.52e-71)
t_1
(if (<= z -1.55e-75)
x
(if (<= z -2.05e-125)
t_1
(if (<= z 5.5e+66) (/ x (/ t y)) x)))))))))
double code(double x, double y, double z, double t) {
double t_1 = x * (z / -t);
double tmp;
if (z <= -2.25e+84) {
tmp = x;
} else if (z <= -4.2e+24) {
tmp = x * (y / t);
} else if (z <= -1.05e+20) {
tmp = x;
} else if (z <= -1.52e-71) {
tmp = t_1;
} else if (z <= -1.55e-75) {
tmp = x;
} else if (z <= -2.05e-125) {
tmp = t_1;
} else if (z <= 5.5e+66) {
tmp = x / (t / y);
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: t_1
real(8) :: tmp
t_1 = x * (z / -t)
if (z <= (-2.25d+84)) then
tmp = x
else if (z <= (-4.2d+24)) then
tmp = x * (y / t)
else if (z <= (-1.05d+20)) then
tmp = x
else if (z <= (-1.52d-71)) then
tmp = t_1
else if (z <= (-1.55d-75)) then
tmp = x
else if (z <= (-2.05d-125)) then
tmp = t_1
else if (z <= 5.5d+66) then
tmp = x / (t / y)
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double t_1 = x * (z / -t);
double tmp;
if (z <= -2.25e+84) {
tmp = x;
} else if (z <= -4.2e+24) {
tmp = x * (y / t);
} else if (z <= -1.05e+20) {
tmp = x;
} else if (z <= -1.52e-71) {
tmp = t_1;
} else if (z <= -1.55e-75) {
tmp = x;
} else if (z <= -2.05e-125) {
tmp = t_1;
} else if (z <= 5.5e+66) {
tmp = x / (t / y);
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t): t_1 = x * (z / -t) tmp = 0 if z <= -2.25e+84: tmp = x elif z <= -4.2e+24: tmp = x * (y / t) elif z <= -1.05e+20: tmp = x elif z <= -1.52e-71: tmp = t_1 elif z <= -1.55e-75: tmp = x elif z <= -2.05e-125: tmp = t_1 elif z <= 5.5e+66: tmp = x / (t / y) else: tmp = x return tmp
function code(x, y, z, t) t_1 = Float64(x * Float64(z / Float64(-t))) tmp = 0.0 if (z <= -2.25e+84) tmp = x; elseif (z <= -4.2e+24) tmp = Float64(x * Float64(y / t)); elseif (z <= -1.05e+20) tmp = x; elseif (z <= -1.52e-71) tmp = t_1; elseif (z <= -1.55e-75) tmp = x; elseif (z <= -2.05e-125) tmp = t_1; elseif (z <= 5.5e+66) tmp = Float64(x / Float64(t / y)); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t) t_1 = x * (z / -t); tmp = 0.0; if (z <= -2.25e+84) tmp = x; elseif (z <= -4.2e+24) tmp = x * (y / t); elseif (z <= -1.05e+20) tmp = x; elseif (z <= -1.52e-71) tmp = t_1; elseif (z <= -1.55e-75) tmp = x; elseif (z <= -2.05e-125) tmp = t_1; elseif (z <= 5.5e+66) tmp = x / (t / y); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[(x * N[(z / (-t)), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -2.25e+84], x, If[LessEqual[z, -4.2e+24], N[(x * N[(y / t), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -1.05e+20], x, If[LessEqual[z, -1.52e-71], t$95$1, If[LessEqual[z, -1.55e-75], x, If[LessEqual[z, -2.05e-125], t$95$1, If[LessEqual[z, 5.5e+66], N[(x / N[(t / y), $MachinePrecision]), $MachinePrecision], x]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \frac{z}{-t}\\
\mathbf{if}\;z \leq -2.25 \cdot 10^{+84}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq -4.2 \cdot 10^{+24}:\\
\;\;\;\;x \cdot \frac{y}{t}\\
\mathbf{elif}\;z \leq -1.05 \cdot 10^{+20}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq -1.52 \cdot 10^{-71}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq -1.55 \cdot 10^{-75}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq -2.05 \cdot 10^{-125}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq 5.5 \cdot 10^{+66}:\\
\;\;\;\;\frac{x}{\frac{t}{y}}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if z < -2.2499999999999999e84 or -4.2000000000000003e24 < z < -1.05e20 or -1.52000000000000001e-71 < z < -1.55000000000000003e-75 or 5.5e66 < z Initial program 71.6%
associate-/l*99.9%
Simplified99.9%
Taylor expanded in z around inf 66.0%
if -2.2499999999999999e84 < z < -4.2000000000000003e24Initial program 80.7%
associate-/l*99.9%
Simplified99.9%
Taylor expanded in z around 0 35.4%
associate-/l*49.6%
Simplified49.6%
if -1.05e20 < z < -1.52000000000000001e-71 or -1.55000000000000003e-75 < z < -2.0499999999999999e-125Initial program 99.8%
remove-double-neg99.8%
distribute-lft-neg-out99.8%
distribute-neg-frac99.8%
distribute-neg-frac299.8%
distribute-lft-neg-out99.8%
distribute-rgt-neg-in99.8%
sub-neg99.8%
distribute-neg-in99.8%
remove-double-neg99.8%
+-commutative99.8%
sub-neg99.8%
sub-neg99.8%
distribute-neg-in99.8%
remove-double-neg99.8%
+-commutative99.8%
sub-neg99.8%
Simplified99.8%
Taylor expanded in y around 0 57.0%
Taylor expanded in z around 0 48.7%
mul-1-neg48.7%
associate-/l*48.8%
distribute-rgt-neg-in48.8%
Simplified48.8%
if -2.0499999999999999e-125 < z < 5.5e66Initial program 88.7%
associate-/l*94.2%
Simplified94.2%
clear-num93.3%
un-div-inv93.9%
Applied egg-rr93.9%
Taylor expanded in z around 0 64.3%
Final simplification62.6%
(FPCore (x y z t)
:precision binary64
(let* ((t_1 (* x (/ y (- t z)))) (t_2 (* x (- 1.0 (/ y z)))))
(if (<= z -2.25e+84)
t_2
(if (<= z -1e+22)
t_1
(if (<= z -4.2e+19) x (if (<= z 5.8e+47) t_1 t_2))))))
double code(double x, double y, double z, double t) {
double t_1 = x * (y / (t - z));
double t_2 = x * (1.0 - (y / z));
double tmp;
if (z <= -2.25e+84) {
tmp = t_2;
} else if (z <= -1e+22) {
tmp = t_1;
} else if (z <= -4.2e+19) {
tmp = x;
} else if (z <= 5.8e+47) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = x * (y / (t - z))
t_2 = x * (1.0d0 - (y / z))
if (z <= (-2.25d+84)) then
tmp = t_2
else if (z <= (-1d+22)) then
tmp = t_1
else if (z <= (-4.2d+19)) then
tmp = x
else if (z <= 5.8d+47) then
tmp = t_1
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double t_1 = x * (y / (t - z));
double t_2 = x * (1.0 - (y / z));
double tmp;
if (z <= -2.25e+84) {
tmp = t_2;
} else if (z <= -1e+22) {
tmp = t_1;
} else if (z <= -4.2e+19) {
tmp = x;
} else if (z <= 5.8e+47) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t): t_1 = x * (y / (t - z)) t_2 = x * (1.0 - (y / z)) tmp = 0 if z <= -2.25e+84: tmp = t_2 elif z <= -1e+22: tmp = t_1 elif z <= -4.2e+19: tmp = x elif z <= 5.8e+47: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t) t_1 = Float64(x * Float64(y / Float64(t - z))) t_2 = Float64(x * Float64(1.0 - Float64(y / z))) tmp = 0.0 if (z <= -2.25e+84) tmp = t_2; elseif (z <= -1e+22) tmp = t_1; elseif (z <= -4.2e+19) tmp = x; elseif (z <= 5.8e+47) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t) t_1 = x * (y / (t - z)); t_2 = x * (1.0 - (y / z)); tmp = 0.0; if (z <= -2.25e+84) tmp = t_2; elseif (z <= -1e+22) tmp = t_1; elseif (z <= -4.2e+19) tmp = x; elseif (z <= 5.8e+47) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[(x * N[(y / N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x * N[(1.0 - N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -2.25e+84], t$95$2, If[LessEqual[z, -1e+22], t$95$1, If[LessEqual[z, -4.2e+19], x, If[LessEqual[z, 5.8e+47], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \frac{y}{t - z}\\
t_2 := x \cdot \left(1 - \frac{y}{z}\right)\\
\mathbf{if}\;z \leq -2.25 \cdot 10^{+84}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;z \leq -1 \cdot 10^{+22}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq -4.2 \cdot 10^{+19}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq 5.8 \cdot 10^{+47}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if z < -2.2499999999999999e84 or 5.79999999999999961e47 < z Initial program 71.9%
associate-/l*99.9%
Simplified99.9%
Taylor expanded in t around 0 56.2%
mul-1-neg56.2%
associate-/l*80.3%
distribute-rgt-neg-in80.3%
distribute-frac-neg80.3%
neg-sub080.3%
associate--r-80.3%
neg-sub080.3%
+-commutative80.3%
sub-neg80.3%
div-sub80.3%
*-inverses80.3%
Simplified80.3%
if -2.2499999999999999e84 < z < -1e22 or -4.2e19 < z < 5.79999999999999961e47Initial program 89.4%
associate-/l*94.9%
Simplified94.9%
Taylor expanded in y around inf 66.3%
associate-/l*72.1%
Simplified72.1%
if -1e22 < z < -4.2e19Initial program 100.0%
associate-/l*100.0%
Simplified100.0%
Taylor expanded in z around inf 100.0%
(FPCore (x y z t)
:precision binary64
(let* ((t_1 (* x (- 1.0 (/ y z)))))
(if (<= z -3.8e-19)
t_1
(if (<= z -1.55e-159)
(* z (/ x (- t)))
(if (<= z 2.65e-166) (/ x (/ t y)) t_1)))))
double code(double x, double y, double z, double t) {
double t_1 = x * (1.0 - (y / z));
double tmp;
if (z <= -3.8e-19) {
tmp = t_1;
} else if (z <= -1.55e-159) {
tmp = z * (x / -t);
} else if (z <= 2.65e-166) {
tmp = x / (t / y);
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: t_1
real(8) :: tmp
t_1 = x * (1.0d0 - (y / z))
if (z <= (-3.8d-19)) then
tmp = t_1
else if (z <= (-1.55d-159)) then
tmp = z * (x / -t)
else if (z <= 2.65d-166) then
tmp = x / (t / y)
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double t_1 = x * (1.0 - (y / z));
double tmp;
if (z <= -3.8e-19) {
tmp = t_1;
} else if (z <= -1.55e-159) {
tmp = z * (x / -t);
} else if (z <= 2.65e-166) {
tmp = x / (t / y);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t): t_1 = x * (1.0 - (y / z)) tmp = 0 if z <= -3.8e-19: tmp = t_1 elif z <= -1.55e-159: tmp = z * (x / -t) elif z <= 2.65e-166: tmp = x / (t / y) else: tmp = t_1 return tmp
function code(x, y, z, t) t_1 = Float64(x * Float64(1.0 - Float64(y / z))) tmp = 0.0 if (z <= -3.8e-19) tmp = t_1; elseif (z <= -1.55e-159) tmp = Float64(z * Float64(x / Float64(-t))); elseif (z <= 2.65e-166) tmp = Float64(x / Float64(t / y)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t) t_1 = x * (1.0 - (y / z)); tmp = 0.0; if (z <= -3.8e-19) tmp = t_1; elseif (z <= -1.55e-159) tmp = z * (x / -t); elseif (z <= 2.65e-166) tmp = x / (t / y); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_] := Block[{t$95$1 = N[(x * N[(1.0 - N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -3.8e-19], t$95$1, If[LessEqual[z, -1.55e-159], N[(z * N[(x / (-t)), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 2.65e-166], N[(x / N[(t / y), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(1 - \frac{y}{z}\right)\\
\mathbf{if}\;z \leq -3.8 \cdot 10^{-19}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq -1.55 \cdot 10^{-159}:\\
\;\;\;\;z \cdot \frac{x}{-t}\\
\mathbf{elif}\;z \leq 2.65 \cdot 10^{-166}:\\
\;\;\;\;\frac{x}{\frac{t}{y}}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if z < -3.8e-19 or 2.64999999999999998e-166 < z Initial program 78.4%
associate-/l*99.8%
Simplified99.8%
Taylor expanded in t around 0 50.0%
mul-1-neg50.0%
associate-/l*65.1%
distribute-rgt-neg-in65.1%
distribute-frac-neg65.1%
neg-sub065.1%
associate--r-65.1%
neg-sub065.1%
+-commutative65.1%
sub-neg65.1%
div-sub65.1%
*-inverses65.1%
Simplified65.1%
if -3.8e-19 < z < -1.55e-159Initial program 96.8%
remove-double-neg96.8%
distribute-lft-neg-out96.8%
distribute-neg-frac96.8%
distribute-neg-frac296.8%
distribute-lft-neg-out96.8%
distribute-rgt-neg-in96.8%
sub-neg96.8%
distribute-neg-in96.8%
remove-double-neg96.8%
+-commutative96.8%
sub-neg96.8%
sub-neg96.8%
distribute-neg-in96.8%
remove-double-neg96.8%
+-commutative96.8%
sub-neg96.8%
Simplified96.8%
Taylor expanded in y around 0 67.3%
associate-/l*62.9%
*-commutative62.9%
Applied egg-rr62.9%
Taylor expanded in z around 0 58.3%
mul-1-neg58.3%
associate-*l/58.4%
distribute-rgt-neg-in58.4%
Simplified58.4%
if -1.55e-159 < z < 2.64999999999999998e-166Initial program 87.3%
associate-/l*91.2%
Simplified91.2%
clear-num90.1%
un-div-inv91.4%
Applied egg-rr91.4%
Taylor expanded in z around 0 82.6%
Final simplification68.4%
(FPCore (x y z t) :precision binary64 (if (or (<= t -3.1e-20) (not (<= t 5.6e-87))) (* x (/ (- y z) t)) (* x (/ (- z y) z))))
double code(double x, double y, double z, double t) {
double tmp;
if ((t <= -3.1e-20) || !(t <= 5.6e-87)) {
tmp = x * ((y - z) / t);
} else {
tmp = x * ((z - y) / z);
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: tmp
if ((t <= (-3.1d-20)) .or. (.not. (t <= 5.6d-87))) then
tmp = x * ((y - z) / t)
else
tmp = x * ((z - y) / z)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double tmp;
if ((t <= -3.1e-20) || !(t <= 5.6e-87)) {
tmp = x * ((y - z) / t);
} else {
tmp = x * ((z - y) / z);
}
return tmp;
}
def code(x, y, z, t): tmp = 0 if (t <= -3.1e-20) or not (t <= 5.6e-87): tmp = x * ((y - z) / t) else: tmp = x * ((z - y) / z) return tmp
function code(x, y, z, t) tmp = 0.0 if ((t <= -3.1e-20) || !(t <= 5.6e-87)) tmp = Float64(x * Float64(Float64(y - z) / t)); else tmp = Float64(x * Float64(Float64(z - y) / z)); end return tmp end
function tmp_2 = code(x, y, z, t) tmp = 0.0; if ((t <= -3.1e-20) || ~((t <= 5.6e-87))) tmp = x * ((y - z) / t); else tmp = x * ((z - y) / z); end tmp_2 = tmp; end
code[x_, y_, z_, t_] := If[Or[LessEqual[t, -3.1e-20], N[Not[LessEqual[t, 5.6e-87]], $MachinePrecision]], N[(x * N[(N[(y - z), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision], N[(x * N[(N[(z - y), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -3.1 \cdot 10^{-20} \lor \neg \left(t \leq 5.6 \cdot 10^{-87}\right):\\
\;\;\;\;x \cdot \frac{y - z}{t}\\
\mathbf{else}:\\
\;\;\;\;x \cdot \frac{z - y}{z}\\
\end{array}
\end{array}
if t < -3.1e-20 or 5.6000000000000002e-87 < t Initial program 81.6%
associate-/l*96.4%
Simplified96.4%
Taylor expanded in t around inf 68.5%
associate-/l*76.1%
Simplified76.1%
if -3.1e-20 < t < 5.6000000000000002e-87Initial program 84.3%
associate-/l*97.4%
Simplified97.4%
Taylor expanded in x around 0 84.3%
remove-double-neg84.3%
distribute-neg-frac284.3%
*-commutative84.3%
associate-/l*84.7%
distribute-lft-neg-out84.7%
neg-sub084.7%
associate--r-84.7%
neg-sub084.7%
+-commutative84.7%
sub-neg84.7%
neg-sub084.7%
associate--r-84.7%
neg-sub084.7%
+-commutative84.7%
sub-neg84.7%
*-commutative84.7%
Simplified84.7%
Taylor expanded in t around 0 67.7%
associate-/l*81.6%
Simplified81.6%
Final simplification78.5%
(FPCore (x y z t) :precision binary64 (if (or (<= t -5.4e-27) (not (<= t 5.6e-87))) (* x (/ (- y z) t)) (* x (- 1.0 (/ y z)))))
double code(double x, double y, double z, double t) {
double tmp;
if ((t <= -5.4e-27) || !(t <= 5.6e-87)) {
tmp = x * ((y - z) / t);
} else {
tmp = x * (1.0 - (y / z));
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: tmp
if ((t <= (-5.4d-27)) .or. (.not. (t <= 5.6d-87))) then
tmp = x * ((y - z) / t)
else
tmp = x * (1.0d0 - (y / z))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double tmp;
if ((t <= -5.4e-27) || !(t <= 5.6e-87)) {
tmp = x * ((y - z) / t);
} else {
tmp = x * (1.0 - (y / z));
}
return tmp;
}
def code(x, y, z, t): tmp = 0 if (t <= -5.4e-27) or not (t <= 5.6e-87): tmp = x * ((y - z) / t) else: tmp = x * (1.0 - (y / z)) return tmp
function code(x, y, z, t) tmp = 0.0 if ((t <= -5.4e-27) || !(t <= 5.6e-87)) tmp = Float64(x * Float64(Float64(y - z) / t)); else tmp = Float64(x * Float64(1.0 - Float64(y / z))); end return tmp end
function tmp_2 = code(x, y, z, t) tmp = 0.0; if ((t <= -5.4e-27) || ~((t <= 5.6e-87))) tmp = x * ((y - z) / t); else tmp = x * (1.0 - (y / z)); end tmp_2 = tmp; end
code[x_, y_, z_, t_] := If[Or[LessEqual[t, -5.4e-27], N[Not[LessEqual[t, 5.6e-87]], $MachinePrecision]], N[(x * N[(N[(y - z), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision], N[(x * N[(1.0 - N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -5.4 \cdot 10^{-27} \lor \neg \left(t \leq 5.6 \cdot 10^{-87}\right):\\
\;\;\;\;x \cdot \frac{y - z}{t}\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(1 - \frac{y}{z}\right)\\
\end{array}
\end{array}
if t < -5.39999999999999978e-27 or 5.6000000000000002e-87 < t Initial program 81.6%
associate-/l*96.4%
Simplified96.4%
Taylor expanded in t around inf 68.5%
associate-/l*76.1%
Simplified76.1%
if -5.39999999999999978e-27 < t < 5.6000000000000002e-87Initial program 84.3%
associate-/l*97.4%
Simplified97.4%
Taylor expanded in t around 0 67.7%
mul-1-neg67.7%
associate-/l*81.6%
distribute-rgt-neg-in81.6%
distribute-frac-neg81.6%
neg-sub081.6%
associate--r-81.6%
neg-sub081.6%
+-commutative81.6%
sub-neg81.6%
div-sub81.6%
*-inverses81.6%
Simplified81.6%
Final simplification78.5%
(FPCore (x y z t) :precision binary64 (if (<= t -1.7e-21) (* x (/ (- y z) t)) (if (<= t 6.8e-43) (* x (/ (- z y) z)) (/ x (/ t (- y z))))))
double code(double x, double y, double z, double t) {
double tmp;
if (t <= -1.7e-21) {
tmp = x * ((y - z) / t);
} else if (t <= 6.8e-43) {
tmp = x * ((z - y) / z);
} else {
tmp = x / (t / (y - z));
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: tmp
if (t <= (-1.7d-21)) then
tmp = x * ((y - z) / t)
else if (t <= 6.8d-43) then
tmp = x * ((z - y) / z)
else
tmp = x / (t / (y - z))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double tmp;
if (t <= -1.7e-21) {
tmp = x * ((y - z) / t);
} else if (t <= 6.8e-43) {
tmp = x * ((z - y) / z);
} else {
tmp = x / (t / (y - z));
}
return tmp;
}
def code(x, y, z, t): tmp = 0 if t <= -1.7e-21: tmp = x * ((y - z) / t) elif t <= 6.8e-43: tmp = x * ((z - y) / z) else: tmp = x / (t / (y - z)) return tmp
function code(x, y, z, t) tmp = 0.0 if (t <= -1.7e-21) tmp = Float64(x * Float64(Float64(y - z) / t)); elseif (t <= 6.8e-43) tmp = Float64(x * Float64(Float64(z - y) / z)); else tmp = Float64(x / Float64(t / Float64(y - z))); end return tmp end
function tmp_2 = code(x, y, z, t) tmp = 0.0; if (t <= -1.7e-21) tmp = x * ((y - z) / t); elseif (t <= 6.8e-43) tmp = x * ((z - y) / z); else tmp = x / (t / (y - z)); end tmp_2 = tmp; end
code[x_, y_, z_, t_] := If[LessEqual[t, -1.7e-21], N[(x * N[(N[(y - z), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 6.8e-43], N[(x * N[(N[(z - y), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], N[(x / N[(t / N[(y - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -1.7 \cdot 10^{-21}:\\
\;\;\;\;x \cdot \frac{y - z}{t}\\
\mathbf{elif}\;t \leq 6.8 \cdot 10^{-43}:\\
\;\;\;\;x \cdot \frac{z - y}{z}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{\frac{t}{y - z}}\\
\end{array}
\end{array}
if t < -1.7e-21Initial program 80.8%
associate-/l*95.2%
Simplified95.2%
Taylor expanded in t around inf 70.5%
associate-/l*78.0%
Simplified78.0%
if -1.7e-21 < t < 6.8000000000000001e-43Initial program 85.3%
associate-/l*97.5%
Simplified97.5%
Taylor expanded in x around 0 85.3%
remove-double-neg85.3%
distribute-neg-frac285.3%
*-commutative85.3%
associate-/l*84.9%
distribute-lft-neg-out84.9%
neg-sub084.9%
associate--r-84.9%
neg-sub084.9%
+-commutative84.9%
sub-neg84.9%
neg-sub084.9%
associate--r-84.9%
neg-sub084.9%
+-commutative84.9%
sub-neg84.9%
*-commutative84.9%
Simplified84.9%
Taylor expanded in t around 0 67.5%
associate-/l*80.4%
Simplified80.4%
if 6.8000000000000001e-43 < t Initial program 80.1%
associate-/l*97.1%
Simplified97.1%
clear-num97.1%
un-div-inv97.1%
Applied egg-rr97.1%
Taylor expanded in t around inf 78.7%
(FPCore (x y z t) :precision binary64 (if (<= z -2.25e+84) x (if (<= z 5.8e+63) (* x (/ y t)) x)))
double code(double x, double y, double z, double t) {
double tmp;
if (z <= -2.25e+84) {
tmp = x;
} else if (z <= 5.8e+63) {
tmp = x * (y / t);
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8) :: tmp
if (z <= (-2.25d+84)) then
tmp = x
else if (z <= 5.8d+63) then
tmp = x * (y / t)
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t) {
double tmp;
if (z <= -2.25e+84) {
tmp = x;
} else if (z <= 5.8e+63) {
tmp = x * (y / t);
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t): tmp = 0 if z <= -2.25e+84: tmp = x elif z <= 5.8e+63: tmp = x * (y / t) else: tmp = x return tmp
function code(x, y, z, t) tmp = 0.0 if (z <= -2.25e+84) tmp = x; elseif (z <= 5.8e+63) tmp = Float64(x * Float64(y / t)); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t) tmp = 0.0; if (z <= -2.25e+84) tmp = x; elseif (z <= 5.8e+63) tmp = x * (y / t); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_] := If[LessEqual[z, -2.25e+84], x, If[LessEqual[z, 5.8e+63], N[(x * N[(y / t), $MachinePrecision]), $MachinePrecision], x]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -2.25 \cdot 10^{+84}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq 5.8 \cdot 10^{+63}:\\
\;\;\;\;x \cdot \frac{y}{t}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if z < -2.2499999999999999e84 or 5.7999999999999999e63 < z Initial program 70.7%
associate-/l*99.9%
Simplified99.9%
Taylor expanded in z around inf 65.0%
if -2.2499999999999999e84 < z < 5.7999999999999999e63Initial program 89.8%
associate-/l*95.0%
Simplified95.0%
Taylor expanded in z around 0 52.2%
associate-/l*57.8%
Simplified57.8%
(FPCore (x y z t) :precision binary64 (* x (/ (- y z) (- t z))))
double code(double x, double y, double z, double t) {
return x * ((y - z) / (t - z));
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
code = x * ((y - z) / (t - z))
end function
public static double code(double x, double y, double z, double t) {
return x * ((y - z) / (t - z));
}
def code(x, y, z, t): return x * ((y - z) / (t - z))
function code(x, y, z, t) return Float64(x * Float64(Float64(y - z) / Float64(t - z))) end
function tmp = code(x, y, z, t) tmp = x * ((y - z) / (t - z)); end
code[x_, y_, z_, t_] := N[(x * N[(N[(y - z), $MachinePrecision] / N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x \cdot \frac{y - z}{t - z}
\end{array}
Initial program 82.8%
associate-/l*96.8%
Simplified96.8%
(FPCore (x y z t) :precision binary64 x)
double code(double x, double y, double z, double t) {
return x;
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
code = x
end function
public static double code(double x, double y, double z, double t) {
return x;
}
def code(x, y, z, t): return x
function code(x, y, z, t) return x end
function tmp = code(x, y, z, t) tmp = x; end
code[x_, y_, z_, t_] := x
\begin{array}{l}
\\
x
\end{array}
Initial program 82.8%
associate-/l*96.8%
Simplified96.8%
Taylor expanded in z around inf 31.5%
(FPCore (x y z t) :precision binary64 (/ x (/ (- t z) (- y z))))
double code(double x, double y, double z, double t) {
return x / ((t - z) / (y - z));
}
real(8) function code(x, y, z, t)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
code = x / ((t - z) / (y - z))
end function
public static double code(double x, double y, double z, double t) {
return x / ((t - z) / (y - z));
}
def code(x, y, z, t): return x / ((t - z) / (y - z))
function code(x, y, z, t) return Float64(x / Float64(Float64(t - z) / Float64(y - z))) end
function tmp = code(x, y, z, t) tmp = x / ((t - z) / (y - z)); end
code[x_, y_, z_, t_] := N[(x / N[(N[(t - z), $MachinePrecision] / N[(y - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{x}{\frac{t - z}{y - z}}
\end{array}
herbie shell --seed 2024107
(FPCore (x y z t)
:name "Graphics.Rendering.Chart.Plot.AreaSpots:renderAreaSpots4D from Chart-1.5.3"
:precision binary64
:alt
(/ x (/ (- t z) (- y z)))
(/ (* x (- y z)) (- t z)))