
(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(y - z) * Float64(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[(y - z), $MachinePrecision] * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \left(y - z\right) \cdot \frac{t - x}{a - z}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 22 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(y - z) * Float64(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[(y - z), $MachinePrecision] * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \left(y - z\right) \cdot \frac{t - x}{a - z}
\end{array}
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* (/ (- t x) (- z a)) (- z y)))))
(if (or (<= t_1 -5e-306) (not (<= t_1 1e-292)))
(fma (- t x) (/ (- y z) (- a z)) x)
(+ t (* (/ (- t x) z) (- a y))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (((t - x) / (z - a)) * (z - y));
double tmp;
if ((t_1 <= -5e-306) || !(t_1 <= 1e-292)) {
tmp = fma((t - x), ((y - z) / (a - z)), x);
} else {
tmp = t + (((t - x) / z) * (a - y));
}
return tmp;
}
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(Float64(t - x) / Float64(z - a)) * Float64(z - y))) tmp = 0.0 if ((t_1 <= -5e-306) || !(t_1 <= 1e-292)) tmp = fma(Float64(t - x), Float64(Float64(y - z) / Float64(a - z)), x); else tmp = Float64(t + Float64(Float64(Float64(t - x) / z) * Float64(a - y))); end return tmp end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(N[(t - x), $MachinePrecision] / N[(z - a), $MachinePrecision]), $MachinePrecision] * N[(z - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Or[LessEqual[t$95$1, -5e-306], N[Not[LessEqual[t$95$1, 1e-292]], $MachinePrecision]], N[(N[(t - x), $MachinePrecision] * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision] + x), $MachinePrecision], N[(t + N[(N[(N[(t - x), $MachinePrecision] / z), $MachinePrecision] * N[(a - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{t - x}{z - a} \cdot \left(z - y\right)\\
\mathbf{if}\;t\_1 \leq -5 \cdot 10^{-306} \lor \neg \left(t\_1 \leq 10^{-292}\right):\\
\;\;\;\;\mathsf{fma}\left(t - x, \frac{y - z}{a - z}, x\right)\\
\mathbf{else}:\\
\;\;\;\;t + \frac{t - x}{z} \cdot \left(a - y\right)\\
\end{array}
\end{array}
if (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) < -4.99999999999999998e-306 or 1.0000000000000001e-292 < (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) Initial program 92.1%
+-commutative92.1%
remove-double-neg92.1%
unsub-neg92.1%
*-commutative92.1%
associate-*l/75.5%
associate-/l*95.9%
fma-neg95.9%
remove-double-neg95.9%
Simplified95.9%
if -4.99999999999999998e-306 < (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) < 1.0000000000000001e-292Initial program 3.8%
Taylor expanded in z around inf 96.1%
associate--l+96.1%
distribute-lft-out--96.1%
div-sub96.1%
mul-1-neg96.1%
unsub-neg96.1%
div-sub96.1%
associate-/l*99.8%
associate-/l*99.8%
distribute-rgt-out--99.8%
Simplified99.8%
Final simplification96.3%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (/ y (- a z)))))
(if (<= z -3.9e+125)
t
(if (<= z -2.1e+96)
(* x (/ (- y a) z))
(if (<= z -1.05e+28)
t
(if (<= z -1.05e-234)
(* t (/ (- y z) a))
(if (<= z 2.3e-304)
x
(if (<= z 4.2e-172)
t_1
(if (<= z 5.8e-68) x (if (<= z 5.8e-5) t_1 t))))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t * (y / (a - z));
double tmp;
if (z <= -3.9e+125) {
tmp = t;
} else if (z <= -2.1e+96) {
tmp = x * ((y - a) / z);
} else if (z <= -1.05e+28) {
tmp = t;
} else if (z <= -1.05e-234) {
tmp = t * ((y - z) / a);
} else if (z <= 2.3e-304) {
tmp = x;
} else if (z <= 4.2e-172) {
tmp = t_1;
} else if (z <= 5.8e-68) {
tmp = x;
} else if (z <= 5.8e-5) {
tmp = t_1;
} 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) :: t_1
real(8) :: tmp
t_1 = t * (y / (a - z))
if (z <= (-3.9d+125)) then
tmp = t
else if (z <= (-2.1d+96)) then
tmp = x * ((y - a) / z)
else if (z <= (-1.05d+28)) then
tmp = t
else if (z <= (-1.05d-234)) then
tmp = t * ((y - z) / a)
else if (z <= 2.3d-304) then
tmp = x
else if (z <= 4.2d-172) then
tmp = t_1
else if (z <= 5.8d-68) then
tmp = x
else if (z <= 5.8d-5) then
tmp = t_1
else
tmp = t
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 - z));
double tmp;
if (z <= -3.9e+125) {
tmp = t;
} else if (z <= -2.1e+96) {
tmp = x * ((y - a) / z);
} else if (z <= -1.05e+28) {
tmp = t;
} else if (z <= -1.05e-234) {
tmp = t * ((y - z) / a);
} else if (z <= 2.3e-304) {
tmp = x;
} else if (z <= 4.2e-172) {
tmp = t_1;
} else if (z <= 5.8e-68) {
tmp = x;
} else if (z <= 5.8e-5) {
tmp = t_1;
} else {
tmp = t;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t * (y / (a - z)) tmp = 0 if z <= -3.9e+125: tmp = t elif z <= -2.1e+96: tmp = x * ((y - a) / z) elif z <= -1.05e+28: tmp = t elif z <= -1.05e-234: tmp = t * ((y - z) / a) elif z <= 2.3e-304: tmp = x elif z <= 4.2e-172: tmp = t_1 elif z <= 5.8e-68: tmp = x elif z <= 5.8e-5: tmp = t_1 else: tmp = t return tmp
function code(x, y, z, t, a) t_1 = Float64(t * Float64(y / Float64(a - z))) tmp = 0.0 if (z <= -3.9e+125) tmp = t; elseif (z <= -2.1e+96) tmp = Float64(x * Float64(Float64(y - a) / z)); elseif (z <= -1.05e+28) tmp = t; elseif (z <= -1.05e-234) tmp = Float64(t * Float64(Float64(y - z) / a)); elseif (z <= 2.3e-304) tmp = x; elseif (z <= 4.2e-172) tmp = t_1; elseif (z <= 5.8e-68) tmp = x; elseif (z <= 5.8e-5) tmp = t_1; else tmp = t; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t * (y / (a - z)); tmp = 0.0; if (z <= -3.9e+125) tmp = t; elseif (z <= -2.1e+96) tmp = x * ((y - a) / z); elseif (z <= -1.05e+28) tmp = t; elseif (z <= -1.05e-234) tmp = t * ((y - z) / a); elseif (z <= 2.3e-304) tmp = x; elseif (z <= 4.2e-172) tmp = t_1; elseif (z <= 5.8e-68) tmp = x; elseif (z <= 5.8e-5) tmp = t_1; else tmp = t; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t * N[(y / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -3.9e+125], t, If[LessEqual[z, -2.1e+96], N[(x * N[(N[(y - a), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -1.05e+28], t, If[LessEqual[z, -1.05e-234], N[(t * N[(N[(y - z), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 2.3e-304], x, If[LessEqual[z, 4.2e-172], t$95$1, If[LessEqual[z, 5.8e-68], x, If[LessEqual[z, 5.8e-5], t$95$1, t]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \frac{y}{a - z}\\
\mathbf{if}\;z \leq -3.9 \cdot 10^{+125}:\\
\;\;\;\;t\\
\mathbf{elif}\;z \leq -2.1 \cdot 10^{+96}:\\
\;\;\;\;x \cdot \frac{y - a}{z}\\
\mathbf{elif}\;z \leq -1.05 \cdot 10^{+28}:\\
\;\;\;\;t\\
\mathbf{elif}\;z \leq -1.05 \cdot 10^{-234}:\\
\;\;\;\;t \cdot \frac{y - z}{a}\\
\mathbf{elif}\;z \leq 2.3 \cdot 10^{-304}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq 4.2 \cdot 10^{-172}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq 5.8 \cdot 10^{-68}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq 5.8 \cdot 10^{-5}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\\
\end{array}
\end{array}
if z < -3.9000000000000002e125 or -2.1000000000000001e96 < z < -1.04999999999999995e28 or 5.8e-5 < z Initial program 74.0%
Taylor expanded in z around inf 53.5%
if -3.9000000000000002e125 < z < -2.1000000000000001e96Initial program 45.1%
Taylor expanded in z around inf 86.9%
associate--l+86.9%
distribute-lft-out--86.9%
div-sub86.9%
mul-1-neg86.9%
unsub-neg86.9%
div-sub86.9%
associate-/l*86.9%
associate-/l*86.7%
distribute-rgt-out--86.7%
Simplified86.7%
Taylor expanded in t around 0 82.2%
associate-/l*69.0%
Simplified69.0%
if -1.04999999999999995e28 < z < -1.04999999999999996e-234Initial program 93.2%
Taylor expanded in x around 0 43.1%
associate-/l*51.2%
Simplified51.2%
Taylor expanded in a around inf 38.1%
associate-/l*48.9%
Simplified48.9%
if -1.04999999999999996e-234 < z < 2.3e-304 or 4.1999999999999999e-172 < z < 5.8000000000000001e-68Initial program 91.0%
Taylor expanded in a around inf 52.5%
if 2.3e-304 < z < 4.1999999999999999e-172 or 5.8000000000000001e-68 < z < 5.8e-5Initial program 95.1%
Taylor expanded in y around inf 66.8%
div-sub66.8%
Simplified66.8%
Taylor expanded in t around inf 43.1%
associate-/l*51.2%
Simplified51.2%
Final simplification52.6%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* (/ (- t x) (- z a)) (- z y)))))
(if (or (<= t_1 -5e-306) (not (<= t_1 4e-199)))
t_1
(+ t (* (/ (- t x) z) (- a y))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (((t - x) / (z - a)) * (z - y));
double tmp;
if ((t_1 <= -5e-306) || !(t_1 <= 4e-199)) {
tmp = t_1;
} else {
tmp = t + (((t - x) / z) * (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 = x + (((t - x) / (z - a)) * (z - y))
if ((t_1 <= (-5d-306)) .or. (.not. (t_1 <= 4d-199))) then
tmp = t_1
else
tmp = t + (((t - x) / z) * (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 = x + (((t - x) / (z - a)) * (z - y));
double tmp;
if ((t_1 <= -5e-306) || !(t_1 <= 4e-199)) {
tmp = t_1;
} else {
tmp = t + (((t - x) / z) * (a - y));
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (((t - x) / (z - a)) * (z - y)) tmp = 0 if (t_1 <= -5e-306) or not (t_1 <= 4e-199): tmp = t_1 else: tmp = t + (((t - x) / z) * (a - y)) return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(Float64(t - x) / Float64(z - a)) * Float64(z - y))) tmp = 0.0 if ((t_1 <= -5e-306) || !(t_1 <= 4e-199)) tmp = t_1; else tmp = Float64(t + Float64(Float64(Float64(t - x) / z) * Float64(a - y))); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + (((t - x) / (z - a)) * (z - y)); tmp = 0.0; if ((t_1 <= -5e-306) || ~((t_1 <= 4e-199))) tmp = t_1; else tmp = t + (((t - x) / z) * (a - y)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(N[(t - x), $MachinePrecision] / N[(z - a), $MachinePrecision]), $MachinePrecision] * N[(z - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Or[LessEqual[t$95$1, -5e-306], N[Not[LessEqual[t$95$1, 4e-199]], $MachinePrecision]], t$95$1, N[(t + N[(N[(N[(t - x), $MachinePrecision] / z), $MachinePrecision] * N[(a - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{t - x}{z - a} \cdot \left(z - y\right)\\
\mathbf{if}\;t\_1 \leq -5 \cdot 10^{-306} \lor \neg \left(t\_1 \leq 4 \cdot 10^{-199}\right):\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t + \frac{t - x}{z} \cdot \left(a - y\right)\\
\end{array}
\end{array}
if (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) < -4.99999999999999998e-306 or 3.99999999999999993e-199 < (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) Initial program 94.0%
if -4.99999999999999998e-306 < (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) < 3.99999999999999993e-199Initial program 9.8%
Taylor expanded in z around inf 91.0%
associate--l+91.0%
distribute-lft-out--91.0%
div-sub91.0%
mul-1-neg91.0%
unsub-neg91.0%
div-sub91.0%
associate-/l*93.9%
associate-/l*93.4%
distribute-rgt-out--93.4%
Simplified93.4%
Final simplification93.9%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* (/ (- t x) (- z a)) (- z y)))))
(if (or (<= t_1 -5e-306) (not (<= t_1 1e-292)))
(+ x (/ (- x t) (/ (- a z) (- z y))))
(+ t (* (/ (- t x) z) (- a y))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (((t - x) / (z - a)) * (z - y));
double tmp;
if ((t_1 <= -5e-306) || !(t_1 <= 1e-292)) {
tmp = x + ((x - t) / ((a - z) / (z - y)));
} else {
tmp = t + (((t - x) / z) * (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 = x + (((t - x) / (z - a)) * (z - y))
if ((t_1 <= (-5d-306)) .or. (.not. (t_1 <= 1d-292))) then
tmp = x + ((x - t) / ((a - z) / (z - y)))
else
tmp = t + (((t - x) / z) * (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 = x + (((t - x) / (z - a)) * (z - y));
double tmp;
if ((t_1 <= -5e-306) || !(t_1 <= 1e-292)) {
tmp = x + ((x - t) / ((a - z) / (z - y)));
} else {
tmp = t + (((t - x) / z) * (a - y));
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (((t - x) / (z - a)) * (z - y)) tmp = 0 if (t_1 <= -5e-306) or not (t_1 <= 1e-292): tmp = x + ((x - t) / ((a - z) / (z - y))) else: tmp = t + (((t - x) / z) * (a - y)) return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(Float64(t - x) / Float64(z - a)) * Float64(z - y))) tmp = 0.0 if ((t_1 <= -5e-306) || !(t_1 <= 1e-292)) tmp = Float64(x + Float64(Float64(x - t) / Float64(Float64(a - z) / Float64(z - y)))); else tmp = Float64(t + Float64(Float64(Float64(t - x) / z) * Float64(a - y))); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + (((t - x) / (z - a)) * (z - y)); tmp = 0.0; if ((t_1 <= -5e-306) || ~((t_1 <= 1e-292))) tmp = x + ((x - t) / ((a - z) / (z - y))); else tmp = t + (((t - x) / z) * (a - y)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(N[(t - x), $MachinePrecision] / N[(z - a), $MachinePrecision]), $MachinePrecision] * N[(z - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Or[LessEqual[t$95$1, -5e-306], N[Not[LessEqual[t$95$1, 1e-292]], $MachinePrecision]], N[(x + N[(N[(x - t), $MachinePrecision] / N[(N[(a - z), $MachinePrecision] / N[(z - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(t + N[(N[(N[(t - x), $MachinePrecision] / z), $MachinePrecision] * N[(a - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{t - x}{z - a} \cdot \left(z - y\right)\\
\mathbf{if}\;t\_1 \leq -5 \cdot 10^{-306} \lor \neg \left(t\_1 \leq 10^{-292}\right):\\
\;\;\;\;x + \frac{x - t}{\frac{a - z}{z - y}}\\
\mathbf{else}:\\
\;\;\;\;t + \frac{t - x}{z} \cdot \left(a - y\right)\\
\end{array}
\end{array}
if (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) < -4.99999999999999998e-306 or 1.0000000000000001e-292 < (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) Initial program 92.1%
*-commutative92.1%
associate-*l/75.5%
associate-*r/95.9%
clear-num95.8%
un-div-inv95.8%
Applied egg-rr95.8%
if -4.99999999999999998e-306 < (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) < 1.0000000000000001e-292Initial program 3.8%
Taylor expanded in z around inf 96.1%
associate--l+96.1%
distribute-lft-out--96.1%
div-sub96.1%
mul-1-neg96.1%
unsub-neg96.1%
div-sub96.1%
associate-/l*99.8%
associate-/l*99.8%
distribute-rgt-out--99.8%
Simplified99.8%
Final simplification96.2%
(FPCore (x y z t a)
:precision binary64
(if (<= z -4.2e+127)
t
(if (<= z -5.9e+97)
(* x (/ (- y a) z))
(if (<= z -1e+28)
t
(if (<= z -2.5e-146)
(* t (/ (- y z) a))
(if (<= z 3e-226)
(* y (/ (- t x) a))
(if (<= z 9.5e-69) x (if (<= z 5.8e-5) (* t (/ y (- a z))) t))))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -4.2e+127) {
tmp = t;
} else if (z <= -5.9e+97) {
tmp = x * ((y - a) / z);
} else if (z <= -1e+28) {
tmp = t;
} else if (z <= -2.5e-146) {
tmp = t * ((y - z) / a);
} else if (z <= 3e-226) {
tmp = y * ((t - x) / a);
} else if (z <= 9.5e-69) {
tmp = x;
} else if (z <= 5.8e-5) {
tmp = t * (y / (a - z));
} 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 <= (-4.2d+127)) then
tmp = t
else if (z <= (-5.9d+97)) then
tmp = x * ((y - a) / z)
else if (z <= (-1d+28)) then
tmp = t
else if (z <= (-2.5d-146)) then
tmp = t * ((y - z) / a)
else if (z <= 3d-226) then
tmp = y * ((t - x) / a)
else if (z <= 9.5d-69) then
tmp = x
else if (z <= 5.8d-5) then
tmp = t * (y / (a - z))
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 <= -4.2e+127) {
tmp = t;
} else if (z <= -5.9e+97) {
tmp = x * ((y - a) / z);
} else if (z <= -1e+28) {
tmp = t;
} else if (z <= -2.5e-146) {
tmp = t * ((y - z) / a);
} else if (z <= 3e-226) {
tmp = y * ((t - x) / a);
} else if (z <= 9.5e-69) {
tmp = x;
} else if (z <= 5.8e-5) {
tmp = t * (y / (a - z));
} else {
tmp = t;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -4.2e+127: tmp = t elif z <= -5.9e+97: tmp = x * ((y - a) / z) elif z <= -1e+28: tmp = t elif z <= -2.5e-146: tmp = t * ((y - z) / a) elif z <= 3e-226: tmp = y * ((t - x) / a) elif z <= 9.5e-69: tmp = x elif z <= 5.8e-5: tmp = t * (y / (a - z)) else: tmp = t return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -4.2e+127) tmp = t; elseif (z <= -5.9e+97) tmp = Float64(x * Float64(Float64(y - a) / z)); elseif (z <= -1e+28) tmp = t; elseif (z <= -2.5e-146) tmp = Float64(t * Float64(Float64(y - z) / a)); elseif (z <= 3e-226) tmp = Float64(y * Float64(Float64(t - x) / a)); elseif (z <= 9.5e-69) tmp = x; elseif (z <= 5.8e-5) tmp = Float64(t * Float64(y / Float64(a - z))); else tmp = t; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -4.2e+127) tmp = t; elseif (z <= -5.9e+97) tmp = x * ((y - a) / z); elseif (z <= -1e+28) tmp = t; elseif (z <= -2.5e-146) tmp = t * ((y - z) / a); elseif (z <= 3e-226) tmp = y * ((t - x) / a); elseif (z <= 9.5e-69) tmp = x; elseif (z <= 5.8e-5) tmp = t * (y / (a - z)); else tmp = t; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -4.2e+127], t, If[LessEqual[z, -5.9e+97], N[(x * N[(N[(y - a), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -1e+28], t, If[LessEqual[z, -2.5e-146], N[(t * N[(N[(y - z), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 3e-226], N[(y * N[(N[(t - x), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 9.5e-69], x, If[LessEqual[z, 5.8e-5], N[(t * N[(y / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -4.2 \cdot 10^{+127}:\\
\;\;\;\;t\\
\mathbf{elif}\;z \leq -5.9 \cdot 10^{+97}:\\
\;\;\;\;x \cdot \frac{y - a}{z}\\
\mathbf{elif}\;z \leq -1 \cdot 10^{+28}:\\
\;\;\;\;t\\
\mathbf{elif}\;z \leq -2.5 \cdot 10^{-146}:\\
\;\;\;\;t \cdot \frac{y - z}{a}\\
\mathbf{elif}\;z \leq 3 \cdot 10^{-226}:\\
\;\;\;\;y \cdot \frac{t - x}{a}\\
\mathbf{elif}\;z \leq 9.5 \cdot 10^{-69}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq 5.8 \cdot 10^{-5}:\\
\;\;\;\;t \cdot \frac{y}{a - z}\\
\mathbf{else}:\\
\;\;\;\;t\\
\end{array}
\end{array}
if z < -4.19999999999999983e127 or -5.90000000000000009e97 < z < -9.99999999999999958e27 or 5.8e-5 < z Initial program 74.0%
Taylor expanded in z around inf 53.5%
if -4.19999999999999983e127 < z < -5.90000000000000009e97Initial program 45.1%
Taylor expanded in z around inf 86.9%
associate--l+86.9%
distribute-lft-out--86.9%
div-sub86.9%
mul-1-neg86.9%
unsub-neg86.9%
div-sub86.9%
associate-/l*86.9%
associate-/l*86.7%
distribute-rgt-out--86.7%
Simplified86.7%
Taylor expanded in t around 0 82.2%
associate-/l*69.0%
Simplified69.0%
if -9.99999999999999958e27 < z < -2.49999999999999979e-146Initial program 93.5%
Taylor expanded in x around 0 42.1%
associate-/l*48.3%
Simplified48.3%
Taylor expanded in a around inf 38.7%
associate-/l*48.1%
Simplified48.1%
if -2.49999999999999979e-146 < z < 2.99999999999999995e-226Initial program 94.4%
Taylor expanded in y around inf 65.6%
div-sub65.6%
Simplified65.6%
Taylor expanded in a around inf 56.3%
if 2.99999999999999995e-226 < z < 9.50000000000000094e-69Initial program 88.9%
Taylor expanded in a around inf 47.5%
if 9.50000000000000094e-69 < z < 5.8e-5Initial program 99.7%
Taylor expanded in y around inf 74.6%
div-sub74.7%
Simplified74.7%
Taylor expanded in t around inf 45.1%
associate-/l*55.0%
Simplified55.0%
Final simplification52.8%
(FPCore (x y z t a)
:precision binary64
(if (<= z -4.4e+125)
t
(if (<= z -2.2e+95)
(/ (* x (- y a)) z)
(if (<= z -4.8e+27)
t
(if (<= z -1.56e-145)
(* t (/ (- y z) a))
(if (<= z 1.16e-225)
(* y (/ (- t x) a))
(if (<= z 1.05e-68)
x
(if (<= z 1.6e-5) (* t (/ y (- a z))) t))))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -4.4e+125) {
tmp = t;
} else if (z <= -2.2e+95) {
tmp = (x * (y - a)) / z;
} else if (z <= -4.8e+27) {
tmp = t;
} else if (z <= -1.56e-145) {
tmp = t * ((y - z) / a);
} else if (z <= 1.16e-225) {
tmp = y * ((t - x) / a);
} else if (z <= 1.05e-68) {
tmp = x;
} else if (z <= 1.6e-5) {
tmp = t * (y / (a - z));
} 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 <= (-4.4d+125)) then
tmp = t
else if (z <= (-2.2d+95)) then
tmp = (x * (y - a)) / z
else if (z <= (-4.8d+27)) then
tmp = t
else if (z <= (-1.56d-145)) then
tmp = t * ((y - z) / a)
else if (z <= 1.16d-225) then
tmp = y * ((t - x) / a)
else if (z <= 1.05d-68) then
tmp = x
else if (z <= 1.6d-5) then
tmp = t * (y / (a - z))
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 <= -4.4e+125) {
tmp = t;
} else if (z <= -2.2e+95) {
tmp = (x * (y - a)) / z;
} else if (z <= -4.8e+27) {
tmp = t;
} else if (z <= -1.56e-145) {
tmp = t * ((y - z) / a);
} else if (z <= 1.16e-225) {
tmp = y * ((t - x) / a);
} else if (z <= 1.05e-68) {
tmp = x;
} else if (z <= 1.6e-5) {
tmp = t * (y / (a - z));
} else {
tmp = t;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -4.4e+125: tmp = t elif z <= -2.2e+95: tmp = (x * (y - a)) / z elif z <= -4.8e+27: tmp = t elif z <= -1.56e-145: tmp = t * ((y - z) / a) elif z <= 1.16e-225: tmp = y * ((t - x) / a) elif z <= 1.05e-68: tmp = x elif z <= 1.6e-5: tmp = t * (y / (a - z)) else: tmp = t return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -4.4e+125) tmp = t; elseif (z <= -2.2e+95) tmp = Float64(Float64(x * Float64(y - a)) / z); elseif (z <= -4.8e+27) tmp = t; elseif (z <= -1.56e-145) tmp = Float64(t * Float64(Float64(y - z) / a)); elseif (z <= 1.16e-225) tmp = Float64(y * Float64(Float64(t - x) / a)); elseif (z <= 1.05e-68) tmp = x; elseif (z <= 1.6e-5) tmp = Float64(t * Float64(y / Float64(a - z))); else tmp = t; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -4.4e+125) tmp = t; elseif (z <= -2.2e+95) tmp = (x * (y - a)) / z; elseif (z <= -4.8e+27) tmp = t; elseif (z <= -1.56e-145) tmp = t * ((y - z) / a); elseif (z <= 1.16e-225) tmp = y * ((t - x) / a); elseif (z <= 1.05e-68) tmp = x; elseif (z <= 1.6e-5) tmp = t * (y / (a - z)); else tmp = t; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -4.4e+125], t, If[LessEqual[z, -2.2e+95], N[(N[(x * N[(y - a), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision], If[LessEqual[z, -4.8e+27], t, If[LessEqual[z, -1.56e-145], N[(t * N[(N[(y - z), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1.16e-225], N[(y * N[(N[(t - x), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1.05e-68], x, If[LessEqual[z, 1.6e-5], N[(t * N[(y / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -4.4 \cdot 10^{+125}:\\
\;\;\;\;t\\
\mathbf{elif}\;z \leq -2.2 \cdot 10^{+95}:\\
\;\;\;\;\frac{x \cdot \left(y - a\right)}{z}\\
\mathbf{elif}\;z \leq -4.8 \cdot 10^{+27}:\\
\;\;\;\;t\\
\mathbf{elif}\;z \leq -1.56 \cdot 10^{-145}:\\
\;\;\;\;t \cdot \frac{y - z}{a}\\
\mathbf{elif}\;z \leq 1.16 \cdot 10^{-225}:\\
\;\;\;\;y \cdot \frac{t - x}{a}\\
\mathbf{elif}\;z \leq 1.05 \cdot 10^{-68}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq 1.6 \cdot 10^{-5}:\\
\;\;\;\;t \cdot \frac{y}{a - z}\\
\mathbf{else}:\\
\;\;\;\;t\\
\end{array}
\end{array}
if z < -4.39999999999999982e125 or -2.1999999999999999e95 < z < -4.79999999999999995e27 or 1.59999999999999993e-5 < z Initial program 74.0%
Taylor expanded in z around inf 53.5%
if -4.39999999999999982e125 < z < -2.1999999999999999e95Initial program 45.1%
Taylor expanded in z around inf 86.9%
associate--l+86.9%
distribute-lft-out--86.9%
div-sub86.9%
mul-1-neg86.9%
unsub-neg86.9%
div-sub86.9%
associate-/l*86.9%
associate-/l*86.7%
distribute-rgt-out--86.7%
Simplified86.7%
Taylor expanded in t around 0 82.2%
if -4.79999999999999995e27 < z < -1.56000000000000001e-145Initial program 93.5%
Taylor expanded in x around 0 42.1%
associate-/l*48.3%
Simplified48.3%
Taylor expanded in a around inf 38.7%
associate-/l*48.1%
Simplified48.1%
if -1.56000000000000001e-145 < z < 1.16000000000000001e-225Initial program 94.4%
Taylor expanded in y around inf 65.6%
div-sub65.6%
Simplified65.6%
Taylor expanded in a around inf 56.3%
if 1.16000000000000001e-225 < z < 1.05000000000000004e-68Initial program 88.9%
Taylor expanded in a around inf 47.5%
if 1.05000000000000004e-68 < z < 1.59999999999999993e-5Initial program 99.7%
Taylor expanded in y around inf 74.6%
div-sub74.7%
Simplified74.7%
Taylor expanded in t around inf 45.1%
associate-/l*55.0%
Simplified55.0%
Final simplification53.2%
(FPCore (x y z t a)
:precision binary64
(if (<= z -3.8e+125)
t
(if (<= z -4.4e+95)
(/ (* x (- y a)) z)
(if (<= z -7e+27)
t
(if (<= z -2e-210)
(* t (/ (- y z) a))
(if (<= z 3.6e-225)
(/ (* y (- t x)) a)
(if (<= z 1.8e-68)
x
(if (<= z 3.25e-6) (* t (/ y (- a z))) t))))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -3.8e+125) {
tmp = t;
} else if (z <= -4.4e+95) {
tmp = (x * (y - a)) / z;
} else if (z <= -7e+27) {
tmp = t;
} else if (z <= -2e-210) {
tmp = t * ((y - z) / a);
} else if (z <= 3.6e-225) {
tmp = (y * (t - x)) / a;
} else if (z <= 1.8e-68) {
tmp = x;
} else if (z <= 3.25e-6) {
tmp = t * (y / (a - z));
} 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 <= (-3.8d+125)) then
tmp = t
else if (z <= (-4.4d+95)) then
tmp = (x * (y - a)) / z
else if (z <= (-7d+27)) then
tmp = t
else if (z <= (-2d-210)) then
tmp = t * ((y - z) / a)
else if (z <= 3.6d-225) then
tmp = (y * (t - x)) / a
else if (z <= 1.8d-68) then
tmp = x
else if (z <= 3.25d-6) then
tmp = t * (y / (a - z))
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 <= -3.8e+125) {
tmp = t;
} else if (z <= -4.4e+95) {
tmp = (x * (y - a)) / z;
} else if (z <= -7e+27) {
tmp = t;
} else if (z <= -2e-210) {
tmp = t * ((y - z) / a);
} else if (z <= 3.6e-225) {
tmp = (y * (t - x)) / a;
} else if (z <= 1.8e-68) {
tmp = x;
} else if (z <= 3.25e-6) {
tmp = t * (y / (a - z));
} else {
tmp = t;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -3.8e+125: tmp = t elif z <= -4.4e+95: tmp = (x * (y - a)) / z elif z <= -7e+27: tmp = t elif z <= -2e-210: tmp = t * ((y - z) / a) elif z <= 3.6e-225: tmp = (y * (t - x)) / a elif z <= 1.8e-68: tmp = x elif z <= 3.25e-6: tmp = t * (y / (a - z)) else: tmp = t return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -3.8e+125) tmp = t; elseif (z <= -4.4e+95) tmp = Float64(Float64(x * Float64(y - a)) / z); elseif (z <= -7e+27) tmp = t; elseif (z <= -2e-210) tmp = Float64(t * Float64(Float64(y - z) / a)); elseif (z <= 3.6e-225) tmp = Float64(Float64(y * Float64(t - x)) / a); elseif (z <= 1.8e-68) tmp = x; elseif (z <= 3.25e-6) tmp = Float64(t * Float64(y / Float64(a - z))); else tmp = t; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -3.8e+125) tmp = t; elseif (z <= -4.4e+95) tmp = (x * (y - a)) / z; elseif (z <= -7e+27) tmp = t; elseif (z <= -2e-210) tmp = t * ((y - z) / a); elseif (z <= 3.6e-225) tmp = (y * (t - x)) / a; elseif (z <= 1.8e-68) tmp = x; elseif (z <= 3.25e-6) tmp = t * (y / (a - z)); else tmp = t; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -3.8e+125], t, If[LessEqual[z, -4.4e+95], N[(N[(x * N[(y - a), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision], If[LessEqual[z, -7e+27], t, If[LessEqual[z, -2e-210], N[(t * N[(N[(y - z), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 3.6e-225], N[(N[(y * N[(t - x), $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision], If[LessEqual[z, 1.8e-68], x, If[LessEqual[z, 3.25e-6], N[(t * N[(y / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -3.8 \cdot 10^{+125}:\\
\;\;\;\;t\\
\mathbf{elif}\;z \leq -4.4 \cdot 10^{+95}:\\
\;\;\;\;\frac{x \cdot \left(y - a\right)}{z}\\
\mathbf{elif}\;z \leq -7 \cdot 10^{+27}:\\
\;\;\;\;t\\
\mathbf{elif}\;z \leq -2 \cdot 10^{-210}:\\
\;\;\;\;t \cdot \frac{y - z}{a}\\
\mathbf{elif}\;z \leq 3.6 \cdot 10^{-225}:\\
\;\;\;\;\frac{y \cdot \left(t - x\right)}{a}\\
\mathbf{elif}\;z \leq 1.8 \cdot 10^{-68}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq 3.25 \cdot 10^{-6}:\\
\;\;\;\;t \cdot \frac{y}{a - z}\\
\mathbf{else}:\\
\;\;\;\;t\\
\end{array}
\end{array}
if z < -3.80000000000000002e125 or -4.3999999999999998e95 < z < -7.0000000000000004e27 or 3.2499999999999998e-6 < z Initial program 74.0%
Taylor expanded in z around inf 53.5%
if -3.80000000000000002e125 < z < -4.3999999999999998e95Initial program 45.1%
Taylor expanded in z around inf 86.9%
associate--l+86.9%
distribute-lft-out--86.9%
div-sub86.9%
mul-1-neg86.9%
unsub-neg86.9%
div-sub86.9%
associate-/l*86.9%
associate-/l*86.7%
distribute-rgt-out--86.7%
Simplified86.7%
Taylor expanded in t around 0 82.2%
if -7.0000000000000004e27 < z < -2.0000000000000001e-210Initial program 92.9%
Taylor expanded in x around 0 42.6%
associate-/l*51.2%
Simplified51.2%
Taylor expanded in a around inf 37.4%
associate-/l*48.8%
Simplified48.8%
if -2.0000000000000001e-210 < z < 3.60000000000000009e-225Initial program 92.6%
Taylor expanded in y around -inf 64.7%
associate-*r/61.5%
clear-num59.8%
div-inv59.8%
associate-/r/64.9%
Applied egg-rr64.9%
Taylor expanded in a around inf 58.5%
if 3.60000000000000009e-225 < z < 1.80000000000000004e-68Initial program 90.9%
Taylor expanded in a around inf 48.6%
if 1.80000000000000004e-68 < z < 3.2499999999999998e-6Initial program 99.7%
Taylor expanded in y around inf 74.6%
div-sub74.7%
Simplified74.7%
Taylor expanded in t around inf 45.1%
associate-/l*55.0%
Simplified55.0%
Final simplification53.5%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (/ y (- a z)))))
(if (<= z -5.8e+26)
t
(if (<= z -8e-235)
(* t (/ (- y z) a))
(if (<= z 1.5e-306)
x
(if (<= z 1.05e-173)
t_1
(if (<= z 1.7e-69) x (if (<= z 6.4e-5) t_1 t))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t * (y / (a - z));
double tmp;
if (z <= -5.8e+26) {
tmp = t;
} else if (z <= -8e-235) {
tmp = t * ((y - z) / a);
} else if (z <= 1.5e-306) {
tmp = x;
} else if (z <= 1.05e-173) {
tmp = t_1;
} else if (z <= 1.7e-69) {
tmp = x;
} else if (z <= 6.4e-5) {
tmp = t_1;
} 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) :: t_1
real(8) :: tmp
t_1 = t * (y / (a - z))
if (z <= (-5.8d+26)) then
tmp = t
else if (z <= (-8d-235)) then
tmp = t * ((y - z) / a)
else if (z <= 1.5d-306) then
tmp = x
else if (z <= 1.05d-173) then
tmp = t_1
else if (z <= 1.7d-69) then
tmp = x
else if (z <= 6.4d-5) then
tmp = t_1
else
tmp = t
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 - z));
double tmp;
if (z <= -5.8e+26) {
tmp = t;
} else if (z <= -8e-235) {
tmp = t * ((y - z) / a);
} else if (z <= 1.5e-306) {
tmp = x;
} else if (z <= 1.05e-173) {
tmp = t_1;
} else if (z <= 1.7e-69) {
tmp = x;
} else if (z <= 6.4e-5) {
tmp = t_1;
} else {
tmp = t;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t * (y / (a - z)) tmp = 0 if z <= -5.8e+26: tmp = t elif z <= -8e-235: tmp = t * ((y - z) / a) elif z <= 1.5e-306: tmp = x elif z <= 1.05e-173: tmp = t_1 elif z <= 1.7e-69: tmp = x elif z <= 6.4e-5: tmp = t_1 else: tmp = t return tmp
function code(x, y, z, t, a) t_1 = Float64(t * Float64(y / Float64(a - z))) tmp = 0.0 if (z <= -5.8e+26) tmp = t; elseif (z <= -8e-235) tmp = Float64(t * Float64(Float64(y - z) / a)); elseif (z <= 1.5e-306) tmp = x; elseif (z <= 1.05e-173) tmp = t_1; elseif (z <= 1.7e-69) tmp = x; elseif (z <= 6.4e-5) tmp = t_1; else tmp = t; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t * (y / (a - z)); tmp = 0.0; if (z <= -5.8e+26) tmp = t; elseif (z <= -8e-235) tmp = t * ((y - z) / a); elseif (z <= 1.5e-306) tmp = x; elseif (z <= 1.05e-173) tmp = t_1; elseif (z <= 1.7e-69) tmp = x; elseif (z <= 6.4e-5) tmp = t_1; else tmp = t; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t * N[(y / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -5.8e+26], t, If[LessEqual[z, -8e-235], N[(t * N[(N[(y - z), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1.5e-306], x, If[LessEqual[z, 1.05e-173], t$95$1, If[LessEqual[z, 1.7e-69], x, If[LessEqual[z, 6.4e-5], t$95$1, t]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \frac{y}{a - z}\\
\mathbf{if}\;z \leq -5.8 \cdot 10^{+26}:\\
\;\;\;\;t\\
\mathbf{elif}\;z \leq -8 \cdot 10^{-235}:\\
\;\;\;\;t \cdot \frac{y - z}{a}\\
\mathbf{elif}\;z \leq 1.5 \cdot 10^{-306}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq 1.05 \cdot 10^{-173}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq 1.7 \cdot 10^{-69}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq 6.4 \cdot 10^{-5}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\\
\end{array}
\end{array}
if z < -5.8e26 or 6.39999999999999971e-5 < z Initial program 72.4%
Taylor expanded in z around inf 50.6%
if -5.8e26 < z < -7.9999999999999997e-235Initial program 93.2%
Taylor expanded in x around 0 43.1%
associate-/l*51.2%
Simplified51.2%
Taylor expanded in a around inf 38.1%
associate-/l*48.9%
Simplified48.9%
if -7.9999999999999997e-235 < z < 1.50000000000000012e-306 or 1.05000000000000001e-173 < z < 1.70000000000000004e-69Initial program 91.0%
Taylor expanded in a around inf 52.5%
if 1.50000000000000012e-306 < z < 1.05000000000000001e-173 or 1.70000000000000004e-69 < z < 6.39999999999999971e-5Initial program 95.1%
Taylor expanded in y around inf 66.8%
div-sub66.8%
Simplified66.8%
Taylor expanded in t around inf 43.1%
associate-/l*51.2%
Simplified51.2%
Final simplification50.8%
(FPCore (x y z t a)
:precision binary64
(if (<= a -2.52e+48)
x
(if (<= a -1.6e-103)
(/ (* y (- t x)) a)
(if (<= a 5.3e+25)
(* t (/ (- z y) z))
(if (<= a 6.5e+178) x (if (<= a 1.06e+219) (* t (/ (- y z) a)) x))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -2.52e+48) {
tmp = x;
} else if (a <= -1.6e-103) {
tmp = (y * (t - x)) / a;
} else if (a <= 5.3e+25) {
tmp = t * ((z - y) / z);
} else if (a <= 6.5e+178) {
tmp = x;
} else if (a <= 1.06e+219) {
tmp = t * ((y - z) / a);
} 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) :: tmp
if (a <= (-2.52d+48)) then
tmp = x
else if (a <= (-1.6d-103)) then
tmp = (y * (t - x)) / a
else if (a <= 5.3d+25) then
tmp = t * ((z - y) / z)
else if (a <= 6.5d+178) then
tmp = x
else if (a <= 1.06d+219) then
tmp = t * ((y - z) / a)
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -2.52e+48) {
tmp = x;
} else if (a <= -1.6e-103) {
tmp = (y * (t - x)) / a;
} else if (a <= 5.3e+25) {
tmp = t * ((z - y) / z);
} else if (a <= 6.5e+178) {
tmp = x;
} else if (a <= 1.06e+219) {
tmp = t * ((y - z) / a);
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -2.52e+48: tmp = x elif a <= -1.6e-103: tmp = (y * (t - x)) / a elif a <= 5.3e+25: tmp = t * ((z - y) / z) elif a <= 6.5e+178: tmp = x elif a <= 1.06e+219: tmp = t * ((y - z) / a) else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -2.52e+48) tmp = x; elseif (a <= -1.6e-103) tmp = Float64(Float64(y * Float64(t - x)) / a); elseif (a <= 5.3e+25) tmp = Float64(t * Float64(Float64(z - y) / z)); elseif (a <= 6.5e+178) tmp = x; elseif (a <= 1.06e+219) tmp = Float64(t * Float64(Float64(y - z) / a)); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -2.52e+48) tmp = x; elseif (a <= -1.6e-103) tmp = (y * (t - x)) / a; elseif (a <= 5.3e+25) tmp = t * ((z - y) / z); elseif (a <= 6.5e+178) tmp = x; elseif (a <= 1.06e+219) tmp = t * ((y - z) / a); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -2.52e+48], x, If[LessEqual[a, -1.6e-103], N[(N[(y * N[(t - x), $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision], If[LessEqual[a, 5.3e+25], N[(t * N[(N[(z - y), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 6.5e+178], x, If[LessEqual[a, 1.06e+219], N[(t * N[(N[(y - z), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], x]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -2.52 \cdot 10^{+48}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq -1.6 \cdot 10^{-103}:\\
\;\;\;\;\frac{y \cdot \left(t - x\right)}{a}\\
\mathbf{elif}\;a \leq 5.3 \cdot 10^{+25}:\\
\;\;\;\;t \cdot \frac{z - y}{z}\\
\mathbf{elif}\;a \leq 6.5 \cdot 10^{+178}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 1.06 \cdot 10^{+219}:\\
\;\;\;\;t \cdot \frac{y - z}{a}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -2.52000000000000001e48 or 5.29999999999999986e25 < a < 6.5000000000000005e178 or 1.06e219 < a Initial program 93.0%
Taylor expanded in a around inf 52.7%
if -2.52000000000000001e48 < a < -1.59999999999999988e-103Initial program 83.5%
Taylor expanded in y around -inf 57.2%
associate-*r/54.0%
clear-num54.0%
div-inv54.0%
associate-/r/57.3%
Applied egg-rr57.3%
Taylor expanded in a around inf 50.5%
if -1.59999999999999988e-103 < a < 5.29999999999999986e25Initial program 72.7%
Taylor expanded in x around 0 55.5%
associate-/l*70.3%
Simplified70.3%
Taylor expanded in a around 0 48.2%
associate-*r/48.2%
neg-mul-148.2%
distribute-rgt-neg-in48.2%
associate-/l*62.1%
sub-neg62.1%
distribute-neg-in62.1%
remove-double-neg62.1%
Simplified62.1%
if 6.5000000000000005e178 < a < 1.06e219Initial program 96.9%
Taylor expanded in x around 0 13.9%
associate-/l*72.0%
Simplified72.0%
Taylor expanded in a around inf 13.5%
associate-/l*55.0%
Simplified55.0%
Final simplification56.7%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (/ (- y z) (- a z)))))
(if (<= z -3.8e+125)
t_1
(if (<= z -2.8e+98)
(/ (* x (- y a)) z)
(if (or (<= z -1.2e+20) (not (<= z 0.4)))
t_1
(+ x (/ (- t x) (/ a y))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t * ((y - z) / (a - z));
double tmp;
if (z <= -3.8e+125) {
tmp = t_1;
} else if (z <= -2.8e+98) {
tmp = (x * (y - a)) / z;
} else if ((z <= -1.2e+20) || !(z <= 0.4)) {
tmp = t_1;
} else {
tmp = x + ((t - x) / (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 * ((y - z) / (a - z))
if (z <= (-3.8d+125)) then
tmp = t_1
else if (z <= (-2.8d+98)) then
tmp = (x * (y - a)) / z
else if ((z <= (-1.2d+20)) .or. (.not. (z <= 0.4d0))) then
tmp = t_1
else
tmp = x + ((t - x) / (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 * ((y - z) / (a - z));
double tmp;
if (z <= -3.8e+125) {
tmp = t_1;
} else if (z <= -2.8e+98) {
tmp = (x * (y - a)) / z;
} else if ((z <= -1.2e+20) || !(z <= 0.4)) {
tmp = t_1;
} else {
tmp = x + ((t - x) / (a / y));
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t * ((y - z) / (a - z)) tmp = 0 if z <= -3.8e+125: tmp = t_1 elif z <= -2.8e+98: tmp = (x * (y - a)) / z elif (z <= -1.2e+20) or not (z <= 0.4): tmp = t_1 else: tmp = x + ((t - x) / (a / y)) return tmp
function code(x, y, z, t, a) t_1 = Float64(t * Float64(Float64(y - z) / Float64(a - z))) tmp = 0.0 if (z <= -3.8e+125) tmp = t_1; elseif (z <= -2.8e+98) tmp = Float64(Float64(x * Float64(y - a)) / z); elseif ((z <= -1.2e+20) || !(z <= 0.4)) tmp = t_1; else tmp = Float64(x + Float64(Float64(t - x) / Float64(a / y))); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t * ((y - z) / (a - z)); tmp = 0.0; if (z <= -3.8e+125) tmp = t_1; elseif (z <= -2.8e+98) tmp = (x * (y - a)) / z; elseif ((z <= -1.2e+20) || ~((z <= 0.4))) tmp = t_1; else tmp = x + ((t - x) / (a / y)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -3.8e+125], t$95$1, If[LessEqual[z, -2.8e+98], N[(N[(x * N[(y - a), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision], If[Or[LessEqual[z, -1.2e+20], N[Not[LessEqual[z, 0.4]], $MachinePrecision]], t$95$1, N[(x + N[(N[(t - x), $MachinePrecision] / N[(a / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \frac{y - z}{a - z}\\
\mathbf{if}\;z \leq -3.8 \cdot 10^{+125}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq -2.8 \cdot 10^{+98}:\\
\;\;\;\;\frac{x \cdot \left(y - a\right)}{z}\\
\mathbf{elif}\;z \leq -1.2 \cdot 10^{+20} \lor \neg \left(z \leq 0.4\right):\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;x + \frac{t - x}{\frac{a}{y}}\\
\end{array}
\end{array}
if z < -3.80000000000000002e125 or -2.8000000000000001e98 < z < -1.2e20 or 0.40000000000000002 < z Initial program 73.8%
Taylor expanded in x around 0 41.8%
associate-/l*71.4%
Simplified71.4%
if -3.80000000000000002e125 < z < -2.8000000000000001e98Initial program 45.1%
Taylor expanded in z around inf 86.9%
associate--l+86.9%
distribute-lft-out--86.9%
div-sub86.9%
mul-1-neg86.9%
unsub-neg86.9%
div-sub86.9%
associate-/l*86.9%
associate-/l*86.7%
distribute-rgt-out--86.7%
Simplified86.7%
Taylor expanded in t around 0 82.2%
if -1.2e20 < z < 0.40000000000000002Initial program 93.2%
*-commutative93.2%
associate-*l/88.5%
associate-*r/95.5%
clear-num95.4%
un-div-inv95.5%
Applied egg-rr95.5%
Taylor expanded in z around 0 77.3%
Final simplification74.7%
(FPCore (x y z t a)
:precision binary64
(if (<= z -1.5e+27)
t
(if (<= z 7.2e-69)
x
(if (<= z 5.2e-25) (* t (/ y a)) (if (<= z 0.06) (* (/ y z) (- t)) t)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -1.5e+27) {
tmp = t;
} else if (z <= 7.2e-69) {
tmp = x;
} else if (z <= 5.2e-25) {
tmp = t * (y / a);
} else if (z <= 0.06) {
tmp = (y / z) * -t;
} 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 <= (-1.5d+27)) then
tmp = t
else if (z <= 7.2d-69) then
tmp = x
else if (z <= 5.2d-25) then
tmp = t * (y / a)
else if (z <= 0.06d0) then
tmp = (y / z) * -t
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 <= -1.5e+27) {
tmp = t;
} else if (z <= 7.2e-69) {
tmp = x;
} else if (z <= 5.2e-25) {
tmp = t * (y / a);
} else if (z <= 0.06) {
tmp = (y / z) * -t;
} else {
tmp = t;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -1.5e+27: tmp = t elif z <= 7.2e-69: tmp = x elif z <= 5.2e-25: tmp = t * (y / a) elif z <= 0.06: tmp = (y / z) * -t else: tmp = t return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -1.5e+27) tmp = t; elseif (z <= 7.2e-69) tmp = x; elseif (z <= 5.2e-25) tmp = Float64(t * Float64(y / a)); elseif (z <= 0.06) tmp = Float64(Float64(y / z) * Float64(-t)); else tmp = t; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -1.5e+27) tmp = t; elseif (z <= 7.2e-69) tmp = x; elseif (z <= 5.2e-25) tmp = t * (y / a); elseif (z <= 0.06) tmp = (y / z) * -t; else tmp = t; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -1.5e+27], t, If[LessEqual[z, 7.2e-69], x, If[LessEqual[z, 5.2e-25], N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 0.06], N[(N[(y / z), $MachinePrecision] * (-t)), $MachinePrecision], t]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -1.5 \cdot 10^{+27}:\\
\;\;\;\;t\\
\mathbf{elif}\;z \leq 7.2 \cdot 10^{-69}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq 5.2 \cdot 10^{-25}:\\
\;\;\;\;t \cdot \frac{y}{a}\\
\mathbf{elif}\;z \leq 0.06:\\
\;\;\;\;\frac{y}{z} \cdot \left(-t\right)\\
\mathbf{else}:\\
\;\;\;\;t\\
\end{array}
\end{array}
if z < -1.49999999999999988e27 or 0.059999999999999998 < z Initial program 71.9%
Taylor expanded in z around inf 51.4%
if -1.49999999999999988e27 < z < 7.20000000000000035e-69Initial program 92.1%
Taylor expanded in a around inf 41.1%
if 7.20000000000000035e-69 < z < 5.2e-25Initial program 99.6%
Taylor expanded in y around inf 82.0%
div-sub82.1%
Simplified82.1%
Taylor expanded in t around inf 47.7%
Taylor expanded in a around inf 42.2%
associate-/l*59.1%
Simplified59.1%
if 5.2e-25 < z < 0.059999999999999998Initial program 99.8%
Taylor expanded in y around inf 61.9%
div-sub61.9%
Simplified61.9%
Taylor expanded in a around 0 51.5%
associate-*r/51.5%
associate-*r*51.5%
neg-mul-151.5%
*-commutative51.5%
Simplified51.5%
Taylor expanded in t around inf 33.1%
mul-1-neg33.1%
associate-/l*33.1%
distribute-rgt-neg-in33.1%
mul-1-neg33.1%
associate-*r/33.1%
mul-1-neg33.1%
Simplified33.1%
Final simplification46.5%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* y (/ (- t x) (- a z)))))
(if (<= y -3.1e+177)
t_1
(if (<= y 1.9e-85) (* t (/ (- y z) (- a z))) (if (<= y 6.5e+54) x t_1)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = y * ((t - x) / (a - z));
double tmp;
if (y <= -3.1e+177) {
tmp = t_1;
} else if (y <= 1.9e-85) {
tmp = t * ((y - z) / (a - z));
} else if (y <= 6.5e+54) {
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 = y * ((t - x) / (a - z))
if (y <= (-3.1d+177)) then
tmp = t_1
else if (y <= 1.9d-85) then
tmp = t * ((y - z) / (a - z))
else if (y <= 6.5d+54) 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 = y * ((t - x) / (a - z));
double tmp;
if (y <= -3.1e+177) {
tmp = t_1;
} else if (y <= 1.9e-85) {
tmp = t * ((y - z) / (a - z));
} else if (y <= 6.5e+54) {
tmp = x;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = y * ((t - x) / (a - z)) tmp = 0 if y <= -3.1e+177: tmp = t_1 elif y <= 1.9e-85: tmp = t * ((y - z) / (a - z)) elif y <= 6.5e+54: tmp = x else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(y * Float64(Float64(t - x) / Float64(a - z))) tmp = 0.0 if (y <= -3.1e+177) tmp = t_1; elseif (y <= 1.9e-85) tmp = Float64(t * Float64(Float64(y - z) / Float64(a - z))); elseif (y <= 6.5e+54) tmp = x; else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = y * ((t - x) / (a - z)); tmp = 0.0; if (y <= -3.1e+177) tmp = t_1; elseif (y <= 1.9e-85) tmp = t * ((y - z) / (a - z)); elseif (y <= 6.5e+54) tmp = x; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(y * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -3.1e+177], t$95$1, If[LessEqual[y, 1.9e-85], N[(t * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 6.5e+54], x, t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \frac{t - x}{a - z}\\
\mathbf{if}\;y \leq -3.1 \cdot 10^{+177}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 1.9 \cdot 10^{-85}:\\
\;\;\;\;t \cdot \frac{y - z}{a - z}\\
\mathbf{elif}\;y \leq 6.5 \cdot 10^{+54}:\\
\;\;\;\;x\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -3.0999999999999999e177 or 6.5e54 < y Initial program 93.1%
Taylor expanded in y around inf 77.9%
div-sub77.9%
Simplified77.9%
if -3.0999999999999999e177 < y < 1.8999999999999999e-85Initial program 78.3%
Taylor expanded in x around 0 41.9%
associate-/l*59.5%
Simplified59.5%
if 1.8999999999999999e-85 < y < 6.5e54Initial program 78.1%
Taylor expanded in a around inf 44.7%
Final simplification63.2%
(FPCore (x y z t a)
:precision binary64
(if (<= y -2.55e+179)
(* (- x t) (/ y (- z a)))
(if (<= y 3.7e-86)
(* t (/ (- y z) (- a z)))
(if (<= y 5.2e+54) x (* y (/ (- t x) (- a z)))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (y <= -2.55e+179) {
tmp = (x - t) * (y / (z - a));
} else if (y <= 3.7e-86) {
tmp = t * ((y - z) / (a - z));
} else if (y <= 5.2e+54) {
tmp = x;
} else {
tmp = y * ((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 (y <= (-2.55d+179)) then
tmp = (x - t) * (y / (z - a))
else if (y <= 3.7d-86) then
tmp = t * ((y - z) / (a - z))
else if (y <= 5.2d+54) then
tmp = x
else
tmp = y * ((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 (y <= -2.55e+179) {
tmp = (x - t) * (y / (z - a));
} else if (y <= 3.7e-86) {
tmp = t * ((y - z) / (a - z));
} else if (y <= 5.2e+54) {
tmp = x;
} else {
tmp = y * ((t - x) / (a - z));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if y <= -2.55e+179: tmp = (x - t) * (y / (z - a)) elif y <= 3.7e-86: tmp = t * ((y - z) / (a - z)) elif y <= 5.2e+54: tmp = x else: tmp = y * ((t - x) / (a - z)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (y <= -2.55e+179) tmp = Float64(Float64(x - t) * Float64(y / Float64(z - a))); elseif (y <= 3.7e-86) tmp = Float64(t * Float64(Float64(y - z) / Float64(a - z))); elseif (y <= 5.2e+54) tmp = x; else tmp = Float64(y * Float64(Float64(t - x) / Float64(a - z))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (y <= -2.55e+179) tmp = (x - t) * (y / (z - a)); elseif (y <= 3.7e-86) tmp = t * ((y - z) / (a - z)); elseif (y <= 5.2e+54) tmp = x; else tmp = y * ((t - x) / (a - z)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[y, -2.55e+179], N[(N[(x - t), $MachinePrecision] * N[(y / N[(z - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 3.7e-86], N[(t * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 5.2e+54], x, N[(y * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -2.55 \cdot 10^{+179}:\\
\;\;\;\;\left(x - t\right) \cdot \frac{y}{z - a}\\
\mathbf{elif}\;y \leq 3.7 \cdot 10^{-86}:\\
\;\;\;\;t \cdot \frac{y - z}{a - z}\\
\mathbf{elif}\;y \leq 5.2 \cdot 10^{+54}:\\
\;\;\;\;x\\
\mathbf{else}:\\
\;\;\;\;y \cdot \frac{t - x}{a - z}\\
\end{array}
\end{array}
if y < -2.5500000000000001e179Initial program 88.0%
Taylor expanded in y around -inf 71.9%
associate-*r/92.4%
clear-num88.8%
div-inv89.0%
associate-/r/97.7%
Applied egg-rr97.7%
if -2.5500000000000001e179 < y < 3.6999999999999998e-86Initial program 78.6%
Taylor expanded in x around 0 42.0%
associate-/l*59.4%
Simplified59.4%
if 3.6999999999999998e-86 < y < 5.20000000000000013e54Initial program 78.1%
Taylor expanded in a around inf 44.7%
if 5.20000000000000013e54 < y Initial program 94.3%
Taylor expanded in y around inf 74.6%
div-sub74.6%
Simplified74.6%
Final simplification63.6%
(FPCore (x y z t a) :precision binary64 (if (<= z -2.1e+27) t (if (<= z 4.6e-68) x (if (<= z 4.8e-5) (* t (/ y (- a z))) t))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -2.1e+27) {
tmp = t;
} else if (z <= 4.6e-68) {
tmp = x;
} else if (z <= 4.8e-5) {
tmp = t * (y / (a - z));
} 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.1d+27)) then
tmp = t
else if (z <= 4.6d-68) then
tmp = x
else if (z <= 4.8d-5) then
tmp = t * (y / (a - z))
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.1e+27) {
tmp = t;
} else if (z <= 4.6e-68) {
tmp = x;
} else if (z <= 4.8e-5) {
tmp = t * (y / (a - z));
} else {
tmp = t;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -2.1e+27: tmp = t elif z <= 4.6e-68: tmp = x elif z <= 4.8e-5: tmp = t * (y / (a - z)) else: tmp = t return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -2.1e+27) tmp = t; elseif (z <= 4.6e-68) tmp = x; elseif (z <= 4.8e-5) tmp = Float64(t * Float64(y / Float64(a - z))); else tmp = t; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -2.1e+27) tmp = t; elseif (z <= 4.6e-68) tmp = x; elseif (z <= 4.8e-5) tmp = t * (y / (a - z)); else tmp = t; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -2.1e+27], t, If[LessEqual[z, 4.6e-68], x, If[LessEqual[z, 4.8e-5], N[(t * N[(y / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -2.1 \cdot 10^{+27}:\\
\;\;\;\;t\\
\mathbf{elif}\;z \leq 4.6 \cdot 10^{-68}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq 4.8 \cdot 10^{-5}:\\
\;\;\;\;t \cdot \frac{y}{a - z}\\
\mathbf{else}:\\
\;\;\;\;t\\
\end{array}
\end{array}
if z < -2.09999999999999995e27 or 4.8000000000000001e-5 < z Initial program 72.4%
Taylor expanded in z around inf 50.6%
if -2.09999999999999995e27 < z < 4.59999999999999994e-68Initial program 92.1%
Taylor expanded in a around inf 41.1%
if 4.59999999999999994e-68 < z < 4.8000000000000001e-5Initial program 99.7%
Taylor expanded in y around inf 74.6%
div-sub74.7%
Simplified74.7%
Taylor expanded in t around inf 45.1%
associate-/l*55.0%
Simplified55.0%
Final simplification46.8%
(FPCore (x y z t a)
:precision binary64
(if (<= y -3.6e+109)
(* t (/ y (- a z)))
(if (<= y 4.2e-120)
(* t (/ z (- z a)))
(if (<= y 3.9e+55) x (* y (/ (- t x) a))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (y <= -3.6e+109) {
tmp = t * (y / (a - z));
} else if (y <= 4.2e-120) {
tmp = t * (z / (z - a));
} else if (y <= 3.9e+55) {
tmp = x;
} else {
tmp = y * ((t - x) / 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 (y <= (-3.6d+109)) then
tmp = t * (y / (a - z))
else if (y <= 4.2d-120) then
tmp = t * (z / (z - a))
else if (y <= 3.9d+55) then
tmp = x
else
tmp = y * ((t - x) / a)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (y <= -3.6e+109) {
tmp = t * (y / (a - z));
} else if (y <= 4.2e-120) {
tmp = t * (z / (z - a));
} else if (y <= 3.9e+55) {
tmp = x;
} else {
tmp = y * ((t - x) / a);
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if y <= -3.6e+109: tmp = t * (y / (a - z)) elif y <= 4.2e-120: tmp = t * (z / (z - a)) elif y <= 3.9e+55: tmp = x else: tmp = y * ((t - x) / a) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (y <= -3.6e+109) tmp = Float64(t * Float64(y / Float64(a - z))); elseif (y <= 4.2e-120) tmp = Float64(t * Float64(z / Float64(z - a))); elseif (y <= 3.9e+55) tmp = x; else tmp = Float64(y * Float64(Float64(t - x) / a)); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (y <= -3.6e+109) tmp = t * (y / (a - z)); elseif (y <= 4.2e-120) tmp = t * (z / (z - a)); elseif (y <= 3.9e+55) tmp = x; else tmp = y * ((t - x) / a); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[y, -3.6e+109], N[(t * N[(y / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 4.2e-120], N[(t * N[(z / N[(z - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 3.9e+55], x, N[(y * N[(N[(t - x), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -3.6 \cdot 10^{+109}:\\
\;\;\;\;t \cdot \frac{y}{a - z}\\
\mathbf{elif}\;y \leq 4.2 \cdot 10^{-120}:\\
\;\;\;\;t \cdot \frac{z}{z - a}\\
\mathbf{elif}\;y \leq 3.9 \cdot 10^{+55}:\\
\;\;\;\;x\\
\mathbf{else}:\\
\;\;\;\;y \cdot \frac{t - x}{a}\\
\end{array}
\end{array}
if y < -3.6e109Initial program 92.2%
Taylor expanded in y around inf 77.9%
div-sub77.9%
Simplified77.9%
Taylor expanded in t around inf 40.3%
associate-/l*59.9%
Simplified59.9%
if -3.6e109 < y < 4.2000000000000001e-120Initial program 75.6%
Taylor expanded in x around 0 42.3%
associate-/l*58.5%
Simplified58.5%
Taylor expanded in y around 0 50.7%
neg-mul-150.7%
distribute-neg-frac250.7%
neg-sub050.7%
associate--r-50.7%
neg-sub050.7%
Simplified50.7%
if 4.2000000000000001e-120 < y < 3.90000000000000027e55Initial program 80.3%
Taylor expanded in a around inf 43.1%
if 3.90000000000000027e55 < y Initial program 94.3%
Taylor expanded in y around inf 74.6%
div-sub74.6%
Simplified74.6%
Taylor expanded in a around inf 44.9%
Final simplification48.7%
(FPCore (x y z t a)
:precision binary64
(if (<= z -5.4e+27)
t
(if (<= z 2.45e-67)
x
(if (<= z 6.5e-7) (* t (/ y a)) (if (<= z 14.0) x t)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -5.4e+27) {
tmp = t;
} else if (z <= 2.45e-67) {
tmp = x;
} else if (z <= 6.5e-7) {
tmp = t * (y / a);
} else if (z <= 14.0) {
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 <= (-5.4d+27)) then
tmp = t
else if (z <= 2.45d-67) then
tmp = x
else if (z <= 6.5d-7) then
tmp = t * (y / a)
else if (z <= 14.0d0) 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 <= -5.4e+27) {
tmp = t;
} else if (z <= 2.45e-67) {
tmp = x;
} else if (z <= 6.5e-7) {
tmp = t * (y / a);
} else if (z <= 14.0) {
tmp = x;
} else {
tmp = t;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -5.4e+27: tmp = t elif z <= 2.45e-67: tmp = x elif z <= 6.5e-7: tmp = t * (y / a) elif z <= 14.0: tmp = x else: tmp = t return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -5.4e+27) tmp = t; elseif (z <= 2.45e-67) tmp = x; elseif (z <= 6.5e-7) tmp = Float64(t * Float64(y / a)); elseif (z <= 14.0) tmp = x; else tmp = t; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -5.4e+27) tmp = t; elseif (z <= 2.45e-67) tmp = x; elseif (z <= 6.5e-7) tmp = t * (y / a); elseif (z <= 14.0) tmp = x; else tmp = t; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -5.4e+27], t, If[LessEqual[z, 2.45e-67], x, If[LessEqual[z, 6.5e-7], N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 14.0], x, t]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -5.4 \cdot 10^{+27}:\\
\;\;\;\;t\\
\mathbf{elif}\;z \leq 2.45 \cdot 10^{-67}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq 6.5 \cdot 10^{-7}:\\
\;\;\;\;t \cdot \frac{y}{a}\\
\mathbf{elif}\;z \leq 14:\\
\;\;\;\;x\\
\mathbf{else}:\\
\;\;\;\;t\\
\end{array}
\end{array}
if z < -5.3999999999999995e27 or 14 < z Initial program 71.9%
Taylor expanded in z around inf 51.4%
if -5.3999999999999995e27 < z < 2.44999999999999997e-67 or 6.50000000000000024e-7 < z < 14Initial program 92.2%
Taylor expanded in a around inf 41.3%
if 2.44999999999999997e-67 < z < 6.50000000000000024e-7Initial program 99.7%
Taylor expanded in y around inf 74.6%
div-sub74.7%
Simplified74.7%
Taylor expanded in t around inf 45.1%
Taylor expanded in a around inf 35.9%
associate-/l*45.7%
Simplified45.7%
Final simplification46.4%
(FPCore (x y z t a) :precision binary64 (if (or (<= z -5.6e+26) (not (<= z 9.5e-21))) (+ t (* (/ (- t x) z) (- a y))) (+ x (/ (- t x) (/ a y)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -5.6e+26) || !(z <= 9.5e-21)) {
tmp = t + (((t - x) / z) * (a - y));
} else {
tmp = x + ((t - x) / (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) :: tmp
if ((z <= (-5.6d+26)) .or. (.not. (z <= 9.5d-21))) then
tmp = t + (((t - x) / z) * (a - y))
else
tmp = x + ((t - x) / (a / y))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -5.6e+26) || !(z <= 9.5e-21)) {
tmp = t + (((t - x) / z) * (a - y));
} else {
tmp = x + ((t - x) / (a / y));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (z <= -5.6e+26) or not (z <= 9.5e-21): tmp = t + (((t - x) / z) * (a - y)) else: tmp = x + ((t - x) / (a / y)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((z <= -5.6e+26) || !(z <= 9.5e-21)) tmp = Float64(t + Float64(Float64(Float64(t - x) / z) * Float64(a - y))); else tmp = Float64(x + Float64(Float64(t - x) / Float64(a / y))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((z <= -5.6e+26) || ~((z <= 9.5e-21))) tmp = t + (((t - x) / z) * (a - y)); else tmp = x + ((t - x) / (a / y)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[z, -5.6e+26], N[Not[LessEqual[z, 9.5e-21]], $MachinePrecision]], N[(t + N[(N[(N[(t - x), $MachinePrecision] / z), $MachinePrecision] * N[(a - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x + N[(N[(t - x), $MachinePrecision] / N[(a / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -5.6 \cdot 10^{+26} \lor \neg \left(z \leq 9.5 \cdot 10^{-21}\right):\\
\;\;\;\;t + \frac{t - x}{z} \cdot \left(a - y\right)\\
\mathbf{else}:\\
\;\;\;\;x + \frac{t - x}{\frac{a}{y}}\\
\end{array}
\end{array}
if z < -5.59999999999999999e26 or 9.4999999999999994e-21 < z Initial program 73.4%
Taylor expanded in z around inf 63.7%
associate--l+63.7%
distribute-lft-out--63.7%
div-sub63.7%
mul-1-neg63.7%
unsub-neg63.7%
div-sub63.7%
associate-/l*72.4%
associate-/l*76.6%
distribute-rgt-out--76.7%
Simplified76.7%
if -5.59999999999999999e26 < z < 9.4999999999999994e-21Initial program 92.9%
*-commutative92.9%
associate-*l/87.2%
associate-*r/95.3%
clear-num95.2%
un-div-inv95.3%
Applied egg-rr95.3%
Taylor expanded in z around 0 77.8%
Final simplification77.3%
(FPCore (x y z t a) :precision binary64 (if (or (<= a -3.7e-103) (not (<= a 7.2e+62))) (- x (* y (/ (- x t) a))) (* t (/ (- y z) (- a z)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a <= -3.7e-103) || !(a <= 7.2e+62)) {
tmp = x - (y * ((x - t) / a));
} else {
tmp = t * ((y - z) / (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 ((a <= (-3.7d-103)) .or. (.not. (a <= 7.2d+62))) then
tmp = x - (y * ((x - t) / a))
else
tmp = t * ((y - z) / (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 ((a <= -3.7e-103) || !(a <= 7.2e+62)) {
tmp = x - (y * ((x - t) / a));
} else {
tmp = t * ((y - z) / (a - z));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (a <= -3.7e-103) or not (a <= 7.2e+62): tmp = x - (y * ((x - t) / a)) else: tmp = t * ((y - z) / (a - z)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((a <= -3.7e-103) || !(a <= 7.2e+62)) tmp = Float64(x - Float64(y * Float64(Float64(x - t) / a))); else tmp = Float64(t * Float64(Float64(y - z) / Float64(a - z))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((a <= -3.7e-103) || ~((a <= 7.2e+62))) tmp = x - (y * ((x - t) / a)); else tmp = t * ((y - z) / (a - z)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[a, -3.7e-103], N[Not[LessEqual[a, 7.2e+62]], $MachinePrecision]], N[(x - N[(y * N[(N[(x - t), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(t * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -3.7 \cdot 10^{-103} \lor \neg \left(a \leq 7.2 \cdot 10^{+62}\right):\\
\;\;\;\;x - y \cdot \frac{x - t}{a}\\
\mathbf{else}:\\
\;\;\;\;t \cdot \frac{y - z}{a - z}\\
\end{array}
\end{array}
if a < -3.6999999999999999e-103 or 7.2e62 < a Initial program 91.7%
Taylor expanded in z around 0 62.4%
associate-/l*71.1%
Simplified71.1%
if -3.6999999999999999e-103 < a < 7.2e62Initial program 73.0%
Taylor expanded in x around 0 55.7%
associate-/l*69.9%
Simplified69.9%
Final simplification70.5%
(FPCore (x y z t a) :precision binary64 (if (or (<= a -3.3e-103) (not (<= a 2.05e-12))) (+ x (/ (- t x) (/ a y))) (+ t (* y (/ (- x t) z)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a <= -3.3e-103) || !(a <= 2.05e-12)) {
tmp = x + ((t - x) / (a / y));
} else {
tmp = t + (y * ((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) :: tmp
if ((a <= (-3.3d-103)) .or. (.not. (a <= 2.05d-12))) then
tmp = x + ((t - x) / (a / y))
else
tmp = t + (y * ((x - t) / z))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a <= -3.3e-103) || !(a <= 2.05e-12)) {
tmp = x + ((t - x) / (a / y));
} else {
tmp = t + (y * ((x - t) / z));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (a <= -3.3e-103) or not (a <= 2.05e-12): tmp = x + ((t - x) / (a / y)) else: tmp = t + (y * ((x - t) / z)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((a <= -3.3e-103) || !(a <= 2.05e-12)) tmp = Float64(x + Float64(Float64(t - x) / Float64(a / y))); else tmp = Float64(t + Float64(y * Float64(Float64(x - t) / z))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((a <= -3.3e-103) || ~((a <= 2.05e-12))) tmp = x + ((t - x) / (a / y)); else tmp = t + (y * ((x - t) / z)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[a, -3.3e-103], N[Not[LessEqual[a, 2.05e-12]], $MachinePrecision]], N[(x + N[(N[(t - x), $MachinePrecision] / N[(a / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(t + N[(y * N[(N[(x - t), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -3.3 \cdot 10^{-103} \lor \neg \left(a \leq 2.05 \cdot 10^{-12}\right):\\
\;\;\;\;x + \frac{t - x}{\frac{a}{y}}\\
\mathbf{else}:\\
\;\;\;\;t + y \cdot \frac{x - t}{z}\\
\end{array}
\end{array}
if a < -3.2999999999999999e-103 or 2.04999999999999995e-12 < a Initial program 91.7%
*-commutative91.7%
associate-*l/70.5%
associate-*r/93.9%
clear-num93.8%
un-div-inv93.8%
Applied egg-rr93.8%
Taylor expanded in z around 0 70.9%
if -3.2999999999999999e-103 < a < 2.04999999999999995e-12Initial program 70.9%
Taylor expanded in z around inf 79.8%
associate--l+79.8%
distribute-lft-out--79.8%
div-sub80.8%
mul-1-neg80.8%
unsub-neg80.8%
div-sub79.8%
associate-/l*83.9%
associate-/l*80.9%
distribute-rgt-out--84.9%
Simplified84.9%
Taylor expanded in y around inf 78.1%
associate-/l*82.2%
Simplified82.2%
Final simplification75.6%
(FPCore (x y z t a) :precision binary64 (if (<= x -3.2e+94) x (if (<= x 3.5e+157) (* t (/ (- y z) (- a z))) x)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (x <= -3.2e+94) {
tmp = x;
} else if (x <= 3.5e+157) {
tmp = t * ((y - z) / (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) :: tmp
if (x <= (-3.2d+94)) then
tmp = x
else if (x <= 3.5d+157) then
tmp = t * ((y - z) / (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 tmp;
if (x <= -3.2e+94) {
tmp = x;
} else if (x <= 3.5e+157) {
tmp = t * ((y - z) / (a - z));
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if x <= -3.2e+94: tmp = x elif x <= 3.5e+157: tmp = t * ((y - z) / (a - z)) else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (x <= -3.2e+94) tmp = x; elseif (x <= 3.5e+157) tmp = Float64(t * Float64(Float64(y - z) / Float64(a - z))); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (x <= -3.2e+94) tmp = x; elseif (x <= 3.5e+157) tmp = t * ((y - z) / (a - z)); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[x, -3.2e+94], x, If[LessEqual[x, 3.5e+157], N[(t * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], x]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -3.2 \cdot 10^{+94}:\\
\;\;\;\;x\\
\mathbf{elif}\;x \leq 3.5 \cdot 10^{+157}:\\
\;\;\;\;t \cdot \frac{y - z}{a - z}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if x < -3.20000000000000014e94 or 3.50000000000000002e157 < x Initial program 76.5%
Taylor expanded in a around inf 43.8%
if -3.20000000000000014e94 < x < 3.50000000000000002e157Initial program 85.7%
Taylor expanded in x around 0 50.3%
associate-/l*68.3%
Simplified68.3%
Final simplification61.5%
(FPCore (x y z t a) :precision binary64 (if (<= z -1.16e+27) t (if (<= z 82.0) x t)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -1.16e+27) {
tmp = t;
} else if (z <= 82.0) {
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 <= (-1.16d+27)) then
tmp = t
else if (z <= 82.0d0) 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 <= -1.16e+27) {
tmp = t;
} else if (z <= 82.0) {
tmp = x;
} else {
tmp = t;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -1.16e+27: tmp = t elif z <= 82.0: tmp = x else: tmp = t return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -1.16e+27) tmp = t; elseif (z <= 82.0) tmp = x; else tmp = t; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -1.16e+27) tmp = t; elseif (z <= 82.0) tmp = x; else tmp = t; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -1.16e+27], t, If[LessEqual[z, 82.0], x, t]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -1.16 \cdot 10^{+27}:\\
\;\;\;\;t\\
\mathbf{elif}\;z \leq 82:\\
\;\;\;\;x\\
\mathbf{else}:\\
\;\;\;\;t\\
\end{array}
\end{array}
if z < -1.16e27 or 82 < z Initial program 71.9%
Taylor expanded in z around inf 51.4%
if -1.16e27 < z < 82Initial program 93.3%
Taylor expanded in a around inf 38.3%
Final simplification44.5%
(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 83.1%
Taylor expanded in z around inf 27.2%
Final simplification27.2%
herbie shell --seed 2024079
(FPCore (x y z t a)
:name "Numeric.Signal:interpolate from hsignal-0.2.7.1"
:precision binary64
(+ x (* (- y z) (/ (- t x) (- a z)))))