
(FPCore (x y z t a) :precision binary64 (+ x (/ (* (- y z) (- t x)) (- a z))))
double code(double x, double y, double z, double t, double a) {
return x + (((y - z) * (t - x)) / (a - z));
}
real(8) function code(x, y, z, t, a)
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
code = x + (((y - z) * (t - x)) / (a - z))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + (((y - z) * (t - x)) / (a - z));
}
def code(x, y, z, t, a): return x + (((y - z) * (t - x)) / (a - z))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(Float64(y - z) * Float64(t - x)) / Float64(a - z))) end
function tmp = code(x, y, z, t, a) tmp = x + (((y - z) * (t - x)) / (a - z)); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(N[(y - z), $MachinePrecision] * N[(t - x), $MachinePrecision]), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 25 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a) :precision binary64 (+ x (/ (* (- y z) (- t x)) (- a z))))
double code(double x, double y, double z, double t, double a) {
return x + (((y - z) * (t - x)) / (a - z));
}
real(8) function code(x, y, z, t, a)
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
code = x + (((y - z) * (t - x)) / (a - z))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + (((y - z) * (t - x)) / (a - z));
}
def code(x, y, z, t, a): return x + (((y - z) * (t - x)) / (a - z))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(Float64(y - z) * Float64(t - x)) / Float64(a - z))) end
function tmp = code(x, y, z, t, a) tmp = x + (((y - z) * (t - x)) / (a - z)); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(N[(y - z), $MachinePrecision] * N[(t - x), $MachinePrecision]), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z}
\end{array}
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (/ (* (- y z) (- t x)) (- a z)))))
(if (<= t_1 -1e-232)
(+ x (/ (- t x) (/ (- a z) (- y z))))
(if (<= t_1 0.0)
(+ (- t (/ (* y (- t x)) z)) (/ (* (- t x) a) z))
(fma (- t x) (/ (- y z) (- a z)) x)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (((y - z) * (t - x)) / (a - z));
double tmp;
if (t_1 <= -1e-232) {
tmp = x + ((t - x) / ((a - z) / (y - z)));
} else if (t_1 <= 0.0) {
tmp = (t - ((y * (t - x)) / z)) + (((t - x) * a) / z);
} else {
tmp = fma((t - x), ((y - z) / (a - z)), x);
}
return tmp;
}
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(Float64(y - z) * Float64(t - x)) / Float64(a - z))) tmp = 0.0 if (t_1 <= -1e-232) tmp = Float64(x + Float64(Float64(t - x) / Float64(Float64(a - z) / Float64(y - z)))); elseif (t_1 <= 0.0) tmp = Float64(Float64(t - Float64(Float64(y * Float64(t - x)) / z)) + Float64(Float64(Float64(t - x) * a) / z)); else tmp = fma(Float64(t - x), Float64(Float64(y - z) / Float64(a - z)), x); end return tmp end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(N[(y - z), $MachinePrecision] * N[(t - x), $MachinePrecision]), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, -1e-232], N[(x + N[(N[(t - x), $MachinePrecision] / N[(N[(a - z), $MachinePrecision] / N[(y - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$1, 0.0], N[(N[(t - N[(N[(y * N[(t - x), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(t - x), $MachinePrecision] * a), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], N[(N[(t - x), $MachinePrecision] * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision] + x), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z}\\
\mathbf{if}\;t\_1 \leq -1 \cdot 10^{-232}:\\
\;\;\;\;x + \frac{t - x}{\frac{a - z}{y - z}}\\
\mathbf{elif}\;t\_1 \leq 0:\\
\;\;\;\;\left(t - \frac{y \cdot \left(t - x\right)}{z}\right) + \frac{\left(t - x\right) \cdot a}{z}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)\\
\end{array}
\end{array}
if (+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z))) < -1.00000000000000002e-232Initial program 72.0%
associate-/l*81.9%
Simplified81.9%
*-commutative81.9%
associate-*l/72.0%
associate-*r/88.6%
clear-num88.5%
un-div-inv88.8%
Applied egg-rr88.8%
if -1.00000000000000002e-232 < (+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z))) < 0.0Initial program 15.1%
associate-/l*14.8%
Simplified14.8%
Taylor expanded in z around inf 89.7%
associate-*r/89.7%
associate-*r*89.7%
mul-1-neg89.7%
mul-1-neg89.7%
Simplified89.7%
if 0.0 < (+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z))) Initial program 71.1%
+-commutative71.1%
*-commutative71.1%
associate-/l*89.9%
fma-define89.9%
Simplified89.9%
Final simplification89.4%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* (- y z) (/ (- t x) (- a z)))))
(t_2 (+ x (/ (* (- y z) (- t x)) (- a z)))))
(if (<= t_2 (- INFINITY))
t_1
(if (<= t_2 -1e-232)
t_2
(if (<= t_2 0.0)
(+ t (/ (* (- y a) (- x t)) z))
(if (<= t_2 2e+162) t_2 t_1))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((y - z) * ((t - x) / (a - z)));
double t_2 = x + (((y - z) * (t - x)) / (a - z));
double tmp;
if (t_2 <= -((double) INFINITY)) {
tmp = t_1;
} else if (t_2 <= -1e-232) {
tmp = t_2;
} else if (t_2 <= 0.0) {
tmp = t + (((y - a) * (x - t)) / z);
} else if (t_2 <= 2e+162) {
tmp = t_2;
} else {
tmp = t_1;
}
return tmp;
}
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((y - z) * ((t - x) / (a - z)));
double t_2 = x + (((y - z) * (t - x)) / (a - z));
double tmp;
if (t_2 <= -Double.POSITIVE_INFINITY) {
tmp = t_1;
} else if (t_2 <= -1e-232) {
tmp = t_2;
} else if (t_2 <= 0.0) {
tmp = t + (((y - a) * (x - t)) / z);
} else if (t_2 <= 2e+162) {
tmp = t_2;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((y - z) * ((t - x) / (a - z))) t_2 = x + (((y - z) * (t - x)) / (a - z)) tmp = 0 if t_2 <= -math.inf: tmp = t_1 elif t_2 <= -1e-232: tmp = t_2 elif t_2 <= 0.0: tmp = t + (((y - a) * (x - t)) / z) elif t_2 <= 2e+162: tmp = t_2 else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(y - z) * Float64(Float64(t - x) / Float64(a - z)))) t_2 = Float64(x + Float64(Float64(Float64(y - z) * Float64(t - x)) / Float64(a - z))) tmp = 0.0 if (t_2 <= Float64(-Inf)) tmp = t_1; elseif (t_2 <= -1e-232) tmp = t_2; elseif (t_2 <= 0.0) tmp = Float64(t + Float64(Float64(Float64(y - a) * Float64(x - t)) / z)); elseif (t_2 <= 2e+162) tmp = t_2; else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + ((y - z) * ((t - x) / (a - z))); t_2 = x + (((y - z) * (t - x)) / (a - z)); tmp = 0.0; if (t_2 <= -Inf) tmp = t_1; elseif (t_2 <= -1e-232) tmp = t_2; elseif (t_2 <= 0.0) tmp = t + (((y - a) * (x - t)) / z); elseif (t_2 <= 2e+162) tmp = t_2; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(y - z), $MachinePrecision] * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x + N[(N[(N[(y - z), $MachinePrecision] * N[(t - x), $MachinePrecision]), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$2, (-Infinity)], t$95$1, If[LessEqual[t$95$2, -1e-232], t$95$2, If[LessEqual[t$95$2, 0.0], N[(t + N[(N[(N[(y - a), $MachinePrecision] * N[(x - t), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$2, 2e+162], t$95$2, t$95$1]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \left(y - z\right) \cdot \frac{t - x}{a - z}\\
t_2 := x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z}\\
\mathbf{if}\;t\_2 \leq -\infty:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t\_2 \leq -1 \cdot 10^{-232}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;t\_2 \leq 0:\\
\;\;\;\;t + \frac{\left(y - a\right) \cdot \left(x - t\right)}{z}\\
\mathbf{elif}\;t\_2 \leq 2 \cdot 10^{+162}:\\
\;\;\;\;t\_2\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if (+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z))) < -inf.0 or 1.9999999999999999e162 < (+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z))) Initial program 46.9%
associate-/l*80.8%
Simplified80.8%
if -inf.0 < (+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z))) < -1.00000000000000002e-232 or 0.0 < (+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z))) < 1.9999999999999999e162Initial program 97.2%
if -1.00000000000000002e-232 < (+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z))) < 0.0Initial program 15.1%
associate-/l*14.8%
Simplified14.8%
Taylor expanded in z around inf 89.7%
associate--l+89.7%
associate-*r/89.7%
associate-*r/89.7%
mul-1-neg89.7%
div-sub89.6%
mul-1-neg89.6%
distribute-lft-out--89.6%
associate-*r/89.6%
mul-1-neg89.6%
unsub-neg89.6%
distribute-rgt-out--89.6%
Simplified89.6%
Final simplification88.9%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (- 1.0 (/ y z)))) (t_2 (* t (/ (- y z) a))))
(if (<= z -3.2e+137)
t_1
(if (<= z -6.8e+67)
(* x (/ (- y a) z))
(if (<= z -2.55e+39)
t_1
(if (<= z -8.5e-22)
t_2
(if (<= z -2e-246)
x
(if (<= z -9.6e-291)
t_2
(if (<= z 3.8e-306)
x
(if (<= z 5.5e-55)
(* t (/ y (- a z)))
(if (<= z 2.5e+44) x t_1)))))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t * (1.0 - (y / z));
double t_2 = t * ((y - z) / a);
double tmp;
if (z <= -3.2e+137) {
tmp = t_1;
} else if (z <= -6.8e+67) {
tmp = x * ((y - a) / z);
} else if (z <= -2.55e+39) {
tmp = t_1;
} else if (z <= -8.5e-22) {
tmp = t_2;
} else if (z <= -2e-246) {
tmp = x;
} else if (z <= -9.6e-291) {
tmp = t_2;
} else if (z <= 3.8e-306) {
tmp = x;
} else if (z <= 5.5e-55) {
tmp = t * (y / (a - z));
} else if (z <= 2.5e+44) {
tmp = x;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = t * (1.0d0 - (y / z))
t_2 = t * ((y - z) / a)
if (z <= (-3.2d+137)) then
tmp = t_1
else if (z <= (-6.8d+67)) then
tmp = x * ((y - a) / z)
else if (z <= (-2.55d+39)) then
tmp = t_1
else if (z <= (-8.5d-22)) then
tmp = t_2
else if (z <= (-2d-246)) then
tmp = x
else if (z <= (-9.6d-291)) then
tmp = t_2
else if (z <= 3.8d-306) then
tmp = x
else if (z <= 5.5d-55) then
tmp = t * (y / (a - z))
else if (z <= 2.5d+44) then
tmp = x
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = t * (1.0 - (y / z));
double t_2 = t * ((y - z) / a);
double tmp;
if (z <= -3.2e+137) {
tmp = t_1;
} else if (z <= -6.8e+67) {
tmp = x * ((y - a) / z);
} else if (z <= -2.55e+39) {
tmp = t_1;
} else if (z <= -8.5e-22) {
tmp = t_2;
} else if (z <= -2e-246) {
tmp = x;
} else if (z <= -9.6e-291) {
tmp = t_2;
} else if (z <= 3.8e-306) {
tmp = x;
} else if (z <= 5.5e-55) {
tmp = t * (y / (a - z));
} else if (z <= 2.5e+44) {
tmp = x;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t * (1.0 - (y / z)) t_2 = t * ((y - z) / a) tmp = 0 if z <= -3.2e+137: tmp = t_1 elif z <= -6.8e+67: tmp = x * ((y - a) / z) elif z <= -2.55e+39: tmp = t_1 elif z <= -8.5e-22: tmp = t_2 elif z <= -2e-246: tmp = x elif z <= -9.6e-291: tmp = t_2 elif z <= 3.8e-306: tmp = x elif z <= 5.5e-55: tmp = t * (y / (a - z)) elif z <= 2.5e+44: tmp = x else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(t * Float64(1.0 - Float64(y / z))) t_2 = Float64(t * Float64(Float64(y - z) / a)) tmp = 0.0 if (z <= -3.2e+137) tmp = t_1; elseif (z <= -6.8e+67) tmp = Float64(x * Float64(Float64(y - a) / z)); elseif (z <= -2.55e+39) tmp = t_1; elseif (z <= -8.5e-22) tmp = t_2; elseif (z <= -2e-246) tmp = x; elseif (z <= -9.6e-291) tmp = t_2; elseif (z <= 3.8e-306) tmp = x; elseif (z <= 5.5e-55) tmp = Float64(t * Float64(y / Float64(a - z))); elseif (z <= 2.5e+44) tmp = x; else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t * (1.0 - (y / z)); t_2 = t * ((y - z) / a); tmp = 0.0; if (z <= -3.2e+137) tmp = t_1; elseif (z <= -6.8e+67) tmp = x * ((y - a) / z); elseif (z <= -2.55e+39) tmp = t_1; elseif (z <= -8.5e-22) tmp = t_2; elseif (z <= -2e-246) tmp = x; elseif (z <= -9.6e-291) tmp = t_2; elseif (z <= 3.8e-306) tmp = x; elseif (z <= 5.5e-55) tmp = t * (y / (a - z)); elseif (z <= 2.5e+44) tmp = x; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t * N[(1.0 - N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t * N[(N[(y - z), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -3.2e+137], t$95$1, If[LessEqual[z, -6.8e+67], N[(x * N[(N[(y - a), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -2.55e+39], t$95$1, If[LessEqual[z, -8.5e-22], t$95$2, If[LessEqual[z, -2e-246], x, If[LessEqual[z, -9.6e-291], t$95$2, If[LessEqual[z, 3.8e-306], x, If[LessEqual[z, 5.5e-55], N[(t * N[(y / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 2.5e+44], x, t$95$1]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(1 - \frac{y}{z}\right)\\
t_2 := t \cdot \frac{y - z}{a}\\
\mathbf{if}\;z \leq -3.2 \cdot 10^{+137}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq -6.8 \cdot 10^{+67}:\\
\;\;\;\;x \cdot \frac{y - a}{z}\\
\mathbf{elif}\;z \leq -2.55 \cdot 10^{+39}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq -8.5 \cdot 10^{-22}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;z \leq -2 \cdot 10^{-246}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq -9.6 \cdot 10^{-291}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;z \leq 3.8 \cdot 10^{-306}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq 5.5 \cdot 10^{-55}:\\
\;\;\;\;t \cdot \frac{y}{a - z}\\
\mathbf{elif}\;z \leq 2.5 \cdot 10^{+44}:\\
\;\;\;\;x\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if z < -3.20000000000000019e137 or -6.8000000000000003e67 < z < -2.5499999999999999e39 or 2.4999999999999998e44 < z Initial program 40.4%
associate-/l*62.6%
Simplified62.6%
Taylor expanded in a around 0 30.0%
mul-1-neg30.0%
unsub-neg30.0%
associate-/l*49.4%
div-sub49.5%
sub-neg49.5%
*-inverses49.5%
metadata-eval49.5%
Simplified49.5%
Taylor expanded in t around inf 57.5%
if -3.20000000000000019e137 < z < -6.8000000000000003e67Initial program 50.9%
associate-/l*63.5%
Simplified63.5%
Taylor expanded in z around inf 46.5%
associate-*r/46.5%
associate-*r*46.5%
mul-1-neg46.5%
mul-1-neg46.5%
Simplified46.5%
Taylor expanded in z around 0 38.5%
cancel-sign-sub38.5%
neg-mul-138.5%
associate-*r*38.5%
distribute-lft-out--38.5%
associate-*r/38.5%
mul-1-neg38.5%
distribute-frac-neg238.5%
distribute-rgt-out--38.5%
neg-mul-138.5%
times-frac50.8%
metadata-eval50.8%
distribute-neg-frac250.8%
/-rgt-identity50.8%
Simplified50.8%
Taylor expanded in t around 0 38.9%
associate-/l*51.2%
Simplified51.2%
if -2.5499999999999999e39 < z < -8.5000000000000001e-22 or -1.99999999999999991e-246 < z < -9.60000000000000049e-291Initial program 82.0%
associate-/l*76.0%
Simplified76.0%
Taylor expanded in x around 0 54.0%
associate-/l*59.6%
Simplified59.6%
Taylor expanded in a around inf 59.3%
if -8.5000000000000001e-22 < z < -1.99999999999999991e-246 or -9.60000000000000049e-291 < z < 3.8e-306 or 5.4999999999999999e-55 < z < 2.4999999999999998e44Initial program 84.5%
associate-/l*89.9%
Simplified89.9%
Taylor expanded in a around inf 42.6%
if 3.8e-306 < z < 5.4999999999999999e-55Initial program 87.7%
associate-/l*92.3%
Simplified92.3%
*-commutative92.3%
associate-*l/87.7%
associate-*r/97.0%
clear-num96.9%
un-div-inv97.5%
Applied egg-rr97.5%
div-sub97.3%
Applied egg-rr97.3%
Taylor expanded in x around 0 52.3%
Taylor expanded in y around inf 40.6%
associate-/l*47.2%
Simplified47.2%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (- 1.0 (/ y z)))))
(if (<= a -90.0)
x
(if (<= a -1.55e-272)
t_1
(if (<= a -9.5e-292)
(/ (* x y) z)
(if (<= a 2.35e-118)
t_1
(if (<= a 4.1e-56)
(/ x (/ z y))
(if (<= a 2.45e+57)
t_1
(if (<= a 7.5e+154)
x
(if (<= a 1.7e+170)
(* z (/ t (- a)))
(if (<= a 1.2e+203) (* t (/ y (- a z))) x)))))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t * (1.0 - (y / z));
double tmp;
if (a <= -90.0) {
tmp = x;
} else if (a <= -1.55e-272) {
tmp = t_1;
} else if (a <= -9.5e-292) {
tmp = (x * y) / z;
} else if (a <= 2.35e-118) {
tmp = t_1;
} else if (a <= 4.1e-56) {
tmp = x / (z / y);
} else if (a <= 2.45e+57) {
tmp = t_1;
} else if (a <= 7.5e+154) {
tmp = x;
} else if (a <= 1.7e+170) {
tmp = z * (t / -a);
} else if (a <= 1.2e+203) {
tmp = t * (y / (a - z));
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: tmp
t_1 = t * (1.0d0 - (y / z))
if (a <= (-90.0d0)) then
tmp = x
else if (a <= (-1.55d-272)) then
tmp = t_1
else if (a <= (-9.5d-292)) then
tmp = (x * y) / z
else if (a <= 2.35d-118) then
tmp = t_1
else if (a <= 4.1d-56) then
tmp = x / (z / y)
else if (a <= 2.45d+57) then
tmp = t_1
else if (a <= 7.5d+154) then
tmp = x
else if (a <= 1.7d+170) then
tmp = z * (t / -a)
else if (a <= 1.2d+203) then
tmp = t * (y / (a - z))
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = t * (1.0 - (y / z));
double tmp;
if (a <= -90.0) {
tmp = x;
} else if (a <= -1.55e-272) {
tmp = t_1;
} else if (a <= -9.5e-292) {
tmp = (x * y) / z;
} else if (a <= 2.35e-118) {
tmp = t_1;
} else if (a <= 4.1e-56) {
tmp = x / (z / y);
} else if (a <= 2.45e+57) {
tmp = t_1;
} else if (a <= 7.5e+154) {
tmp = x;
} else if (a <= 1.7e+170) {
tmp = z * (t / -a);
} else if (a <= 1.2e+203) {
tmp = t * (y / (a - z));
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t * (1.0 - (y / z)) tmp = 0 if a <= -90.0: tmp = x elif a <= -1.55e-272: tmp = t_1 elif a <= -9.5e-292: tmp = (x * y) / z elif a <= 2.35e-118: tmp = t_1 elif a <= 4.1e-56: tmp = x / (z / y) elif a <= 2.45e+57: tmp = t_1 elif a <= 7.5e+154: tmp = x elif a <= 1.7e+170: tmp = z * (t / -a) elif a <= 1.2e+203: tmp = t * (y / (a - z)) else: tmp = x return tmp
function code(x, y, z, t, a) t_1 = Float64(t * Float64(1.0 - Float64(y / z))) tmp = 0.0 if (a <= -90.0) tmp = x; elseif (a <= -1.55e-272) tmp = t_1; elseif (a <= -9.5e-292) tmp = Float64(Float64(x * y) / z); elseif (a <= 2.35e-118) tmp = t_1; elseif (a <= 4.1e-56) tmp = Float64(x / Float64(z / y)); elseif (a <= 2.45e+57) tmp = t_1; elseif (a <= 7.5e+154) tmp = x; elseif (a <= 1.7e+170) tmp = Float64(z * Float64(t / Float64(-a))); elseif (a <= 1.2e+203) tmp = Float64(t * Float64(y / Float64(a - z))); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t * (1.0 - (y / z)); tmp = 0.0; if (a <= -90.0) tmp = x; elseif (a <= -1.55e-272) tmp = t_1; elseif (a <= -9.5e-292) tmp = (x * y) / z; elseif (a <= 2.35e-118) tmp = t_1; elseif (a <= 4.1e-56) tmp = x / (z / y); elseif (a <= 2.45e+57) tmp = t_1; elseif (a <= 7.5e+154) tmp = x; elseif (a <= 1.7e+170) tmp = z * (t / -a); elseif (a <= 1.2e+203) tmp = t * (y / (a - z)); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t * N[(1.0 - N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -90.0], x, If[LessEqual[a, -1.55e-272], t$95$1, If[LessEqual[a, -9.5e-292], N[(N[(x * y), $MachinePrecision] / z), $MachinePrecision], If[LessEqual[a, 2.35e-118], t$95$1, If[LessEqual[a, 4.1e-56], N[(x / N[(z / y), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 2.45e+57], t$95$1, If[LessEqual[a, 7.5e+154], x, If[LessEqual[a, 1.7e+170], N[(z * N[(t / (-a)), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.2e+203], N[(t * N[(y / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], x]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(1 - \frac{y}{z}\right)\\
\mathbf{if}\;a \leq -90:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq -1.55 \cdot 10^{-272}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq -9.5 \cdot 10^{-292}:\\
\;\;\;\;\frac{x \cdot y}{z}\\
\mathbf{elif}\;a \leq 2.35 \cdot 10^{-118}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 4.1 \cdot 10^{-56}:\\
\;\;\;\;\frac{x}{\frac{z}{y}}\\
\mathbf{elif}\;a \leq 2.45 \cdot 10^{+57}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 7.5 \cdot 10^{+154}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 1.7 \cdot 10^{+170}:\\
\;\;\;\;z \cdot \frac{t}{-a}\\
\mathbf{elif}\;a \leq 1.2 \cdot 10^{+203}:\\
\;\;\;\;t \cdot \frac{y}{a - z}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -90 or 2.45e57 < a < 7.5000000000000004e154 or 1.2000000000000001e203 < a Initial program 69.2%
associate-/l*86.2%
Simplified86.2%
Taylor expanded in a around inf 46.5%
if -90 < a < -1.55000000000000015e-272 or -9.4999999999999994e-292 < a < 2.34999999999999995e-118 or 4.1000000000000001e-56 < a < 2.45e57Initial program 66.7%
associate-/l*71.3%
Simplified71.3%
Taylor expanded in a around 0 43.0%
mul-1-neg43.0%
unsub-neg43.0%
associate-/l*52.2%
div-sub52.2%
sub-neg52.2%
*-inverses52.2%
metadata-eval52.2%
Simplified52.2%
Taylor expanded in t around inf 52.8%
if -1.55000000000000015e-272 < a < -9.4999999999999994e-292Initial program 75.5%
associate-/l*75.7%
Simplified75.7%
Taylor expanded in a around 0 75.5%
mul-1-neg75.5%
unsub-neg75.5%
associate-/l*76.4%
div-sub76.4%
sub-neg76.4%
*-inverses76.4%
metadata-eval76.4%
Simplified76.4%
Taylor expanded in x around -inf 63.6%
*-commutative63.6%
Simplified63.6%
if 2.34999999999999995e-118 < a < 4.1000000000000001e-56Initial program 63.4%
associate-/l*63.5%
Simplified63.5%
Taylor expanded in z around inf 73.8%
associate-*r/73.8%
associate-*r*73.8%
mul-1-neg73.8%
mul-1-neg73.8%
Simplified73.8%
Taylor expanded in z around 0 65.4%
cancel-sign-sub65.4%
neg-mul-165.4%
associate-*r*65.4%
distribute-lft-out--65.4%
associate-*r/65.4%
mul-1-neg65.4%
distribute-frac-neg265.4%
distribute-rgt-out--65.4%
neg-mul-165.4%
times-frac65.0%
metadata-eval65.0%
distribute-neg-frac265.0%
/-rgt-identity65.0%
Simplified65.0%
Taylor expanded in y around inf 56.6%
Taylor expanded in x around inf 48.4%
associate-/l*56.8%
Simplified56.8%
clear-num56.6%
un-div-inv56.9%
Applied egg-rr56.9%
if 7.5000000000000004e154 < a < 1.7000000000000001e170Initial program 75.5%
associate-/l*99.6%
Simplified99.6%
Taylor expanded in x around 0 74.1%
associate-/l*97.9%
Simplified97.9%
Taylor expanded in a around inf 73.5%
Taylor expanded in y around 0 73.4%
mul-1-neg73.4%
*-commutative73.4%
associate-*r/73.9%
distribute-rgt-neg-in73.9%
distribute-neg-frac273.9%
Simplified73.9%
if 1.7000000000000001e170 < a < 1.2000000000000001e203Initial program 35.9%
associate-/l*83.8%
Simplified83.8%
*-commutative83.8%
associate-*l/35.9%
associate-*r/83.8%
clear-num83.8%
un-div-inv83.8%
Applied egg-rr83.8%
div-sub83.8%
Applied egg-rr83.8%
Taylor expanded in x around 0 67.7%
Taylor expanded in y around inf 36.2%
associate-/l*67.8%
Simplified67.8%
Final simplification51.3%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (/ (* (- y z) (- t x)) (- a z)))))
(if (or (<= t_1 -1e-232) (not (<= t_1 0.0)))
(+ x (/ (- t x) (/ (- a z) (- y z))))
(+ (- t (/ (* y (- t x)) z)) (/ (* (- t x) a) z)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (((y - z) * (t - x)) / (a - z));
double tmp;
if ((t_1 <= -1e-232) || !(t_1 <= 0.0)) {
tmp = x + ((t - x) / ((a - z) / (y - z)));
} else {
tmp = (t - ((y * (t - x)) / z)) + (((t - x) * a) / z);
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: tmp
t_1 = x + (((y - z) * (t - x)) / (a - z))
if ((t_1 <= (-1d-232)) .or. (.not. (t_1 <= 0.0d0))) then
tmp = x + ((t - x) / ((a - z) / (y - z)))
else
tmp = (t - ((y * (t - x)) / z)) + (((t - x) * a) / z)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + (((y - z) * (t - x)) / (a - z));
double tmp;
if ((t_1 <= -1e-232) || !(t_1 <= 0.0)) {
tmp = x + ((t - x) / ((a - z) / (y - z)));
} else {
tmp = (t - ((y * (t - x)) / z)) + (((t - x) * a) / z);
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (((y - z) * (t - x)) / (a - z)) tmp = 0 if (t_1 <= -1e-232) or not (t_1 <= 0.0): tmp = x + ((t - x) / ((a - z) / (y - z))) else: tmp = (t - ((y * (t - x)) / z)) + (((t - x) * a) / z) return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(Float64(y - z) * Float64(t - x)) / Float64(a - z))) tmp = 0.0 if ((t_1 <= -1e-232) || !(t_1 <= 0.0)) tmp = Float64(x + Float64(Float64(t - x) / Float64(Float64(a - z) / Float64(y - z)))); else tmp = Float64(Float64(t - Float64(Float64(y * Float64(t - x)) / z)) + Float64(Float64(Float64(t - x) * a) / z)); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + (((y - z) * (t - x)) / (a - z)); tmp = 0.0; if ((t_1 <= -1e-232) || ~((t_1 <= 0.0))) tmp = x + ((t - x) / ((a - z) / (y - z))); else tmp = (t - ((y * (t - x)) / z)) + (((t - x) * a) / z); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(N[(y - z), $MachinePrecision] * N[(t - x), $MachinePrecision]), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Or[LessEqual[t$95$1, -1e-232], N[Not[LessEqual[t$95$1, 0.0]], $MachinePrecision]], N[(x + N[(N[(t - x), $MachinePrecision] / N[(N[(a - z), $MachinePrecision] / N[(y - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(t - N[(N[(y * N[(t - x), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(t - x), $MachinePrecision] * a), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z}\\
\mathbf{if}\;t\_1 \leq -1 \cdot 10^{-232} \lor \neg \left(t\_1 \leq 0\right):\\
\;\;\;\;x + \frac{t - x}{\frac{a - z}{y - z}}\\
\mathbf{else}:\\
\;\;\;\;\left(t - \frac{y \cdot \left(t - x\right)}{z}\right) + \frac{\left(t - x\right) \cdot a}{z}\\
\end{array}
\end{array}
if (+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z))) < -1.00000000000000002e-232 or 0.0 < (+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z))) Initial program 71.5%
associate-/l*83.4%
Simplified83.4%
*-commutative83.4%
associate-*l/71.5%
associate-*r/89.3%
clear-num89.2%
un-div-inv89.3%
Applied egg-rr89.3%
if -1.00000000000000002e-232 < (+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z))) < 0.0Initial program 15.1%
associate-/l*14.8%
Simplified14.8%
Taylor expanded in z around inf 89.7%
associate-*r/89.7%
associate-*r*89.7%
mul-1-neg89.7%
mul-1-neg89.7%
Simplified89.7%
Final simplification89.4%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (- 1.0 (/ y z)))))
(if (<= a -25500.0)
x
(if (<= a -1.25e-272)
t_1
(if (<= a -2.85e-292)
(/ (* x y) z)
(if (<= a 2.35e-118)
t_1
(if (<= a 4.8e-55)
(* x (/ y (- z a)))
(if (<= a 1.28e+57)
t_1
(if (<= a 4.2e+154)
x
(if (<= a 1.2e+203)
(* t (/ (- y z) a))
(if (<= a 8.2e+274) x (* t (/ y a)))))))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t * (1.0 - (y / z));
double tmp;
if (a <= -25500.0) {
tmp = x;
} else if (a <= -1.25e-272) {
tmp = t_1;
} else if (a <= -2.85e-292) {
tmp = (x * y) / z;
} else if (a <= 2.35e-118) {
tmp = t_1;
} else if (a <= 4.8e-55) {
tmp = x * (y / (z - a));
} else if (a <= 1.28e+57) {
tmp = t_1;
} else if (a <= 4.2e+154) {
tmp = x;
} else if (a <= 1.2e+203) {
tmp = t * ((y - z) / a);
} else if (a <= 8.2e+274) {
tmp = x;
} else {
tmp = t * (y / a);
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: tmp
t_1 = t * (1.0d0 - (y / z))
if (a <= (-25500.0d0)) then
tmp = x
else if (a <= (-1.25d-272)) then
tmp = t_1
else if (a <= (-2.85d-292)) then
tmp = (x * y) / z
else if (a <= 2.35d-118) then
tmp = t_1
else if (a <= 4.8d-55) then
tmp = x * (y / (z - a))
else if (a <= 1.28d+57) then
tmp = t_1
else if (a <= 4.2d+154) then
tmp = x
else if (a <= 1.2d+203) then
tmp = t * ((y - z) / a)
else if (a <= 8.2d+274) then
tmp = x
else
tmp = t * (y / a)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = t * (1.0 - (y / z));
double tmp;
if (a <= -25500.0) {
tmp = x;
} else if (a <= -1.25e-272) {
tmp = t_1;
} else if (a <= -2.85e-292) {
tmp = (x * y) / z;
} else if (a <= 2.35e-118) {
tmp = t_1;
} else if (a <= 4.8e-55) {
tmp = x * (y / (z - a));
} else if (a <= 1.28e+57) {
tmp = t_1;
} else if (a <= 4.2e+154) {
tmp = x;
} else if (a <= 1.2e+203) {
tmp = t * ((y - z) / a);
} else if (a <= 8.2e+274) {
tmp = x;
} else {
tmp = t * (y / a);
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t * (1.0 - (y / z)) tmp = 0 if a <= -25500.0: tmp = x elif a <= -1.25e-272: tmp = t_1 elif a <= -2.85e-292: tmp = (x * y) / z elif a <= 2.35e-118: tmp = t_1 elif a <= 4.8e-55: tmp = x * (y / (z - a)) elif a <= 1.28e+57: tmp = t_1 elif a <= 4.2e+154: tmp = x elif a <= 1.2e+203: tmp = t * ((y - z) / a) elif a <= 8.2e+274: tmp = x else: tmp = t * (y / a) return tmp
function code(x, y, z, t, a) t_1 = Float64(t * Float64(1.0 - Float64(y / z))) tmp = 0.0 if (a <= -25500.0) tmp = x; elseif (a <= -1.25e-272) tmp = t_1; elseif (a <= -2.85e-292) tmp = Float64(Float64(x * y) / z); elseif (a <= 2.35e-118) tmp = t_1; elseif (a <= 4.8e-55) tmp = Float64(x * Float64(y / Float64(z - a))); elseif (a <= 1.28e+57) tmp = t_1; elseif (a <= 4.2e+154) tmp = x; elseif (a <= 1.2e+203) tmp = Float64(t * Float64(Float64(y - z) / a)); elseif (a <= 8.2e+274) tmp = x; else tmp = Float64(t * Float64(y / a)); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t * (1.0 - (y / z)); tmp = 0.0; if (a <= -25500.0) tmp = x; elseif (a <= -1.25e-272) tmp = t_1; elseif (a <= -2.85e-292) tmp = (x * y) / z; elseif (a <= 2.35e-118) tmp = t_1; elseif (a <= 4.8e-55) tmp = x * (y / (z - a)); elseif (a <= 1.28e+57) tmp = t_1; elseif (a <= 4.2e+154) tmp = x; elseif (a <= 1.2e+203) tmp = t * ((y - z) / a); elseif (a <= 8.2e+274) tmp = x; else tmp = t * (y / a); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t * N[(1.0 - N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -25500.0], x, If[LessEqual[a, -1.25e-272], t$95$1, If[LessEqual[a, -2.85e-292], N[(N[(x * y), $MachinePrecision] / z), $MachinePrecision], If[LessEqual[a, 2.35e-118], t$95$1, If[LessEqual[a, 4.8e-55], N[(x * N[(y / N[(z - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.28e+57], t$95$1, If[LessEqual[a, 4.2e+154], x, If[LessEqual[a, 1.2e+203], N[(t * N[(N[(y - z), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 8.2e+274], x, N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(1 - \frac{y}{z}\right)\\
\mathbf{if}\;a \leq -25500:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq -1.25 \cdot 10^{-272}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq -2.85 \cdot 10^{-292}:\\
\;\;\;\;\frac{x \cdot y}{z}\\
\mathbf{elif}\;a \leq 2.35 \cdot 10^{-118}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 4.8 \cdot 10^{-55}:\\
\;\;\;\;x \cdot \frac{y}{z - a}\\
\mathbf{elif}\;a \leq 1.28 \cdot 10^{+57}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 4.2 \cdot 10^{+154}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 1.2 \cdot 10^{+203}:\\
\;\;\;\;t \cdot \frac{y - z}{a}\\
\mathbf{elif}\;a \leq 8.2 \cdot 10^{+274}:\\
\;\;\;\;x\\
\mathbf{else}:\\
\;\;\;\;t \cdot \frac{y}{a}\\
\end{array}
\end{array}
if a < -25500 or 1.28000000000000001e57 < a < 4.19999999999999989e154 or 1.2000000000000001e203 < a < 8.2e274Initial program 69.5%
associate-/l*85.9%
Simplified85.9%
Taylor expanded in a around inf 47.3%
if -25500 < a < -1.24999999999999995e-272 or -2.8499999999999998e-292 < a < 2.34999999999999995e-118 or 4.79999999999999983e-55 < a < 1.28000000000000001e57Initial program 66.7%
associate-/l*71.3%
Simplified71.3%
Taylor expanded in a around 0 43.0%
mul-1-neg43.0%
unsub-neg43.0%
associate-/l*52.2%
div-sub52.2%
sub-neg52.2%
*-inverses52.2%
metadata-eval52.2%
Simplified52.2%
Taylor expanded in t around inf 52.8%
if -1.24999999999999995e-272 < a < -2.8499999999999998e-292Initial program 75.5%
associate-/l*75.7%
Simplified75.7%
Taylor expanded in a around 0 75.5%
mul-1-neg75.5%
unsub-neg75.5%
associate-/l*76.4%
div-sub76.4%
sub-neg76.4%
*-inverses76.4%
metadata-eval76.4%
Simplified76.4%
Taylor expanded in x around -inf 63.6%
*-commutative63.6%
Simplified63.6%
if 2.34999999999999995e-118 < a < 4.79999999999999983e-55Initial program 63.4%
associate-/l*63.5%
Simplified63.5%
Taylor expanded in y around inf 74.3%
div-sub74.3%
Simplified74.3%
clear-num73.9%
un-div-inv76.5%
Applied egg-rr76.5%
Taylor expanded in t around 0 56.5%
mul-1-neg56.5%
associate-/l*64.9%
distribute-rgt-neg-in64.9%
distribute-neg-frac264.9%
neg-sub064.9%
associate-+l-64.9%
neg-sub064.9%
+-commutative64.9%
unsub-neg64.9%
Simplified64.9%
if 4.19999999999999989e154 < a < 1.2000000000000001e203Initial program 51.7%
associate-/l*90.1%
Simplified90.1%
Taylor expanded in x around 0 51.3%
associate-/l*79.8%
Simplified79.8%
Taylor expanded in a around inf 70.0%
if 8.2e274 < a Initial program 52.6%
associate-/l*100.0%
Simplified100.0%
Taylor expanded in x around 0 52.6%
associate-/l*99.2%
Simplified99.2%
Taylor expanded in z around 0 52.6%
associate-/l*99.2%
Simplified99.2%
Final simplification52.3%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (- 1.0 (/ y z)))))
(if (<= a -55.0)
x
(if (<= a -7.2e-269)
t_1
(if (<= a -1.65e-291)
(/ (* x y) z)
(if (<= a 2.35e-118)
t_1
(if (<= a 3.4e-56)
(/ x (/ z y))
(if (<= a 1.3e+57)
t_1
(if (<= a 6.8e+154)
x
(if (<= a 9.5e+243)
(* t (/ (- y z) a))
(if (<= a 8.6e+267) x (/ t (/ a y)))))))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t * (1.0 - (y / z));
double tmp;
if (a <= -55.0) {
tmp = x;
} else if (a <= -7.2e-269) {
tmp = t_1;
} else if (a <= -1.65e-291) {
tmp = (x * y) / z;
} else if (a <= 2.35e-118) {
tmp = t_1;
} else if (a <= 3.4e-56) {
tmp = x / (z / y);
} else if (a <= 1.3e+57) {
tmp = t_1;
} else if (a <= 6.8e+154) {
tmp = x;
} else if (a <= 9.5e+243) {
tmp = t * ((y - z) / a);
} else if (a <= 8.6e+267) {
tmp = x;
} else {
tmp = t / (a / y);
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: tmp
t_1 = t * (1.0d0 - (y / z))
if (a <= (-55.0d0)) then
tmp = x
else if (a <= (-7.2d-269)) then
tmp = t_1
else if (a <= (-1.65d-291)) then
tmp = (x * y) / z
else if (a <= 2.35d-118) then
tmp = t_1
else if (a <= 3.4d-56) then
tmp = x / (z / y)
else if (a <= 1.3d+57) then
tmp = t_1
else if (a <= 6.8d+154) then
tmp = x
else if (a <= 9.5d+243) then
tmp = t * ((y - z) / a)
else if (a <= 8.6d+267) then
tmp = x
else
tmp = t / (a / y)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = t * (1.0 - (y / z));
double tmp;
if (a <= -55.0) {
tmp = x;
} else if (a <= -7.2e-269) {
tmp = t_1;
} else if (a <= -1.65e-291) {
tmp = (x * y) / z;
} else if (a <= 2.35e-118) {
tmp = t_1;
} else if (a <= 3.4e-56) {
tmp = x / (z / y);
} else if (a <= 1.3e+57) {
tmp = t_1;
} else if (a <= 6.8e+154) {
tmp = x;
} else if (a <= 9.5e+243) {
tmp = t * ((y - z) / a);
} else if (a <= 8.6e+267) {
tmp = x;
} else {
tmp = t / (a / y);
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t * (1.0 - (y / z)) tmp = 0 if a <= -55.0: tmp = x elif a <= -7.2e-269: tmp = t_1 elif a <= -1.65e-291: tmp = (x * y) / z elif a <= 2.35e-118: tmp = t_1 elif a <= 3.4e-56: tmp = x / (z / y) elif a <= 1.3e+57: tmp = t_1 elif a <= 6.8e+154: tmp = x elif a <= 9.5e+243: tmp = t * ((y - z) / a) elif a <= 8.6e+267: tmp = x else: tmp = t / (a / y) return tmp
function code(x, y, z, t, a) t_1 = Float64(t * Float64(1.0 - Float64(y / z))) tmp = 0.0 if (a <= -55.0) tmp = x; elseif (a <= -7.2e-269) tmp = t_1; elseif (a <= -1.65e-291) tmp = Float64(Float64(x * y) / z); elseif (a <= 2.35e-118) tmp = t_1; elseif (a <= 3.4e-56) tmp = Float64(x / Float64(z / y)); elseif (a <= 1.3e+57) tmp = t_1; elseif (a <= 6.8e+154) tmp = x; elseif (a <= 9.5e+243) tmp = Float64(t * Float64(Float64(y - z) / a)); elseif (a <= 8.6e+267) tmp = x; else tmp = Float64(t / Float64(a / y)); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t * (1.0 - (y / z)); tmp = 0.0; if (a <= -55.0) tmp = x; elseif (a <= -7.2e-269) tmp = t_1; elseif (a <= -1.65e-291) tmp = (x * y) / z; elseif (a <= 2.35e-118) tmp = t_1; elseif (a <= 3.4e-56) tmp = x / (z / y); elseif (a <= 1.3e+57) tmp = t_1; elseif (a <= 6.8e+154) tmp = x; elseif (a <= 9.5e+243) tmp = t * ((y - z) / a); elseif (a <= 8.6e+267) tmp = x; else tmp = t / (a / y); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t * N[(1.0 - N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -55.0], x, If[LessEqual[a, -7.2e-269], t$95$1, If[LessEqual[a, -1.65e-291], N[(N[(x * y), $MachinePrecision] / z), $MachinePrecision], If[LessEqual[a, 2.35e-118], t$95$1, If[LessEqual[a, 3.4e-56], N[(x / N[(z / y), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.3e+57], t$95$1, If[LessEqual[a, 6.8e+154], x, If[LessEqual[a, 9.5e+243], N[(t * N[(N[(y - z), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 8.6e+267], x, N[(t / N[(a / y), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(1 - \frac{y}{z}\right)\\
\mathbf{if}\;a \leq -55:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq -7.2 \cdot 10^{-269}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq -1.65 \cdot 10^{-291}:\\
\;\;\;\;\frac{x \cdot y}{z}\\
\mathbf{elif}\;a \leq 2.35 \cdot 10^{-118}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 3.4 \cdot 10^{-56}:\\
\;\;\;\;\frac{x}{\frac{z}{y}}\\
\mathbf{elif}\;a \leq 1.3 \cdot 10^{+57}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 6.8 \cdot 10^{+154}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 9.5 \cdot 10^{+243}:\\
\;\;\;\;t \cdot \frac{y - z}{a}\\
\mathbf{elif}\;a \leq 8.6 \cdot 10^{+267}:\\
\;\;\;\;x\\
\mathbf{else}:\\
\;\;\;\;\frac{t}{\frac{a}{y}}\\
\end{array}
\end{array}
if a < -55 or 1.3e57 < a < 6.79999999999999948e154 or 9.49999999999999957e243 < a < 8.5999999999999994e267Initial program 69.4%
associate-/l*86.4%
Simplified86.4%
Taylor expanded in a around inf 47.9%
if -55 < a < -7.19999999999999996e-269 or -1.6499999999999999e-291 < a < 2.34999999999999995e-118 or 3.39999999999999982e-56 < a < 1.3e57Initial program 66.7%
associate-/l*71.3%
Simplified71.3%
Taylor expanded in a around 0 43.0%
mul-1-neg43.0%
unsub-neg43.0%
associate-/l*52.2%
div-sub52.2%
sub-neg52.2%
*-inverses52.2%
metadata-eval52.2%
Simplified52.2%
Taylor expanded in t around inf 52.8%
if -7.19999999999999996e-269 < a < -1.6499999999999999e-291Initial program 75.5%
associate-/l*75.7%
Simplified75.7%
Taylor expanded in a around 0 75.5%
mul-1-neg75.5%
unsub-neg75.5%
associate-/l*76.4%
div-sub76.4%
sub-neg76.4%
*-inverses76.4%
metadata-eval76.4%
Simplified76.4%
Taylor expanded in x around -inf 63.6%
*-commutative63.6%
Simplified63.6%
if 2.34999999999999995e-118 < a < 3.39999999999999982e-56Initial program 63.4%
associate-/l*63.5%
Simplified63.5%
Taylor expanded in z around inf 73.8%
associate-*r/73.8%
associate-*r*73.8%
mul-1-neg73.8%
mul-1-neg73.8%
Simplified73.8%
Taylor expanded in z around 0 65.4%
cancel-sign-sub65.4%
neg-mul-165.4%
associate-*r*65.4%
distribute-lft-out--65.4%
associate-*r/65.4%
mul-1-neg65.4%
distribute-frac-neg265.4%
distribute-rgt-out--65.4%
neg-mul-165.4%
times-frac65.0%
metadata-eval65.0%
distribute-neg-frac265.0%
/-rgt-identity65.0%
Simplified65.0%
Taylor expanded in y around inf 56.6%
Taylor expanded in x around inf 48.4%
associate-/l*56.8%
Simplified56.8%
clear-num56.6%
un-div-inv56.9%
Applied egg-rr56.9%
if 6.79999999999999948e154 < a < 9.49999999999999957e243Initial program 59.2%
associate-/l*84.9%
Simplified84.9%
Taylor expanded in x around 0 48.5%
associate-/l*63.6%
Simplified63.6%
Taylor expanded in a around inf 58.5%
if 8.5999999999999994e267 < a Initial program 68.4%
associate-/l*100.0%
Simplified100.0%
Taylor expanded in x around 0 37.5%
associate-/l*68.6%
Simplified68.6%
Taylor expanded in z around 0 37.5%
associate-/l*68.6%
Simplified68.6%
clear-num68.6%
un-div-inv68.6%
Applied egg-rr68.6%
Final simplification52.0%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (- 1.0 (/ y z))))
(t_2 (+ x (* t (/ y a))))
(t_3 (* y (/ (- x t) z))))
(if (<= a -2.26e-85)
t_2
(if (<= a -1.6e-233)
(- t (/ (* y t) z))
(if (<= a -1.95e-281)
t_3
(if (<= a -7.8e-289)
(/ (* y (- x t)) z)
(if (<= a 1.35e-244)
t_3
(if (<= a 3.9e-139)
t_1
(if (<= a 4e-37)
(* x (/ y (- z a)))
(if (<= a 125.0) t_1 t_2))))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t * (1.0 - (y / z));
double t_2 = x + (t * (y / a));
double t_3 = y * ((x - t) / z);
double tmp;
if (a <= -2.26e-85) {
tmp = t_2;
} else if (a <= -1.6e-233) {
tmp = t - ((y * t) / z);
} else if (a <= -1.95e-281) {
tmp = t_3;
} else if (a <= -7.8e-289) {
tmp = (y * (x - t)) / z;
} else if (a <= 1.35e-244) {
tmp = t_3;
} else if (a <= 3.9e-139) {
tmp = t_1;
} else if (a <= 4e-37) {
tmp = x * (y / (z - a));
} else if (a <= 125.0) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = t * (1.0d0 - (y / z))
t_2 = x + (t * (y / a))
t_3 = y * ((x - t) / z)
if (a <= (-2.26d-85)) then
tmp = t_2
else if (a <= (-1.6d-233)) then
tmp = t - ((y * t) / z)
else if (a <= (-1.95d-281)) then
tmp = t_3
else if (a <= (-7.8d-289)) then
tmp = (y * (x - t)) / z
else if (a <= 1.35d-244) then
tmp = t_3
else if (a <= 3.9d-139) then
tmp = t_1
else if (a <= 4d-37) then
tmp = x * (y / (z - a))
else if (a <= 125.0d0) 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 a) {
double t_1 = t * (1.0 - (y / z));
double t_2 = x + (t * (y / a));
double t_3 = y * ((x - t) / z);
double tmp;
if (a <= -2.26e-85) {
tmp = t_2;
} else if (a <= -1.6e-233) {
tmp = t - ((y * t) / z);
} else if (a <= -1.95e-281) {
tmp = t_3;
} else if (a <= -7.8e-289) {
tmp = (y * (x - t)) / z;
} else if (a <= 1.35e-244) {
tmp = t_3;
} else if (a <= 3.9e-139) {
tmp = t_1;
} else if (a <= 4e-37) {
tmp = x * (y / (z - a));
} else if (a <= 125.0) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t * (1.0 - (y / z)) t_2 = x + (t * (y / a)) t_3 = y * ((x - t) / z) tmp = 0 if a <= -2.26e-85: tmp = t_2 elif a <= -1.6e-233: tmp = t - ((y * t) / z) elif a <= -1.95e-281: tmp = t_3 elif a <= -7.8e-289: tmp = (y * (x - t)) / z elif a <= 1.35e-244: tmp = t_3 elif a <= 3.9e-139: tmp = t_1 elif a <= 4e-37: tmp = x * (y / (z - a)) elif a <= 125.0: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a) t_1 = Float64(t * Float64(1.0 - Float64(y / z))) t_2 = Float64(x + Float64(t * Float64(y / a))) t_3 = Float64(y * Float64(Float64(x - t) / z)) tmp = 0.0 if (a <= -2.26e-85) tmp = t_2; elseif (a <= -1.6e-233) tmp = Float64(t - Float64(Float64(y * t) / z)); elseif (a <= -1.95e-281) tmp = t_3; elseif (a <= -7.8e-289) tmp = Float64(Float64(y * Float64(x - t)) / z); elseif (a <= 1.35e-244) tmp = t_3; elseif (a <= 3.9e-139) tmp = t_1; elseif (a <= 4e-37) tmp = Float64(x * Float64(y / Float64(z - a))); elseif (a <= 125.0) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t * (1.0 - (y / z)); t_2 = x + (t * (y / a)); t_3 = y * ((x - t) / z); tmp = 0.0; if (a <= -2.26e-85) tmp = t_2; elseif (a <= -1.6e-233) tmp = t - ((y * t) / z); elseif (a <= -1.95e-281) tmp = t_3; elseif (a <= -7.8e-289) tmp = (y * (x - t)) / z; elseif (a <= 1.35e-244) tmp = t_3; elseif (a <= 3.9e-139) tmp = t_1; elseif (a <= 4e-37) tmp = x * (y / (z - a)); elseif (a <= 125.0) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t * N[(1.0 - N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x + N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(y * N[(N[(x - t), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -2.26e-85], t$95$2, If[LessEqual[a, -1.6e-233], N[(t - N[(N[(y * t), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -1.95e-281], t$95$3, If[LessEqual[a, -7.8e-289], N[(N[(y * N[(x - t), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision], If[LessEqual[a, 1.35e-244], t$95$3, If[LessEqual[a, 3.9e-139], t$95$1, If[LessEqual[a, 4e-37], N[(x * N[(y / N[(z - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 125.0], t$95$1, t$95$2]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(1 - \frac{y}{z}\right)\\
t_2 := x + t \cdot \frac{y}{a}\\
t_3 := y \cdot \frac{x - t}{z}\\
\mathbf{if}\;a \leq -2.26 \cdot 10^{-85}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;a \leq -1.6 \cdot 10^{-233}:\\
\;\;\;\;t - \frac{y \cdot t}{z}\\
\mathbf{elif}\;a \leq -1.95 \cdot 10^{-281}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;a \leq -7.8 \cdot 10^{-289}:\\
\;\;\;\;\frac{y \cdot \left(x - t\right)}{z}\\
\mathbf{elif}\;a \leq 1.35 \cdot 10^{-244}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;a \leq 3.9 \cdot 10^{-139}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 4 \cdot 10^{-37}:\\
\;\;\;\;x \cdot \frac{y}{z - a}\\
\mathbf{elif}\;a \leq 125:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if a < -2.25999999999999997e-85 or 125 < a Initial program 66.5%
associate-/l*83.1%
Simplified83.1%
Taylor expanded in z around 0 55.2%
associate-/l*66.7%
Simplified66.7%
Taylor expanded in t around inf 55.3%
associate-/l*62.4%
Simplified62.4%
if -2.25999999999999997e-85 < a < -1.5999999999999999e-233Initial program 72.9%
associate-/l*77.3%
Simplified77.3%
Taylor expanded in z around inf 70.0%
associate-*r/70.0%
associate-*r*70.0%
mul-1-neg70.0%
mul-1-neg70.0%
Simplified70.0%
Taylor expanded in a around 0 72.9%
mul-1-neg72.9%
associate-*r/72.5%
sub-neg72.5%
Simplified72.5%
Taylor expanded in t around inf 60.2%
if -1.5999999999999999e-233 < a < -1.9500000000000001e-281 or -7.7999999999999997e-289 < a < 1.35e-244Initial program 68.6%
associate-/l*77.3%
Simplified77.3%
Taylor expanded in z around inf 87.3%
associate-*r/87.3%
associate-*r*87.3%
mul-1-neg87.3%
mul-1-neg87.3%
Simplified87.3%
Taylor expanded in z around 0 68.7%
cancel-sign-sub68.7%
neg-mul-168.7%
associate-*r*68.7%
distribute-lft-out--68.7%
associate-*r/68.7%
mul-1-neg68.7%
distribute-frac-neg268.7%
distribute-rgt-out--68.7%
neg-mul-168.7%
times-frac69.2%
metadata-eval69.2%
distribute-neg-frac269.2%
/-rgt-identity69.2%
Simplified69.2%
Taylor expanded in y around inf 65.4%
associate-/l*73.8%
Simplified73.8%
if -1.9500000000000001e-281 < a < -7.7999999999999997e-289Initial program 80.4%
associate-/l*61.5%
Simplified61.5%
Taylor expanded in z around inf 100.0%
associate-*r/100.0%
associate-*r*100.0%
mul-1-neg100.0%
mul-1-neg100.0%
Simplified100.0%
Taylor expanded in z around 0 80.4%
cancel-sign-sub80.4%
neg-mul-180.4%
associate-*r*80.4%
distribute-lft-out--80.4%
associate-*r/80.4%
mul-1-neg80.4%
distribute-frac-neg280.4%
distribute-rgt-out--80.4%
neg-mul-180.4%
times-frac80.4%
metadata-eval80.4%
distribute-neg-frac280.4%
/-rgt-identity80.4%
Simplified80.4%
Taylor expanded in y around inf 80.4%
if 1.35e-244 < a < 3.9000000000000001e-139 or 4.00000000000000027e-37 < a < 125Initial program 68.8%
associate-/l*66.5%
Simplified66.5%
Taylor expanded in a around 0 38.7%
mul-1-neg38.7%
unsub-neg38.7%
associate-/l*46.8%
div-sub46.8%
sub-neg46.8%
*-inverses46.8%
metadata-eval46.8%
Simplified46.8%
Taylor expanded in t around inf 53.7%
if 3.9000000000000001e-139 < a < 4.00000000000000027e-37Initial program 58.1%
associate-/l*64.2%
Simplified64.2%
Taylor expanded in y around inf 64.0%
div-sub64.0%
Simplified64.0%
clear-num63.7%
un-div-inv65.2%
Applied egg-rr65.2%
Taylor expanded in t around 0 44.6%
mul-1-neg44.6%
associate-/l*53.6%
distribute-rgt-neg-in53.6%
distribute-neg-frac253.6%
neg-sub053.6%
associate-+l-53.6%
neg-sub053.6%
+-commutative53.6%
unsub-neg53.6%
Simplified53.6%
Final simplification62.0%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (- 1.0 (/ y z))))
(t_2 (+ x (* t (/ y a))))
(t_3 (* y (/ (- x t) z))))
(if (<= a -7.2e-86)
t_2
(if (<= a -1.8e-228)
(- t (/ (* y t) z))
(if (<= a -7.5e-297)
t_3
(if (<= a 4.2e-299)
t_1
(if (<= a 6.7e-245)
t_3
(if (<= a 4.2e-139)
t_1
(if (<= a 2.2e-37)
(* x (/ y (- z a)))
(if (<= a 490.0) t_1 t_2))))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t * (1.0 - (y / z));
double t_2 = x + (t * (y / a));
double t_3 = y * ((x - t) / z);
double tmp;
if (a <= -7.2e-86) {
tmp = t_2;
} else if (a <= -1.8e-228) {
tmp = t - ((y * t) / z);
} else if (a <= -7.5e-297) {
tmp = t_3;
} else if (a <= 4.2e-299) {
tmp = t_1;
} else if (a <= 6.7e-245) {
tmp = t_3;
} else if (a <= 4.2e-139) {
tmp = t_1;
} else if (a <= 2.2e-37) {
tmp = x * (y / (z - a));
} else if (a <= 490.0) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = t * (1.0d0 - (y / z))
t_2 = x + (t * (y / a))
t_3 = y * ((x - t) / z)
if (a <= (-7.2d-86)) then
tmp = t_2
else if (a <= (-1.8d-228)) then
tmp = t - ((y * t) / z)
else if (a <= (-7.5d-297)) then
tmp = t_3
else if (a <= 4.2d-299) then
tmp = t_1
else if (a <= 6.7d-245) then
tmp = t_3
else if (a <= 4.2d-139) then
tmp = t_1
else if (a <= 2.2d-37) then
tmp = x * (y / (z - a))
else if (a <= 490.0d0) 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 a) {
double t_1 = t * (1.0 - (y / z));
double t_2 = x + (t * (y / a));
double t_3 = y * ((x - t) / z);
double tmp;
if (a <= -7.2e-86) {
tmp = t_2;
} else if (a <= -1.8e-228) {
tmp = t - ((y * t) / z);
} else if (a <= -7.5e-297) {
tmp = t_3;
} else if (a <= 4.2e-299) {
tmp = t_1;
} else if (a <= 6.7e-245) {
tmp = t_3;
} else if (a <= 4.2e-139) {
tmp = t_1;
} else if (a <= 2.2e-37) {
tmp = x * (y / (z - a));
} else if (a <= 490.0) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t * (1.0 - (y / z)) t_2 = x + (t * (y / a)) t_3 = y * ((x - t) / z) tmp = 0 if a <= -7.2e-86: tmp = t_2 elif a <= -1.8e-228: tmp = t - ((y * t) / z) elif a <= -7.5e-297: tmp = t_3 elif a <= 4.2e-299: tmp = t_1 elif a <= 6.7e-245: tmp = t_3 elif a <= 4.2e-139: tmp = t_1 elif a <= 2.2e-37: tmp = x * (y / (z - a)) elif a <= 490.0: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a) t_1 = Float64(t * Float64(1.0 - Float64(y / z))) t_2 = Float64(x + Float64(t * Float64(y / a))) t_3 = Float64(y * Float64(Float64(x - t) / z)) tmp = 0.0 if (a <= -7.2e-86) tmp = t_2; elseif (a <= -1.8e-228) tmp = Float64(t - Float64(Float64(y * t) / z)); elseif (a <= -7.5e-297) tmp = t_3; elseif (a <= 4.2e-299) tmp = t_1; elseif (a <= 6.7e-245) tmp = t_3; elseif (a <= 4.2e-139) tmp = t_1; elseif (a <= 2.2e-37) tmp = Float64(x * Float64(y / Float64(z - a))); elseif (a <= 490.0) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t * (1.0 - (y / z)); t_2 = x + (t * (y / a)); t_3 = y * ((x - t) / z); tmp = 0.0; if (a <= -7.2e-86) tmp = t_2; elseif (a <= -1.8e-228) tmp = t - ((y * t) / z); elseif (a <= -7.5e-297) tmp = t_3; elseif (a <= 4.2e-299) tmp = t_1; elseif (a <= 6.7e-245) tmp = t_3; elseif (a <= 4.2e-139) tmp = t_1; elseif (a <= 2.2e-37) tmp = x * (y / (z - a)); elseif (a <= 490.0) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t * N[(1.0 - N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x + N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(y * N[(N[(x - t), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -7.2e-86], t$95$2, If[LessEqual[a, -1.8e-228], N[(t - N[(N[(y * t), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -7.5e-297], t$95$3, If[LessEqual[a, 4.2e-299], t$95$1, If[LessEqual[a, 6.7e-245], t$95$3, If[LessEqual[a, 4.2e-139], t$95$1, If[LessEqual[a, 2.2e-37], N[(x * N[(y / N[(z - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 490.0], t$95$1, t$95$2]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(1 - \frac{y}{z}\right)\\
t_2 := x + t \cdot \frac{y}{a}\\
t_3 := y \cdot \frac{x - t}{z}\\
\mathbf{if}\;a \leq -7.2 \cdot 10^{-86}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;a \leq -1.8 \cdot 10^{-228}:\\
\;\;\;\;t - \frac{y \cdot t}{z}\\
\mathbf{elif}\;a \leq -7.5 \cdot 10^{-297}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;a \leq 4.2 \cdot 10^{-299}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 6.7 \cdot 10^{-245}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;a \leq 4.2 \cdot 10^{-139}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 2.2 \cdot 10^{-37}:\\
\;\;\;\;x \cdot \frac{y}{z - a}\\
\mathbf{elif}\;a \leq 490:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if a < -7.19999999999999932e-86 or 490 < a Initial program 66.5%
associate-/l*83.1%
Simplified83.1%
Taylor expanded in z around 0 55.2%
associate-/l*66.7%
Simplified66.7%
Taylor expanded in t around inf 55.3%
associate-/l*62.4%
Simplified62.4%
if -7.19999999999999932e-86 < a < -1.8000000000000001e-228Initial program 72.9%
associate-/l*77.3%
Simplified77.3%
Taylor expanded in z around inf 70.0%
associate-*r/70.0%
associate-*r*70.0%
mul-1-neg70.0%
mul-1-neg70.0%
Simplified70.0%
Taylor expanded in a around 0 72.9%
mul-1-neg72.9%
associate-*r/72.5%
sub-neg72.5%
Simplified72.5%
Taylor expanded in t around inf 60.2%
if -1.8000000000000001e-228 < a < -7.4999999999999994e-297 or 4.2000000000000002e-299 < a < 6.7e-245Initial program 71.0%
associate-/l*71.4%
Simplified71.4%
Taylor expanded in z around inf 92.1%
associate-*r/92.1%
associate-*r*92.1%
mul-1-neg92.1%
mul-1-neg92.1%
Simplified92.1%
Taylor expanded in z around 0 71.1%
cancel-sign-sub71.1%
neg-mul-171.1%
associate-*r*71.1%
distribute-lft-out--71.1%
associate-*r/71.1%
mul-1-neg71.1%
distribute-frac-neg271.1%
distribute-rgt-out--71.1%
neg-mul-171.1%
times-frac71.5%
metadata-eval71.5%
distribute-neg-frac271.5%
/-rgt-identity71.5%
Simplified71.5%
Taylor expanded in y around inf 68.0%
associate-/l*72.0%
Simplified72.0%
if -7.4999999999999994e-297 < a < 4.2000000000000002e-299 or 6.7e-245 < a < 4.20000000000000016e-139 or 2.20000000000000002e-37 < a < 490Initial program 68.8%
associate-/l*70.3%
Simplified70.3%
Taylor expanded in a around 0 42.2%
mul-1-neg42.2%
unsub-neg42.2%
associate-/l*53.0%
div-sub53.0%
sub-neg53.0%
*-inverses53.0%
metadata-eval53.0%
Simplified53.0%
Taylor expanded in t around inf 59.0%
if 4.20000000000000016e-139 < a < 2.20000000000000002e-37Initial program 58.1%
associate-/l*64.2%
Simplified64.2%
Taylor expanded in y around inf 64.0%
div-sub64.0%
Simplified64.0%
clear-num63.7%
un-div-inv65.2%
Applied egg-rr65.2%
Taylor expanded in t around 0 44.6%
mul-1-neg44.6%
associate-/l*53.6%
distribute-rgt-neg-in53.6%
distribute-neg-frac253.6%
neg-sub053.6%
associate-+l-53.6%
neg-sub053.6%
+-commutative53.6%
unsub-neg53.6%
Simplified53.6%
Final simplification62.0%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (- 1.0 (/ y z))))
(t_2 (+ x (* t (/ y a))))
(t_3 (* y (/ (- x t) z))))
(if (<= a -5.5e-86)
t_2
(if (<= a -2e-230)
t_1
(if (<= a -2.15e-300)
t_3
(if (<= a 5.2e-296)
t_1
(if (<= a 4.2e-243)
t_3
(if (<= a 4.2e-139)
t_1
(if (<= a 4.2e-37)
(* x (/ y (- z a)))
(if (<= a 120.0) t_1 t_2))))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t * (1.0 - (y / z));
double t_2 = x + (t * (y / a));
double t_3 = y * ((x - t) / z);
double tmp;
if (a <= -5.5e-86) {
tmp = t_2;
} else if (a <= -2e-230) {
tmp = t_1;
} else if (a <= -2.15e-300) {
tmp = t_3;
} else if (a <= 5.2e-296) {
tmp = t_1;
} else if (a <= 4.2e-243) {
tmp = t_3;
} else if (a <= 4.2e-139) {
tmp = t_1;
} else if (a <= 4.2e-37) {
tmp = x * (y / (z - a));
} else if (a <= 120.0) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = t * (1.0d0 - (y / z))
t_2 = x + (t * (y / a))
t_3 = y * ((x - t) / z)
if (a <= (-5.5d-86)) then
tmp = t_2
else if (a <= (-2d-230)) then
tmp = t_1
else if (a <= (-2.15d-300)) then
tmp = t_3
else if (a <= 5.2d-296) then
tmp = t_1
else if (a <= 4.2d-243) then
tmp = t_3
else if (a <= 4.2d-139) then
tmp = t_1
else if (a <= 4.2d-37) then
tmp = x * (y / (z - a))
else if (a <= 120.0d0) 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 a) {
double t_1 = t * (1.0 - (y / z));
double t_2 = x + (t * (y / a));
double t_3 = y * ((x - t) / z);
double tmp;
if (a <= -5.5e-86) {
tmp = t_2;
} else if (a <= -2e-230) {
tmp = t_1;
} else if (a <= -2.15e-300) {
tmp = t_3;
} else if (a <= 5.2e-296) {
tmp = t_1;
} else if (a <= 4.2e-243) {
tmp = t_3;
} else if (a <= 4.2e-139) {
tmp = t_1;
} else if (a <= 4.2e-37) {
tmp = x * (y / (z - a));
} else if (a <= 120.0) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t * (1.0 - (y / z)) t_2 = x + (t * (y / a)) t_3 = y * ((x - t) / z) tmp = 0 if a <= -5.5e-86: tmp = t_2 elif a <= -2e-230: tmp = t_1 elif a <= -2.15e-300: tmp = t_3 elif a <= 5.2e-296: tmp = t_1 elif a <= 4.2e-243: tmp = t_3 elif a <= 4.2e-139: tmp = t_1 elif a <= 4.2e-37: tmp = x * (y / (z - a)) elif a <= 120.0: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a) t_1 = Float64(t * Float64(1.0 - Float64(y / z))) t_2 = Float64(x + Float64(t * Float64(y / a))) t_3 = Float64(y * Float64(Float64(x - t) / z)) tmp = 0.0 if (a <= -5.5e-86) tmp = t_2; elseif (a <= -2e-230) tmp = t_1; elseif (a <= -2.15e-300) tmp = t_3; elseif (a <= 5.2e-296) tmp = t_1; elseif (a <= 4.2e-243) tmp = t_3; elseif (a <= 4.2e-139) tmp = t_1; elseif (a <= 4.2e-37) tmp = Float64(x * Float64(y / Float64(z - a))); elseif (a <= 120.0) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t * (1.0 - (y / z)); t_2 = x + (t * (y / a)); t_3 = y * ((x - t) / z); tmp = 0.0; if (a <= -5.5e-86) tmp = t_2; elseif (a <= -2e-230) tmp = t_1; elseif (a <= -2.15e-300) tmp = t_3; elseif (a <= 5.2e-296) tmp = t_1; elseif (a <= 4.2e-243) tmp = t_3; elseif (a <= 4.2e-139) tmp = t_1; elseif (a <= 4.2e-37) tmp = x * (y / (z - a)); elseif (a <= 120.0) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t * N[(1.0 - N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x + N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(y * N[(N[(x - t), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -5.5e-86], t$95$2, If[LessEqual[a, -2e-230], t$95$1, If[LessEqual[a, -2.15e-300], t$95$3, If[LessEqual[a, 5.2e-296], t$95$1, If[LessEqual[a, 4.2e-243], t$95$3, If[LessEqual[a, 4.2e-139], t$95$1, If[LessEqual[a, 4.2e-37], N[(x * N[(y / N[(z - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 120.0], t$95$1, t$95$2]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(1 - \frac{y}{z}\right)\\
t_2 := x + t \cdot \frac{y}{a}\\
t_3 := y \cdot \frac{x - t}{z}\\
\mathbf{if}\;a \leq -5.5 \cdot 10^{-86}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;a \leq -2 \cdot 10^{-230}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq -2.15 \cdot 10^{-300}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;a \leq 5.2 \cdot 10^{-296}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 4.2 \cdot 10^{-243}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;a \leq 4.2 \cdot 10^{-139}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 4.2 \cdot 10^{-37}:\\
\;\;\;\;x \cdot \frac{y}{z - a}\\
\mathbf{elif}\;a \leq 120:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if a < -5.5e-86 or 120 < a Initial program 66.5%
associate-/l*83.1%
Simplified83.1%
Taylor expanded in z around 0 55.2%
associate-/l*66.7%
Simplified66.7%
Taylor expanded in t around inf 55.3%
associate-/l*62.4%
Simplified62.4%
if -5.5e-86 < a < -2.00000000000000009e-230 or -2.15e-300 < a < 5.2000000000000001e-296 or 4.2000000000000002e-243 < a < 4.20000000000000016e-139 or 4.2000000000000002e-37 < a < 120Initial program 71.2%
associate-/l*74.4%
Simplified74.4%
Taylor expanded in a around 0 45.9%
mul-1-neg45.9%
unsub-neg45.9%
associate-/l*57.6%
div-sub57.8%
sub-neg57.8%
*-inverses57.8%
metadata-eval57.8%
Simplified57.8%
Taylor expanded in t around inf 59.7%
if -2.00000000000000009e-230 < a < -2.15e-300 or 5.2000000000000001e-296 < a < 4.2000000000000002e-243Initial program 71.0%
associate-/l*71.4%
Simplified71.4%
Taylor expanded in z around inf 92.1%
associate-*r/92.1%
associate-*r*92.1%
mul-1-neg92.1%
mul-1-neg92.1%
Simplified92.1%
Taylor expanded in z around 0 71.1%
cancel-sign-sub71.1%
neg-mul-171.1%
associate-*r*71.1%
distribute-lft-out--71.1%
associate-*r/71.1%
mul-1-neg71.1%
distribute-frac-neg271.1%
distribute-rgt-out--71.1%
neg-mul-171.1%
times-frac71.5%
metadata-eval71.5%
distribute-neg-frac271.5%
/-rgt-identity71.5%
Simplified71.5%
Taylor expanded in y around inf 68.0%
associate-/l*72.0%
Simplified72.0%
if 4.20000000000000016e-139 < a < 4.2000000000000002e-37Initial program 58.1%
associate-/l*64.2%
Simplified64.2%
Taylor expanded in y around inf 64.0%
div-sub64.0%
Simplified64.0%
clear-num63.7%
un-div-inv65.2%
Applied egg-rr65.2%
Taylor expanded in t around 0 44.6%
mul-1-neg44.6%
associate-/l*53.6%
distribute-rgt-neg-in53.6%
distribute-neg-frac253.6%
neg-sub053.6%
associate-+l-53.6%
neg-sub053.6%
+-commutative53.6%
unsub-neg53.6%
Simplified53.6%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (- 1.0 (/ y z)))) (t_2 (* t (/ (- y z) a))))
(if (<= z -2.25e+136)
t_1
(if (<= z -1.3e+73)
(* x (/ (- y a) z))
(if (<= z -4.15e+43)
t_1
(if (<= z -8e-19)
t_2
(if (<= z -2.15e-246)
x
(if (<= z -1.06e-291)
t_2
(if (<= z 5.5e-55)
(* y (/ (- t x) a))
(if (<= z 2.8e+44) x t_1))))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t * (1.0 - (y / z));
double t_2 = t * ((y - z) / a);
double tmp;
if (z <= -2.25e+136) {
tmp = t_1;
} else if (z <= -1.3e+73) {
tmp = x * ((y - a) / z);
} else if (z <= -4.15e+43) {
tmp = t_1;
} else if (z <= -8e-19) {
tmp = t_2;
} else if (z <= -2.15e-246) {
tmp = x;
} else if (z <= -1.06e-291) {
tmp = t_2;
} else if (z <= 5.5e-55) {
tmp = y * ((t - x) / a);
} else if (z <= 2.8e+44) {
tmp = x;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = t * (1.0d0 - (y / z))
t_2 = t * ((y - z) / a)
if (z <= (-2.25d+136)) then
tmp = t_1
else if (z <= (-1.3d+73)) then
tmp = x * ((y - a) / z)
else if (z <= (-4.15d+43)) then
tmp = t_1
else if (z <= (-8d-19)) then
tmp = t_2
else if (z <= (-2.15d-246)) then
tmp = x
else if (z <= (-1.06d-291)) then
tmp = t_2
else if (z <= 5.5d-55) then
tmp = y * ((t - x) / a)
else if (z <= 2.8d+44) then
tmp = x
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = t * (1.0 - (y / z));
double t_2 = t * ((y - z) / a);
double tmp;
if (z <= -2.25e+136) {
tmp = t_1;
} else if (z <= -1.3e+73) {
tmp = x * ((y - a) / z);
} else if (z <= -4.15e+43) {
tmp = t_1;
} else if (z <= -8e-19) {
tmp = t_2;
} else if (z <= -2.15e-246) {
tmp = x;
} else if (z <= -1.06e-291) {
tmp = t_2;
} else if (z <= 5.5e-55) {
tmp = y * ((t - x) / a);
} else if (z <= 2.8e+44) {
tmp = x;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t * (1.0 - (y / z)) t_2 = t * ((y - z) / a) tmp = 0 if z <= -2.25e+136: tmp = t_1 elif z <= -1.3e+73: tmp = x * ((y - a) / z) elif z <= -4.15e+43: tmp = t_1 elif z <= -8e-19: tmp = t_2 elif z <= -2.15e-246: tmp = x elif z <= -1.06e-291: tmp = t_2 elif z <= 5.5e-55: tmp = y * ((t - x) / a) elif z <= 2.8e+44: tmp = x else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(t * Float64(1.0 - Float64(y / z))) t_2 = Float64(t * Float64(Float64(y - z) / a)) tmp = 0.0 if (z <= -2.25e+136) tmp = t_1; elseif (z <= -1.3e+73) tmp = Float64(x * Float64(Float64(y - a) / z)); elseif (z <= -4.15e+43) tmp = t_1; elseif (z <= -8e-19) tmp = t_2; elseif (z <= -2.15e-246) tmp = x; elseif (z <= -1.06e-291) tmp = t_2; elseif (z <= 5.5e-55) tmp = Float64(y * Float64(Float64(t - x) / a)); elseif (z <= 2.8e+44) tmp = x; else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t * (1.0 - (y / z)); t_2 = t * ((y - z) / a); tmp = 0.0; if (z <= -2.25e+136) tmp = t_1; elseif (z <= -1.3e+73) tmp = x * ((y - a) / z); elseif (z <= -4.15e+43) tmp = t_1; elseif (z <= -8e-19) tmp = t_2; elseif (z <= -2.15e-246) tmp = x; elseif (z <= -1.06e-291) tmp = t_2; elseif (z <= 5.5e-55) tmp = y * ((t - x) / a); elseif (z <= 2.8e+44) tmp = x; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t * N[(1.0 - N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t * N[(N[(y - z), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -2.25e+136], t$95$1, If[LessEqual[z, -1.3e+73], N[(x * N[(N[(y - a), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -4.15e+43], t$95$1, If[LessEqual[z, -8e-19], t$95$2, If[LessEqual[z, -2.15e-246], x, If[LessEqual[z, -1.06e-291], t$95$2, If[LessEqual[z, 5.5e-55], N[(y * N[(N[(t - x), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 2.8e+44], x, t$95$1]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(1 - \frac{y}{z}\right)\\
t_2 := t \cdot \frac{y - z}{a}\\
\mathbf{if}\;z \leq -2.25 \cdot 10^{+136}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq -1.3 \cdot 10^{+73}:\\
\;\;\;\;x \cdot \frac{y - a}{z}\\
\mathbf{elif}\;z \leq -4.15 \cdot 10^{+43}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq -8 \cdot 10^{-19}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;z \leq -2.15 \cdot 10^{-246}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq -1.06 \cdot 10^{-291}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;z \leq 5.5 \cdot 10^{-55}:\\
\;\;\;\;y \cdot \frac{t - x}{a}\\
\mathbf{elif}\;z \leq 2.8 \cdot 10^{+44}:\\
\;\;\;\;x\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if z < -2.25e136 or -1.3e73 < z < -4.14999999999999979e43 or 2.8000000000000001e44 < z Initial program 40.4%
associate-/l*62.6%
Simplified62.6%
Taylor expanded in a around 0 30.0%
mul-1-neg30.0%
unsub-neg30.0%
associate-/l*49.4%
div-sub49.5%
sub-neg49.5%
*-inverses49.5%
metadata-eval49.5%
Simplified49.5%
Taylor expanded in t around inf 57.5%
if -2.25e136 < z < -1.3e73Initial program 50.9%
associate-/l*63.5%
Simplified63.5%
Taylor expanded in z around inf 46.5%
associate-*r/46.5%
associate-*r*46.5%
mul-1-neg46.5%
mul-1-neg46.5%
Simplified46.5%
Taylor expanded in z around 0 38.5%
cancel-sign-sub38.5%
neg-mul-138.5%
associate-*r*38.5%
distribute-lft-out--38.5%
associate-*r/38.5%
mul-1-neg38.5%
distribute-frac-neg238.5%
distribute-rgt-out--38.5%
neg-mul-138.5%
times-frac50.8%
metadata-eval50.8%
distribute-neg-frac250.8%
/-rgt-identity50.8%
Simplified50.8%
Taylor expanded in t around 0 38.9%
associate-/l*51.2%
Simplified51.2%
if -4.14999999999999979e43 < z < -7.9999999999999998e-19 or -2.14999999999999996e-246 < z < -1.05999999999999992e-291Initial program 82.0%
associate-/l*76.0%
Simplified76.0%
Taylor expanded in x around 0 54.0%
associate-/l*59.6%
Simplified59.6%
Taylor expanded in a around inf 59.3%
if -7.9999999999999998e-19 < z < -2.14999999999999996e-246 or 5.4999999999999999e-55 < z < 2.8000000000000001e44Initial program 83.9%
associate-/l*89.5%
Simplified89.5%
Taylor expanded in a around inf 41.5%
if -1.05999999999999992e-291 < z < 5.4999999999999999e-55Initial program 88.2%
associate-/l*92.7%
Simplified92.7%
Taylor expanded in y around inf 55.8%
div-sub62.0%
Simplified62.0%
Taylor expanded in a around inf 43.8%
associate-/l*53.0%
Simplified53.0%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (/ (* (- y z) (- t x)) (- a z)))))
(if (or (<= t_1 -1e-232) (not (<= t_1 0.0)))
(+ x (/ (- t x) (/ (- a z) (- y z))))
(+ t (/ (* (- y a) (- x t)) z)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (((y - z) * (t - x)) / (a - z));
double tmp;
if ((t_1 <= -1e-232) || !(t_1 <= 0.0)) {
tmp = x + ((t - x) / ((a - z) / (y - z)));
} else {
tmp = t + (((y - a) * (x - t)) / z);
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: tmp
t_1 = x + (((y - z) * (t - x)) / (a - z))
if ((t_1 <= (-1d-232)) .or. (.not. (t_1 <= 0.0d0))) then
tmp = x + ((t - x) / ((a - z) / (y - z)))
else
tmp = t + (((y - a) * (x - t)) / z)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + (((y - z) * (t - x)) / (a - z));
double tmp;
if ((t_1 <= -1e-232) || !(t_1 <= 0.0)) {
tmp = x + ((t - x) / ((a - z) / (y - z)));
} else {
tmp = t + (((y - a) * (x - t)) / z);
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (((y - z) * (t - x)) / (a - z)) tmp = 0 if (t_1 <= -1e-232) or not (t_1 <= 0.0): tmp = x + ((t - x) / ((a - z) / (y - z))) else: tmp = t + (((y - a) * (x - t)) / z) return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(Float64(y - z) * Float64(t - x)) / Float64(a - z))) tmp = 0.0 if ((t_1 <= -1e-232) || !(t_1 <= 0.0)) tmp = Float64(x + Float64(Float64(t - x) / Float64(Float64(a - z) / Float64(y - z)))); else tmp = Float64(t + Float64(Float64(Float64(y - a) * Float64(x - t)) / z)); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + (((y - z) * (t - x)) / (a - z)); tmp = 0.0; if ((t_1 <= -1e-232) || ~((t_1 <= 0.0))) tmp = x + ((t - x) / ((a - z) / (y - z))); else tmp = t + (((y - a) * (x - t)) / z); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(N[(y - z), $MachinePrecision] * N[(t - x), $MachinePrecision]), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Or[LessEqual[t$95$1, -1e-232], N[Not[LessEqual[t$95$1, 0.0]], $MachinePrecision]], N[(x + N[(N[(t - x), $MachinePrecision] / N[(N[(a - z), $MachinePrecision] / N[(y - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(t + N[(N[(N[(y - a), $MachinePrecision] * N[(x - t), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z}\\
\mathbf{if}\;t\_1 \leq -1 \cdot 10^{-232} \lor \neg \left(t\_1 \leq 0\right):\\
\;\;\;\;x + \frac{t - x}{\frac{a - z}{y - z}}\\
\mathbf{else}:\\
\;\;\;\;t + \frac{\left(y - a\right) \cdot \left(x - t\right)}{z}\\
\end{array}
\end{array}
if (+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z))) < -1.00000000000000002e-232 or 0.0 < (+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z))) Initial program 71.5%
associate-/l*83.4%
Simplified83.4%
*-commutative83.4%
associate-*l/71.5%
associate-*r/89.3%
clear-num89.2%
un-div-inv89.3%
Applied egg-rr89.3%
if -1.00000000000000002e-232 < (+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z))) < 0.0Initial program 15.1%
associate-/l*14.8%
Simplified14.8%
Taylor expanded in z around inf 89.7%
associate--l+89.7%
associate-*r/89.7%
associate-*r/89.7%
mul-1-neg89.7%
div-sub89.6%
mul-1-neg89.6%
distribute-lft-out--89.6%
associate-*r/89.6%
mul-1-neg89.6%
unsub-neg89.6%
distribute-rgt-out--89.6%
Simplified89.6%
Final simplification89.4%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (- 1.0 (/ y z)))))
(if (<= a -50000.0)
x
(if (<= a -9e-272)
t_1
(if (<= a -1.38e-291)
(/ (* x y) z)
(if (<= a 2.35e-118)
t_1
(if (<= a 3.4e-56)
(/ x (/ z y))
(if (<= a 1.48e+57)
t_1
(if (<= a 7.6e+154)
x
(if (<= a 1.5e+159) (* z (/ t (- a))) (/ t (/ a y))))))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t * (1.0 - (y / z));
double tmp;
if (a <= -50000.0) {
tmp = x;
} else if (a <= -9e-272) {
tmp = t_1;
} else if (a <= -1.38e-291) {
tmp = (x * y) / z;
} else if (a <= 2.35e-118) {
tmp = t_1;
} else if (a <= 3.4e-56) {
tmp = x / (z / y);
} else if (a <= 1.48e+57) {
tmp = t_1;
} else if (a <= 7.6e+154) {
tmp = x;
} else if (a <= 1.5e+159) {
tmp = z * (t / -a);
} else {
tmp = t / (a / y);
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: tmp
t_1 = t * (1.0d0 - (y / z))
if (a <= (-50000.0d0)) then
tmp = x
else if (a <= (-9d-272)) then
tmp = t_1
else if (a <= (-1.38d-291)) then
tmp = (x * y) / z
else if (a <= 2.35d-118) then
tmp = t_1
else if (a <= 3.4d-56) then
tmp = x / (z / y)
else if (a <= 1.48d+57) then
tmp = t_1
else if (a <= 7.6d+154) then
tmp = x
else if (a <= 1.5d+159) then
tmp = z * (t / -a)
else
tmp = t / (a / y)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = t * (1.0 - (y / z));
double tmp;
if (a <= -50000.0) {
tmp = x;
} else if (a <= -9e-272) {
tmp = t_1;
} else if (a <= -1.38e-291) {
tmp = (x * y) / z;
} else if (a <= 2.35e-118) {
tmp = t_1;
} else if (a <= 3.4e-56) {
tmp = x / (z / y);
} else if (a <= 1.48e+57) {
tmp = t_1;
} else if (a <= 7.6e+154) {
tmp = x;
} else if (a <= 1.5e+159) {
tmp = z * (t / -a);
} else {
tmp = t / (a / y);
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t * (1.0 - (y / z)) tmp = 0 if a <= -50000.0: tmp = x elif a <= -9e-272: tmp = t_1 elif a <= -1.38e-291: tmp = (x * y) / z elif a <= 2.35e-118: tmp = t_1 elif a <= 3.4e-56: tmp = x / (z / y) elif a <= 1.48e+57: tmp = t_1 elif a <= 7.6e+154: tmp = x elif a <= 1.5e+159: tmp = z * (t / -a) else: tmp = t / (a / y) return tmp
function code(x, y, z, t, a) t_1 = Float64(t * Float64(1.0 - Float64(y / z))) tmp = 0.0 if (a <= -50000.0) tmp = x; elseif (a <= -9e-272) tmp = t_1; elseif (a <= -1.38e-291) tmp = Float64(Float64(x * y) / z); elseif (a <= 2.35e-118) tmp = t_1; elseif (a <= 3.4e-56) tmp = Float64(x / Float64(z / y)); elseif (a <= 1.48e+57) tmp = t_1; elseif (a <= 7.6e+154) tmp = x; elseif (a <= 1.5e+159) tmp = Float64(z * Float64(t / Float64(-a))); else tmp = Float64(t / Float64(a / y)); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t * (1.0 - (y / z)); tmp = 0.0; if (a <= -50000.0) tmp = x; elseif (a <= -9e-272) tmp = t_1; elseif (a <= -1.38e-291) tmp = (x * y) / z; elseif (a <= 2.35e-118) tmp = t_1; elseif (a <= 3.4e-56) tmp = x / (z / y); elseif (a <= 1.48e+57) tmp = t_1; elseif (a <= 7.6e+154) tmp = x; elseif (a <= 1.5e+159) tmp = z * (t / -a); else tmp = t / (a / y); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t * N[(1.0 - N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -50000.0], x, If[LessEqual[a, -9e-272], t$95$1, If[LessEqual[a, -1.38e-291], N[(N[(x * y), $MachinePrecision] / z), $MachinePrecision], If[LessEqual[a, 2.35e-118], t$95$1, If[LessEqual[a, 3.4e-56], N[(x / N[(z / y), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.48e+57], t$95$1, If[LessEqual[a, 7.6e+154], x, If[LessEqual[a, 1.5e+159], N[(z * N[(t / (-a)), $MachinePrecision]), $MachinePrecision], N[(t / N[(a / y), $MachinePrecision]), $MachinePrecision]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(1 - \frac{y}{z}\right)\\
\mathbf{if}\;a \leq -50000:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq -9 \cdot 10^{-272}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq -1.38 \cdot 10^{-291}:\\
\;\;\;\;\frac{x \cdot y}{z}\\
\mathbf{elif}\;a \leq 2.35 \cdot 10^{-118}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 3.4 \cdot 10^{-56}:\\
\;\;\;\;\frac{x}{\frac{z}{y}}\\
\mathbf{elif}\;a \leq 1.48 \cdot 10^{+57}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 7.6 \cdot 10^{+154}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 1.5 \cdot 10^{+159}:\\
\;\;\;\;z \cdot \frac{t}{-a}\\
\mathbf{else}:\\
\;\;\;\;\frac{t}{\frac{a}{y}}\\
\end{array}
\end{array}
if a < -5e4 or 1.47999999999999999e57 < a < 7.5999999999999996e154Initial program 69.7%
associate-/l*85.7%
Simplified85.7%
Taylor expanded in a around inf 46.2%
if -5e4 < a < -8.9999999999999995e-272 or -1.37999999999999994e-291 < a < 2.34999999999999995e-118 or 3.39999999999999982e-56 < a < 1.47999999999999999e57Initial program 66.7%
associate-/l*71.3%
Simplified71.3%
Taylor expanded in a around 0 43.0%
mul-1-neg43.0%
unsub-neg43.0%
associate-/l*52.2%
div-sub52.2%
sub-neg52.2%
*-inverses52.2%
metadata-eval52.2%
Simplified52.2%
Taylor expanded in t around inf 52.8%
if -8.9999999999999995e-272 < a < -1.37999999999999994e-291Initial program 75.5%
associate-/l*75.7%
Simplified75.7%
Taylor expanded in a around 0 75.5%
mul-1-neg75.5%
unsub-neg75.5%
associate-/l*76.4%
div-sub76.4%
sub-neg76.4%
*-inverses76.4%
metadata-eval76.4%
Simplified76.4%
Taylor expanded in x around -inf 63.6%
*-commutative63.6%
Simplified63.6%
if 2.34999999999999995e-118 < a < 3.39999999999999982e-56Initial program 63.4%
associate-/l*63.5%
Simplified63.5%
Taylor expanded in z around inf 73.8%
associate-*r/73.8%
associate-*r*73.8%
mul-1-neg73.8%
mul-1-neg73.8%
Simplified73.8%
Taylor expanded in z around 0 65.4%
cancel-sign-sub65.4%
neg-mul-165.4%
associate-*r*65.4%
distribute-lft-out--65.4%
associate-*r/65.4%
mul-1-neg65.4%
distribute-frac-neg265.4%
distribute-rgt-out--65.4%
neg-mul-165.4%
times-frac65.0%
metadata-eval65.0%
distribute-neg-frac265.0%
/-rgt-identity65.0%
Simplified65.0%
Taylor expanded in y around inf 56.6%
Taylor expanded in x around inf 48.4%
associate-/l*56.8%
Simplified56.8%
clear-num56.6%
un-div-inv56.9%
Applied egg-rr56.9%
if 7.5999999999999996e154 < a < 1.5000000000000001e159Initial program 67.8%
associate-/l*99.5%
Simplified99.5%
Taylor expanded in x around 0 66.0%
associate-/l*97.7%
Simplified97.7%
Taylor expanded in a around inf 65.2%
Taylor expanded in y around 0 65.1%
mul-1-neg65.1%
*-commutative65.1%
associate-*r/65.3%
distribute-rgt-neg-in65.3%
distribute-neg-frac265.3%
Simplified65.3%
if 1.5000000000000001e159 < a Initial program 59.9%
associate-/l*88.1%
Simplified88.1%
Taylor expanded in x around 0 35.6%
associate-/l*51.4%
Simplified51.4%
Taylor expanded in z around 0 27.8%
associate-/l*43.6%
Simplified43.6%
clear-num43.6%
un-div-inv43.6%
Applied egg-rr43.6%
Final simplification50.1%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (- x (* x (/ y a)))) (t_2 (+ x (* y (/ t a)))))
(if (<= x -4.7e+117)
t_1
(if (<= x -2.8e+73)
(+ t (* y (/ x z)))
(if (<= x -4.8e+25)
(/ (* x y) (- z a))
(if (<= x -1.76e-40)
t_2
(if (<= x 1.8e+61)
(* t (/ (- y z) (- a z)))
(if (or (<= x 3.9e+105) (not (<= x 9.5e+181))) t_1 t_2))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x - (x * (y / a));
double t_2 = x + (y * (t / a));
double tmp;
if (x <= -4.7e+117) {
tmp = t_1;
} else if (x <= -2.8e+73) {
tmp = t + (y * (x / z));
} else if (x <= -4.8e+25) {
tmp = (x * y) / (z - a);
} else if (x <= -1.76e-40) {
tmp = t_2;
} else if (x <= 1.8e+61) {
tmp = t * ((y - z) / (a - z));
} else if ((x <= 3.9e+105) || !(x <= 9.5e+181)) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = x - (x * (y / a))
t_2 = x + (y * (t / a))
if (x <= (-4.7d+117)) then
tmp = t_1
else if (x <= (-2.8d+73)) then
tmp = t + (y * (x / z))
else if (x <= (-4.8d+25)) then
tmp = (x * y) / (z - a)
else if (x <= (-1.76d-40)) then
tmp = t_2
else if (x <= 1.8d+61) then
tmp = t * ((y - z) / (a - z))
else if ((x <= 3.9d+105) .or. (.not. (x <= 9.5d+181))) 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 a) {
double t_1 = x - (x * (y / a));
double t_2 = x + (y * (t / a));
double tmp;
if (x <= -4.7e+117) {
tmp = t_1;
} else if (x <= -2.8e+73) {
tmp = t + (y * (x / z));
} else if (x <= -4.8e+25) {
tmp = (x * y) / (z - a);
} else if (x <= -1.76e-40) {
tmp = t_2;
} else if (x <= 1.8e+61) {
tmp = t * ((y - z) / (a - z));
} else if ((x <= 3.9e+105) || !(x <= 9.5e+181)) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x - (x * (y / a)) t_2 = x + (y * (t / a)) tmp = 0 if x <= -4.7e+117: tmp = t_1 elif x <= -2.8e+73: tmp = t + (y * (x / z)) elif x <= -4.8e+25: tmp = (x * y) / (z - a) elif x <= -1.76e-40: tmp = t_2 elif x <= 1.8e+61: tmp = t * ((y - z) / (a - z)) elif (x <= 3.9e+105) or not (x <= 9.5e+181): tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a) t_1 = Float64(x - Float64(x * Float64(y / a))) t_2 = Float64(x + Float64(y * Float64(t / a))) tmp = 0.0 if (x <= -4.7e+117) tmp = t_1; elseif (x <= -2.8e+73) tmp = Float64(t + Float64(y * Float64(x / z))); elseif (x <= -4.8e+25) tmp = Float64(Float64(x * y) / Float64(z - a)); elseif (x <= -1.76e-40) tmp = t_2; elseif (x <= 1.8e+61) tmp = Float64(t * Float64(Float64(y - z) / Float64(a - z))); elseif ((x <= 3.9e+105) || !(x <= 9.5e+181)) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x - (x * (y / a)); t_2 = x + (y * (t / a)); tmp = 0.0; if (x <= -4.7e+117) tmp = t_1; elseif (x <= -2.8e+73) tmp = t + (y * (x / z)); elseif (x <= -4.8e+25) tmp = (x * y) / (z - a); elseif (x <= -1.76e-40) tmp = t_2; elseif (x <= 1.8e+61) tmp = t * ((y - z) / (a - z)); elseif ((x <= 3.9e+105) || ~((x <= 9.5e+181))) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x - N[(x * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x + N[(y * N[(t / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -4.7e+117], t$95$1, If[LessEqual[x, -2.8e+73], N[(t + N[(y * N[(x / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -4.8e+25], N[(N[(x * y), $MachinePrecision] / N[(z - a), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -1.76e-40], t$95$2, If[LessEqual[x, 1.8e+61], N[(t * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[x, 3.9e+105], N[Not[LessEqual[x, 9.5e+181]], $MachinePrecision]], t$95$1, t$95$2]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x - x \cdot \frac{y}{a}\\
t_2 := x + y \cdot \frac{t}{a}\\
\mathbf{if}\;x \leq -4.7 \cdot 10^{+117}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \leq -2.8 \cdot 10^{+73}:\\
\;\;\;\;t + y \cdot \frac{x}{z}\\
\mathbf{elif}\;x \leq -4.8 \cdot 10^{+25}:\\
\;\;\;\;\frac{x \cdot y}{z - a}\\
\mathbf{elif}\;x \leq -1.76 \cdot 10^{-40}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \leq 1.8 \cdot 10^{+61}:\\
\;\;\;\;t \cdot \frac{y - z}{a - z}\\
\mathbf{elif}\;x \leq 3.9 \cdot 10^{+105} \lor \neg \left(x \leq 9.5 \cdot 10^{+181}\right):\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if x < -4.70000000000000006e117 or 1.80000000000000005e61 < x < 3.89999999999999978e105 or 9.50000000000000032e181 < x Initial program 54.4%
associate-/l*72.1%
Simplified72.1%
Taylor expanded in z around 0 47.5%
associate-/l*59.1%
Simplified59.1%
Taylor expanded in t around 0 44.5%
mul-1-neg44.5%
associate-/l*57.6%
distribute-rgt-neg-in57.6%
distribute-frac-neg257.6%
Simplified57.6%
if -4.70000000000000006e117 < x < -2.80000000000000008e73Initial program 36.1%
associate-/l*36.7%
Simplified36.7%
Taylor expanded in z around inf 84.1%
associate-*r/84.1%
associate-*r*84.1%
mul-1-neg84.1%
mul-1-neg84.1%
Simplified84.1%
Taylor expanded in a around 0 68.7%
mul-1-neg68.7%
associate-*r/53.9%
sub-neg53.9%
Simplified53.9%
Taylor expanded in t around 0 84.6%
mul-1-neg84.6%
*-commutative84.6%
associate-/l*68.8%
distribute-rgt-neg-in68.8%
distribute-neg-frac268.8%
Simplified68.8%
if -2.80000000000000008e73 < x < -4.79999999999999992e25Initial program 83.9%
associate-/l*83.9%
Simplified83.9%
Taylor expanded in y around -inf 72.5%
Taylor expanded in t around 0 58.6%
mul-1-neg58.6%
distribute-rgt-neg-in58.6%
Simplified58.6%
if -4.79999999999999992e25 < x < -1.76e-40 or 3.89999999999999978e105 < x < 9.50000000000000032e181Initial program 59.3%
associate-/l*79.3%
Simplified79.3%
Taylor expanded in z around 0 48.8%
associate-/l*61.4%
Simplified61.4%
Taylor expanded in t around inf 50.9%
if -1.76e-40 < x < 1.80000000000000005e61Initial program 76.2%
associate-/l*82.6%
Simplified82.6%
Taylor expanded in x around 0 57.2%
associate-/l*71.6%
Simplified71.6%
Final simplification64.5%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (/ y a))))
(if (<= t -9e+270)
t_1
(if (<= t -5.2e+153)
t
(if (<= t -3.2e+120)
x
(if (<= t -5.2e-129)
t
(if (<= t -1.32e-253)
x
(if (<= t -5.2e-294)
(* x (/ y z))
(if (<= t 6.6e-16) x t_1)))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t * (y / a);
double tmp;
if (t <= -9e+270) {
tmp = t_1;
} else if (t <= -5.2e+153) {
tmp = t;
} else if (t <= -3.2e+120) {
tmp = x;
} else if (t <= -5.2e-129) {
tmp = t;
} else if (t <= -1.32e-253) {
tmp = x;
} else if (t <= -5.2e-294) {
tmp = x * (y / z);
} else if (t <= 6.6e-16) {
tmp = x;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: tmp
t_1 = t * (y / a)
if (t <= (-9d+270)) then
tmp = t_1
else if (t <= (-5.2d+153)) then
tmp = t
else if (t <= (-3.2d+120)) then
tmp = x
else if (t <= (-5.2d-129)) then
tmp = t
else if (t <= (-1.32d-253)) then
tmp = x
else if (t <= (-5.2d-294)) then
tmp = x * (y / z)
else if (t <= 6.6d-16) then
tmp = x
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = t * (y / a);
double tmp;
if (t <= -9e+270) {
tmp = t_1;
} else if (t <= -5.2e+153) {
tmp = t;
} else if (t <= -3.2e+120) {
tmp = x;
} else if (t <= -5.2e-129) {
tmp = t;
} else if (t <= -1.32e-253) {
tmp = x;
} else if (t <= -5.2e-294) {
tmp = x * (y / z);
} else if (t <= 6.6e-16) {
tmp = x;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t * (y / a) tmp = 0 if t <= -9e+270: tmp = t_1 elif t <= -5.2e+153: tmp = t elif t <= -3.2e+120: tmp = x elif t <= -5.2e-129: tmp = t elif t <= -1.32e-253: tmp = x elif t <= -5.2e-294: tmp = x * (y / z) elif t <= 6.6e-16: tmp = x else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(t * Float64(y / a)) tmp = 0.0 if (t <= -9e+270) tmp = t_1; elseif (t <= -5.2e+153) tmp = t; elseif (t <= -3.2e+120) tmp = x; elseif (t <= -5.2e-129) tmp = t; elseif (t <= -1.32e-253) tmp = x; elseif (t <= -5.2e-294) tmp = Float64(x * Float64(y / z)); elseif (t <= 6.6e-16) tmp = x; else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t * (y / a); tmp = 0.0; if (t <= -9e+270) tmp = t_1; elseif (t <= -5.2e+153) tmp = t; elseif (t <= -3.2e+120) tmp = x; elseif (t <= -5.2e-129) tmp = t; elseif (t <= -1.32e-253) tmp = x; elseif (t <= -5.2e-294) tmp = x * (y / z); elseif (t <= 6.6e-16) tmp = x; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -9e+270], t$95$1, If[LessEqual[t, -5.2e+153], t, If[LessEqual[t, -3.2e+120], x, If[LessEqual[t, -5.2e-129], t, If[LessEqual[t, -1.32e-253], x, If[LessEqual[t, -5.2e-294], N[(x * N[(y / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 6.6e-16], x, t$95$1]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \frac{y}{a}\\
\mathbf{if}\;t \leq -9 \cdot 10^{+270}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq -5.2 \cdot 10^{+153}:\\
\;\;\;\;t\\
\mathbf{elif}\;t \leq -3.2 \cdot 10^{+120}:\\
\;\;\;\;x\\
\mathbf{elif}\;t \leq -5.2 \cdot 10^{-129}:\\
\;\;\;\;t\\
\mathbf{elif}\;t \leq -1.32 \cdot 10^{-253}:\\
\;\;\;\;x\\
\mathbf{elif}\;t \leq -5.2 \cdot 10^{-294}:\\
\;\;\;\;x \cdot \frac{y}{z}\\
\mathbf{elif}\;t \leq 6.6 \cdot 10^{-16}:\\
\;\;\;\;x\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -9.0000000000000009e270 or 6.59999999999999976e-16 < t Initial program 70.1%
associate-/l*91.9%
Simplified91.9%
Taylor expanded in x around 0 56.2%
associate-/l*81.9%
Simplified81.9%
Taylor expanded in z around 0 37.7%
associate-/l*49.3%
Simplified49.3%
if -9.0000000000000009e270 < t < -5.1999999999999998e153 or -3.19999999999999982e120 < t < -5.2000000000000001e-129Initial program 64.4%
associate-/l*73.8%
Simplified73.8%
Taylor expanded in z around inf 31.4%
if -5.1999999999999998e153 < t < -3.19999999999999982e120 or -5.2000000000000001e-129 < t < -1.32000000000000007e-253 or -5.1999999999999999e-294 < t < 6.59999999999999976e-16Initial program 68.2%
associate-/l*73.3%
Simplified73.3%
Taylor expanded in a around inf 41.6%
if -1.32000000000000007e-253 < t < -5.1999999999999999e-294Initial program 59.9%
associate-/l*62.2%
Simplified62.2%
Taylor expanded in z around inf 51.3%
associate-*r/51.3%
associate-*r*51.3%
mul-1-neg51.3%
mul-1-neg51.3%
Simplified51.3%
Taylor expanded in z around 0 51.3%
cancel-sign-sub51.3%
neg-mul-151.3%
associate-*r*51.3%
distribute-lft-out--51.3%
associate-*r/51.3%
mul-1-neg51.3%
distribute-frac-neg251.3%
distribute-rgt-out--51.3%
neg-mul-151.3%
times-frac70.2%
metadata-eval70.2%
distribute-neg-frac270.2%
/-rgt-identity70.2%
Simplified70.2%
Taylor expanded in y around inf 52.6%
Taylor expanded in x around inf 52.6%
associate-/l*60.9%
Simplified60.9%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ t (* y (/ (- x t) z)))) (t_2 (- x (* y (/ (- x t) a)))))
(if (<= z -2e+120)
t_1
(if (<= z -3.6e-7)
(* t (/ (- y z) (- a z)))
(if (<= z -2.1e-50)
t_2
(if (<= z -2.05e-50) t (if (<= z 1.7e-50) t_2 t_1)))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t + (y * ((x - t) / z));
double t_2 = x - (y * ((x - t) / a));
double tmp;
if (z <= -2e+120) {
tmp = t_1;
} else if (z <= -3.6e-7) {
tmp = t * ((y - z) / (a - z));
} else if (z <= -2.1e-50) {
tmp = t_2;
} else if (z <= -2.05e-50) {
tmp = t;
} else if (z <= 1.7e-50) {
tmp = t_2;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = t + (y * ((x - t) / z))
t_2 = x - (y * ((x - t) / a))
if (z <= (-2d+120)) then
tmp = t_1
else if (z <= (-3.6d-7)) then
tmp = t * ((y - z) / (a - z))
else if (z <= (-2.1d-50)) then
tmp = t_2
else if (z <= (-2.05d-50)) then
tmp = t
else if (z <= 1.7d-50) then
tmp = t_2
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = t + (y * ((x - t) / z));
double t_2 = x - (y * ((x - t) / a));
double tmp;
if (z <= -2e+120) {
tmp = t_1;
} else if (z <= -3.6e-7) {
tmp = t * ((y - z) / (a - z));
} else if (z <= -2.1e-50) {
tmp = t_2;
} else if (z <= -2.05e-50) {
tmp = t;
} else if (z <= 1.7e-50) {
tmp = t_2;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t + (y * ((x - t) / z)) t_2 = x - (y * ((x - t) / a)) tmp = 0 if z <= -2e+120: tmp = t_1 elif z <= -3.6e-7: tmp = t * ((y - z) / (a - z)) elif z <= -2.1e-50: tmp = t_2 elif z <= -2.05e-50: tmp = t elif z <= 1.7e-50: tmp = t_2 else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(t + Float64(y * Float64(Float64(x - t) / z))) t_2 = Float64(x - Float64(y * Float64(Float64(x - t) / a))) tmp = 0.0 if (z <= -2e+120) tmp = t_1; elseif (z <= -3.6e-7) tmp = Float64(t * Float64(Float64(y - z) / Float64(a - z))); elseif (z <= -2.1e-50) tmp = t_2; elseif (z <= -2.05e-50) tmp = t; elseif (z <= 1.7e-50) tmp = t_2; else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t + (y * ((x - t) / z)); t_2 = x - (y * ((x - t) / a)); tmp = 0.0; if (z <= -2e+120) tmp = t_1; elseif (z <= -3.6e-7) tmp = t * ((y - z) / (a - z)); elseif (z <= -2.1e-50) tmp = t_2; elseif (z <= -2.05e-50) tmp = t; elseif (z <= 1.7e-50) tmp = t_2; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t + N[(y * N[(N[(x - t), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x - N[(y * N[(N[(x - t), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -2e+120], t$95$1, If[LessEqual[z, -3.6e-7], N[(t * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -2.1e-50], t$95$2, If[LessEqual[z, -2.05e-50], t, If[LessEqual[z, 1.7e-50], t$95$2, t$95$1]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t + y \cdot \frac{x - t}{z}\\
t_2 := x - y \cdot \frac{x - t}{a}\\
\mathbf{if}\;z \leq -2 \cdot 10^{+120}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq -3.6 \cdot 10^{-7}:\\
\;\;\;\;t \cdot \frac{y - z}{a - z}\\
\mathbf{elif}\;z \leq -2.1 \cdot 10^{-50}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;z \leq -2.05 \cdot 10^{-50}:\\
\;\;\;\;t\\
\mathbf{elif}\;z \leq 1.7 \cdot 10^{-50}:\\
\;\;\;\;t\_2\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if z < -2e120 or 1.70000000000000007e-50 < z Initial program 42.0%
associate-/l*63.7%
Simplified63.7%
Taylor expanded in z around inf 59.1%
associate-*r/59.1%
associate-*r*59.1%
mul-1-neg59.1%
mul-1-neg59.1%
Simplified59.1%
Taylor expanded in a around 0 56.5%
mul-1-neg56.5%
associate-*r/67.7%
sub-neg67.7%
Simplified67.7%
if -2e120 < z < -3.59999999999999994e-7Initial program 75.6%
associate-/l*78.4%
Simplified78.4%
Taylor expanded in x around 0 51.5%
associate-/l*56.3%
Simplified56.3%
if -3.59999999999999994e-7 < z < -2.1000000000000001e-50 or -2.04999999999999993e-50 < z < 1.70000000000000007e-50Initial program 87.7%
associate-/l*91.5%
Simplified91.5%
Taylor expanded in z around 0 68.6%
associate-/l*77.4%
Simplified77.4%
if -2.1000000000000001e-50 < z < -2.04999999999999993e-50Initial program 100.0%
associate-/l*7.6%
Simplified7.6%
Taylor expanded in z around inf 100.0%
Final simplification71.7%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (- x (* x (/ y a)))) (t_2 (* y (/ (- t x) (- a z)))))
(if (<= x -1.85e+117)
t_1
(if (<= x -2.2e+74)
(+ t (* y (/ x z)))
(if (<= x -2.1e-72)
t_2
(if (<= x 9e+53)
(* t (/ (- y z) (- a z)))
(if (<= x 4.3e+152) t_2 t_1)))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x - (x * (y / a));
double t_2 = y * ((t - x) / (a - z));
double tmp;
if (x <= -1.85e+117) {
tmp = t_1;
} else if (x <= -2.2e+74) {
tmp = t + (y * (x / z));
} else if (x <= -2.1e-72) {
tmp = t_2;
} else if (x <= 9e+53) {
tmp = t * ((y - z) / (a - z));
} else if (x <= 4.3e+152) {
tmp = t_2;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = x - (x * (y / a))
t_2 = y * ((t - x) / (a - z))
if (x <= (-1.85d+117)) then
tmp = t_1
else if (x <= (-2.2d+74)) then
tmp = t + (y * (x / z))
else if (x <= (-2.1d-72)) then
tmp = t_2
else if (x <= 9d+53) then
tmp = t * ((y - z) / (a - z))
else if (x <= 4.3d+152) then
tmp = t_2
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x - (x * (y / a));
double t_2 = y * ((t - x) / (a - z));
double tmp;
if (x <= -1.85e+117) {
tmp = t_1;
} else if (x <= -2.2e+74) {
tmp = t + (y * (x / z));
} else if (x <= -2.1e-72) {
tmp = t_2;
} else if (x <= 9e+53) {
tmp = t * ((y - z) / (a - z));
} else if (x <= 4.3e+152) {
tmp = t_2;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x - (x * (y / a)) t_2 = y * ((t - x) / (a - z)) tmp = 0 if x <= -1.85e+117: tmp = t_1 elif x <= -2.2e+74: tmp = t + (y * (x / z)) elif x <= -2.1e-72: tmp = t_2 elif x <= 9e+53: tmp = t * ((y - z) / (a - z)) elif x <= 4.3e+152: tmp = t_2 else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x - Float64(x * Float64(y / a))) t_2 = Float64(y * Float64(Float64(t - x) / Float64(a - z))) tmp = 0.0 if (x <= -1.85e+117) tmp = t_1; elseif (x <= -2.2e+74) tmp = Float64(t + Float64(y * Float64(x / z))); elseif (x <= -2.1e-72) tmp = t_2; elseif (x <= 9e+53) tmp = Float64(t * Float64(Float64(y - z) / Float64(a - z))); elseif (x <= 4.3e+152) tmp = t_2; else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x - (x * (y / a)); t_2 = y * ((t - x) / (a - z)); tmp = 0.0; if (x <= -1.85e+117) tmp = t_1; elseif (x <= -2.2e+74) tmp = t + (y * (x / z)); elseif (x <= -2.1e-72) tmp = t_2; elseif (x <= 9e+53) tmp = t * ((y - z) / (a - z)); elseif (x <= 4.3e+152) tmp = t_2; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x - N[(x * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -1.85e+117], t$95$1, If[LessEqual[x, -2.2e+74], N[(t + N[(y * N[(x / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -2.1e-72], t$95$2, If[LessEqual[x, 9e+53], N[(t * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 4.3e+152], t$95$2, t$95$1]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x - x \cdot \frac{y}{a}\\
t_2 := y \cdot \frac{t - x}{a - z}\\
\mathbf{if}\;x \leq -1.85 \cdot 10^{+117}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \leq -2.2 \cdot 10^{+74}:\\
\;\;\;\;t + y \cdot \frac{x}{z}\\
\mathbf{elif}\;x \leq -2.1 \cdot 10^{-72}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \leq 9 \cdot 10^{+53}:\\
\;\;\;\;t \cdot \frac{y - z}{a - z}\\
\mathbf{elif}\;x \leq 4.3 \cdot 10^{+152}:\\
\;\;\;\;t\_2\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if x < -1.8499999999999999e117 or 4.29999999999999994e152 < x Initial program 52.8%
associate-/l*70.6%
Simplified70.6%
Taylor expanded in z around 0 50.2%
associate-/l*60.4%
Simplified60.4%
Taylor expanded in t around 0 44.2%
mul-1-neg44.2%
associate-/l*55.9%
distribute-rgt-neg-in55.9%
distribute-frac-neg255.9%
Simplified55.9%
if -1.8499999999999999e117 < x < -2.2000000000000001e74Initial program 36.1%
associate-/l*36.7%
Simplified36.7%
Taylor expanded in z around inf 84.1%
associate-*r/84.1%
associate-*r*84.1%
mul-1-neg84.1%
mul-1-neg84.1%
Simplified84.1%
Taylor expanded in a around 0 68.7%
mul-1-neg68.7%
associate-*r/53.9%
sub-neg53.9%
Simplified53.9%
Taylor expanded in t around 0 84.6%
mul-1-neg84.6%
*-commutative84.6%
associate-/l*68.8%
distribute-rgt-neg-in68.8%
distribute-neg-frac268.8%
Simplified68.8%
if -2.2000000000000001e74 < x < -2.1e-72 or 9.0000000000000004e53 < x < 4.29999999999999994e152Initial program 69.9%
associate-/l*83.8%
Simplified83.8%
Taylor expanded in y around inf 58.5%
div-sub60.4%
Simplified60.4%
if -2.1e-72 < x < 9.0000000000000004e53Initial program 75.1%
associate-/l*81.9%
Simplified81.9%
Taylor expanded in x around 0 60.0%
associate-/l*75.4%
Simplified75.4%
Final simplification67.0%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ t (* y (/ x z)))))
(if (<= z -1.9e+153)
t_1
(if (<= z 6.6e+94)
(+ x (* t (/ y a)))
(if (<= z 3.05e+140)
t_1
(if (<= z 4.2e+187)
(* t (- 1.0 (/ y z)))
(if (<= z 2.25e+253) t_1 (/ t (/ z (- z y))))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t + (y * (x / z));
double tmp;
if (z <= -1.9e+153) {
tmp = t_1;
} else if (z <= 6.6e+94) {
tmp = x + (t * (y / a));
} else if (z <= 3.05e+140) {
tmp = t_1;
} else if (z <= 4.2e+187) {
tmp = t * (1.0 - (y / z));
} else if (z <= 2.25e+253) {
tmp = t_1;
} else {
tmp = t / (z / (z - y));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: tmp
t_1 = t + (y * (x / z))
if (z <= (-1.9d+153)) then
tmp = t_1
else if (z <= 6.6d+94) then
tmp = x + (t * (y / a))
else if (z <= 3.05d+140) then
tmp = t_1
else if (z <= 4.2d+187) then
tmp = t * (1.0d0 - (y / z))
else if (z <= 2.25d+253) then
tmp = t_1
else
tmp = t / (z / (z - y))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = t + (y * (x / z));
double tmp;
if (z <= -1.9e+153) {
tmp = t_1;
} else if (z <= 6.6e+94) {
tmp = x + (t * (y / a));
} else if (z <= 3.05e+140) {
tmp = t_1;
} else if (z <= 4.2e+187) {
tmp = t * (1.0 - (y / z));
} else if (z <= 2.25e+253) {
tmp = t_1;
} else {
tmp = t / (z / (z - y));
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t + (y * (x / z)) tmp = 0 if z <= -1.9e+153: tmp = t_1 elif z <= 6.6e+94: tmp = x + (t * (y / a)) elif z <= 3.05e+140: tmp = t_1 elif z <= 4.2e+187: tmp = t * (1.0 - (y / z)) elif z <= 2.25e+253: tmp = t_1 else: tmp = t / (z / (z - y)) return tmp
function code(x, y, z, t, a) t_1 = Float64(t + Float64(y * Float64(x / z))) tmp = 0.0 if (z <= -1.9e+153) tmp = t_1; elseif (z <= 6.6e+94) tmp = Float64(x + Float64(t * Float64(y / a))); elseif (z <= 3.05e+140) tmp = t_1; elseif (z <= 4.2e+187) tmp = Float64(t * Float64(1.0 - Float64(y / z))); elseif (z <= 2.25e+253) tmp = t_1; else tmp = Float64(t / Float64(z / Float64(z - y))); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t + (y * (x / z)); tmp = 0.0; if (z <= -1.9e+153) tmp = t_1; elseif (z <= 6.6e+94) tmp = x + (t * (y / a)); elseif (z <= 3.05e+140) tmp = t_1; elseif (z <= 4.2e+187) tmp = t * (1.0 - (y / z)); elseif (z <= 2.25e+253) tmp = t_1; else tmp = t / (z / (z - y)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t + N[(y * N[(x / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -1.9e+153], t$95$1, If[LessEqual[z, 6.6e+94], N[(x + N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 3.05e+140], t$95$1, If[LessEqual[z, 4.2e+187], N[(t * N[(1.0 - N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 2.25e+253], t$95$1, N[(t / N[(z / N[(z - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t + y \cdot \frac{x}{z}\\
\mathbf{if}\;z \leq -1.9 \cdot 10^{+153}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq 6.6 \cdot 10^{+94}:\\
\;\;\;\;x + t \cdot \frac{y}{a}\\
\mathbf{elif}\;z \leq 3.05 \cdot 10^{+140}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq 4.2 \cdot 10^{+187}:\\
\;\;\;\;t \cdot \left(1 - \frac{y}{z}\right)\\
\mathbf{elif}\;z \leq 2.25 \cdot 10^{+253}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;\frac{t}{\frac{z}{z - y}}\\
\end{array}
\end{array}
if z < -1.89999999999999983e153 or 6.6e94 < z < 3.0499999999999998e140 or 4.2e187 < z < 2.24999999999999986e253Initial program 30.9%
associate-/l*58.3%
Simplified58.3%
Taylor expanded in z around inf 59.1%
associate-*r/59.1%
associate-*r*59.1%
mul-1-neg59.1%
mul-1-neg59.1%
Simplified59.1%
Taylor expanded in a around 0 56.7%
mul-1-neg56.7%
associate-*r/74.3%
sub-neg74.3%
Simplified74.3%
Taylor expanded in t around 0 57.1%
mul-1-neg57.1%
*-commutative57.1%
associate-/l*66.3%
distribute-rgt-neg-in66.3%
distribute-neg-frac266.3%
Simplified66.3%
if -1.89999999999999983e153 < z < 6.6e94Initial program 82.1%
associate-/l*87.7%
Simplified87.7%
Taylor expanded in z around 0 58.6%
associate-/l*66.9%
Simplified66.9%
Taylor expanded in t around inf 52.4%
associate-/l*57.8%
Simplified57.8%
if 3.0499999999999998e140 < z < 4.2e187Initial program 64.4%
associate-/l*76.2%
Simplified76.2%
Taylor expanded in a around 0 51.4%
mul-1-neg51.4%
unsub-neg51.4%
associate-/l*63.3%
div-sub63.3%
sub-neg63.3%
*-inverses63.3%
metadata-eval63.3%
Simplified63.3%
Taylor expanded in t around inf 63.3%
if 2.24999999999999986e253 < z Initial program 14.5%
associate-/l*24.7%
Simplified24.7%
*-commutative24.7%
associate-*l/14.5%
associate-*r/35.9%
clear-num35.9%
un-div-inv36.1%
Applied egg-rr36.1%
div-sub36.1%
Applied egg-rr36.1%
Taylor expanded in x around 0 89.3%
Taylor expanded in a around 0 89.3%
mul-1-neg89.3%
distribute-frac-neg289.3%
Simplified89.3%
Final simplification61.0%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (/ y a))))
(if (<= t -6.1e+268)
t_1
(if (<= t -4.2e+153)
t
(if (<= t -2.2e+120)
x
(if (<= t -1.75e-128) t (if (<= t 2.4e-44) x t_1)))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t * (y / a);
double tmp;
if (t <= -6.1e+268) {
tmp = t_1;
} else if (t <= -4.2e+153) {
tmp = t;
} else if (t <= -2.2e+120) {
tmp = x;
} else if (t <= -1.75e-128) {
tmp = t;
} else if (t <= 2.4e-44) {
tmp = x;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: tmp
t_1 = t * (y / a)
if (t <= (-6.1d+268)) then
tmp = t_1
else if (t <= (-4.2d+153)) then
tmp = t
else if (t <= (-2.2d+120)) then
tmp = x
else if (t <= (-1.75d-128)) then
tmp = t
else if (t <= 2.4d-44) then
tmp = x
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = t * (y / a);
double tmp;
if (t <= -6.1e+268) {
tmp = t_1;
} else if (t <= -4.2e+153) {
tmp = t;
} else if (t <= -2.2e+120) {
tmp = x;
} else if (t <= -1.75e-128) {
tmp = t;
} else if (t <= 2.4e-44) {
tmp = x;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t * (y / a) tmp = 0 if t <= -6.1e+268: tmp = t_1 elif t <= -4.2e+153: tmp = t elif t <= -2.2e+120: tmp = x elif t <= -1.75e-128: tmp = t elif t <= 2.4e-44: tmp = x else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(t * Float64(y / a)) tmp = 0.0 if (t <= -6.1e+268) tmp = t_1; elseif (t <= -4.2e+153) tmp = t; elseif (t <= -2.2e+120) tmp = x; elseif (t <= -1.75e-128) tmp = t; elseif (t <= 2.4e-44) tmp = x; else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t * (y / a); tmp = 0.0; if (t <= -6.1e+268) tmp = t_1; elseif (t <= -4.2e+153) tmp = t; elseif (t <= -2.2e+120) tmp = x; elseif (t <= -1.75e-128) tmp = t; elseif (t <= 2.4e-44) tmp = x; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -6.1e+268], t$95$1, If[LessEqual[t, -4.2e+153], t, If[LessEqual[t, -2.2e+120], x, If[LessEqual[t, -1.75e-128], t, If[LessEqual[t, 2.4e-44], x, t$95$1]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \frac{y}{a}\\
\mathbf{if}\;t \leq -6.1 \cdot 10^{+268}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq -4.2 \cdot 10^{+153}:\\
\;\;\;\;t\\
\mathbf{elif}\;t \leq -2.2 \cdot 10^{+120}:\\
\;\;\;\;x\\
\mathbf{elif}\;t \leq -1.75 \cdot 10^{-128}:\\
\;\;\;\;t\\
\mathbf{elif}\;t \leq 2.4 \cdot 10^{-44}:\\
\;\;\;\;x\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -6.10000000000000002e268 or 2.40000000000000009e-44 < t Initial program 69.6%
associate-/l*91.2%
Simplified91.2%
Taylor expanded in x around 0 54.1%
associate-/l*78.1%
Simplified78.1%
Taylor expanded in z around 0 35.5%
associate-/l*46.4%
Simplified46.4%
if -6.10000000000000002e268 < t < -4.20000000000000033e153 or -2.2000000000000001e120 < t < -1.75e-128Initial program 64.4%
associate-/l*73.8%
Simplified73.8%
Taylor expanded in z around inf 31.4%
if -4.20000000000000033e153 < t < -2.2000000000000001e120 or -1.75e-128 < t < 2.40000000000000009e-44Initial program 67.7%
associate-/l*72.0%
Simplified72.0%
Taylor expanded in a around inf 38.3%
(FPCore (x y z t a) :precision binary64 (if (or (<= z -1.6e+123) (not (<= z 4.7e+168))) (+ t (* y (/ (- x t) z))) (+ x (* (- y z) (/ (- t x) (- a z))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -1.6e+123) || !(z <= 4.7e+168)) {
tmp = t + (y * ((x - t) / z));
} else {
tmp = x + ((y - z) * ((t - x) / (a - z)));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if ((z <= (-1.6d+123)) .or. (.not. (z <= 4.7d+168))) then
tmp = t + (y * ((x - t) / z))
else
tmp = x + ((y - z) * ((t - x) / (a - z)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -1.6e+123) || !(z <= 4.7e+168)) {
tmp = t + (y * ((x - t) / z));
} else {
tmp = x + ((y - z) * ((t - x) / (a - z)));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (z <= -1.6e+123) or not (z <= 4.7e+168): tmp = t + (y * ((x - t) / z)) else: tmp = x + ((y - z) * ((t - x) / (a - z))) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((z <= -1.6e+123) || !(z <= 4.7e+168)) tmp = Float64(t + Float64(y * Float64(Float64(x - t) / z))); else tmp = Float64(x + Float64(Float64(y - z) * Float64(Float64(t - x) / Float64(a - z)))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((z <= -1.6e+123) || ~((z <= 4.7e+168))) tmp = t + (y * ((x - t) / z)); else tmp = x + ((y - z) * ((t - x) / (a - z))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[z, -1.6e+123], N[Not[LessEqual[z, 4.7e+168]], $MachinePrecision]], N[(t + N[(y * N[(N[(x - t), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x + N[(N[(y - z), $MachinePrecision] * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -1.6 \cdot 10^{+123} \lor \neg \left(z \leq 4.7 \cdot 10^{+168}\right):\\
\;\;\;\;t + y \cdot \frac{x - t}{z}\\
\mathbf{else}:\\
\;\;\;\;x + \left(y - z\right) \cdot \frac{t - x}{a - z}\\
\end{array}
\end{array}
if z < -1.60000000000000002e123 or 4.69999999999999961e168 < z Initial program 28.3%
associate-/l*51.8%
Simplified51.8%
Taylor expanded in z around inf 63.0%
associate-*r/63.0%
associate-*r*63.0%
mul-1-neg63.0%
mul-1-neg63.0%
Simplified63.0%
Taylor expanded in a around 0 61.6%
mul-1-neg61.6%
associate-*r/77.0%
sub-neg77.0%
Simplified77.0%
if -1.60000000000000002e123 < z < 4.69999999999999961e168Initial program 82.9%
associate-/l*88.9%
Simplified88.9%
Final simplification85.5%
(FPCore (x y z t a) :precision binary64 (if (or (<= z -1.65e+123) (not (<= z 2400.0))) (+ t (* y (/ (- x t) z))) (- x (* (- t x) (/ (- z y) a)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -1.65e+123) || !(z <= 2400.0)) {
tmp = t + (y * ((x - t) / z));
} else {
tmp = x - ((t - x) * ((z - y) / a));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if ((z <= (-1.65d+123)) .or. (.not. (z <= 2400.0d0))) then
tmp = t + (y * ((x - t) / z))
else
tmp = x - ((t - x) * ((z - y) / a))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -1.65e+123) || !(z <= 2400.0)) {
tmp = t + (y * ((x - t) / z));
} else {
tmp = x - ((t - x) * ((z - y) / a));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (z <= -1.65e+123) or not (z <= 2400.0): tmp = t + (y * ((x - t) / z)) else: tmp = x - ((t - x) * ((z - y) / a)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((z <= -1.65e+123) || !(z <= 2400.0)) tmp = Float64(t + Float64(y * Float64(Float64(x - t) / z))); else tmp = Float64(x - Float64(Float64(t - x) * Float64(Float64(z - y) / a))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((z <= -1.65e+123) || ~((z <= 2400.0))) tmp = t + (y * ((x - t) / z)); else tmp = x - ((t - x) * ((z - y) / a)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[z, -1.65e+123], N[Not[LessEqual[z, 2400.0]], $MachinePrecision]], N[(t + N[(y * N[(N[(x - t), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x - N[(N[(t - x), $MachinePrecision] * N[(N[(z - y), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -1.65 \cdot 10^{+123} \lor \neg \left(z \leq 2400\right):\\
\;\;\;\;t + y \cdot \frac{x - t}{z}\\
\mathbf{else}:\\
\;\;\;\;x - \left(t - x\right) \cdot \frac{z - y}{a}\\
\end{array}
\end{array}
if z < -1.65000000000000001e123 or 2400 < z Initial program 38.3%
associate-/l*60.7%
Simplified60.7%
Taylor expanded in z around inf 62.2%
associate-*r/62.2%
associate-*r*62.2%
mul-1-neg62.2%
mul-1-neg62.2%
Simplified62.2%
Taylor expanded in a around 0 59.1%
mul-1-neg59.1%
associate-*r/70.7%
sub-neg70.7%
Simplified70.7%
if -1.65000000000000001e123 < z < 2400Initial program 85.1%
associate-/l*89.1%
Simplified89.1%
Taylor expanded in a around inf 67.1%
associate-/l*77.8%
Simplified77.8%
Final simplification75.1%
(FPCore (x y z t a) :precision binary64 (if (or (<= z -3.2e+39) (not (<= z 2.05e+71))) (* t (/ (- y z) (- a z))) (- x (* y (/ (- x t) a)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -3.2e+39) || !(z <= 2.05e+71)) {
tmp = t * ((y - z) / (a - z));
} else {
tmp = x - (y * ((x - t) / a));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if ((z <= (-3.2d+39)) .or. (.not. (z <= 2.05d+71))) then
tmp = t * ((y - z) / (a - z))
else
tmp = x - (y * ((x - t) / a))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -3.2e+39) || !(z <= 2.05e+71)) {
tmp = t * ((y - z) / (a - z));
} else {
tmp = x - (y * ((x - t) / a));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (z <= -3.2e+39) or not (z <= 2.05e+71): tmp = t * ((y - z) / (a - z)) else: tmp = x - (y * ((x - t) / a)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((z <= -3.2e+39) || !(z <= 2.05e+71)) tmp = Float64(t * Float64(Float64(y - z) / Float64(a - z))); else tmp = Float64(x - Float64(y * Float64(Float64(x - t) / a))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((z <= -3.2e+39) || ~((z <= 2.05e+71))) tmp = t * ((y - z) / (a - z)); else tmp = x - (y * ((x - t) / a)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[z, -3.2e+39], N[Not[LessEqual[z, 2.05e+71]], $MachinePrecision]], N[(t * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x - N[(y * N[(N[(x - t), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -3.2 \cdot 10^{+39} \lor \neg \left(z \leq 2.05 \cdot 10^{+71}\right):\\
\;\;\;\;t \cdot \frac{y - z}{a - z}\\
\mathbf{else}:\\
\;\;\;\;x - y \cdot \frac{x - t}{a}\\
\end{array}
\end{array}
if z < -3.19999999999999993e39 or 2.0500000000000001e71 < z Initial program 40.7%
associate-/l*61.6%
Simplified61.6%
Taylor expanded in x around 0 41.3%
associate-/l*62.3%
Simplified62.3%
if -3.19999999999999993e39 < z < 2.0500000000000001e71Initial program 85.2%
associate-/l*89.6%
Simplified89.6%
Taylor expanded in z around 0 63.3%
associate-/l*72.5%
Simplified72.5%
Final simplification68.4%
(FPCore (x y z t a) :precision binary64 (if (or (<= z -1.9e+153) (not (<= z 9.2e+17))) (+ t (* y (/ x z))) (+ x (* t (/ y a)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -1.9e+153) || !(z <= 9.2e+17)) {
tmp = t + (y * (x / z));
} else {
tmp = x + (t * (y / a));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if ((z <= (-1.9d+153)) .or. (.not. (z <= 9.2d+17))) then
tmp = t + (y * (x / z))
else
tmp = x + (t * (y / a))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -1.9e+153) || !(z <= 9.2e+17)) {
tmp = t + (y * (x / z));
} else {
tmp = x + (t * (y / a));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (z <= -1.9e+153) or not (z <= 9.2e+17): tmp = t + (y * (x / z)) else: tmp = x + (t * (y / a)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((z <= -1.9e+153) || !(z <= 9.2e+17)) tmp = Float64(t + Float64(y * Float64(x / z))); else tmp = Float64(x + Float64(t * Float64(y / a))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((z <= -1.9e+153) || ~((z <= 9.2e+17))) tmp = t + (y * (x / z)); else tmp = x + (t * (y / a)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[z, -1.9e+153], N[Not[LessEqual[z, 9.2e+17]], $MachinePrecision]], N[(t + N[(y * N[(x / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x + N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -1.9 \cdot 10^{+153} \lor \neg \left(z \leq 9.2 \cdot 10^{+17}\right):\\
\;\;\;\;t + y \cdot \frac{x}{z}\\
\mathbf{else}:\\
\;\;\;\;x + t \cdot \frac{y}{a}\\
\end{array}
\end{array}
if z < -1.89999999999999983e153 or 9.2e17 < z Initial program 38.2%
associate-/l*60.2%
Simplified60.2%
Taylor expanded in z around inf 61.9%
associate-*r/61.9%
associate-*r*61.9%
mul-1-neg61.9%
mul-1-neg61.9%
Simplified61.9%
Taylor expanded in a around 0 59.1%
mul-1-neg59.1%
associate-*r/72.3%
sub-neg72.3%
Simplified72.3%
Taylor expanded in t around 0 56.7%
mul-1-neg56.7%
*-commutative56.7%
associate-/l*63.0%
distribute-rgt-neg-in63.0%
distribute-neg-frac263.0%
Simplified63.0%
if -1.89999999999999983e153 < z < 9.2e17Initial program 82.1%
associate-/l*87.5%
Simplified87.5%
Taylor expanded in z around 0 59.1%
associate-/l*67.4%
Simplified67.4%
Taylor expanded in t around inf 52.6%
associate-/l*58.3%
Simplified58.3%
Final simplification59.9%
(FPCore (x y z t a) :precision binary64 (if (<= z -2.6e+137) t (if (<= z 7.8e+61) x t)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -2.6e+137) {
tmp = t;
} else if (z <= 7.8e+61) {
tmp = x;
} else {
tmp = t;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: tmp
if (z <= (-2.6d+137)) then
tmp = t
else if (z <= 7.8d+61) then
tmp = x
else
tmp = t
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -2.6e+137) {
tmp = t;
} else if (z <= 7.8e+61) {
tmp = x;
} else {
tmp = t;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -2.6e+137: tmp = t elif z <= 7.8e+61: tmp = x else: tmp = t return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -2.6e+137) tmp = t; elseif (z <= 7.8e+61) tmp = x; else tmp = t; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -2.6e+137) tmp = t; elseif (z <= 7.8e+61) tmp = x; else tmp = t; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -2.6e+137], t, If[LessEqual[z, 7.8e+61], x, t]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -2.6 \cdot 10^{+137}:\\
\;\;\;\;t\\
\mathbf{elif}\;z \leq 7.8 \cdot 10^{+61}:\\
\;\;\;\;x\\
\mathbf{else}:\\
\;\;\;\;t\\
\end{array}
\end{array}
if z < -2.5999999999999999e137 or 7.79999999999999975e61 < z Initial program 37.7%
associate-/l*60.7%
Simplified60.7%
Taylor expanded in z around inf 47.2%
if -2.5999999999999999e137 < z < 7.79999999999999975e61Initial program 82.6%
associate-/l*87.4%
Simplified87.4%
Taylor expanded in a around inf 32.3%
(FPCore (x y z t a) :precision binary64 t)
double code(double x, double y, double z, double t, double a) {
return t;
}
real(8) function code(x, y, z, t, a)
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
code = t
end function
public static double code(double x, double y, double z, double t, double a) {
return t;
}
def code(x, y, z, t, a): return t
function code(x, y, z, t, a) return t end
function tmp = code(x, y, z, t, a) tmp = t; end
code[x_, y_, z_, t_, a_] := t
\begin{array}{l}
\\
t
\end{array}
Initial program 67.3%
associate-/l*78.3%
Simplified78.3%
Taylor expanded in z around inf 21.3%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (- t (* (/ y z) (- t x)))))
(if (< z -1.2536131056095036e+188)
t_1
(if (< z 4.446702369113811e+64)
(+ x (/ (- y z) (/ (- a z) (- t x))))
t_1))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t - ((y / z) * (t - x));
double tmp;
if (z < -1.2536131056095036e+188) {
tmp = t_1;
} else if (z < 4.446702369113811e+64) {
tmp = x + ((y - z) / ((a - z) / (t - x)));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
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) :: t_1
real(8) :: tmp
t_1 = t - ((y / z) * (t - x))
if (z < (-1.2536131056095036d+188)) then
tmp = t_1
else if (z < 4.446702369113811d+64) then
tmp = x + ((y - z) / ((a - z) / (t - x)))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = t - ((y / z) * (t - x));
double tmp;
if (z < -1.2536131056095036e+188) {
tmp = t_1;
} else if (z < 4.446702369113811e+64) {
tmp = x + ((y - z) / ((a - z) / (t - x)));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t - ((y / z) * (t - x)) tmp = 0 if z < -1.2536131056095036e+188: tmp = t_1 elif z < 4.446702369113811e+64: tmp = x + ((y - z) / ((a - z) / (t - x))) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(t - Float64(Float64(y / z) * Float64(t - x))) tmp = 0.0 if (z < -1.2536131056095036e+188) tmp = t_1; elseif (z < 4.446702369113811e+64) tmp = Float64(x + Float64(Float64(y - z) / Float64(Float64(a - z) / Float64(t - x)))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t - ((y / z) * (t - x)); tmp = 0.0; if (z < -1.2536131056095036e+188) tmp = t_1; elseif (z < 4.446702369113811e+64) tmp = x + ((y - z) / ((a - z) / (t - x))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t - N[(N[(y / z), $MachinePrecision] * N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Less[z, -1.2536131056095036e+188], t$95$1, If[Less[z, 4.446702369113811e+64], N[(x + N[(N[(y - z), $MachinePrecision] / N[(N[(a - z), $MachinePrecision] / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t - \frac{y}{z} \cdot \left(t - x\right)\\
\mathbf{if}\;z < -1.2536131056095036 \cdot 10^{+188}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z < 4.446702369113811 \cdot 10^{+64}:\\
\;\;\;\;x + \frac{y - z}{\frac{a - z}{t - x}}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
herbie shell --seed 2024107
(FPCore (x y z t a)
:name "Graphics.Rendering.Chart.Axis.Types:invLinMap from Chart-1.5.3"
:precision binary64
:alt
(if (< z -1.2536131056095036e+188) (- t (* (/ y z) (- t x))) (if (< z 4.446702369113811e+64) (+ x (/ (- y z) (/ (- a z) (- t x)))) (- t (* (/ y z) (- t x)))))
(+ x (/ (* (- y z) (- t x)) (- a z))))