
(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 24 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 (* (- z y) (/ (- x t) (- a z))))) (t_2 (/ z (- t x))))
(if (<= t_1 -1e-244)
(+ x (/ (- t x) (/ (- a z) (- y z))))
(if (<= t_1 0.0)
(+
t
(-
(/ a t_2)
(+ (/ y t_2) (* (/ a z) (/ (- x t) (/ z (fma y -1.0 a)))))))
(fma (/ (- y z) (- a z)) (- t x) x)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((z - y) * ((x - t) / (a - z)));
double t_2 = z / (t - x);
double tmp;
if (t_1 <= -1e-244) {
tmp = x + ((t - x) / ((a - z) / (y - z)));
} else if (t_1 <= 0.0) {
tmp = t + ((a / t_2) - ((y / t_2) + ((a / z) * ((x - t) / (z / fma(y, -1.0, a))))));
} else {
tmp = fma(((y - z) / (a - z)), (t - x), x);
}
return tmp;
}
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(z - y) * Float64(Float64(x - t) / Float64(a - z)))) t_2 = Float64(z / Float64(t - x)) tmp = 0.0 if (t_1 <= -1e-244) tmp = Float64(x + Float64(Float64(t - x) / Float64(Float64(a - z) / Float64(y - z)))); elseif (t_1 <= 0.0) tmp = Float64(t + Float64(Float64(a / t_2) - Float64(Float64(y / t_2) + Float64(Float64(a / z) * Float64(Float64(x - t) / Float64(z / fma(y, -1.0, a))))))); else tmp = fma(Float64(Float64(y - z) / Float64(a - z)), Float64(t - x), x); end return tmp end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(z - y), $MachinePrecision] * N[(N[(x - t), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(z / N[(t - x), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, -1e-244], 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[(t + N[(N[(a / t$95$2), $MachinePrecision] - N[(N[(y / t$95$2), $MachinePrecision] + N[(N[(a / z), $MachinePrecision] * N[(N[(x - t), $MachinePrecision] / N[(z / N[(y * -1.0 + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision] * N[(t - x), $MachinePrecision] + x), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \left(z - y\right) \cdot \frac{x - t}{a - z}\\
t_2 := \frac{z}{t - x}\\
\mathbf{if}\;t_1 \leq -1 \cdot 10^{-244}:\\
\;\;\;\;x + \frac{t - x}{\frac{a - z}{y - z}}\\
\mathbf{elif}\;t_1 \leq 0:\\
\;\;\;\;t + \left(\frac{a}{t_2} - \left(\frac{y}{t_2} + \frac{a}{z} \cdot \frac{x - t}{\frac{z}{\mathsf{fma}\left(y, -1, a\right)}}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{y - z}{a - z}, t - x, x\right)\\
\end{array}
\end{array}
if (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) < -9.9999999999999993e-245Initial program 90.6%
associate-*r/78.3%
*-commutative78.3%
associate-/l*94.4%
Applied egg-rr94.4%
if -9.9999999999999993e-245 < (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) < 0.0Initial program 3.7%
Taylor expanded in z around inf 64.3%
Simplified99.7%
if 0.0 < (+.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%
associate-*r/80.1%
associate-/l*91.3%
associate-/r/97.7%
fma-neg97.7%
remove-double-neg97.7%
Simplified97.7%
Final simplification96.5%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* (- z y) (/ (- x t) (- a z))))))
(if (<= t_1 -1e-244)
(+ x (/ (- t x) (/ (- a z) (- y z))))
(if (<= t_1 0.0)
(- t (pow (/ (/ z (- y a)) (- t x)) -1.0))
(fma (/ (- y z) (- a z)) (- t x) x)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((z - y) * ((x - t) / (a - z)));
double tmp;
if (t_1 <= -1e-244) {
tmp = x + ((t - x) / ((a - z) / (y - z)));
} else if (t_1 <= 0.0) {
tmp = t - pow(((z / (y - a)) / (t - x)), -1.0);
} else {
tmp = fma(((y - z) / (a - z)), (t - x), x);
}
return tmp;
}
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(z - y) * Float64(Float64(x - t) / Float64(a - z)))) tmp = 0.0 if (t_1 <= -1e-244) tmp = Float64(x + Float64(Float64(t - x) / Float64(Float64(a - z) / Float64(y - z)))); elseif (t_1 <= 0.0) tmp = Float64(t - (Float64(Float64(z / Float64(y - a)) / Float64(t - x)) ^ -1.0)); else tmp = fma(Float64(Float64(y - z) / Float64(a - z)), Float64(t - x), x); end return tmp end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(z - y), $MachinePrecision] * N[(N[(x - t), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, -1e-244], 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[(t - N[Power[N[(N[(z / N[(y - a), $MachinePrecision]), $MachinePrecision] / N[(t - x), $MachinePrecision]), $MachinePrecision], -1.0], $MachinePrecision]), $MachinePrecision], N[(N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision] * N[(t - x), $MachinePrecision] + x), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \left(z - y\right) \cdot \frac{x - t}{a - z}\\
\mathbf{if}\;t_1 \leq -1 \cdot 10^{-244}:\\
\;\;\;\;x + \frac{t - x}{\frac{a - z}{y - z}}\\
\mathbf{elif}\;t_1 \leq 0:\\
\;\;\;\;t - {\left(\frac{\frac{z}{y - a}}{t - x}\right)}^{-1}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{y - z}{a - z}, t - x, x\right)\\
\end{array}
\end{array}
if (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) < -9.9999999999999993e-245Initial program 90.6%
associate-*r/78.3%
*-commutative78.3%
associate-/l*94.4%
Applied egg-rr94.4%
if -9.9999999999999993e-245 < (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) < 0.0Initial program 3.7%
Taylor expanded in z around inf 71.7%
associate--l+71.7%
associate-*r/71.7%
associate-*r/71.7%
div-sub71.7%
distribute-lft-out--71.7%
associate-*r/71.7%
mul-1-neg71.7%
unsub-neg71.7%
distribute-rgt-out--71.9%
associate-/l*95.1%
Simplified95.1%
clear-num95.2%
inv-pow95.2%
Applied egg-rr95.2%
if 0.0 < (+.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%
associate-*r/80.1%
associate-/l*91.3%
associate-/r/97.7%
fma-neg97.7%
remove-double-neg97.7%
Simplified97.7%
Final simplification95.9%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* (- z y) (/ (- x t) (- a z))))))
(if (<= t_1 -1e-244)
(+ x (/ (- t x) (/ (- a z) (- y z))))
(if (<= t_1 0.0)
(+ t (/ (- x t) (/ z (- y a))))
(fma (/ (- y z) (- a z)) (- t x) x)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((z - y) * ((x - t) / (a - z)));
double tmp;
if (t_1 <= -1e-244) {
tmp = x + ((t - x) / ((a - z) / (y - z)));
} else if (t_1 <= 0.0) {
tmp = t + ((x - t) / (z / (y - a)));
} else {
tmp = fma(((y - z) / (a - z)), (t - x), x);
}
return tmp;
}
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(z - y) * Float64(Float64(x - t) / Float64(a - z)))) tmp = 0.0 if (t_1 <= -1e-244) tmp = Float64(x + Float64(Float64(t - x) / Float64(Float64(a - z) / Float64(y - z)))); elseif (t_1 <= 0.0) tmp = Float64(t + Float64(Float64(x - t) / Float64(z / Float64(y - a)))); else tmp = fma(Float64(Float64(y - z) / Float64(a - z)), Float64(t - x), x); end return tmp end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(z - y), $MachinePrecision] * N[(N[(x - t), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, -1e-244], 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[(t + N[(N[(x - t), $MachinePrecision] / N[(z / N[(y - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision] * N[(t - x), $MachinePrecision] + x), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \left(z - y\right) \cdot \frac{x - t}{a - z}\\
\mathbf{if}\;t_1 \leq -1 \cdot 10^{-244}:\\
\;\;\;\;x + \frac{t - x}{\frac{a - z}{y - z}}\\
\mathbf{elif}\;t_1 \leq 0:\\
\;\;\;\;t + \frac{x - t}{\frac{z}{y - a}}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{y - z}{a - z}, t - x, x\right)\\
\end{array}
\end{array}
if (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) < -9.9999999999999993e-245Initial program 90.6%
associate-*r/78.3%
*-commutative78.3%
associate-/l*94.4%
Applied egg-rr94.4%
if -9.9999999999999993e-245 < (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) < 0.0Initial program 3.7%
Taylor expanded in z around inf 71.7%
associate--l+71.7%
associate-*r/71.7%
associate-*r/71.7%
div-sub71.7%
distribute-lft-out--71.7%
associate-*r/71.7%
mul-1-neg71.7%
unsub-neg71.7%
distribute-rgt-out--71.9%
associate-/l*95.1%
Simplified95.1%
if 0.0 < (+.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%
associate-*r/80.1%
associate-/l*91.3%
associate-/r/97.7%
fma-neg97.7%
remove-double-neg97.7%
Simplified97.7%
Final simplification95.9%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* (- z y) (/ (- x t) (- a z))))))
(if (<= t_1 -1e-244)
t_1
(if (<= t_1 0.0)
(+ t (/ (- x t) (/ z (- y a))))
(if (<= t_1 2e-22) (+ x (/ (* (- y z) (- t x)) (- a z))) t_1)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((z - y) * ((x - t) / (a - z)));
double tmp;
if (t_1 <= -1e-244) {
tmp = t_1;
} else if (t_1 <= 0.0) {
tmp = t + ((x - t) / (z / (y - a)));
} else if (t_1 <= 2e-22) {
tmp = x + (((y - z) * (t - x)) / (a - z));
} 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 = x + ((z - y) * ((x - t) / (a - z)))
if (t_1 <= (-1d-244)) then
tmp = t_1
else if (t_1 <= 0.0d0) then
tmp = t + ((x - t) / (z / (y - a)))
else if (t_1 <= 2d-22) then
tmp = x + (((y - z) * (t - x)) / (a - z))
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 + ((z - y) * ((x - t) / (a - z)));
double tmp;
if (t_1 <= -1e-244) {
tmp = t_1;
} else if (t_1 <= 0.0) {
tmp = t + ((x - t) / (z / (y - a)));
} else if (t_1 <= 2e-22) {
tmp = x + (((y - z) * (t - x)) / (a - z));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((z - y) * ((x - t) / (a - z))) tmp = 0 if t_1 <= -1e-244: tmp = t_1 elif t_1 <= 0.0: tmp = t + ((x - t) / (z / (y - a))) elif t_1 <= 2e-22: tmp = x + (((y - z) * (t - x)) / (a - z)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(z - y) * Float64(Float64(x - t) / Float64(a - z)))) tmp = 0.0 if (t_1 <= -1e-244) tmp = t_1; elseif (t_1 <= 0.0) tmp = Float64(t + Float64(Float64(x - t) / Float64(z / Float64(y - a)))); elseif (t_1 <= 2e-22) tmp = Float64(x + Float64(Float64(Float64(y - z) * Float64(t - x)) / Float64(a - z))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + ((z - y) * ((x - t) / (a - z))); tmp = 0.0; if (t_1 <= -1e-244) tmp = t_1; elseif (t_1 <= 0.0) tmp = t + ((x - t) / (z / (y - a))); elseif (t_1 <= 2e-22) tmp = x + (((y - z) * (t - x)) / (a - z)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(z - y), $MachinePrecision] * N[(N[(x - t), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, -1e-244], t$95$1, If[LessEqual[t$95$1, 0.0], N[(t + N[(N[(x - t), $MachinePrecision] / N[(z / N[(y - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$1, 2e-22], N[(x + N[(N[(N[(y - z), $MachinePrecision] * N[(t - x), $MachinePrecision]), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \left(z - y\right) \cdot \frac{x - t}{a - z}\\
\mathbf{if}\;t_1 \leq -1 \cdot 10^{-244}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t_1 \leq 0:\\
\;\;\;\;t + \frac{x - t}{\frac{z}{y - a}}\\
\mathbf{elif}\;t_1 \leq 2 \cdot 10^{-22}:\\
\;\;\;\;x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) < -9.9999999999999993e-245 or 2.0000000000000001e-22 < (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) Initial program 93.3%
if -9.9999999999999993e-245 < (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) < 0.0Initial program 3.7%
Taylor expanded in z around inf 71.7%
associate--l+71.7%
associate-*r/71.7%
associate-*r/71.7%
div-sub71.7%
distribute-lft-out--71.7%
associate-*r/71.7%
mul-1-neg71.7%
unsub-neg71.7%
distribute-rgt-out--71.9%
associate-/l*95.1%
Simplified95.1%
if 0.0 < (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) < 2.0000000000000001e-22Initial program 80.1%
associate-*r/98.7%
Simplified98.7%
Final simplification94.2%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* (- z y) (/ (- x t) (- a z))))))
(if (or (<= t_1 -1e-244) (not (<= t_1 1e-262)))
t_1
(+ t (/ (- x t) (/ z (- y a)))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((z - y) * ((x - t) / (a - z)));
double tmp;
if ((t_1 <= -1e-244) || !(t_1 <= 1e-262)) {
tmp = t_1;
} else {
tmp = t + ((x - t) / (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) :: t_1
real(8) :: tmp
t_1 = x + ((z - y) * ((x - t) / (a - z)))
if ((t_1 <= (-1d-244)) .or. (.not. (t_1 <= 1d-262))) then
tmp = t_1
else
tmp = t + ((x - t) / (z / (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 = x + ((z - y) * ((x - t) / (a - z)));
double tmp;
if ((t_1 <= -1e-244) || !(t_1 <= 1e-262)) {
tmp = t_1;
} else {
tmp = t + ((x - t) / (z / (y - a)));
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((z - y) * ((x - t) / (a - z))) tmp = 0 if (t_1 <= -1e-244) or not (t_1 <= 1e-262): tmp = t_1 else: tmp = t + ((x - t) / (z / (y - a))) return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(z - y) * Float64(Float64(x - t) / Float64(a - z)))) tmp = 0.0 if ((t_1 <= -1e-244) || !(t_1 <= 1e-262)) tmp = t_1; else tmp = Float64(t + Float64(Float64(x - t) / Float64(z / Float64(y - a)))); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + ((z - y) * ((x - t) / (a - z))); tmp = 0.0; if ((t_1 <= -1e-244) || ~((t_1 <= 1e-262))) tmp = t_1; else tmp = t + ((x - t) / (z / (y - a))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(z - y), $MachinePrecision] * N[(N[(x - t), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Or[LessEqual[t$95$1, -1e-244], N[Not[LessEqual[t$95$1, 1e-262]], $MachinePrecision]], t$95$1, N[(t + N[(N[(x - t), $MachinePrecision] / N[(z / N[(y - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \left(z - y\right) \cdot \frac{x - t}{a - z}\\
\mathbf{if}\;t_1 \leq -1 \cdot 10^{-244} \lor \neg \left(t_1 \leq 10^{-262}\right):\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t + \frac{x - t}{\frac{z}{y - a}}\\
\end{array}
\end{array}
if (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) < -9.9999999999999993e-245 or 1.00000000000000001e-262 < (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) Initial program 92.8%
if -9.9999999999999993e-245 < (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) < 1.00000000000000001e-262Initial program 8.9%
Taylor expanded in z around inf 68.7%
associate--l+68.7%
associate-*r/68.7%
associate-*r/68.7%
div-sub68.7%
distribute-lft-out--68.7%
associate-*r/68.7%
mul-1-neg68.7%
unsub-neg68.7%
distribute-rgt-out--68.9%
associate-/l*88.4%
Simplified88.4%
Final simplification92.2%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* (- z y) (/ (- x t) (- a z))))))
(if (or (<= t_1 -1e-244) (not (<= t_1 0.0)))
(+ x (/ (- t x) (/ (- a z) (- y z))))
(+ t (/ (- x t) (/ z (- y a)))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((z - y) * ((x - t) / (a - z)));
double tmp;
if ((t_1 <= -1e-244) || !(t_1 <= 0.0)) {
tmp = x + ((t - x) / ((a - z) / (y - z)));
} else {
tmp = t + ((x - t) / (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) :: t_1
real(8) :: tmp
t_1 = x + ((z - y) * ((x - t) / (a - z)))
if ((t_1 <= (-1d-244)) .or. (.not. (t_1 <= 0.0d0))) then
tmp = x + ((t - x) / ((a - z) / (y - z)))
else
tmp = t + ((x - t) / (z / (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 = x + ((z - y) * ((x - t) / (a - z)));
double tmp;
if ((t_1 <= -1e-244) || !(t_1 <= 0.0)) {
tmp = x + ((t - x) / ((a - z) / (y - z)));
} else {
tmp = t + ((x - t) / (z / (y - a)));
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((z - y) * ((x - t) / (a - z))) tmp = 0 if (t_1 <= -1e-244) or not (t_1 <= 0.0): tmp = x + ((t - x) / ((a - z) / (y - z))) else: tmp = t + ((x - t) / (z / (y - a))) return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(z - y) * Float64(Float64(x - t) / Float64(a - z)))) tmp = 0.0 if ((t_1 <= -1e-244) || !(t_1 <= 0.0)) tmp = Float64(x + Float64(Float64(t - x) / Float64(Float64(a - z) / Float64(y - z)))); else tmp = Float64(t + Float64(Float64(x - t) / Float64(z / Float64(y - a)))); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + ((z - y) * ((x - t) / (a - z))); tmp = 0.0; if ((t_1 <= -1e-244) || ~((t_1 <= 0.0))) tmp = x + ((t - x) / ((a - z) / (y - z))); else tmp = t + ((x - t) / (z / (y - a))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(z - y), $MachinePrecision] * N[(N[(x - t), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Or[LessEqual[t$95$1, -1e-244], 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[(x - t), $MachinePrecision] / N[(z / N[(y - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \left(z - y\right) \cdot \frac{x - t}{a - z}\\
\mathbf{if}\;t_1 \leq -1 \cdot 10^{-244} \lor \neg \left(t_1 \leq 0\right):\\
\;\;\;\;x + \frac{t - x}{\frac{a - z}{y - z}}\\
\mathbf{else}:\\
\;\;\;\;t + \frac{x - t}{\frac{z}{y - a}}\\
\end{array}
\end{array}
if (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) < -9.9999999999999993e-245 or 0.0 < (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) Initial program 91.3%
associate-*r/79.1%
*-commutative79.1%
associate-/l*96.0%
Applied egg-rr96.0%
if -9.9999999999999993e-245 < (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) < 0.0Initial program 3.7%
Taylor expanded in z around inf 71.7%
associate--l+71.7%
associate-*r/71.7%
associate-*r/71.7%
div-sub71.7%
distribute-lft-out--71.7%
associate-*r/71.7%
mul-1-neg71.7%
unsub-neg71.7%
distribute-rgt-out--71.9%
associate-/l*95.1%
Simplified95.1%
Final simplification95.9%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (/ (- y z) (- a z)))) (t_2 (* x (- 1.0 (/ y a)))))
(if (<= t -5.6e+42)
t_1
(if (<= t -4.2e-150)
(+ t (* y (/ x z)))
(if (<= t -1.12e-206)
t_2
(if (<= t -2.9e-255)
(/ (* x (- y a)) z)
(if (<= t 1.22e-91) t_2 t_1)))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t * ((y - z) / (a - z));
double t_2 = x * (1.0 - (y / a));
double tmp;
if (t <= -5.6e+42) {
tmp = t_1;
} else if (t <= -4.2e-150) {
tmp = t + (y * (x / z));
} else if (t <= -1.12e-206) {
tmp = t_2;
} else if (t <= -2.9e-255) {
tmp = (x * (y - a)) / z;
} else if (t <= 1.22e-91) {
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 - z) / (a - z))
t_2 = x * (1.0d0 - (y / a))
if (t <= (-5.6d+42)) then
tmp = t_1
else if (t <= (-4.2d-150)) then
tmp = t + (y * (x / z))
else if (t <= (-1.12d-206)) then
tmp = t_2
else if (t <= (-2.9d-255)) then
tmp = (x * (y - a)) / z
else if (t <= 1.22d-91) 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 - z) / (a - z));
double t_2 = x * (1.0 - (y / a));
double tmp;
if (t <= -5.6e+42) {
tmp = t_1;
} else if (t <= -4.2e-150) {
tmp = t + (y * (x / z));
} else if (t <= -1.12e-206) {
tmp = t_2;
} else if (t <= -2.9e-255) {
tmp = (x * (y - a)) / z;
} else if (t <= 1.22e-91) {
tmp = t_2;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t * ((y - z) / (a - z)) t_2 = x * (1.0 - (y / a)) tmp = 0 if t <= -5.6e+42: tmp = t_1 elif t <= -4.2e-150: tmp = t + (y * (x / z)) elif t <= -1.12e-206: tmp = t_2 elif t <= -2.9e-255: tmp = (x * (y - a)) / z elif t <= 1.22e-91: tmp = t_2 else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(t * Float64(Float64(y - z) / Float64(a - z))) t_2 = Float64(x * Float64(1.0 - Float64(y / a))) tmp = 0.0 if (t <= -5.6e+42) tmp = t_1; elseif (t <= -4.2e-150) tmp = Float64(t + Float64(y * Float64(x / z))); elseif (t <= -1.12e-206) tmp = t_2; elseif (t <= -2.9e-255) tmp = Float64(Float64(x * Float64(y - a)) / z); elseif (t <= 1.22e-91) tmp = t_2; else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t * ((y - z) / (a - z)); t_2 = x * (1.0 - (y / a)); tmp = 0.0; if (t <= -5.6e+42) tmp = t_1; elseif (t <= -4.2e-150) tmp = t + (y * (x / z)); elseif (t <= -1.12e-206) tmp = t_2; elseif (t <= -2.9e-255) tmp = (x * (y - a)) / z; elseif (t <= 1.22e-91) 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[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x * N[(1.0 - N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -5.6e+42], t$95$1, If[LessEqual[t, -4.2e-150], N[(t + N[(y * N[(x / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, -1.12e-206], t$95$2, If[LessEqual[t, -2.9e-255], N[(N[(x * N[(y - a), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision], If[LessEqual[t, 1.22e-91], t$95$2, t$95$1]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \frac{y - z}{a - z}\\
t_2 := x \cdot \left(1 - \frac{y}{a}\right)\\
\mathbf{if}\;t \leq -5.6 \cdot 10^{+42}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq -4.2 \cdot 10^{-150}:\\
\;\;\;\;t + y \cdot \frac{x}{z}\\
\mathbf{elif}\;t \leq -1.12 \cdot 10^{-206}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;t \leq -2.9 \cdot 10^{-255}:\\
\;\;\;\;\frac{x \cdot \left(y - a\right)}{z}\\
\mathbf{elif}\;t \leq 1.22 \cdot 10^{-91}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if t < -5.5999999999999999e42 or 1.21999999999999998e-91 < t Initial program 91.5%
Taylor expanded in x around 0 55.3%
associate-*r/75.9%
Simplified75.9%
if -5.5999999999999999e42 < t < -4.2000000000000002e-150Initial program 73.1%
Taylor expanded in z around inf 62.5%
associate--l+62.5%
associate-*r/62.5%
associate-*r/62.5%
div-sub62.6%
distribute-lft-out--62.6%
associate-*r/62.6%
mul-1-neg62.6%
unsub-neg62.6%
distribute-rgt-out--62.9%
associate-/l*71.0%
Simplified71.0%
Taylor expanded in y around inf 63.4%
Taylor expanded in t around 0 53.4%
mul-1-neg53.4%
associate-/l*56.9%
associate-/r/57.8%
distribute-rgt-neg-in57.8%
Simplified57.8%
if -4.2000000000000002e-150 < t < -1.11999999999999997e-206 or -2.90000000000000007e-255 < t < 1.21999999999999998e-91Initial program 72.4%
associate-*r/73.7%
*-commutative73.7%
associate-/l*75.0%
Applied egg-rr75.0%
Taylor expanded in z around 0 61.0%
Taylor expanded in x around inf 59.2%
mul-1-neg59.2%
unsub-neg59.2%
Simplified59.2%
if -1.11999999999999997e-206 < t < -2.90000000000000007e-255Initial program 17.1%
Taylor expanded in z around inf 88.2%
associate--l+88.2%
associate-*r/88.2%
associate-*r/88.2%
div-sub88.2%
distribute-lft-out--88.2%
associate-*r/88.2%
mul-1-neg88.2%
unsub-neg88.2%
distribute-rgt-out--88.2%
associate-/l*75.9%
Simplified75.9%
Taylor expanded in t around 0 65.0%
Final simplification67.8%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (/ (- y z) (- a z)))) (t_2 (* x (- 1.0 (/ y a)))))
(if (<= t -1.95e+43)
t_1
(if (<= t -2.55e-148)
(+ t (* y (/ x z)))
(if (<= t -3.6e-223)
t_2
(if (<= t -4.8e-255)
(+ t (/ a (/ z (- t x))))
(if (<= t 6e-89) t_2 t_1)))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t * ((y - z) / (a - z));
double t_2 = x * (1.0 - (y / a));
double tmp;
if (t <= -1.95e+43) {
tmp = t_1;
} else if (t <= -2.55e-148) {
tmp = t + (y * (x / z));
} else if (t <= -3.6e-223) {
tmp = t_2;
} else if (t <= -4.8e-255) {
tmp = t + (a / (z / (t - x)));
} else if (t <= 6e-89) {
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 - z) / (a - z))
t_2 = x * (1.0d0 - (y / a))
if (t <= (-1.95d+43)) then
tmp = t_1
else if (t <= (-2.55d-148)) then
tmp = t + (y * (x / z))
else if (t <= (-3.6d-223)) then
tmp = t_2
else if (t <= (-4.8d-255)) then
tmp = t + (a / (z / (t - x)))
else if (t <= 6d-89) 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 - z) / (a - z));
double t_2 = x * (1.0 - (y / a));
double tmp;
if (t <= -1.95e+43) {
tmp = t_1;
} else if (t <= -2.55e-148) {
tmp = t + (y * (x / z));
} else if (t <= -3.6e-223) {
tmp = t_2;
} else if (t <= -4.8e-255) {
tmp = t + (a / (z / (t - x)));
} else if (t <= 6e-89) {
tmp = t_2;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t * ((y - z) / (a - z)) t_2 = x * (1.0 - (y / a)) tmp = 0 if t <= -1.95e+43: tmp = t_1 elif t <= -2.55e-148: tmp = t + (y * (x / z)) elif t <= -3.6e-223: tmp = t_2 elif t <= -4.8e-255: tmp = t + (a / (z / (t - x))) elif t <= 6e-89: tmp = t_2 else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(t * Float64(Float64(y - z) / Float64(a - z))) t_2 = Float64(x * Float64(1.0 - Float64(y / a))) tmp = 0.0 if (t <= -1.95e+43) tmp = t_1; elseif (t <= -2.55e-148) tmp = Float64(t + Float64(y * Float64(x / z))); elseif (t <= -3.6e-223) tmp = t_2; elseif (t <= -4.8e-255) tmp = Float64(t + Float64(a / Float64(z / Float64(t - x)))); elseif (t <= 6e-89) tmp = t_2; else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t * ((y - z) / (a - z)); t_2 = x * (1.0 - (y / a)); tmp = 0.0; if (t <= -1.95e+43) tmp = t_1; elseif (t <= -2.55e-148) tmp = t + (y * (x / z)); elseif (t <= -3.6e-223) tmp = t_2; elseif (t <= -4.8e-255) tmp = t + (a / (z / (t - x))); elseif (t <= 6e-89) 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[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x * N[(1.0 - N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -1.95e+43], t$95$1, If[LessEqual[t, -2.55e-148], N[(t + N[(y * N[(x / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, -3.6e-223], t$95$2, If[LessEqual[t, -4.8e-255], N[(t + N[(a / N[(z / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 6e-89], t$95$2, t$95$1]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \frac{y - z}{a - z}\\
t_2 := x \cdot \left(1 - \frac{y}{a}\right)\\
\mathbf{if}\;t \leq -1.95 \cdot 10^{+43}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq -2.55 \cdot 10^{-148}:\\
\;\;\;\;t + y \cdot \frac{x}{z}\\
\mathbf{elif}\;t \leq -3.6 \cdot 10^{-223}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;t \leq -4.8 \cdot 10^{-255}:\\
\;\;\;\;t + \frac{a}{\frac{z}{t - x}}\\
\mathbf{elif}\;t \leq 6 \cdot 10^{-89}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if t < -1.95e43 or 5.9999999999999999e-89 < t Initial program 91.5%
Taylor expanded in x around 0 55.3%
associate-*r/75.9%
Simplified75.9%
if -1.95e43 < t < -2.55e-148Initial program 73.1%
Taylor expanded in z around inf 62.5%
associate--l+62.5%
associate-*r/62.5%
associate-*r/62.5%
div-sub62.6%
distribute-lft-out--62.6%
associate-*r/62.6%
mul-1-neg62.6%
unsub-neg62.6%
distribute-rgt-out--62.9%
associate-/l*71.0%
Simplified71.0%
Taylor expanded in y around inf 63.4%
Taylor expanded in t around 0 53.4%
mul-1-neg53.4%
associate-/l*56.9%
associate-/r/57.8%
distribute-rgt-neg-in57.8%
Simplified57.8%
if -2.55e-148 < t < -3.6000000000000004e-223 or -4.7999999999999997e-255 < t < 5.9999999999999999e-89Initial program 71.9%
associate-*r/74.4%
*-commutative74.4%
associate-/l*75.7%
Applied egg-rr75.7%
Taylor expanded in z around 0 60.7%
Taylor expanded in x around inf 59.0%
mul-1-neg59.0%
unsub-neg59.0%
Simplified59.0%
if -3.6000000000000004e-223 < t < -4.7999999999999997e-255Initial program 4.4%
Taylor expanded in z around inf 100.0%
associate--l+100.0%
associate-*r/100.0%
associate-*r/100.0%
div-sub100.0%
distribute-lft-out--100.0%
associate-*r/100.0%
mul-1-neg100.0%
unsub-neg100.0%
distribute-rgt-out--100.0%
associate-/l*83.6%
Simplified83.6%
Taylor expanded in y around 0 83.4%
sub-neg83.4%
mul-1-neg83.4%
remove-double-neg83.4%
associate-/l*83.4%
Simplified83.4%
Final simplification68.2%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (/ (- y z) (- a z)))) (t_2 (+ x (/ y (/ a (- t x))))))
(if (<= z -1.9e+182)
(+ t (/ a (/ z (- t x))))
(if (<= z -2.65e-79)
t_1
(if (<= z -2.6e-126)
t_2
(if (<= z -4.2e-153)
t_1
(if (<= z 1.25e-21) t_2 (+ t (* y (/ x z))))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t * ((y - z) / (a - z));
double t_2 = x + (y / (a / (t - x)));
double tmp;
if (z <= -1.9e+182) {
tmp = t + (a / (z / (t - x)));
} else if (z <= -2.65e-79) {
tmp = t_1;
} else if (z <= -2.6e-126) {
tmp = t_2;
} else if (z <= -4.2e-153) {
tmp = t_1;
} else if (z <= 1.25e-21) {
tmp = t_2;
} else {
tmp = t + (y * (x / 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) :: t_2
real(8) :: tmp
t_1 = t * ((y - z) / (a - z))
t_2 = x + (y / (a / (t - x)))
if (z <= (-1.9d+182)) then
tmp = t + (a / (z / (t - x)))
else if (z <= (-2.65d-79)) then
tmp = t_1
else if (z <= (-2.6d-126)) then
tmp = t_2
else if (z <= (-4.2d-153)) then
tmp = t_1
else if (z <= 1.25d-21) then
tmp = t_2
else
tmp = t + (y * (x / z))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = t * ((y - z) / (a - z));
double t_2 = x + (y / (a / (t - x)));
double tmp;
if (z <= -1.9e+182) {
tmp = t + (a / (z / (t - x)));
} else if (z <= -2.65e-79) {
tmp = t_1;
} else if (z <= -2.6e-126) {
tmp = t_2;
} else if (z <= -4.2e-153) {
tmp = t_1;
} else if (z <= 1.25e-21) {
tmp = t_2;
} else {
tmp = t + (y * (x / z));
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t * ((y - z) / (a - z)) t_2 = x + (y / (a / (t - x))) tmp = 0 if z <= -1.9e+182: tmp = t + (a / (z / (t - x))) elif z <= -2.65e-79: tmp = t_1 elif z <= -2.6e-126: tmp = t_2 elif z <= -4.2e-153: tmp = t_1 elif z <= 1.25e-21: tmp = t_2 else: tmp = t + (y * (x / z)) return tmp
function code(x, y, z, t, a) t_1 = Float64(t * Float64(Float64(y - z) / Float64(a - z))) t_2 = Float64(x + Float64(y / Float64(a / Float64(t - x)))) tmp = 0.0 if (z <= -1.9e+182) tmp = Float64(t + Float64(a / Float64(z / Float64(t - x)))); elseif (z <= -2.65e-79) tmp = t_1; elseif (z <= -2.6e-126) tmp = t_2; elseif (z <= -4.2e-153) tmp = t_1; elseif (z <= 1.25e-21) tmp = t_2; else tmp = Float64(t + Float64(y * Float64(x / z))); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t * ((y - z) / (a - z)); t_2 = x + (y / (a / (t - x))); tmp = 0.0; if (z <= -1.9e+182) tmp = t + (a / (z / (t - x))); elseif (z <= -2.65e-79) tmp = t_1; elseif (z <= -2.6e-126) tmp = t_2; elseif (z <= -4.2e-153) tmp = t_1; elseif (z <= 1.25e-21) tmp = t_2; else tmp = t + (y * (x / z)); 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]}, Block[{t$95$2 = N[(x + N[(y / N[(a / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -1.9e+182], N[(t + N[(a / N[(z / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -2.65e-79], t$95$1, If[LessEqual[z, -2.6e-126], t$95$2, If[LessEqual[z, -4.2e-153], t$95$1, If[LessEqual[z, 1.25e-21], t$95$2, N[(t + N[(y * N[(x / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \frac{y - z}{a - z}\\
t_2 := x + \frac{y}{\frac{a}{t - x}}\\
\mathbf{if}\;z \leq -1.9 \cdot 10^{+182}:\\
\;\;\;\;t + \frac{a}{\frac{z}{t - x}}\\
\mathbf{elif}\;z \leq -2.65 \cdot 10^{-79}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq -2.6 \cdot 10^{-126}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;z \leq -4.2 \cdot 10^{-153}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq 1.25 \cdot 10^{-21}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t + y \cdot \frac{x}{z}\\
\end{array}
\end{array}
if z < -1.90000000000000006e182Initial program 30.2%
Taylor expanded in z around inf 73.8%
associate--l+73.8%
associate-*r/73.8%
associate-*r/73.8%
div-sub73.8%
distribute-lft-out--73.8%
associate-*r/73.8%
mul-1-neg73.8%
unsub-neg73.8%
distribute-rgt-out--73.8%
associate-/l*97.9%
Simplified97.9%
Taylor expanded in y around 0 69.0%
sub-neg69.0%
mul-1-neg69.0%
remove-double-neg69.0%
associate-/l*86.3%
Simplified86.3%
if -1.90000000000000006e182 < z < -2.6499999999999999e-79 or -2.59999999999999999e-126 < z < -4.20000000000000008e-153Initial program 82.6%
Taylor expanded in x around 0 54.5%
associate-*r/67.6%
Simplified67.6%
if -2.6499999999999999e-79 < z < -2.59999999999999999e-126 or -4.20000000000000008e-153 < z < 1.24999999999999993e-21Initial program 94.1%
Taylor expanded in z around 0 74.0%
associate-/l*84.1%
Simplified84.1%
if 1.24999999999999993e-21 < z Initial program 71.3%
Taylor expanded in z around inf 58.1%
associate--l+58.1%
associate-*r/58.1%
associate-*r/58.1%
div-sub58.1%
distribute-lft-out--58.1%
associate-*r/58.1%
mul-1-neg58.1%
unsub-neg58.1%
distribute-rgt-out--58.3%
associate-/l*74.1%
Simplified74.1%
Taylor expanded in y around inf 70.7%
Taylor expanded in t around 0 53.9%
mul-1-neg53.9%
associate-/l*63.1%
associate-/r/62.2%
distribute-rgt-neg-in62.2%
Simplified62.2%
Final simplification75.5%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (/ (- y z) (- a z)))))
(if (<= z -3e+182)
(+ t (/ a (/ z (- t x))))
(if (<= z -5.6e-71)
t_1
(if (<= z -8.5e-122)
(+ x (/ (- t x) (/ a y)))
(if (<= z -4.2e-153)
t_1
(if (<= z 7.5e-21)
(+ x (/ y (/ a (- t x))))
(+ t (* y (/ x z))))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t * ((y - z) / (a - z));
double tmp;
if (z <= -3e+182) {
tmp = t + (a / (z / (t - x)));
} else if (z <= -5.6e-71) {
tmp = t_1;
} else if (z <= -8.5e-122) {
tmp = x + ((t - x) / (a / y));
} else if (z <= -4.2e-153) {
tmp = t_1;
} else if (z <= 7.5e-21) {
tmp = x + (y / (a / (t - x)));
} else {
tmp = t + (y * (x / 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 = t * ((y - z) / (a - z))
if (z <= (-3d+182)) then
tmp = t + (a / (z / (t - x)))
else if (z <= (-5.6d-71)) then
tmp = t_1
else if (z <= (-8.5d-122)) then
tmp = x + ((t - x) / (a / y))
else if (z <= (-4.2d-153)) then
tmp = t_1
else if (z <= 7.5d-21) then
tmp = x + (y / (a / (t - x)))
else
tmp = t + (y * (x / z))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = t * ((y - z) / (a - z));
double tmp;
if (z <= -3e+182) {
tmp = t + (a / (z / (t - x)));
} else if (z <= -5.6e-71) {
tmp = t_1;
} else if (z <= -8.5e-122) {
tmp = x + ((t - x) / (a / y));
} else if (z <= -4.2e-153) {
tmp = t_1;
} else if (z <= 7.5e-21) {
tmp = x + (y / (a / (t - x)));
} else {
tmp = t + (y * (x / z));
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t * ((y - z) / (a - z)) tmp = 0 if z <= -3e+182: tmp = t + (a / (z / (t - x))) elif z <= -5.6e-71: tmp = t_1 elif z <= -8.5e-122: tmp = x + ((t - x) / (a / y)) elif z <= -4.2e-153: tmp = t_1 elif z <= 7.5e-21: tmp = x + (y / (a / (t - x))) else: tmp = t + (y * (x / z)) 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 <= -3e+182) tmp = Float64(t + Float64(a / Float64(z / Float64(t - x)))); elseif (z <= -5.6e-71) tmp = t_1; elseif (z <= -8.5e-122) tmp = Float64(x + Float64(Float64(t - x) / Float64(a / y))); elseif (z <= -4.2e-153) tmp = t_1; elseif (z <= 7.5e-21) tmp = Float64(x + Float64(y / Float64(a / Float64(t - x)))); else tmp = Float64(t + Float64(y * Float64(x / z))); 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 <= -3e+182) tmp = t + (a / (z / (t - x))); elseif (z <= -5.6e-71) tmp = t_1; elseif (z <= -8.5e-122) tmp = x + ((t - x) / (a / y)); elseif (z <= -4.2e-153) tmp = t_1; elseif (z <= 7.5e-21) tmp = x + (y / (a / (t - x))); else tmp = t + (y * (x / z)); 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, -3e+182], N[(t + N[(a / N[(z / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -5.6e-71], t$95$1, If[LessEqual[z, -8.5e-122], N[(x + N[(N[(t - x), $MachinePrecision] / N[(a / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -4.2e-153], t$95$1, If[LessEqual[z, 7.5e-21], N[(x + N[(y / N[(a / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(t + N[(y * N[(x / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \frac{y - z}{a - z}\\
\mathbf{if}\;z \leq -3 \cdot 10^{+182}:\\
\;\;\;\;t + \frac{a}{\frac{z}{t - x}}\\
\mathbf{elif}\;z \leq -5.6 \cdot 10^{-71}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq -8.5 \cdot 10^{-122}:\\
\;\;\;\;x + \frac{t - x}{\frac{a}{y}}\\
\mathbf{elif}\;z \leq -4.2 \cdot 10^{-153}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq 7.5 \cdot 10^{-21}:\\
\;\;\;\;x + \frac{y}{\frac{a}{t - x}}\\
\mathbf{else}:\\
\;\;\;\;t + y \cdot \frac{x}{z}\\
\end{array}
\end{array}
if z < -3.0000000000000002e182Initial program 30.2%
Taylor expanded in z around inf 73.8%
associate--l+73.8%
associate-*r/73.8%
associate-*r/73.8%
div-sub73.8%
distribute-lft-out--73.8%
associate-*r/73.8%
mul-1-neg73.8%
unsub-neg73.8%
distribute-rgt-out--73.8%
associate-/l*97.9%
Simplified97.9%
Taylor expanded in y around 0 69.0%
sub-neg69.0%
mul-1-neg69.0%
remove-double-neg69.0%
associate-/l*86.3%
Simplified86.3%
if -3.0000000000000002e182 < z < -5.60000000000000001e-71 or -8.50000000000000003e-122 < z < -4.20000000000000008e-153Initial program 82.6%
Taylor expanded in x around 0 54.5%
associate-*r/67.6%
Simplified67.6%
if -5.60000000000000001e-71 < z < -8.50000000000000003e-122Initial program 100.0%
associate-*r/99.7%
*-commutative99.7%
associate-/l*100.0%
Applied egg-rr100.0%
Taylor expanded in z around 0 100.0%
if -4.20000000000000008e-153 < z < 7.50000000000000072e-21Initial program 93.8%
Taylor expanded in z around 0 72.6%
associate-/l*83.3%
Simplified83.3%
if 7.50000000000000072e-21 < z Initial program 71.3%
Taylor expanded in z around inf 58.1%
associate--l+58.1%
associate-*r/58.1%
associate-*r/58.1%
div-sub58.1%
distribute-lft-out--58.1%
associate-*r/58.1%
mul-1-neg58.1%
unsub-neg58.1%
distribute-rgt-out--58.3%
associate-/l*74.1%
Simplified74.1%
Taylor expanded in y around inf 70.7%
Taylor expanded in t around 0 53.9%
mul-1-neg53.9%
associate-/l*63.1%
associate-/r/62.2%
distribute-rgt-neg-in62.2%
Simplified62.2%
Final simplification75.5%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (- 1.0 (/ y z)))) (t_2 (+ x (* t (/ y a)))))
(if (<= a -3e+165)
t_2
(if (<= a -2e-43)
(* x (- 1.0 (/ y a)))
(if (<= a 3.3e-107)
t_1
(if (<= a 6.6e-40) (* (- y a) (/ x z)) (if (<= a 6e+57) 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 tmp;
if (a <= -3e+165) {
tmp = t_2;
} else if (a <= -2e-43) {
tmp = x * (1.0 - (y / a));
} else if (a <= 3.3e-107) {
tmp = t_1;
} else if (a <= 6.6e-40) {
tmp = (y - a) * (x / z);
} else if (a <= 6e+57) {
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 = t * (1.0d0 - (y / z))
t_2 = x + (t * (y / a))
if (a <= (-3d+165)) then
tmp = t_2
else if (a <= (-2d-43)) then
tmp = x * (1.0d0 - (y / a))
else if (a <= 3.3d-107) then
tmp = t_1
else if (a <= 6.6d-40) then
tmp = (y - a) * (x / z)
else if (a <= 6d+57) 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 tmp;
if (a <= -3e+165) {
tmp = t_2;
} else if (a <= -2e-43) {
tmp = x * (1.0 - (y / a));
} else if (a <= 3.3e-107) {
tmp = t_1;
} else if (a <= 6.6e-40) {
tmp = (y - a) * (x / z);
} else if (a <= 6e+57) {
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)) tmp = 0 if a <= -3e+165: tmp = t_2 elif a <= -2e-43: tmp = x * (1.0 - (y / a)) elif a <= 3.3e-107: tmp = t_1 elif a <= 6.6e-40: tmp = (y - a) * (x / z) elif a <= 6e+57: 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))) tmp = 0.0 if (a <= -3e+165) tmp = t_2; elseif (a <= -2e-43) tmp = Float64(x * Float64(1.0 - Float64(y / a))); elseif (a <= 3.3e-107) tmp = t_1; elseif (a <= 6.6e-40) tmp = Float64(Float64(y - a) * Float64(x / z)); elseif (a <= 6e+57) 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)); tmp = 0.0; if (a <= -3e+165) tmp = t_2; elseif (a <= -2e-43) tmp = x * (1.0 - (y / a)); elseif (a <= 3.3e-107) tmp = t_1; elseif (a <= 6.6e-40) tmp = (y - a) * (x / z); elseif (a <= 6e+57) 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]}, If[LessEqual[a, -3e+165], t$95$2, If[LessEqual[a, -2e-43], N[(x * N[(1.0 - N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 3.3e-107], t$95$1, If[LessEqual[a, 6.6e-40], N[(N[(y - a), $MachinePrecision] * N[(x / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 6e+57], 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}\\
\mathbf{if}\;a \leq -3 \cdot 10^{+165}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;a \leq -2 \cdot 10^{-43}:\\
\;\;\;\;x \cdot \left(1 - \frac{y}{a}\right)\\
\mathbf{elif}\;a \leq 3.3 \cdot 10^{-107}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 6.6 \cdot 10^{-40}:\\
\;\;\;\;\left(y - a\right) \cdot \frac{x}{z}\\
\mathbf{elif}\;a \leq 6 \cdot 10^{+57}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if a < -2.9999999999999999e165 or 5.9999999999999999e57 < a Initial program 93.2%
associate-*r/71.0%
*-commutative71.0%
associate-/l*95.0%
Applied egg-rr95.0%
Taylor expanded in z around 0 79.8%
Taylor expanded in t around inf 62.5%
associate-*r/72.8%
Simplified72.8%
if -2.9999999999999999e165 < a < -2.00000000000000015e-43Initial program 79.3%
associate-*r/65.7%
*-commutative65.7%
associate-/l*83.3%
Applied egg-rr83.3%
Taylor expanded in z around 0 55.6%
Taylor expanded in x around inf 46.5%
mul-1-neg46.5%
unsub-neg46.5%
Simplified46.5%
if -2.00000000000000015e-43 < a < 3.30000000000000004e-107 or 6.59999999999999986e-40 < a < 5.9999999999999999e57Initial program 72.3%
Taylor expanded in z around inf 75.2%
associate--l+75.2%
associate-*r/75.2%
associate-*r/75.2%
div-sub76.9%
distribute-lft-out--76.9%
associate-*r/76.9%
mul-1-neg76.9%
unsub-neg76.9%
distribute-rgt-out--76.9%
associate-/l*82.2%
Simplified82.2%
Taylor expanded in y around inf 77.2%
Taylor expanded in t around inf 60.8%
if 3.30000000000000004e-107 < a < 6.59999999999999986e-40Initial program 82.3%
Taylor expanded in z around inf 49.8%
associate--l+49.8%
associate-*r/49.8%
associate-*r/49.8%
div-sub58.9%
distribute-lft-out--58.9%
associate-*r/58.9%
mul-1-neg58.9%
unsub-neg58.9%
distribute-rgt-out--58.9%
associate-/l*67.1%
Simplified67.1%
Taylor expanded in t around 0 56.5%
associate-/l*64.7%
associate-/r/64.7%
Simplified64.7%
Final simplification62.2%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (- 1.0 (/ y z)))))
(if (<= a -1.25e+78)
x
(if (<= a 7e-103)
t_1
(if (<= a 5.8e-40) (/ y (/ z x)) (if (<= a 2.1e+59) t_1 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 <= -1.25e+78) {
tmp = x;
} else if (a <= 7e-103) {
tmp = t_1;
} else if (a <= 5.8e-40) {
tmp = y / (z / x);
} else if (a <= 2.1e+59) {
tmp = t_1;
} 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 <= (-1.25d+78)) then
tmp = x
else if (a <= 7d-103) then
tmp = t_1
else if (a <= 5.8d-40) then
tmp = y / (z / x)
else if (a <= 2.1d+59) then
tmp = t_1
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = t * (1.0 - (y / z));
double tmp;
if (a <= -1.25e+78) {
tmp = x;
} else if (a <= 7e-103) {
tmp = t_1;
} else if (a <= 5.8e-40) {
tmp = y / (z / x);
} else if (a <= 2.1e+59) {
tmp = t_1;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t * (1.0 - (y / z)) tmp = 0 if a <= -1.25e+78: tmp = x elif a <= 7e-103: tmp = t_1 elif a <= 5.8e-40: tmp = y / (z / x) elif a <= 2.1e+59: tmp = t_1 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 <= -1.25e+78) tmp = x; elseif (a <= 7e-103) tmp = t_1; elseif (a <= 5.8e-40) tmp = Float64(y / Float64(z / x)); elseif (a <= 2.1e+59) tmp = t_1; 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 <= -1.25e+78) tmp = x; elseif (a <= 7e-103) tmp = t_1; elseif (a <= 5.8e-40) tmp = y / (z / x); elseif (a <= 2.1e+59) tmp = t_1; 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, -1.25e+78], x, If[LessEqual[a, 7e-103], t$95$1, If[LessEqual[a, 5.8e-40], N[(y / N[(z / x), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 2.1e+59], t$95$1, x]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(1 - \frac{y}{z}\right)\\
\mathbf{if}\;a \leq -1.25 \cdot 10^{+78}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 7 \cdot 10^{-103}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 5.8 \cdot 10^{-40}:\\
\;\;\;\;\frac{y}{\frac{z}{x}}\\
\mathbf{elif}\;a \leq 2.1 \cdot 10^{+59}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -1.24999999999999996e78 or 2.09999999999999984e59 < a Initial program 90.5%
Taylor expanded in a around inf 48.2%
if -1.24999999999999996e78 < a < 7.00000000000000032e-103 or 5.7999999999999998e-40 < a < 2.09999999999999984e59Initial program 73.8%
Taylor expanded in z around inf 68.0%
associate--l+68.0%
associate-*r/68.0%
associate-*r/68.0%
div-sub69.4%
distribute-lft-out--69.4%
associate-*r/69.4%
mul-1-neg69.4%
unsub-neg69.4%
distribute-rgt-out--69.4%
associate-/l*74.9%
Simplified74.9%
Taylor expanded in y around inf 70.0%
Taylor expanded in t around inf 54.3%
if 7.00000000000000032e-103 < a < 5.7999999999999998e-40Initial program 82.3%
Taylor expanded in z around inf 49.8%
associate--l+49.8%
associate-*r/49.8%
associate-*r/49.8%
div-sub58.9%
distribute-lft-out--58.9%
associate-*r/58.9%
mul-1-neg58.9%
unsub-neg58.9%
distribute-rgt-out--58.9%
associate-/l*67.1%
Simplified67.1%
Taylor expanded in y around -inf 50.3%
associate-*r/50.3%
associate-*r*50.3%
mul-1-neg50.3%
Simplified50.3%
Taylor expanded in t around 0 47.8%
associate-/l*56.5%
associate-/r/56.5%
Simplified56.5%
*-commutative56.5%
clear-num56.6%
un-div-inv56.6%
Applied egg-rr56.6%
Final simplification52.0%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (- 1.0 (/ y z)))) (t_2 (* x (- 1.0 (/ y a)))))
(if (<= a -1.55e-42)
t_2
(if (<= a 4.4e-103)
t_1
(if (<= a 1.8e-41) (/ y (/ z x)) (if (<= a 6.8e+59) 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 * (1.0 - (y / a));
double tmp;
if (a <= -1.55e-42) {
tmp = t_2;
} else if (a <= 4.4e-103) {
tmp = t_1;
} else if (a <= 1.8e-41) {
tmp = y / (z / x);
} else if (a <= 6.8e+59) {
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 = t * (1.0d0 - (y / z))
t_2 = x * (1.0d0 - (y / a))
if (a <= (-1.55d-42)) then
tmp = t_2
else if (a <= 4.4d-103) then
tmp = t_1
else if (a <= 1.8d-41) then
tmp = y / (z / x)
else if (a <= 6.8d+59) 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 * (1.0 - (y / a));
double tmp;
if (a <= -1.55e-42) {
tmp = t_2;
} else if (a <= 4.4e-103) {
tmp = t_1;
} else if (a <= 1.8e-41) {
tmp = y / (z / x);
} else if (a <= 6.8e+59) {
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 * (1.0 - (y / a)) tmp = 0 if a <= -1.55e-42: tmp = t_2 elif a <= 4.4e-103: tmp = t_1 elif a <= 1.8e-41: tmp = y / (z / x) elif a <= 6.8e+59: 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(1.0 - Float64(y / a))) tmp = 0.0 if (a <= -1.55e-42) tmp = t_2; elseif (a <= 4.4e-103) tmp = t_1; elseif (a <= 1.8e-41) tmp = Float64(y / Float64(z / x)); elseif (a <= 6.8e+59) 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 * (1.0 - (y / a)); tmp = 0.0; if (a <= -1.55e-42) tmp = t_2; elseif (a <= 4.4e-103) tmp = t_1; elseif (a <= 1.8e-41) tmp = y / (z / x); elseif (a <= 6.8e+59) 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[(1.0 - N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -1.55e-42], t$95$2, If[LessEqual[a, 4.4e-103], t$95$1, If[LessEqual[a, 1.8e-41], N[(y / N[(z / x), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 6.8e+59], 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 \cdot \left(1 - \frac{y}{a}\right)\\
\mathbf{if}\;a \leq -1.55 \cdot 10^{-42}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;a \leq 4.4 \cdot 10^{-103}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 1.8 \cdot 10^{-41}:\\
\;\;\;\;\frac{y}{\frac{z}{x}}\\
\mathbf{elif}\;a \leq 6.8 \cdot 10^{+59}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if a < -1.5500000000000001e-42 or 6.80000000000000012e59 < a Initial program 88.1%
associate-*r/69.1%
*-commutative69.1%
associate-/l*90.8%
Applied egg-rr90.8%
Taylor expanded in z around 0 70.9%
Taylor expanded in x around inf 54.7%
mul-1-neg54.7%
unsub-neg54.7%
Simplified54.7%
if -1.5500000000000001e-42 < a < 4.3999999999999999e-103 or 1.8e-41 < a < 6.80000000000000012e59Initial program 72.3%
Taylor expanded in z around inf 75.2%
associate--l+75.2%
associate-*r/75.2%
associate-*r/75.2%
div-sub76.9%
distribute-lft-out--76.9%
associate-*r/76.9%
mul-1-neg76.9%
unsub-neg76.9%
distribute-rgt-out--76.9%
associate-/l*82.2%
Simplified82.2%
Taylor expanded in y around inf 77.2%
Taylor expanded in t around inf 60.8%
if 4.3999999999999999e-103 < a < 1.8e-41Initial program 82.3%
Taylor expanded in z around inf 49.8%
associate--l+49.8%
associate-*r/49.8%
associate-*r/49.8%
div-sub58.9%
distribute-lft-out--58.9%
associate-*r/58.9%
mul-1-neg58.9%
unsub-neg58.9%
distribute-rgt-out--58.9%
associate-/l*67.1%
Simplified67.1%
Taylor expanded in y around -inf 50.3%
associate-*r/50.3%
associate-*r*50.3%
mul-1-neg50.3%
Simplified50.3%
Taylor expanded in t around 0 47.8%
associate-/l*56.5%
associate-/r/56.5%
Simplified56.5%
*-commutative56.5%
clear-num56.6%
un-div-inv56.6%
Applied egg-rr56.6%
Final simplification57.6%
(FPCore (x y z t a) :precision binary64 (if (or (<= a -6.1e-25) (not (<= a 102.0))) (+ x (* (- y z) (/ (- t x) a))) (+ t (/ (- x t) (/ z y)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a <= -6.1e-25) || !(a <= 102.0)) {
tmp = x + ((y - z) * ((t - x) / a));
} else {
tmp = t + ((x - t) / (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) :: tmp
if ((a <= (-6.1d-25)) .or. (.not. (a <= 102.0d0))) then
tmp = x + ((y - z) * ((t - x) / a))
else
tmp = t + ((x - t) / (z / y))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a <= -6.1e-25) || !(a <= 102.0)) {
tmp = x + ((y - z) * ((t - x) / a));
} else {
tmp = t + ((x - t) / (z / y));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (a <= -6.1e-25) or not (a <= 102.0): tmp = x + ((y - z) * ((t - x) / a)) else: tmp = t + ((x - t) / (z / y)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((a <= -6.1e-25) || !(a <= 102.0)) tmp = Float64(x + Float64(Float64(y - z) * Float64(Float64(t - x) / a))); else tmp = Float64(t + Float64(Float64(x - t) / Float64(z / y))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((a <= -6.1e-25) || ~((a <= 102.0))) tmp = x + ((y - z) * ((t - x) / a)); else tmp = t + ((x - t) / (z / y)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[a, -6.1e-25], N[Not[LessEqual[a, 102.0]], $MachinePrecision]], N[(x + N[(N[(y - z), $MachinePrecision] * N[(N[(t - x), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(t + N[(N[(x - t), $MachinePrecision] / N[(z / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -6.1 \cdot 10^{-25} \lor \neg \left(a \leq 102\right):\\
\;\;\;\;x + \left(y - z\right) \cdot \frac{t - x}{a}\\
\mathbf{else}:\\
\;\;\;\;t + \frac{x - t}{\frac{z}{y}}\\
\end{array}
\end{array}
if a < -6.10000000000000018e-25 or 102 < a Initial program 90.6%
Taylor expanded in a around inf 79.9%
if -6.10000000000000018e-25 < a < 102Initial program 70.2%
Taylor expanded in z around inf 76.2%
associate--l+76.2%
associate-*r/76.2%
associate-*r/76.2%
div-sub78.6%
distribute-lft-out--78.6%
associate-*r/78.6%
mul-1-neg78.6%
unsub-neg78.6%
distribute-rgt-out--78.6%
associate-/l*83.5%
Simplified83.5%
Taylor expanded in y around inf 77.8%
Final simplification78.9%
(FPCore (x y z t a)
:precision binary64
(if (<= a -1.58e-24)
(+ x (* (- y z) (/ (- t x) a)))
(if (<= a 400.0)
(+ t (/ (- x t) (/ z y)))
(+ x (/ (- t x) (/ a (- y z)))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -1.58e-24) {
tmp = x + ((y - z) * ((t - x) / a));
} else if (a <= 400.0) {
tmp = t + ((x - t) / (z / y));
} else {
tmp = x + ((t - x) / (a / (y - 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 <= (-1.58d-24)) then
tmp = x + ((y - z) * ((t - x) / a))
else if (a <= 400.0d0) then
tmp = t + ((x - t) / (z / y))
else
tmp = x + ((t - x) / (a / (y - 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 <= -1.58e-24) {
tmp = x + ((y - z) * ((t - x) / a));
} else if (a <= 400.0) {
tmp = t + ((x - t) / (z / y));
} else {
tmp = x + ((t - x) / (a / (y - z)));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -1.58e-24: tmp = x + ((y - z) * ((t - x) / a)) elif a <= 400.0: tmp = t + ((x - t) / (z / y)) else: tmp = x + ((t - x) / (a / (y - z))) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -1.58e-24) tmp = Float64(x + Float64(Float64(y - z) * Float64(Float64(t - x) / a))); elseif (a <= 400.0) tmp = Float64(t + Float64(Float64(x - t) / Float64(z / y))); else tmp = Float64(x + Float64(Float64(t - x) / Float64(a / Float64(y - z)))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -1.58e-24) tmp = x + ((y - z) * ((t - x) / a)); elseif (a <= 400.0) tmp = t + ((x - t) / (z / y)); else tmp = x + ((t - x) / (a / (y - z))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -1.58e-24], N[(x + N[(N[(y - z), $MachinePrecision] * N[(N[(t - x), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 400.0], N[(t + N[(N[(x - t), $MachinePrecision] / N[(z / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x + N[(N[(t - x), $MachinePrecision] / N[(a / N[(y - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -1.58 \cdot 10^{-24}:\\
\;\;\;\;x + \left(y - z\right) \cdot \frac{t - x}{a}\\
\mathbf{elif}\;a \leq 400:\\
\;\;\;\;t + \frac{x - t}{\frac{z}{y}}\\
\mathbf{else}:\\
\;\;\;\;x + \frac{t - x}{\frac{a}{y - z}}\\
\end{array}
\end{array}
if a < -1.5799999999999999e-24Initial program 87.4%
Taylor expanded in a around inf 76.1%
if -1.5799999999999999e-24 < a < 400Initial program 70.2%
Taylor expanded in z around inf 76.2%
associate--l+76.2%
associate-*r/76.2%
associate-*r/76.2%
div-sub78.6%
distribute-lft-out--78.6%
associate-*r/78.6%
mul-1-neg78.6%
unsub-neg78.6%
distribute-rgt-out--78.6%
associate-/l*83.5%
Simplified83.5%
Taylor expanded in y around inf 77.8%
if 400 < a Initial program 94.2%
Taylor expanded in a around inf 69.1%
associate-/l*85.7%
Simplified85.7%
Final simplification79.2%
(FPCore (x y z t a)
:precision binary64
(if (<= a -5.2e-23)
(+ x (* (- y z) (/ (- t x) a)))
(if (<= a 440.0)
(+ t (/ (- x t) (/ z (- y a))))
(+ x (/ (- t x) (/ a (- y z)))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -5.2e-23) {
tmp = x + ((y - z) * ((t - x) / a));
} else if (a <= 440.0) {
tmp = t + ((x - t) / (z / (y - a)));
} else {
tmp = x + ((t - x) / (a / (y - 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 <= (-5.2d-23)) then
tmp = x + ((y - z) * ((t - x) / a))
else if (a <= 440.0d0) then
tmp = t + ((x - t) / (z / (y - a)))
else
tmp = x + ((t - x) / (a / (y - 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 <= -5.2e-23) {
tmp = x + ((y - z) * ((t - x) / a));
} else if (a <= 440.0) {
tmp = t + ((x - t) / (z / (y - a)));
} else {
tmp = x + ((t - x) / (a / (y - z)));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -5.2e-23: tmp = x + ((y - z) * ((t - x) / a)) elif a <= 440.0: tmp = t + ((x - t) / (z / (y - a))) else: tmp = x + ((t - x) / (a / (y - z))) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -5.2e-23) tmp = Float64(x + Float64(Float64(y - z) * Float64(Float64(t - x) / a))); elseif (a <= 440.0) tmp = Float64(t + Float64(Float64(x - t) / Float64(z / Float64(y - a)))); else tmp = Float64(x + Float64(Float64(t - x) / Float64(a / Float64(y - z)))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -5.2e-23) tmp = x + ((y - z) * ((t - x) / a)); elseif (a <= 440.0) tmp = t + ((x - t) / (z / (y - a))); else tmp = x + ((t - x) / (a / (y - z))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -5.2e-23], N[(x + N[(N[(y - z), $MachinePrecision] * N[(N[(t - x), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 440.0], N[(t + N[(N[(x - t), $MachinePrecision] / N[(z / N[(y - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x + N[(N[(t - x), $MachinePrecision] / N[(a / N[(y - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -5.2 \cdot 10^{-23}:\\
\;\;\;\;x + \left(y - z\right) \cdot \frac{t - x}{a}\\
\mathbf{elif}\;a \leq 440:\\
\;\;\;\;t + \frac{x - t}{\frac{z}{y - a}}\\
\mathbf{else}:\\
\;\;\;\;x + \frac{t - x}{\frac{a}{y - z}}\\
\end{array}
\end{array}
if a < -5.2e-23Initial program 87.4%
Taylor expanded in a around inf 76.1%
if -5.2e-23 < a < 440Initial program 70.2%
Taylor expanded in z around inf 76.2%
associate--l+76.2%
associate-*r/76.2%
associate-*r/76.2%
div-sub78.6%
distribute-lft-out--78.6%
associate-*r/78.6%
mul-1-neg78.6%
unsub-neg78.6%
distribute-rgt-out--78.6%
associate-/l*83.5%
Simplified83.5%
if 440 < a Initial program 94.2%
Taylor expanded in a around inf 69.1%
associate-/l*85.7%
Simplified85.7%
Final simplification82.0%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* x (- 1.0 (/ y a)))))
(if (<= a -2.3e-45)
t_1
(if (<= a 3.2e-107)
(* t (- 1.0 (/ y z)))
(if (<= a 140.0) (* (- y a) (/ x z)) t_1)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x * (1.0 - (y / a));
double tmp;
if (a <= -2.3e-45) {
tmp = t_1;
} else if (a <= 3.2e-107) {
tmp = t * (1.0 - (y / z));
} else if (a <= 140.0) {
tmp = (y - a) * (x / z);
} 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 = x * (1.0d0 - (y / a))
if (a <= (-2.3d-45)) then
tmp = t_1
else if (a <= 3.2d-107) then
tmp = t * (1.0d0 - (y / z))
else if (a <= 140.0d0) then
tmp = (y - a) * (x / z)
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 * (1.0 - (y / a));
double tmp;
if (a <= -2.3e-45) {
tmp = t_1;
} else if (a <= 3.2e-107) {
tmp = t * (1.0 - (y / z));
} else if (a <= 140.0) {
tmp = (y - a) * (x / z);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x * (1.0 - (y / a)) tmp = 0 if a <= -2.3e-45: tmp = t_1 elif a <= 3.2e-107: tmp = t * (1.0 - (y / z)) elif a <= 140.0: tmp = (y - a) * (x / z) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x * Float64(1.0 - Float64(y / a))) tmp = 0.0 if (a <= -2.3e-45) tmp = t_1; elseif (a <= 3.2e-107) tmp = Float64(t * Float64(1.0 - Float64(y / z))); elseif (a <= 140.0) tmp = Float64(Float64(y - a) * Float64(x / z)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x * (1.0 - (y / a)); tmp = 0.0; if (a <= -2.3e-45) tmp = t_1; elseif (a <= 3.2e-107) tmp = t * (1.0 - (y / z)); elseif (a <= 140.0) tmp = (y - a) * (x / z); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x * N[(1.0 - N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -2.3e-45], t$95$1, If[LessEqual[a, 3.2e-107], N[(t * N[(1.0 - N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 140.0], N[(N[(y - a), $MachinePrecision] * N[(x / z), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(1 - \frac{y}{a}\right)\\
\mathbf{if}\;a \leq -2.3 \cdot 10^{-45}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 3.2 \cdot 10^{-107}:\\
\;\;\;\;t \cdot \left(1 - \frac{y}{z}\right)\\
\mathbf{elif}\;a \leq 140:\\
\;\;\;\;\left(y - a\right) \cdot \frac{x}{z}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if a < -2.29999999999999992e-45 or 140 < a Initial program 88.4%
associate-*r/70.1%
*-commutative70.1%
associate-/l*90.8%
Applied egg-rr90.8%
Taylor expanded in z around 0 69.8%
Taylor expanded in x around inf 53.5%
mul-1-neg53.5%
unsub-neg53.5%
Simplified53.5%
if -2.29999999999999992e-45 < a < 3.20000000000000013e-107Initial program 70.0%
Taylor expanded in z around inf 80.1%
associate--l+80.1%
associate-*r/80.1%
associate-*r/80.1%
div-sub82.1%
distribute-lft-out--82.1%
associate-*r/82.1%
mul-1-neg82.1%
unsub-neg82.1%
distribute-rgt-out--82.1%
associate-/l*85.3%
Simplified85.3%
Taylor expanded in y around inf 79.9%
Taylor expanded in t around inf 63.6%
if 3.20000000000000013e-107 < a < 140Initial program 80.0%
Taylor expanded in z around inf 54.4%
associate--l+54.4%
associate-*r/54.4%
associate-*r/54.4%
div-sub60.3%
distribute-lft-out--60.3%
associate-*r/60.3%
mul-1-neg60.3%
unsub-neg60.3%
distribute-rgt-out--60.3%
associate-/l*77.1%
Simplified77.1%
Taylor expanded in t around 0 44.6%
associate-/l*55.4%
associate-/r/55.3%
Simplified55.3%
Final simplification57.5%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ t (* y (/ x z)))))
(if (<= z -4.4e-35)
t_1
(if (<= z -1.1e-165)
(* x (- 1.0 (/ y a)))
(if (<= z 5.1e-21) (+ x (* t (/ y a))) t_1)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t + (y * (x / z));
double tmp;
if (z <= -4.4e-35) {
tmp = t_1;
} else if (z <= -1.1e-165) {
tmp = x * (1.0 - (y / a));
} else if (z <= 5.1e-21) {
tmp = x + (t * (y / a));
} 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 * (x / z))
if (z <= (-4.4d-35)) then
tmp = t_1
else if (z <= (-1.1d-165)) then
tmp = x * (1.0d0 - (y / a))
else if (z <= 5.1d-21) then
tmp = x + (t * (y / a))
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 / z));
double tmp;
if (z <= -4.4e-35) {
tmp = t_1;
} else if (z <= -1.1e-165) {
tmp = x * (1.0 - (y / a));
} else if (z <= 5.1e-21) {
tmp = x + (t * (y / a));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t + (y * (x / z)) tmp = 0 if z <= -4.4e-35: tmp = t_1 elif z <= -1.1e-165: tmp = x * (1.0 - (y / a)) elif z <= 5.1e-21: tmp = x + (t * (y / a)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(t + Float64(y * Float64(x / z))) tmp = 0.0 if (z <= -4.4e-35) tmp = t_1; elseif (z <= -1.1e-165) tmp = Float64(x * Float64(1.0 - Float64(y / a))); elseif (z <= 5.1e-21) tmp = Float64(x + Float64(t * Float64(y / a))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t + (y * (x / z)); tmp = 0.0; if (z <= -4.4e-35) tmp = t_1; elseif (z <= -1.1e-165) tmp = x * (1.0 - (y / a)); elseif (z <= 5.1e-21) tmp = x + (t * (y / a)); else tmp = t_1; 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, -4.4e-35], t$95$1, If[LessEqual[z, -1.1e-165], N[(x * N[(1.0 - N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 5.1e-21], N[(x + N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t + y \cdot \frac{x}{z}\\
\mathbf{if}\;z \leq -4.4 \cdot 10^{-35}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq -1.1 \cdot 10^{-165}:\\
\;\;\;\;x \cdot \left(1 - \frac{y}{a}\right)\\
\mathbf{elif}\;z \leq 5.1 \cdot 10^{-21}:\\
\;\;\;\;x + t \cdot \frac{y}{a}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if z < -4.39999999999999987e-35 or 5.10000000000000004e-21 < z Initial program 67.8%
Taylor expanded in z around inf 62.7%
associate--l+62.7%
associate-*r/62.7%
associate-*r/62.7%
div-sub62.7%
distribute-lft-out--62.7%
associate-*r/62.7%
mul-1-neg62.7%
unsub-neg62.7%
distribute-rgt-out--62.9%
associate-/l*77.6%
Simplified77.6%
Taylor expanded in y around inf 69.9%
Taylor expanded in t around 0 55.6%
mul-1-neg55.6%
associate-/l*60.8%
associate-/r/59.8%
distribute-rgt-neg-in59.8%
Simplified59.8%
if -4.39999999999999987e-35 < z < -1.0999999999999999e-165Initial program 87.5%
associate-*r/87.3%
*-commutative87.3%
associate-/l*93.4%
Applied egg-rr93.4%
Taylor expanded in z around 0 58.5%
Taylor expanded in x around inf 53.4%
mul-1-neg53.4%
unsub-neg53.4%
Simplified53.4%
if -1.0999999999999999e-165 < z < 5.10000000000000004e-21Initial program 93.4%
associate-*r/84.8%
*-commutative84.8%
associate-/l*94.4%
Applied egg-rr94.4%
Taylor expanded in z around 0 80.6%
Taylor expanded in t around inf 57.2%
associate-*r/65.1%
Simplified65.1%
Final simplification61.2%
(FPCore (x y z t a) :precision binary64 (if (<= a -6.1e-24) (+ x (/ y (/ a (- t x)))) (if (<= a 19000.0) (- t (/ y (/ z (- t x)))) (+ x (/ (- t x) (/ a y))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -6.1e-24) {
tmp = x + (y / (a / (t - x)));
} else if (a <= 19000.0) {
tmp = t - (y / (z / (t - x)));
} 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 (a <= (-6.1d-24)) then
tmp = x + (y / (a / (t - x)))
else if (a <= 19000.0d0) then
tmp = t - (y / (z / (t - x)))
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 (a <= -6.1e-24) {
tmp = x + (y / (a / (t - x)));
} else if (a <= 19000.0) {
tmp = t - (y / (z / (t - x)));
} else {
tmp = x + ((t - x) / (a / y));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -6.1e-24: tmp = x + (y / (a / (t - x))) elif a <= 19000.0: tmp = t - (y / (z / (t - x))) else: tmp = x + ((t - x) / (a / y)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -6.1e-24) tmp = Float64(x + Float64(y / Float64(a / Float64(t - x)))); elseif (a <= 19000.0) tmp = Float64(t - Float64(y / Float64(z / Float64(t - x)))); 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 (a <= -6.1e-24) tmp = x + (y / (a / (t - x))); elseif (a <= 19000.0) tmp = t - (y / (z / (t - x))); else tmp = x + ((t - x) / (a / y)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -6.1e-24], N[(x + N[(y / N[(a / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 19000.0], N[(t - N[(y / N[(z / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x + N[(N[(t - x), $MachinePrecision] / N[(a / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -6.1 \cdot 10^{-24}:\\
\;\;\;\;x + \frac{y}{\frac{a}{t - x}}\\
\mathbf{elif}\;a \leq 19000:\\
\;\;\;\;t - \frac{y}{\frac{z}{t - x}}\\
\mathbf{else}:\\
\;\;\;\;x + \frac{t - x}{\frac{a}{y}}\\
\end{array}
\end{array}
if a < -6.10000000000000036e-24Initial program 87.4%
Taylor expanded in z around 0 52.8%
associate-/l*67.5%
Simplified67.5%
if -6.10000000000000036e-24 < a < 19000Initial program 70.2%
Taylor expanded in z around inf 76.2%
associate--l+76.2%
associate-*r/76.2%
associate-*r/76.2%
div-sub78.6%
distribute-lft-out--78.6%
associate-*r/78.6%
mul-1-neg78.6%
unsub-neg78.6%
distribute-rgt-out--78.6%
associate-/l*83.5%
Simplified83.5%
Taylor expanded in y around inf 72.1%
associate-/l*73.9%
Simplified73.9%
if 19000 < a Initial program 94.2%
associate-*r/75.6%
*-commutative75.6%
associate-/l*96.6%
Applied egg-rr96.6%
Taylor expanded in z around 0 76.2%
Final simplification72.7%
(FPCore (x y z t a) :precision binary64 (if (<= a -3.6e-24) (+ x (/ y (/ a (- t x)))) (if (<= a 110.0) (+ t (/ (- x t) (/ z y))) (+ x (/ (- t x) (/ a y))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -3.6e-24) {
tmp = x + (y / (a / (t - x)));
} else if (a <= 110.0) {
tmp = t + ((x - t) / (z / 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 (a <= (-3.6d-24)) then
tmp = x + (y / (a / (t - x)))
else if (a <= 110.0d0) then
tmp = t + ((x - t) / (z / 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 (a <= -3.6e-24) {
tmp = x + (y / (a / (t - x)));
} else if (a <= 110.0) {
tmp = t + ((x - t) / (z / y));
} else {
tmp = x + ((t - x) / (a / y));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -3.6e-24: tmp = x + (y / (a / (t - x))) elif a <= 110.0: tmp = t + ((x - t) / (z / y)) else: tmp = x + ((t - x) / (a / y)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -3.6e-24) tmp = Float64(x + Float64(y / Float64(a / Float64(t - x)))); elseif (a <= 110.0) tmp = Float64(t + Float64(Float64(x - t) / Float64(z / 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 (a <= -3.6e-24) tmp = x + (y / (a / (t - x))); elseif (a <= 110.0) tmp = t + ((x - t) / (z / y)); else tmp = x + ((t - x) / (a / y)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -3.6e-24], N[(x + N[(y / N[(a / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 110.0], N[(t + N[(N[(x - t), $MachinePrecision] / N[(z / 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}\;a \leq -3.6 \cdot 10^{-24}:\\
\;\;\;\;x + \frac{y}{\frac{a}{t - x}}\\
\mathbf{elif}\;a \leq 110:\\
\;\;\;\;t + \frac{x - t}{\frac{z}{y}}\\
\mathbf{else}:\\
\;\;\;\;x + \frac{t - x}{\frac{a}{y}}\\
\end{array}
\end{array}
if a < -3.6000000000000001e-24Initial program 87.4%
Taylor expanded in z around 0 52.8%
associate-/l*67.5%
Simplified67.5%
if -3.6000000000000001e-24 < a < 110Initial program 70.2%
Taylor expanded in z around inf 76.2%
associate--l+76.2%
associate-*r/76.2%
associate-*r/76.2%
div-sub78.6%
distribute-lft-out--78.6%
associate-*r/78.6%
mul-1-neg78.6%
unsub-neg78.6%
distribute-rgt-out--78.6%
associate-/l*83.5%
Simplified83.5%
Taylor expanded in y around inf 77.8%
if 110 < a Initial program 94.2%
associate-*r/75.6%
*-commutative75.6%
associate-/l*96.6%
Applied egg-rr96.6%
Taylor expanded in z around 0 76.2%
Final simplification74.6%
(FPCore (x y z t a) :precision binary64 (if (<= a -8.5e-54) x (if (<= a 7.2e-104) t (if (<= a 7800.0) (* y (/ x z)) x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -8.5e-54) {
tmp = x;
} else if (a <= 7.2e-104) {
tmp = t;
} else if (a <= 7800.0) {
tmp = y * (x / 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 (a <= (-8.5d-54)) then
tmp = x
else if (a <= 7.2d-104) then
tmp = t
else if (a <= 7800.0d0) then
tmp = y * (x / 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 (a <= -8.5e-54) {
tmp = x;
} else if (a <= 7.2e-104) {
tmp = t;
} else if (a <= 7800.0) {
tmp = y * (x / z);
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -8.5e-54: tmp = x elif a <= 7.2e-104: tmp = t elif a <= 7800.0: tmp = y * (x / z) else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -8.5e-54) tmp = x; elseif (a <= 7.2e-104) tmp = t; elseif (a <= 7800.0) tmp = Float64(y * Float64(x / z)); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -8.5e-54) tmp = x; elseif (a <= 7.2e-104) tmp = t; elseif (a <= 7800.0) tmp = y * (x / z); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -8.5e-54], x, If[LessEqual[a, 7.2e-104], t, If[LessEqual[a, 7800.0], N[(y * N[(x / z), $MachinePrecision]), $MachinePrecision], x]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -8.5 \cdot 10^{-54}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 7.2 \cdot 10^{-104}:\\
\;\;\;\;t\\
\mathbf{elif}\;a \leq 7800:\\
\;\;\;\;y \cdot \frac{x}{z}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -8.5e-54 or 7800 < a Initial program 87.9%
Taylor expanded in a around inf 39.4%
if -8.5e-54 < a < 7.1999999999999996e-104Initial program 70.1%
Taylor expanded in z around inf 41.2%
if 7.1999999999999996e-104 < a < 7800Initial program 80.0%
Taylor expanded in z around inf 54.4%
associate--l+54.4%
associate-*r/54.4%
associate-*r/54.4%
div-sub60.3%
distribute-lft-out--60.3%
associate-*r/60.3%
mul-1-neg60.3%
unsub-neg60.3%
distribute-rgt-out--60.3%
associate-/l*77.1%
Simplified77.1%
Taylor expanded in y around -inf 45.1%
associate-*r/45.1%
associate-*r*45.1%
mul-1-neg45.1%
Simplified45.1%
Taylor expanded in t around 0 37.8%
associate-/l*49.0%
associate-/r/48.9%
Simplified48.9%
Final simplification40.7%
(FPCore (x y z t a) :precision binary64 (if (<= a -5.5e-54) x (if (<= a 1.9e-100) t (if (<= a 580.0) (/ y (/ z x)) x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -5.5e-54) {
tmp = x;
} else if (a <= 1.9e-100) {
tmp = t;
} else if (a <= 580.0) {
tmp = y / (z / x);
} 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 <= (-5.5d-54)) then
tmp = x
else if (a <= 1.9d-100) then
tmp = t
else if (a <= 580.0d0) then
tmp = y / (z / x)
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 <= -5.5e-54) {
tmp = x;
} else if (a <= 1.9e-100) {
tmp = t;
} else if (a <= 580.0) {
tmp = y / (z / x);
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -5.5e-54: tmp = x elif a <= 1.9e-100: tmp = t elif a <= 580.0: tmp = y / (z / x) else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -5.5e-54) tmp = x; elseif (a <= 1.9e-100) tmp = t; elseif (a <= 580.0) tmp = Float64(y / Float64(z / x)); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -5.5e-54) tmp = x; elseif (a <= 1.9e-100) tmp = t; elseif (a <= 580.0) tmp = y / (z / x); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -5.5e-54], x, If[LessEqual[a, 1.9e-100], t, If[LessEqual[a, 580.0], N[(y / N[(z / x), $MachinePrecision]), $MachinePrecision], x]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -5.5 \cdot 10^{-54}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 1.9 \cdot 10^{-100}:\\
\;\;\;\;t\\
\mathbf{elif}\;a \leq 580:\\
\;\;\;\;\frac{y}{\frac{z}{x}}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -5.50000000000000046e-54 or 580 < a Initial program 87.9%
Taylor expanded in a around inf 39.4%
if -5.50000000000000046e-54 < a < 1.89999999999999999e-100Initial program 70.1%
Taylor expanded in z around inf 41.2%
if 1.89999999999999999e-100 < a < 580Initial program 80.0%
Taylor expanded in z around inf 54.4%
associate--l+54.4%
associate-*r/54.4%
associate-*r/54.4%
div-sub60.3%
distribute-lft-out--60.3%
associate-*r/60.3%
mul-1-neg60.3%
unsub-neg60.3%
distribute-rgt-out--60.3%
associate-/l*77.1%
Simplified77.1%
Taylor expanded in y around -inf 45.1%
associate-*r/45.1%
associate-*r*45.1%
mul-1-neg45.1%
Simplified45.1%
Taylor expanded in t around 0 37.8%
associate-/l*49.0%
associate-/r/48.9%
Simplified48.9%
*-commutative48.9%
clear-num49.1%
un-div-inv49.1%
Applied egg-rr49.1%
Final simplification40.7%
(FPCore (x y z t a) :precision binary64 (if (<= a -6.2e-54) x (if (<= a 4e+58) t x)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -6.2e-54) {
tmp = x;
} else if (a <= 4e+58) {
tmp = t;
} 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 <= (-6.2d-54)) then
tmp = x
else if (a <= 4d+58) then
tmp = t
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 <= -6.2e-54) {
tmp = x;
} else if (a <= 4e+58) {
tmp = t;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -6.2e-54: tmp = x elif a <= 4e+58: tmp = t else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -6.2e-54) tmp = x; elseif (a <= 4e+58) tmp = t; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -6.2e-54) tmp = x; elseif (a <= 4e+58) tmp = t; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -6.2e-54], x, If[LessEqual[a, 4e+58], t, x]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -6.2 \cdot 10^{-54}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 4 \cdot 10^{+58}:\\
\;\;\;\;t\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -6.20000000000000008e-54 or 3.99999999999999978e58 < a Initial program 87.6%
Taylor expanded in a around inf 41.6%
if -6.20000000000000008e-54 < a < 3.99999999999999978e58Initial program 73.3%
Taylor expanded in z around inf 36.0%
Final simplification38.9%
(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 80.7%
Taylor expanded in z around inf 22.6%
Final simplification22.6%
herbie shell --seed 2023290
(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)))))