
(FPCore (x y z t a) :precision binary64 (+ x (/ (* (- y x) (- z t)) (- a t))))
double code(double x, double y, double z, double t, double a) {
return x + (((y - x) * (z - t)) / (a - 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 = x + (((y - x) * (z - t)) / (a - t))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + (((y - x) * (z - t)) / (a - t));
}
def code(x, y, z, t, a): return x + (((y - x) * (z - t)) / (a - t))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(Float64(y - x) * Float64(z - t)) / Float64(a - t))) end
function tmp = code(x, y, z, t, a) tmp = x + (((y - x) * (z - t)) / (a - t)); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(N[(y - x), $MachinePrecision] * N[(z - t), $MachinePrecision]), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 27 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a) :precision binary64 (+ x (/ (* (- y x) (- z t)) (- a t))))
double code(double x, double y, double z, double t, double a) {
return x + (((y - x) * (z - t)) / (a - 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 = x + (((y - x) * (z - t)) / (a - t))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + (((y - x) * (z - t)) / (a - t));
}
def code(x, y, z, t, a): return x + (((y - x) * (z - t)) / (a - t))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(Float64(y - x) * Float64(z - t)) / Float64(a - t))) end
function tmp = code(x, y, z, t, a) tmp = x + (((y - x) * (z - t)) / (a - t)); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(N[(y - x), $MachinePrecision] * N[(z - t), $MachinePrecision]), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t}
\end{array}
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (- x (/ (* (- y x) (- t z)) (- a t))))
(t_2 (cbrt (- x (* (- y x) (/ t (- a t)))))))
(if (<= t_1 -5e-209)
(- x (/ (- x y) (/ (- a t) (- z t))))
(if (<= t_1 0.0)
(+ y (/ (* (- z a) (- x y)) t))
(if (<= t_1 5e+307)
(+ x (* (* (- y x) (- z t)) (/ 1.0 (- a t))))
(pow
(cbrt (+ (* t_2 (pow t_2 2.0)) (/ z (/ (- a t) (- y x)))))
3.0))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x - (((y - x) * (t - z)) / (a - t));
double t_2 = cbrt((x - ((y - x) * (t / (a - t)))));
double tmp;
if (t_1 <= -5e-209) {
tmp = x - ((x - y) / ((a - t) / (z - t)));
} else if (t_1 <= 0.0) {
tmp = y + (((z - a) * (x - y)) / t);
} else if (t_1 <= 5e+307) {
tmp = x + (((y - x) * (z - t)) * (1.0 / (a - t)));
} else {
tmp = pow(cbrt(((t_2 * pow(t_2, 2.0)) + (z / ((a - t) / (y - x))))), 3.0);
}
return tmp;
}
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x - (((y - x) * (t - z)) / (a - t));
double t_2 = Math.cbrt((x - ((y - x) * (t / (a - t)))));
double tmp;
if (t_1 <= -5e-209) {
tmp = x - ((x - y) / ((a - t) / (z - t)));
} else if (t_1 <= 0.0) {
tmp = y + (((z - a) * (x - y)) / t);
} else if (t_1 <= 5e+307) {
tmp = x + (((y - x) * (z - t)) * (1.0 / (a - t)));
} else {
tmp = Math.pow(Math.cbrt(((t_2 * Math.pow(t_2, 2.0)) + (z / ((a - t) / (y - x))))), 3.0);
}
return tmp;
}
function code(x, y, z, t, a) t_1 = Float64(x - Float64(Float64(Float64(y - x) * Float64(t - z)) / Float64(a - t))) t_2 = cbrt(Float64(x - Float64(Float64(y - x) * Float64(t / Float64(a - t))))) tmp = 0.0 if (t_1 <= -5e-209) tmp = Float64(x - Float64(Float64(x - y) / Float64(Float64(a - t) / Float64(z - t)))); elseif (t_1 <= 0.0) tmp = Float64(y + Float64(Float64(Float64(z - a) * Float64(x - y)) / t)); elseif (t_1 <= 5e+307) tmp = Float64(x + Float64(Float64(Float64(y - x) * Float64(z - t)) * Float64(1.0 / Float64(a - t)))); else tmp = cbrt(Float64(Float64(t_2 * (t_2 ^ 2.0)) + Float64(z / Float64(Float64(a - t) / Float64(y - x))))) ^ 3.0; end return tmp end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x - N[(N[(N[(y - x), $MachinePrecision] * N[(t - z), $MachinePrecision]), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[Power[N[(x - N[(N[(y - x), $MachinePrecision] * N[(t / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]}, If[LessEqual[t$95$1, -5e-209], N[(x - N[(N[(x - y), $MachinePrecision] / N[(N[(a - t), $MachinePrecision] / N[(z - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$1, 0.0], N[(y + N[(N[(N[(z - a), $MachinePrecision] * N[(x - y), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$1, 5e+307], N[(x + N[(N[(N[(y - x), $MachinePrecision] * N[(z - t), $MachinePrecision]), $MachinePrecision] * N[(1.0 / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[Power[N[Power[N[(N[(t$95$2 * N[Power[t$95$2, 2.0], $MachinePrecision]), $MachinePrecision] + N[(z / N[(N[(a - t), $MachinePrecision] / N[(y - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision], 3.0], $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x - \frac{\left(y - x\right) \cdot \left(t - z\right)}{a - t}\\
t_2 := \sqrt[3]{x - \left(y - x\right) \cdot \frac{t}{a - t}}\\
\mathbf{if}\;t_1 \leq -5 \cdot 10^{-209}:\\
\;\;\;\;x - \frac{x - y}{\frac{a - t}{z - t}}\\
\mathbf{elif}\;t_1 \leq 0:\\
\;\;\;\;y + \frac{\left(z - a\right) \cdot \left(x - y\right)}{t}\\
\mathbf{elif}\;t_1 \leq 5 \cdot 10^{+307}:\\
\;\;\;\;x + \left(\left(y - x\right) \cdot \left(z - t\right)\right) \cdot \frac{1}{a - t}\\
\mathbf{else}:\\
\;\;\;\;{\left(\sqrt[3]{t_2 \cdot {t_2}^{2} + \frac{z}{\frac{a - t}{y - x}}}\right)}^{3}\\
\end{array}
\end{array}
if (+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t))) < -5.0000000000000005e-209Initial program 70.2%
associate-/l*87.9%
Simplified87.9%
if -5.0000000000000005e-209 < (+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t))) < 0.0Initial program 4.5%
associate-*l/3.8%
Simplified3.8%
Taylor expanded in t around inf 99.9%
associate--l+99.9%
associate-*r/99.9%
associate-*r/99.9%
div-sub99.9%
distribute-lft-out--99.9%
mul-1-neg99.9%
distribute-neg-frac99.9%
unsub-neg99.9%
distribute-rgt-out--99.9%
Simplified99.9%
if 0.0 < (+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t))) < 5e307Initial program 98.2%
clear-num98.0%
associate-/r/98.2%
Applied egg-rr98.2%
if 5e307 < (+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t))) Initial program 43.1%
associate-*l/86.1%
Simplified86.1%
add-cube-cbrt85.4%
pow385.4%
+-commutative85.4%
associate-/r/85.4%
div-inv85.4%
fma-def85.4%
clear-num85.4%
Applied egg-rr85.4%
Taylor expanded in z around -inf 42.5%
associate-+r+42.5%
mul-1-neg42.5%
unsub-neg42.5%
associate-/l*62.6%
associate-/l*81.7%
Simplified81.7%
add-cube-cbrt81.6%
pow281.6%
associate-/r/81.4%
associate-/r/90.6%
Applied egg-rr90.6%
Final simplification92.1%
(FPCore (x y z t a) :precision binary64 (if (or (<= t -2.4e+185) (not (<= t 7.4e+120))) (pow (cbrt (+ y (/ (- x y) (/ t (- z a))))) 3.0) (- x (/ (- x y) (/ (- a t) (- z t))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((t <= -2.4e+185) || !(t <= 7.4e+120)) {
tmp = pow(cbrt((y + ((x - y) / (t / (z - a))))), 3.0);
} else {
tmp = x - ((x - y) / ((a - t) / (z - t)));
}
return tmp;
}
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((t <= -2.4e+185) || !(t <= 7.4e+120)) {
tmp = Math.pow(Math.cbrt((y + ((x - y) / (t / (z - a))))), 3.0);
} else {
tmp = x - ((x - y) / ((a - t) / (z - t)));
}
return tmp;
}
function code(x, y, z, t, a) tmp = 0.0 if ((t <= -2.4e+185) || !(t <= 7.4e+120)) tmp = cbrt(Float64(y + Float64(Float64(x - y) / Float64(t / Float64(z - a))))) ^ 3.0; else tmp = Float64(x - Float64(Float64(x - y) / Float64(Float64(a - t) / Float64(z - t)))); end return tmp end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[t, -2.4e+185], N[Not[LessEqual[t, 7.4e+120]], $MachinePrecision]], N[Power[N[Power[N[(y + N[(N[(x - y), $MachinePrecision] / N[(t / N[(z - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision], 3.0], $MachinePrecision], N[(x - N[(N[(x - y), $MachinePrecision] / N[(N[(a - t), $MachinePrecision] / N[(z - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -2.4 \cdot 10^{+185} \lor \neg \left(t \leq 7.4 \cdot 10^{+120}\right):\\
\;\;\;\;{\left(\sqrt[3]{y + \frac{x - y}{\frac{t}{z - a}}}\right)}^{3}\\
\mathbf{else}:\\
\;\;\;\;x - \frac{x - y}{\frac{a - t}{z - t}}\\
\end{array}
\end{array}
if t < -2.39999999999999989e185 or 7.40000000000000048e120 < t Initial program 28.0%
associate-*l/57.7%
Simplified57.7%
add-cube-cbrt56.8%
pow356.7%
+-commutative56.7%
associate-/r/61.1%
div-inv61.1%
fma-def61.1%
clear-num61.1%
Applied egg-rr61.1%
Taylor expanded in t around -inf 68.6%
mul-1-neg68.6%
unsub-neg68.6%
associate-/l*90.1%
Simplified90.1%
if -2.39999999999999989e185 < t < 7.40000000000000048e120Initial program 80.1%
associate-/l*90.0%
Simplified90.0%
Final simplification90.1%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* (- z t) (/ (- y x) (- a t)))))
(t_2 (- x (/ (* (- y x) (- t z)) (- a t)))))
(if (<= t_2 (- INFINITY))
t_1
(if (<= t_2 -5e-209)
t_2
(if (<= t_2 0.0)
(+ y (/ (* (- z a) (- x y)) t))
(if (<= t_2 5e+259) t_2 t_1))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((z - t) * ((y - x) / (a - t)));
double t_2 = x - (((y - x) * (t - z)) / (a - t));
double tmp;
if (t_2 <= -((double) INFINITY)) {
tmp = t_1;
} else if (t_2 <= -5e-209) {
tmp = t_2;
} else if (t_2 <= 0.0) {
tmp = y + (((z - a) * (x - y)) / t);
} else if (t_2 <= 5e+259) {
tmp = t_2;
} else {
tmp = t_1;
}
return tmp;
}
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((z - t) * ((y - x) / (a - t)));
double t_2 = x - (((y - x) * (t - z)) / (a - t));
double tmp;
if (t_2 <= -Double.POSITIVE_INFINITY) {
tmp = t_1;
} else if (t_2 <= -5e-209) {
tmp = t_2;
} else if (t_2 <= 0.0) {
tmp = y + (((z - a) * (x - y)) / t);
} else if (t_2 <= 5e+259) {
tmp = t_2;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((z - t) * ((y - x) / (a - t))) t_2 = x - (((y - x) * (t - z)) / (a - t)) tmp = 0 if t_2 <= -math.inf: tmp = t_1 elif t_2 <= -5e-209: tmp = t_2 elif t_2 <= 0.0: tmp = y + (((z - a) * (x - y)) / t) elif t_2 <= 5e+259: tmp = t_2 else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(z - t) * Float64(Float64(y - x) / Float64(a - t)))) t_2 = Float64(x - Float64(Float64(Float64(y - x) * Float64(t - z)) / Float64(a - t))) tmp = 0.0 if (t_2 <= Float64(-Inf)) tmp = t_1; elseif (t_2 <= -5e-209) tmp = t_2; elseif (t_2 <= 0.0) tmp = Float64(y + Float64(Float64(Float64(z - a) * Float64(x - y)) / t)); elseif (t_2 <= 5e+259) tmp = t_2; else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + ((z - t) * ((y - x) / (a - t))); t_2 = x - (((y - x) * (t - z)) / (a - t)); tmp = 0.0; if (t_2 <= -Inf) tmp = t_1; elseif (t_2 <= -5e-209) tmp = t_2; elseif (t_2 <= 0.0) tmp = y + (((z - a) * (x - y)) / t); elseif (t_2 <= 5e+259) tmp = t_2; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(z - t), $MachinePrecision] * N[(N[(y - x), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x - N[(N[(N[(y - x), $MachinePrecision] * N[(t - z), $MachinePrecision]), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$2, (-Infinity)], t$95$1, If[LessEqual[t$95$2, -5e-209], t$95$2, If[LessEqual[t$95$2, 0.0], N[(y + N[(N[(N[(z - a), $MachinePrecision] * N[(x - y), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$2, 5e+259], t$95$2, t$95$1]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \left(z - t\right) \cdot \frac{y - x}{a - t}\\
t_2 := x - \frac{\left(y - x\right) \cdot \left(t - z\right)}{a - t}\\
\mathbf{if}\;t_2 \leq -\infty:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t_2 \leq -5 \cdot 10^{-209}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;t_2 \leq 0:\\
\;\;\;\;y + \frac{\left(z - a\right) \cdot \left(x - y\right)}{t}\\
\mathbf{elif}\;t_2 \leq 5 \cdot 10^{+259}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if (+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t))) < -inf.0 or 5.00000000000000033e259 < (+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t))) Initial program 39.8%
associate-*l/82.0%
Simplified82.0%
if -inf.0 < (+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t))) < -5.0000000000000005e-209 or 0.0 < (+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t))) < 5.00000000000000033e259Initial program 97.1%
if -5.0000000000000005e-209 < (+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t))) < 0.0Initial program 4.5%
associate-*l/3.8%
Simplified3.8%
Taylor expanded in t around inf 99.9%
associate--l+99.9%
associate-*r/99.9%
associate-*r/99.9%
div-sub99.9%
distribute-lft-out--99.9%
mul-1-neg99.9%
distribute-neg-frac99.9%
unsub-neg99.9%
distribute-rgt-out--99.9%
Simplified99.9%
Final simplification91.2%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (- x (/ (* (- y x) (- t z)) (- a t)))))
(if (or (<= t_1 -5e-209) (not (<= t_1 0.0)))
(- x (/ (- x y) (/ (- a t) (- z t))))
(+ y (/ (* (- z a) (- x y)) t)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x - (((y - x) * (t - z)) / (a - t));
double tmp;
if ((t_1 <= -5e-209) || !(t_1 <= 0.0)) {
tmp = x - ((x - y) / ((a - t) / (z - t)));
} else {
tmp = y + (((z - a) * (x - y)) / 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 = x - (((y - x) * (t - z)) / (a - t))
if ((t_1 <= (-5d-209)) .or. (.not. (t_1 <= 0.0d0))) then
tmp = x - ((x - y) / ((a - t) / (z - t)))
else
tmp = y + (((z - a) * (x - y)) / t)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x - (((y - x) * (t - z)) / (a - t));
double tmp;
if ((t_1 <= -5e-209) || !(t_1 <= 0.0)) {
tmp = x - ((x - y) / ((a - t) / (z - t)));
} else {
tmp = y + (((z - a) * (x - y)) / t);
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x - (((y - x) * (t - z)) / (a - t)) tmp = 0 if (t_1 <= -5e-209) or not (t_1 <= 0.0): tmp = x - ((x - y) / ((a - t) / (z - t))) else: tmp = y + (((z - a) * (x - y)) / t) return tmp
function code(x, y, z, t, a) t_1 = Float64(x - Float64(Float64(Float64(y - x) * Float64(t - z)) / Float64(a - t))) tmp = 0.0 if ((t_1 <= -5e-209) || !(t_1 <= 0.0)) tmp = Float64(x - Float64(Float64(x - y) / Float64(Float64(a - t) / Float64(z - t)))); else tmp = Float64(y + Float64(Float64(Float64(z - a) * Float64(x - y)) / t)); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x - (((y - x) * (t - z)) / (a - t)); tmp = 0.0; if ((t_1 <= -5e-209) || ~((t_1 <= 0.0))) tmp = x - ((x - y) / ((a - t) / (z - t))); else tmp = y + (((z - a) * (x - y)) / t); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x - N[(N[(N[(y - x), $MachinePrecision] * N[(t - z), $MachinePrecision]), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Or[LessEqual[t$95$1, -5e-209], N[Not[LessEqual[t$95$1, 0.0]], $MachinePrecision]], N[(x - N[(N[(x - y), $MachinePrecision] / N[(N[(a - t), $MachinePrecision] / N[(z - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y + N[(N[(N[(z - a), $MachinePrecision] * N[(x - y), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x - \frac{\left(y - x\right) \cdot \left(t - z\right)}{a - t}\\
\mathbf{if}\;t_1 \leq -5 \cdot 10^{-209} \lor \neg \left(t_1 \leq 0\right):\\
\;\;\;\;x - \frac{x - y}{\frac{a - t}{z - t}}\\
\mathbf{else}:\\
\;\;\;\;y + \frac{\left(z - a\right) \cdot \left(x - y\right)}{t}\\
\end{array}
\end{array}
if (+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t))) < -5.0000000000000005e-209 or 0.0 < (+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t))) Initial program 72.2%
associate-/l*89.0%
Simplified89.0%
if -5.0000000000000005e-209 < (+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t))) < 0.0Initial program 4.5%
associate-*l/3.8%
Simplified3.8%
Taylor expanded in t around inf 99.9%
associate--l+99.9%
associate-*r/99.9%
associate-*r/99.9%
div-sub99.9%
distribute-lft-out--99.9%
mul-1-neg99.9%
distribute-neg-frac99.9%
unsub-neg99.9%
distribute-rgt-out--99.9%
Simplified99.9%
Final simplification89.7%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ y (/ a (/ t (- y x))))) (t_2 (* z (/ (- y x) (- a t)))))
(if (<= t -2.8e+167)
t_1
(if (<= t -2.7e+50)
(- x (* x (/ z (- a t))))
(if (<= t -1.1e+25)
t_1
(if (<= t 3.3e-52)
(- x (/ (- x y) (/ a z)))
(if (<= t 6.2e+63)
(/ (* y (- z t)) (- a t))
(if (<= t 3.1e+132)
t_2
(if (<= t 1.7e+201)
(/ t (/ (- t a) y))
(if (<= t 1.05e+228) t_2 t_1))))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = y + (a / (t / (y - x)));
double t_2 = z * ((y - x) / (a - t));
double tmp;
if (t <= -2.8e+167) {
tmp = t_1;
} else if (t <= -2.7e+50) {
tmp = x - (x * (z / (a - t)));
} else if (t <= -1.1e+25) {
tmp = t_1;
} else if (t <= 3.3e-52) {
tmp = x - ((x - y) / (a / z));
} else if (t <= 6.2e+63) {
tmp = (y * (z - t)) / (a - t);
} else if (t <= 3.1e+132) {
tmp = t_2;
} else if (t <= 1.7e+201) {
tmp = t / ((t - a) / y);
} else if (t <= 1.05e+228) {
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 = y + (a / (t / (y - x)))
t_2 = z * ((y - x) / (a - t))
if (t <= (-2.8d+167)) then
tmp = t_1
else if (t <= (-2.7d+50)) then
tmp = x - (x * (z / (a - t)))
else if (t <= (-1.1d+25)) then
tmp = t_1
else if (t <= 3.3d-52) then
tmp = x - ((x - y) / (a / z))
else if (t <= 6.2d+63) then
tmp = (y * (z - t)) / (a - t)
else if (t <= 3.1d+132) then
tmp = t_2
else if (t <= 1.7d+201) then
tmp = t / ((t - a) / y)
else if (t <= 1.05d+228) 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 = y + (a / (t / (y - x)));
double t_2 = z * ((y - x) / (a - t));
double tmp;
if (t <= -2.8e+167) {
tmp = t_1;
} else if (t <= -2.7e+50) {
tmp = x - (x * (z / (a - t)));
} else if (t <= -1.1e+25) {
tmp = t_1;
} else if (t <= 3.3e-52) {
tmp = x - ((x - y) / (a / z));
} else if (t <= 6.2e+63) {
tmp = (y * (z - t)) / (a - t);
} else if (t <= 3.1e+132) {
tmp = t_2;
} else if (t <= 1.7e+201) {
tmp = t / ((t - a) / y);
} else if (t <= 1.05e+228) {
tmp = t_2;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = y + (a / (t / (y - x))) t_2 = z * ((y - x) / (a - t)) tmp = 0 if t <= -2.8e+167: tmp = t_1 elif t <= -2.7e+50: tmp = x - (x * (z / (a - t))) elif t <= -1.1e+25: tmp = t_1 elif t <= 3.3e-52: tmp = x - ((x - y) / (a / z)) elif t <= 6.2e+63: tmp = (y * (z - t)) / (a - t) elif t <= 3.1e+132: tmp = t_2 elif t <= 1.7e+201: tmp = t / ((t - a) / y) elif t <= 1.05e+228: tmp = t_2 else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(y + Float64(a / Float64(t / Float64(y - x)))) t_2 = Float64(z * Float64(Float64(y - x) / Float64(a - t))) tmp = 0.0 if (t <= -2.8e+167) tmp = t_1; elseif (t <= -2.7e+50) tmp = Float64(x - Float64(x * Float64(z / Float64(a - t)))); elseif (t <= -1.1e+25) tmp = t_1; elseif (t <= 3.3e-52) tmp = Float64(x - Float64(Float64(x - y) / Float64(a / z))); elseif (t <= 6.2e+63) tmp = Float64(Float64(y * Float64(z - t)) / Float64(a - t)); elseif (t <= 3.1e+132) tmp = t_2; elseif (t <= 1.7e+201) tmp = Float64(t / Float64(Float64(t - a) / y)); elseif (t <= 1.05e+228) tmp = t_2; else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = y + (a / (t / (y - x))); t_2 = z * ((y - x) / (a - t)); tmp = 0.0; if (t <= -2.8e+167) tmp = t_1; elseif (t <= -2.7e+50) tmp = x - (x * (z / (a - t))); elseif (t <= -1.1e+25) tmp = t_1; elseif (t <= 3.3e-52) tmp = x - ((x - y) / (a / z)); elseif (t <= 6.2e+63) tmp = (y * (z - t)) / (a - t); elseif (t <= 3.1e+132) tmp = t_2; elseif (t <= 1.7e+201) tmp = t / ((t - a) / y); elseif (t <= 1.05e+228) tmp = t_2; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(y + N[(a / N[(t / N[(y - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(z * N[(N[(y - x), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -2.8e+167], t$95$1, If[LessEqual[t, -2.7e+50], N[(x - N[(x * N[(z / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, -1.1e+25], t$95$1, If[LessEqual[t, 3.3e-52], N[(x - N[(N[(x - y), $MachinePrecision] / N[(a / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 6.2e+63], N[(N[(y * N[(z - t), $MachinePrecision]), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 3.1e+132], t$95$2, If[LessEqual[t, 1.7e+201], N[(t / N[(N[(t - a), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.05e+228], t$95$2, t$95$1]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y + \frac{a}{\frac{t}{y - x}}\\
t_2 := z \cdot \frac{y - x}{a - t}\\
\mathbf{if}\;t \leq -2.8 \cdot 10^{+167}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq -2.7 \cdot 10^{+50}:\\
\;\;\;\;x - x \cdot \frac{z}{a - t}\\
\mathbf{elif}\;t \leq -1.1 \cdot 10^{+25}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq 3.3 \cdot 10^{-52}:\\
\;\;\;\;x - \frac{x - y}{\frac{a}{z}}\\
\mathbf{elif}\;t \leq 6.2 \cdot 10^{+63}:\\
\;\;\;\;\frac{y \cdot \left(z - t\right)}{a - t}\\
\mathbf{elif}\;t \leq 3.1 \cdot 10^{+132}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;t \leq 1.7 \cdot 10^{+201}:\\
\;\;\;\;\frac{t}{\frac{t - a}{y}}\\
\mathbf{elif}\;t \leq 1.05 \cdot 10^{+228}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if t < -2.7999999999999999e167 or -2.7e50 < t < -1.1e25 or 1.04999999999999997e228 < t Initial program 26.3%
associate-/l*64.1%
Simplified64.1%
Taylor expanded in z around 0 54.6%
associate-*r/54.6%
neg-mul-154.6%
Simplified54.6%
Taylor expanded in a around 0 64.9%
associate-/l*75.1%
Simplified75.1%
if -2.7999999999999999e167 < t < -2.7e50Initial program 68.1%
associate-*l/94.3%
Simplified94.3%
Taylor expanded in x around inf 49.1%
distribute-lft-in49.1%
mul-1-neg49.1%
distribute-rgt-neg-in49.1%
unsub-neg49.1%
*-rgt-identity49.1%
Simplified49.1%
Taylor expanded in z around inf 49.8%
if -1.1e25 < t < 3.29999999999999995e-52Initial program 90.6%
associate-/l*94.3%
Simplified94.3%
Taylor expanded in t around 0 75.1%
if 3.29999999999999995e-52 < t < 6.2000000000000001e63Initial program 74.9%
associate-*l/74.7%
Simplified74.7%
Taylor expanded in x around 0 57.1%
if 6.2000000000000001e63 < t < 3.0999999999999998e132 or 1.7e201 < t < 1.04999999999999997e228Initial program 29.8%
associate-*l/58.9%
Simplified58.9%
Taylor expanded in z around inf 63.3%
div-sub63.3%
Simplified63.3%
if 3.0999999999999998e132 < t < 1.7e201Initial program 62.5%
associate-/l*90.0%
Simplified90.0%
Taylor expanded in z around 0 70.5%
associate-*r/70.5%
neg-mul-170.5%
Simplified70.5%
Taylor expanded in x around 0 43.0%
associate-/l*80.0%
Simplified80.0%
Final simplification71.0%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ y (/ a (/ t (- y x)))))
(t_2 (* z (/ (- y x) (- a t))))
(t_3 (- x (/ (- x y) (/ a z)))))
(if (<= a -8.2e+90)
t_3
(if (<= a -1.2e-24)
t_1
(if (<= a 6.6e-188)
(/ (* (- y x) z) (- a t))
(if (<= a 5.3e-135)
y
(if (<= a 1.15e-40)
t_2
(if (<= a 210000000.0) t_1 (if (<= a 6.8e+14) t_2 t_3)))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = y + (a / (t / (y - x)));
double t_2 = z * ((y - x) / (a - t));
double t_3 = x - ((x - y) / (a / z));
double tmp;
if (a <= -8.2e+90) {
tmp = t_3;
} else if (a <= -1.2e-24) {
tmp = t_1;
} else if (a <= 6.6e-188) {
tmp = ((y - x) * z) / (a - t);
} else if (a <= 5.3e-135) {
tmp = y;
} else if (a <= 1.15e-40) {
tmp = t_2;
} else if (a <= 210000000.0) {
tmp = t_1;
} else if (a <= 6.8e+14) {
tmp = t_2;
} else {
tmp = t_3;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = y + (a / (t / (y - x)))
t_2 = z * ((y - x) / (a - t))
t_3 = x - ((x - y) / (a / z))
if (a <= (-8.2d+90)) then
tmp = t_3
else if (a <= (-1.2d-24)) then
tmp = t_1
else if (a <= 6.6d-188) then
tmp = ((y - x) * z) / (a - t)
else if (a <= 5.3d-135) then
tmp = y
else if (a <= 1.15d-40) then
tmp = t_2
else if (a <= 210000000.0d0) then
tmp = t_1
else if (a <= 6.8d+14) then
tmp = t_2
else
tmp = t_3
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = y + (a / (t / (y - x)));
double t_2 = z * ((y - x) / (a - t));
double t_3 = x - ((x - y) / (a / z));
double tmp;
if (a <= -8.2e+90) {
tmp = t_3;
} else if (a <= -1.2e-24) {
tmp = t_1;
} else if (a <= 6.6e-188) {
tmp = ((y - x) * z) / (a - t);
} else if (a <= 5.3e-135) {
tmp = y;
} else if (a <= 1.15e-40) {
tmp = t_2;
} else if (a <= 210000000.0) {
tmp = t_1;
} else if (a <= 6.8e+14) {
tmp = t_2;
} else {
tmp = t_3;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = y + (a / (t / (y - x))) t_2 = z * ((y - x) / (a - t)) t_3 = x - ((x - y) / (a / z)) tmp = 0 if a <= -8.2e+90: tmp = t_3 elif a <= -1.2e-24: tmp = t_1 elif a <= 6.6e-188: tmp = ((y - x) * z) / (a - t) elif a <= 5.3e-135: tmp = y elif a <= 1.15e-40: tmp = t_2 elif a <= 210000000.0: tmp = t_1 elif a <= 6.8e+14: tmp = t_2 else: tmp = t_3 return tmp
function code(x, y, z, t, a) t_1 = Float64(y + Float64(a / Float64(t / Float64(y - x)))) t_2 = Float64(z * Float64(Float64(y - x) / Float64(a - t))) t_3 = Float64(x - Float64(Float64(x - y) / Float64(a / z))) tmp = 0.0 if (a <= -8.2e+90) tmp = t_3; elseif (a <= -1.2e-24) tmp = t_1; elseif (a <= 6.6e-188) tmp = Float64(Float64(Float64(y - x) * z) / Float64(a - t)); elseif (a <= 5.3e-135) tmp = y; elseif (a <= 1.15e-40) tmp = t_2; elseif (a <= 210000000.0) tmp = t_1; elseif (a <= 6.8e+14) tmp = t_2; else tmp = t_3; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = y + (a / (t / (y - x))); t_2 = z * ((y - x) / (a - t)); t_3 = x - ((x - y) / (a / z)); tmp = 0.0; if (a <= -8.2e+90) tmp = t_3; elseif (a <= -1.2e-24) tmp = t_1; elseif (a <= 6.6e-188) tmp = ((y - x) * z) / (a - t); elseif (a <= 5.3e-135) tmp = y; elseif (a <= 1.15e-40) tmp = t_2; elseif (a <= 210000000.0) tmp = t_1; elseif (a <= 6.8e+14) tmp = t_2; else tmp = t_3; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(y + N[(a / N[(t / N[(y - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(z * N[(N[(y - x), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(x - N[(N[(x - y), $MachinePrecision] / N[(a / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -8.2e+90], t$95$3, If[LessEqual[a, -1.2e-24], t$95$1, If[LessEqual[a, 6.6e-188], N[(N[(N[(y - x), $MachinePrecision] * z), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 5.3e-135], y, If[LessEqual[a, 1.15e-40], t$95$2, If[LessEqual[a, 210000000.0], t$95$1, If[LessEqual[a, 6.8e+14], t$95$2, t$95$3]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y + \frac{a}{\frac{t}{y - x}}\\
t_2 := z \cdot \frac{y - x}{a - t}\\
t_3 := x - \frac{x - y}{\frac{a}{z}}\\
\mathbf{if}\;a \leq -8.2 \cdot 10^{+90}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;a \leq -1.2 \cdot 10^{-24}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 6.6 \cdot 10^{-188}:\\
\;\;\;\;\frac{\left(y - x\right) \cdot z}{a - t}\\
\mathbf{elif}\;a \leq 5.3 \cdot 10^{-135}:\\
\;\;\;\;y\\
\mathbf{elif}\;a \leq 1.15 \cdot 10^{-40}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;a \leq 210000000:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 6.8 \cdot 10^{+14}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t_3\\
\end{array}
\end{array}
if a < -8.20000000000000083e90 or 6.8e14 < a Initial program 71.7%
associate-/l*90.9%
Simplified90.9%
Taylor expanded in t around 0 81.0%
if -8.20000000000000083e90 < a < -1.1999999999999999e-24 or 1.15e-40 < a < 2.1e8Initial program 58.2%
associate-/l*80.1%
Simplified80.1%
Taylor expanded in z around 0 57.3%
associate-*r/57.3%
neg-mul-157.3%
Simplified57.3%
Taylor expanded in a around 0 61.6%
associate-/l*70.8%
Simplified70.8%
if -1.1999999999999999e-24 < a < 6.6000000000000005e-188Initial program 68.3%
associate-*l/69.7%
Simplified69.7%
Taylor expanded in z around -inf 60.0%
if 6.6000000000000005e-188 < a < 5.3e-135Initial program 46.1%
associate-*l/61.5%
Simplified61.5%
Taylor expanded in t around inf 59.8%
if 5.3e-135 < a < 1.15e-40 or 2.1e8 < a < 6.8e14Initial program 71.6%
associate-*l/95.2%
Simplified95.2%
Taylor expanded in z around inf 64.8%
div-sub64.8%
Simplified64.8%
Final simplification69.7%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* (- z t) (/ (- y x) (- a t))))))
(if (<= t -6e+192)
(+ y (/ a (/ t (- y x))))
(if (<= t -8.5e-196)
t_1
(if (<= t 2.8e-250)
(- x (/ (- x y) (/ a z)))
(if (<= t 1.75e+212) t_1 (+ y (/ (* (- z a) (- x y)) t))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((z - t) * ((y - x) / (a - t)));
double tmp;
if (t <= -6e+192) {
tmp = y + (a / (t / (y - x)));
} else if (t <= -8.5e-196) {
tmp = t_1;
} else if (t <= 2.8e-250) {
tmp = x - ((x - y) / (a / z));
} else if (t <= 1.75e+212) {
tmp = t_1;
} else {
tmp = y + (((z - a) * (x - y)) / 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 = x + ((z - t) * ((y - x) / (a - t)))
if (t <= (-6d+192)) then
tmp = y + (a / (t / (y - x)))
else if (t <= (-8.5d-196)) then
tmp = t_1
else if (t <= 2.8d-250) then
tmp = x - ((x - y) / (a / z))
else if (t <= 1.75d+212) then
tmp = t_1
else
tmp = y + (((z - a) * (x - y)) / t)
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 - t) * ((y - x) / (a - t)));
double tmp;
if (t <= -6e+192) {
tmp = y + (a / (t / (y - x)));
} else if (t <= -8.5e-196) {
tmp = t_1;
} else if (t <= 2.8e-250) {
tmp = x - ((x - y) / (a / z));
} else if (t <= 1.75e+212) {
tmp = t_1;
} else {
tmp = y + (((z - a) * (x - y)) / t);
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((z - t) * ((y - x) / (a - t))) tmp = 0 if t <= -6e+192: tmp = y + (a / (t / (y - x))) elif t <= -8.5e-196: tmp = t_1 elif t <= 2.8e-250: tmp = x - ((x - y) / (a / z)) elif t <= 1.75e+212: tmp = t_1 else: tmp = y + (((z - a) * (x - y)) / t) return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(z - t) * Float64(Float64(y - x) / Float64(a - t)))) tmp = 0.0 if (t <= -6e+192) tmp = Float64(y + Float64(a / Float64(t / Float64(y - x)))); elseif (t <= -8.5e-196) tmp = t_1; elseif (t <= 2.8e-250) tmp = Float64(x - Float64(Float64(x - y) / Float64(a / z))); elseif (t <= 1.75e+212) tmp = t_1; else tmp = Float64(y + Float64(Float64(Float64(z - a) * Float64(x - y)) / t)); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + ((z - t) * ((y - x) / (a - t))); tmp = 0.0; if (t <= -6e+192) tmp = y + (a / (t / (y - x))); elseif (t <= -8.5e-196) tmp = t_1; elseif (t <= 2.8e-250) tmp = x - ((x - y) / (a / z)); elseif (t <= 1.75e+212) tmp = t_1; else tmp = y + (((z - a) * (x - y)) / t); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(z - t), $MachinePrecision] * N[(N[(y - x), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -6e+192], N[(y + N[(a / N[(t / N[(y - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, -8.5e-196], t$95$1, If[LessEqual[t, 2.8e-250], N[(x - N[(N[(x - y), $MachinePrecision] / N[(a / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.75e+212], t$95$1, N[(y + N[(N[(N[(z - a), $MachinePrecision] * N[(x - y), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \left(z - t\right) \cdot \frac{y - x}{a - t}\\
\mathbf{if}\;t \leq -6 \cdot 10^{+192}:\\
\;\;\;\;y + \frac{a}{\frac{t}{y - x}}\\
\mathbf{elif}\;t \leq -8.5 \cdot 10^{-196}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq 2.8 \cdot 10^{-250}:\\
\;\;\;\;x - \frac{x - y}{\frac{a}{z}}\\
\mathbf{elif}\;t \leq 1.75 \cdot 10^{+212}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;y + \frac{\left(z - a\right) \cdot \left(x - y\right)}{t}\\
\end{array}
\end{array}
if t < -6e192Initial program 22.1%
associate-/l*63.2%
Simplified63.2%
Taylor expanded in z around 0 59.1%
associate-*r/59.1%
neg-mul-159.1%
Simplified59.1%
Taylor expanded in a around 0 72.1%
associate-/l*85.5%
Simplified85.5%
if -6e192 < t < -8.50000000000000004e-196 or 2.80000000000000028e-250 < t < 1.74999999999999994e212Initial program 75.1%
associate-*l/86.1%
Simplified86.1%
if -8.50000000000000004e-196 < t < 2.80000000000000028e-250Initial program 91.2%
associate-/l*99.9%
Simplified99.9%
Taylor expanded in t around 0 94.1%
if 1.74999999999999994e212 < t Initial program 19.8%
associate-*l/43.7%
Simplified43.7%
Taylor expanded in t around inf 77.5%
associate--l+77.5%
associate-*r/77.5%
associate-*r/77.5%
div-sub77.5%
distribute-lft-out--77.5%
mul-1-neg77.5%
distribute-neg-frac77.5%
unsub-neg77.5%
distribute-rgt-out--77.5%
Simplified77.5%
Final simplification86.5%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* (- z t) (/ y (- a t))))) (t_2 (+ y (/ a (/ t (- y x))))))
(if (<= t -8e+191)
t_2
(if (<= t -1.95e-112)
t_1
(if (<= t 1.45e-162)
(- x (/ (- x y) (/ a z)))
(if (<= t 1.05e+215) t_1 t_2))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((z - t) * (y / (a - t)));
double t_2 = y + (a / (t / (y - x)));
double tmp;
if (t <= -8e+191) {
tmp = t_2;
} else if (t <= -1.95e-112) {
tmp = t_1;
} else if (t <= 1.45e-162) {
tmp = x - ((x - y) / (a / z));
} else if (t <= 1.05e+215) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = x + ((z - t) * (y / (a - t)))
t_2 = y + (a / (t / (y - x)))
if (t <= (-8d+191)) then
tmp = t_2
else if (t <= (-1.95d-112)) then
tmp = t_1
else if (t <= 1.45d-162) then
tmp = x - ((x - y) / (a / z))
else if (t <= 1.05d+215) then
tmp = t_1
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((z - t) * (y / (a - t)));
double t_2 = y + (a / (t / (y - x)));
double tmp;
if (t <= -8e+191) {
tmp = t_2;
} else if (t <= -1.95e-112) {
tmp = t_1;
} else if (t <= 1.45e-162) {
tmp = x - ((x - y) / (a / z));
} else if (t <= 1.05e+215) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((z - t) * (y / (a - t))) t_2 = y + (a / (t / (y - x))) tmp = 0 if t <= -8e+191: tmp = t_2 elif t <= -1.95e-112: tmp = t_1 elif t <= 1.45e-162: tmp = x - ((x - y) / (a / z)) elif t <= 1.05e+215: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(z - t) * Float64(y / Float64(a - t)))) t_2 = Float64(y + Float64(a / Float64(t / Float64(y - x)))) tmp = 0.0 if (t <= -8e+191) tmp = t_2; elseif (t <= -1.95e-112) tmp = t_1; elseif (t <= 1.45e-162) tmp = Float64(x - Float64(Float64(x - y) / Float64(a / z))); elseif (t <= 1.05e+215) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + ((z - t) * (y / (a - t))); t_2 = y + (a / (t / (y - x))); tmp = 0.0; if (t <= -8e+191) tmp = t_2; elseif (t <= -1.95e-112) tmp = t_1; elseif (t <= 1.45e-162) tmp = x - ((x - y) / (a / z)); elseif (t <= 1.05e+215) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(z - t), $MachinePrecision] * N[(y / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y + N[(a / N[(t / N[(y - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -8e+191], t$95$2, If[LessEqual[t, -1.95e-112], t$95$1, If[LessEqual[t, 1.45e-162], N[(x - N[(N[(x - y), $MachinePrecision] / N[(a / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.05e+215], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \left(z - t\right) \cdot \frac{y}{a - t}\\
t_2 := y + \frac{a}{\frac{t}{y - x}}\\
\mathbf{if}\;t \leq -8 \cdot 10^{+191}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;t \leq -1.95 \cdot 10^{-112}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq 1.45 \cdot 10^{-162}:\\
\;\;\;\;x - \frac{x - y}{\frac{a}{z}}\\
\mathbf{elif}\;t \leq 1.05 \cdot 10^{+215}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if t < -8.00000000000000058e191 or 1.0500000000000001e215 < t Initial program 21.6%
associate-/l*58.6%
Simplified58.6%
Taylor expanded in z around 0 53.8%
associate-*r/53.8%
neg-mul-153.8%
Simplified53.8%
Taylor expanded in a around 0 69.4%
associate-/l*78.0%
Simplified78.0%
if -8.00000000000000058e191 < t < -1.9500000000000001e-112 or 1.4500000000000001e-162 < t < 1.0500000000000001e215Initial program 70.6%
associate-*l/85.3%
Simplified85.3%
Taylor expanded in y around inf 64.8%
if -1.9500000000000001e-112 < t < 1.4500000000000001e-162Initial program 91.0%
associate-/l*95.2%
Simplified95.2%
Taylor expanded in t around 0 86.0%
Final simplification72.8%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* (- z t) (/ y (- a t))))) (t_2 (+ y (/ a (/ t (- y x))))))
(if (<= t -9.2e+192)
t_2
(if (<= t -1.5e-112)
t_1
(if (<= t 1.35e-42)
(- x (/ (- x y) (/ a (- z t))))
(if (<= t 8e+214) t_1 t_2))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((z - t) * (y / (a - t)));
double t_2 = y + (a / (t / (y - x)));
double tmp;
if (t <= -9.2e+192) {
tmp = t_2;
} else if (t <= -1.5e-112) {
tmp = t_1;
} else if (t <= 1.35e-42) {
tmp = x - ((x - y) / (a / (z - t)));
} else if (t <= 8e+214) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = x + ((z - t) * (y / (a - t)))
t_2 = y + (a / (t / (y - x)))
if (t <= (-9.2d+192)) then
tmp = t_2
else if (t <= (-1.5d-112)) then
tmp = t_1
else if (t <= 1.35d-42) then
tmp = x - ((x - y) / (a / (z - t)))
else if (t <= 8d+214) then
tmp = t_1
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((z - t) * (y / (a - t)));
double t_2 = y + (a / (t / (y - x)));
double tmp;
if (t <= -9.2e+192) {
tmp = t_2;
} else if (t <= -1.5e-112) {
tmp = t_1;
} else if (t <= 1.35e-42) {
tmp = x - ((x - y) / (a / (z - t)));
} else if (t <= 8e+214) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((z - t) * (y / (a - t))) t_2 = y + (a / (t / (y - x))) tmp = 0 if t <= -9.2e+192: tmp = t_2 elif t <= -1.5e-112: tmp = t_1 elif t <= 1.35e-42: tmp = x - ((x - y) / (a / (z - t))) elif t <= 8e+214: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(z - t) * Float64(y / Float64(a - t)))) t_2 = Float64(y + Float64(a / Float64(t / Float64(y - x)))) tmp = 0.0 if (t <= -9.2e+192) tmp = t_2; elseif (t <= -1.5e-112) tmp = t_1; elseif (t <= 1.35e-42) tmp = Float64(x - Float64(Float64(x - y) / Float64(a / Float64(z - t)))); elseif (t <= 8e+214) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + ((z - t) * (y / (a - t))); t_2 = y + (a / (t / (y - x))); tmp = 0.0; if (t <= -9.2e+192) tmp = t_2; elseif (t <= -1.5e-112) tmp = t_1; elseif (t <= 1.35e-42) tmp = x - ((x - y) / (a / (z - t))); elseif (t <= 8e+214) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(z - t), $MachinePrecision] * N[(y / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y + N[(a / N[(t / N[(y - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -9.2e+192], t$95$2, If[LessEqual[t, -1.5e-112], t$95$1, If[LessEqual[t, 1.35e-42], N[(x - N[(N[(x - y), $MachinePrecision] / N[(a / N[(z - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 8e+214], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \left(z - t\right) \cdot \frac{y}{a - t}\\
t_2 := y + \frac{a}{\frac{t}{y - x}}\\
\mathbf{if}\;t \leq -9.2 \cdot 10^{+192}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;t \leq -1.5 \cdot 10^{-112}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq 1.35 \cdot 10^{-42}:\\
\;\;\;\;x - \frac{x - y}{\frac{a}{z - t}}\\
\mathbf{elif}\;t \leq 8 \cdot 10^{+214}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if t < -9.1999999999999997e192 or 7.9999999999999996e214 < t Initial program 21.6%
associate-/l*58.6%
Simplified58.6%
Taylor expanded in z around 0 53.8%
associate-*r/53.8%
neg-mul-153.8%
Simplified53.8%
Taylor expanded in a around 0 69.4%
associate-/l*78.0%
Simplified78.0%
if -9.1999999999999997e192 < t < -1.5e-112 or 1.35e-42 < t < 7.9999999999999996e214Initial program 66.6%
associate-*l/84.5%
Simplified84.5%
Taylor expanded in y around inf 64.0%
if -1.5e-112 < t < 1.35e-42Initial program 89.2%
associate-*l/85.1%
Simplified85.1%
Taylor expanded in a around inf 73.8%
associate-/l*80.5%
Simplified80.5%
Final simplification72.8%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ y (/ (* (- z a) (- x y)) t)))
(t_2 (- x (/ (- x y) (/ a (- z t))))))
(if (<= a -6.8e+20)
t_2
(if (<= a -1.5e-57)
t_1
(if (<= a -2.4e-159)
(/ (* (- y x) z) (- a t))
(if (<= a 6.2e+16) t_1 t_2))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = y + (((z - a) * (x - y)) / t);
double t_2 = x - ((x - y) / (a / (z - t)));
double tmp;
if (a <= -6.8e+20) {
tmp = t_2;
} else if (a <= -1.5e-57) {
tmp = t_1;
} else if (a <= -2.4e-159) {
tmp = ((y - x) * z) / (a - t);
} else if (a <= 6.2e+16) {
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 = y + (((z - a) * (x - y)) / t)
t_2 = x - ((x - y) / (a / (z - t)))
if (a <= (-6.8d+20)) then
tmp = t_2
else if (a <= (-1.5d-57)) then
tmp = t_1
else if (a <= (-2.4d-159)) then
tmp = ((y - x) * z) / (a - t)
else if (a <= 6.2d+16) 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 = y + (((z - a) * (x - y)) / t);
double t_2 = x - ((x - y) / (a / (z - t)));
double tmp;
if (a <= -6.8e+20) {
tmp = t_2;
} else if (a <= -1.5e-57) {
tmp = t_1;
} else if (a <= -2.4e-159) {
tmp = ((y - x) * z) / (a - t);
} else if (a <= 6.2e+16) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = y + (((z - a) * (x - y)) / t) t_2 = x - ((x - y) / (a / (z - t))) tmp = 0 if a <= -6.8e+20: tmp = t_2 elif a <= -1.5e-57: tmp = t_1 elif a <= -2.4e-159: tmp = ((y - x) * z) / (a - t) elif a <= 6.2e+16: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a) t_1 = Float64(y + Float64(Float64(Float64(z - a) * Float64(x - y)) / t)) t_2 = Float64(x - Float64(Float64(x - y) / Float64(a / Float64(z - t)))) tmp = 0.0 if (a <= -6.8e+20) tmp = t_2; elseif (a <= -1.5e-57) tmp = t_1; elseif (a <= -2.4e-159) tmp = Float64(Float64(Float64(y - x) * z) / Float64(a - t)); elseif (a <= 6.2e+16) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = y + (((z - a) * (x - y)) / t); t_2 = x - ((x - y) / (a / (z - t))); tmp = 0.0; if (a <= -6.8e+20) tmp = t_2; elseif (a <= -1.5e-57) tmp = t_1; elseif (a <= -2.4e-159) tmp = ((y - x) * z) / (a - t); elseif (a <= 6.2e+16) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(y + N[(N[(N[(z - a), $MachinePrecision] * N[(x - y), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x - N[(N[(x - y), $MachinePrecision] / N[(a / N[(z - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -6.8e+20], t$95$2, If[LessEqual[a, -1.5e-57], t$95$1, If[LessEqual[a, -2.4e-159], N[(N[(N[(y - x), $MachinePrecision] * z), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 6.2e+16], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y + \frac{\left(z - a\right) \cdot \left(x - y\right)}{t}\\
t_2 := x - \frac{x - y}{\frac{a}{z - t}}\\
\mathbf{if}\;a \leq -6.8 \cdot 10^{+20}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;a \leq -1.5 \cdot 10^{-57}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq -2.4 \cdot 10^{-159}:\\
\;\;\;\;\frac{\left(y - x\right) \cdot z}{a - t}\\
\mathbf{elif}\;a \leq 6.2 \cdot 10^{+16}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if a < -6.8e20 or 6.2e16 < a Initial program 71.4%
associate-*l/89.3%
Simplified89.3%
Taylor expanded in a around inf 67.8%
associate-/l*81.5%
Simplified81.5%
if -6.8e20 < a < -1.5e-57 or -2.39999999999999997e-159 < a < 6.2e16Initial program 61.5%
associate-*l/70.9%
Simplified70.9%
Taylor expanded in t around inf 76.2%
associate--l+76.2%
associate-*r/76.2%
associate-*r/76.2%
div-sub77.0%
distribute-lft-out--77.0%
mul-1-neg77.0%
distribute-neg-frac77.0%
unsub-neg77.0%
distribute-rgt-out--77.0%
Simplified77.0%
if -1.5e-57 < a < -2.39999999999999997e-159Initial program 85.0%
associate-*l/75.7%
Simplified75.7%
Taylor expanded in z around -inf 67.8%
Final simplification78.2%
(FPCore (x y z t a)
:precision binary64
(if (<= t -2.8e+167)
y
(if (<= t -4.8e+122)
(- x (/ t (/ a y)))
(if (<= t -3.8e+37)
y
(if (<= t -1.5e-301)
(- x (* x (/ z a)))
(if (<= t 2.4e+47) (+ x (/ (* y z) a)) y))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (t <= -2.8e+167) {
tmp = y;
} else if (t <= -4.8e+122) {
tmp = x - (t / (a / y));
} else if (t <= -3.8e+37) {
tmp = y;
} else if (t <= -1.5e-301) {
tmp = x - (x * (z / a));
} else if (t <= 2.4e+47) {
tmp = x + ((y * z) / a);
} else {
tmp = 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 (t <= (-2.8d+167)) then
tmp = y
else if (t <= (-4.8d+122)) then
tmp = x - (t / (a / y))
else if (t <= (-3.8d+37)) then
tmp = y
else if (t <= (-1.5d-301)) then
tmp = x - (x * (z / a))
else if (t <= 2.4d+47) then
tmp = x + ((y * z) / a)
else
tmp = y
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (t <= -2.8e+167) {
tmp = y;
} else if (t <= -4.8e+122) {
tmp = x - (t / (a / y));
} else if (t <= -3.8e+37) {
tmp = y;
} else if (t <= -1.5e-301) {
tmp = x - (x * (z / a));
} else if (t <= 2.4e+47) {
tmp = x + ((y * z) / a);
} else {
tmp = y;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if t <= -2.8e+167: tmp = y elif t <= -4.8e+122: tmp = x - (t / (a / y)) elif t <= -3.8e+37: tmp = y elif t <= -1.5e-301: tmp = x - (x * (z / a)) elif t <= 2.4e+47: tmp = x + ((y * z) / a) else: tmp = y return tmp
function code(x, y, z, t, a) tmp = 0.0 if (t <= -2.8e+167) tmp = y; elseif (t <= -4.8e+122) tmp = Float64(x - Float64(t / Float64(a / y))); elseif (t <= -3.8e+37) tmp = y; elseif (t <= -1.5e-301) tmp = Float64(x - Float64(x * Float64(z / a))); elseif (t <= 2.4e+47) tmp = Float64(x + Float64(Float64(y * z) / a)); else tmp = y; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (t <= -2.8e+167) tmp = y; elseif (t <= -4.8e+122) tmp = x - (t / (a / y)); elseif (t <= -3.8e+37) tmp = y; elseif (t <= -1.5e-301) tmp = x - (x * (z / a)); elseif (t <= 2.4e+47) tmp = x + ((y * z) / a); else tmp = y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[t, -2.8e+167], y, If[LessEqual[t, -4.8e+122], N[(x - N[(t / N[(a / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, -3.8e+37], y, If[LessEqual[t, -1.5e-301], N[(x - N[(x * N[(z / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 2.4e+47], N[(x + N[(N[(y * z), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], y]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -2.8 \cdot 10^{+167}:\\
\;\;\;\;y\\
\mathbf{elif}\;t \leq -4.8 \cdot 10^{+122}:\\
\;\;\;\;x - \frac{t}{\frac{a}{y}}\\
\mathbf{elif}\;t \leq -3.8 \cdot 10^{+37}:\\
\;\;\;\;y\\
\mathbf{elif}\;t \leq -1.5 \cdot 10^{-301}:\\
\;\;\;\;x - x \cdot \frac{z}{a}\\
\mathbf{elif}\;t \leq 2.4 \cdot 10^{+47}:\\
\;\;\;\;x + \frac{y \cdot z}{a}\\
\mathbf{else}:\\
\;\;\;\;y\\
\end{array}
\end{array}
if t < -2.7999999999999999e167 or -4.8000000000000004e122 < t < -3.7999999999999999e37 or 2.40000000000000019e47 < t Initial program 35.0%
associate-*l/63.8%
Simplified63.8%
Taylor expanded in t around inf 53.9%
if -2.7999999999999999e167 < t < -4.8000000000000004e122Initial program 67.8%
associate-*l/88.9%
Simplified88.9%
Taylor expanded in a around inf 47.3%
associate-/l*57.8%
Simplified57.8%
Taylor expanded in y around inf 47.8%
Taylor expanded in z around 0 46.6%
mul-1-neg46.6%
unsub-neg46.6%
associate-/l*54.1%
Simplified54.1%
if -3.7999999999999999e37 < t < -1.5e-301Initial program 86.7%
associate-*l/91.0%
Simplified91.0%
Taylor expanded in x around inf 57.9%
distribute-lft-in57.8%
mul-1-neg57.8%
distribute-rgt-neg-in57.8%
unsub-neg57.8%
*-rgt-identity57.8%
Simplified57.8%
Taylor expanded in t around 0 51.2%
if -1.5e-301 < t < 2.40000000000000019e47Initial program 88.8%
associate-*l/85.1%
Simplified85.1%
Taylor expanded in a around inf 67.9%
associate-/l*71.6%
Simplified71.6%
Taylor expanded in y around inf 61.6%
Taylor expanded in z around inf 59.3%
Final simplification54.7%
(FPCore (x y z t a)
:precision binary64
(if (<= t -2.8e+167)
y
(if (<= t -4e+122)
(- x (/ t (/ a y)))
(if (<= t -1.9e+39)
y
(if (<= t -2.2e-300)
(- x (/ x (/ a z)))
(if (<= t 1.7e+47) (+ x (/ (* y z) a)) y))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (t <= -2.8e+167) {
tmp = y;
} else if (t <= -4e+122) {
tmp = x - (t / (a / y));
} else if (t <= -1.9e+39) {
tmp = y;
} else if (t <= -2.2e-300) {
tmp = x - (x / (a / z));
} else if (t <= 1.7e+47) {
tmp = x + ((y * z) / a);
} else {
tmp = 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 (t <= (-2.8d+167)) then
tmp = y
else if (t <= (-4d+122)) then
tmp = x - (t / (a / y))
else if (t <= (-1.9d+39)) then
tmp = y
else if (t <= (-2.2d-300)) then
tmp = x - (x / (a / z))
else if (t <= 1.7d+47) then
tmp = x + ((y * z) / a)
else
tmp = y
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (t <= -2.8e+167) {
tmp = y;
} else if (t <= -4e+122) {
tmp = x - (t / (a / y));
} else if (t <= -1.9e+39) {
tmp = y;
} else if (t <= -2.2e-300) {
tmp = x - (x / (a / z));
} else if (t <= 1.7e+47) {
tmp = x + ((y * z) / a);
} else {
tmp = y;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if t <= -2.8e+167: tmp = y elif t <= -4e+122: tmp = x - (t / (a / y)) elif t <= -1.9e+39: tmp = y elif t <= -2.2e-300: tmp = x - (x / (a / z)) elif t <= 1.7e+47: tmp = x + ((y * z) / a) else: tmp = y return tmp
function code(x, y, z, t, a) tmp = 0.0 if (t <= -2.8e+167) tmp = y; elseif (t <= -4e+122) tmp = Float64(x - Float64(t / Float64(a / y))); elseif (t <= -1.9e+39) tmp = y; elseif (t <= -2.2e-300) tmp = Float64(x - Float64(x / Float64(a / z))); elseif (t <= 1.7e+47) tmp = Float64(x + Float64(Float64(y * z) / a)); else tmp = y; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (t <= -2.8e+167) tmp = y; elseif (t <= -4e+122) tmp = x - (t / (a / y)); elseif (t <= -1.9e+39) tmp = y; elseif (t <= -2.2e-300) tmp = x - (x / (a / z)); elseif (t <= 1.7e+47) tmp = x + ((y * z) / a); else tmp = y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[t, -2.8e+167], y, If[LessEqual[t, -4e+122], N[(x - N[(t / N[(a / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, -1.9e+39], y, If[LessEqual[t, -2.2e-300], N[(x - N[(x / N[(a / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.7e+47], N[(x + N[(N[(y * z), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], y]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -2.8 \cdot 10^{+167}:\\
\;\;\;\;y\\
\mathbf{elif}\;t \leq -4 \cdot 10^{+122}:\\
\;\;\;\;x - \frac{t}{\frac{a}{y}}\\
\mathbf{elif}\;t \leq -1.9 \cdot 10^{+39}:\\
\;\;\;\;y\\
\mathbf{elif}\;t \leq -2.2 \cdot 10^{-300}:\\
\;\;\;\;x - \frac{x}{\frac{a}{z}}\\
\mathbf{elif}\;t \leq 1.7 \cdot 10^{+47}:\\
\;\;\;\;x + \frac{y \cdot z}{a}\\
\mathbf{else}:\\
\;\;\;\;y\\
\end{array}
\end{array}
if t < -2.7999999999999999e167 or -4.00000000000000006e122 < t < -1.8999999999999999e39 or 1.6999999999999999e47 < t Initial program 35.0%
associate-*l/63.8%
Simplified63.8%
Taylor expanded in t around inf 53.9%
if -2.7999999999999999e167 < t < -4.00000000000000006e122Initial program 67.8%
associate-*l/88.9%
Simplified88.9%
Taylor expanded in a around inf 47.3%
associate-/l*57.8%
Simplified57.8%
Taylor expanded in y around inf 47.8%
Taylor expanded in z around 0 46.6%
mul-1-neg46.6%
unsub-neg46.6%
associate-/l*54.1%
Simplified54.1%
if -1.8999999999999999e39 < t < -2.20000000000000002e-300Initial program 86.7%
+-commutative86.7%
associate-*l/91.0%
fma-def91.0%
Simplified91.0%
Taylor expanded in y around 0 57.4%
neg-mul-157.4%
distribute-neg-frac57.4%
Simplified57.4%
Taylor expanded in t around 0 46.3%
mul-1-neg46.3%
unsub-neg46.3%
associate-/l*51.2%
Simplified51.2%
if -2.20000000000000002e-300 < t < 1.6999999999999999e47Initial program 88.8%
associate-*l/85.1%
Simplified85.1%
Taylor expanded in a around inf 67.9%
associate-/l*71.6%
Simplified71.6%
Taylor expanded in y around inf 61.6%
Taylor expanded in z around inf 59.3%
Final simplification54.7%
(FPCore (x y z t a)
:precision binary64
(if (<= t -2.8e+167)
y
(if (<= t -2.55e+122)
(- x (/ t (/ a y)))
(if (<= t -1.95e+39)
(/ t (/ (- t a) y))
(if (<= t -6.6e-301)
(- x (/ x (/ a z)))
(if (<= t 2.3e+45) (+ x (/ (* y z) a)) y))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (t <= -2.8e+167) {
tmp = y;
} else if (t <= -2.55e+122) {
tmp = x - (t / (a / y));
} else if (t <= -1.95e+39) {
tmp = t / ((t - a) / y);
} else if (t <= -6.6e-301) {
tmp = x - (x / (a / z));
} else if (t <= 2.3e+45) {
tmp = x + ((y * z) / a);
} else {
tmp = 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 (t <= (-2.8d+167)) then
tmp = y
else if (t <= (-2.55d+122)) then
tmp = x - (t / (a / y))
else if (t <= (-1.95d+39)) then
tmp = t / ((t - a) / y)
else if (t <= (-6.6d-301)) then
tmp = x - (x / (a / z))
else if (t <= 2.3d+45) then
tmp = x + ((y * z) / a)
else
tmp = y
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (t <= -2.8e+167) {
tmp = y;
} else if (t <= -2.55e+122) {
tmp = x - (t / (a / y));
} else if (t <= -1.95e+39) {
tmp = t / ((t - a) / y);
} else if (t <= -6.6e-301) {
tmp = x - (x / (a / z));
} else if (t <= 2.3e+45) {
tmp = x + ((y * z) / a);
} else {
tmp = y;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if t <= -2.8e+167: tmp = y elif t <= -2.55e+122: tmp = x - (t / (a / y)) elif t <= -1.95e+39: tmp = t / ((t - a) / y) elif t <= -6.6e-301: tmp = x - (x / (a / z)) elif t <= 2.3e+45: tmp = x + ((y * z) / a) else: tmp = y return tmp
function code(x, y, z, t, a) tmp = 0.0 if (t <= -2.8e+167) tmp = y; elseif (t <= -2.55e+122) tmp = Float64(x - Float64(t / Float64(a / y))); elseif (t <= -1.95e+39) tmp = Float64(t / Float64(Float64(t - a) / y)); elseif (t <= -6.6e-301) tmp = Float64(x - Float64(x / Float64(a / z))); elseif (t <= 2.3e+45) tmp = Float64(x + Float64(Float64(y * z) / a)); else tmp = y; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (t <= -2.8e+167) tmp = y; elseif (t <= -2.55e+122) tmp = x - (t / (a / y)); elseif (t <= -1.95e+39) tmp = t / ((t - a) / y); elseif (t <= -6.6e-301) tmp = x - (x / (a / z)); elseif (t <= 2.3e+45) tmp = x + ((y * z) / a); else tmp = y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[t, -2.8e+167], y, If[LessEqual[t, -2.55e+122], N[(x - N[(t / N[(a / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, -1.95e+39], N[(t / N[(N[(t - a), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, -6.6e-301], N[(x - N[(x / N[(a / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 2.3e+45], N[(x + N[(N[(y * z), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], y]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -2.8 \cdot 10^{+167}:\\
\;\;\;\;y\\
\mathbf{elif}\;t \leq -2.55 \cdot 10^{+122}:\\
\;\;\;\;x - \frac{t}{\frac{a}{y}}\\
\mathbf{elif}\;t \leq -1.95 \cdot 10^{+39}:\\
\;\;\;\;\frac{t}{\frac{t - a}{y}}\\
\mathbf{elif}\;t \leq -6.6 \cdot 10^{-301}:\\
\;\;\;\;x - \frac{x}{\frac{a}{z}}\\
\mathbf{elif}\;t \leq 2.3 \cdot 10^{+45}:\\
\;\;\;\;x + \frac{y \cdot z}{a}\\
\mathbf{else}:\\
\;\;\;\;y\\
\end{array}
\end{array}
if t < -2.7999999999999999e167 or 2.30000000000000012e45 < t Initial program 31.7%
associate-*l/61.7%
Simplified61.7%
Taylor expanded in t around inf 54.9%
if -2.7999999999999999e167 < t < -2.55e122Initial program 67.8%
associate-*l/88.9%
Simplified88.9%
Taylor expanded in a around inf 47.3%
associate-/l*57.8%
Simplified57.8%
Taylor expanded in y around inf 47.8%
Taylor expanded in z around 0 46.6%
mul-1-neg46.6%
unsub-neg46.6%
associate-/l*54.1%
Simplified54.1%
if -2.55e122 < t < -1.95e39Initial program 55.7%
associate-/l*77.5%
Simplified77.5%
Taylor expanded in z around 0 47.6%
associate-*r/47.6%
neg-mul-147.6%
Simplified47.6%
Taylor expanded in x around 0 40.7%
associate-/l*55.2%
Simplified55.2%
if -1.95e39 < t < -6.6000000000000001e-301Initial program 86.7%
+-commutative86.7%
associate-*l/91.0%
fma-def91.0%
Simplified91.0%
Taylor expanded in y around 0 57.4%
neg-mul-157.4%
distribute-neg-frac57.4%
Simplified57.4%
Taylor expanded in t around 0 46.3%
mul-1-neg46.3%
unsub-neg46.3%
associate-/l*51.2%
Simplified51.2%
if -6.6000000000000001e-301 < t < 2.30000000000000012e45Initial program 88.8%
associate-*l/85.1%
Simplified85.1%
Taylor expanded in a around inf 67.9%
associate-/l*71.6%
Simplified71.6%
Taylor expanded in y around inf 61.6%
Taylor expanded in z around inf 59.3%
Final simplification55.1%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ y (/ a (/ t (- y x))))))
(if (<= t -2.8e+167)
t_1
(if (<= t -6.2e+57)
(- x (* x (/ z (- a t))))
(if (or (<= t -7.2e+24) (not (<= t 1.45e+99)))
t_1
(- x (/ (- x y) (/ a z))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = y + (a / (t / (y - x)));
double tmp;
if (t <= -2.8e+167) {
tmp = t_1;
} else if (t <= -6.2e+57) {
tmp = x - (x * (z / (a - t)));
} else if ((t <= -7.2e+24) || !(t <= 1.45e+99)) {
tmp = t_1;
} else {
tmp = x - ((x - y) / (a / z));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: tmp
t_1 = y + (a / (t / (y - x)))
if (t <= (-2.8d+167)) then
tmp = t_1
else if (t <= (-6.2d+57)) then
tmp = x - (x * (z / (a - t)))
else if ((t <= (-7.2d+24)) .or. (.not. (t <= 1.45d+99))) then
tmp = t_1
else
tmp = x - ((x - y) / (a / z))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = y + (a / (t / (y - x)));
double tmp;
if (t <= -2.8e+167) {
tmp = t_1;
} else if (t <= -6.2e+57) {
tmp = x - (x * (z / (a - t)));
} else if ((t <= -7.2e+24) || !(t <= 1.45e+99)) {
tmp = t_1;
} else {
tmp = x - ((x - y) / (a / z));
}
return tmp;
}
def code(x, y, z, t, a): t_1 = y + (a / (t / (y - x))) tmp = 0 if t <= -2.8e+167: tmp = t_1 elif t <= -6.2e+57: tmp = x - (x * (z / (a - t))) elif (t <= -7.2e+24) or not (t <= 1.45e+99): tmp = t_1 else: tmp = x - ((x - y) / (a / z)) return tmp
function code(x, y, z, t, a) t_1 = Float64(y + Float64(a / Float64(t / Float64(y - x)))) tmp = 0.0 if (t <= -2.8e+167) tmp = t_1; elseif (t <= -6.2e+57) tmp = Float64(x - Float64(x * Float64(z / Float64(a - t)))); elseif ((t <= -7.2e+24) || !(t <= 1.45e+99)) tmp = t_1; else tmp = Float64(x - Float64(Float64(x - y) / Float64(a / z))); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = y + (a / (t / (y - x))); tmp = 0.0; if (t <= -2.8e+167) tmp = t_1; elseif (t <= -6.2e+57) tmp = x - (x * (z / (a - t))); elseif ((t <= -7.2e+24) || ~((t <= 1.45e+99))) tmp = t_1; else tmp = x - ((x - y) / (a / z)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(y + N[(a / N[(t / N[(y - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -2.8e+167], t$95$1, If[LessEqual[t, -6.2e+57], N[(x - N[(x * N[(z / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[t, -7.2e+24], N[Not[LessEqual[t, 1.45e+99]], $MachinePrecision]], t$95$1, N[(x - N[(N[(x - y), $MachinePrecision] / N[(a / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y + \frac{a}{\frac{t}{y - x}}\\
\mathbf{if}\;t \leq -2.8 \cdot 10^{+167}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq -6.2 \cdot 10^{+57}:\\
\;\;\;\;x - x \cdot \frac{z}{a - t}\\
\mathbf{elif}\;t \leq -7.2 \cdot 10^{+24} \lor \neg \left(t \leq 1.45 \cdot 10^{+99}\right):\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;x - \frac{x - y}{\frac{a}{z}}\\
\end{array}
\end{array}
if t < -2.7999999999999999e167 or -6.20000000000000026e57 < t < -7.19999999999999966e24 or 1.4500000000000001e99 < t Initial program 29.5%
associate-/l*65.1%
Simplified65.1%
Taylor expanded in z around 0 48.9%
associate-*r/48.9%
neg-mul-148.9%
Simplified48.9%
Taylor expanded in a around 0 58.8%
associate-/l*66.0%
Simplified66.0%
if -2.7999999999999999e167 < t < -6.20000000000000026e57Initial program 68.1%
associate-*l/94.3%
Simplified94.3%
Taylor expanded in x around inf 49.1%
distribute-lft-in49.1%
mul-1-neg49.1%
distribute-rgt-neg-in49.1%
unsub-neg49.1%
*-rgt-identity49.1%
Simplified49.1%
Taylor expanded in z around inf 49.8%
if -7.19999999999999966e24 < t < 1.4500000000000001e99Initial program 87.4%
associate-/l*91.6%
Simplified91.6%
Taylor expanded in t around 0 69.7%
Final simplification67.1%
(FPCore (x y z t a)
:precision binary64
(if (<= t -3e+167)
y
(if (<= t -1.7e+122)
(- x (/ t (/ a y)))
(if (<= t -9.6e+36)
(/ t (/ (- t a) y))
(if (<= t 4.9e+100) (- x (/ (- x y) (/ a z))) y)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (t <= -3e+167) {
tmp = y;
} else if (t <= -1.7e+122) {
tmp = x - (t / (a / y));
} else if (t <= -9.6e+36) {
tmp = t / ((t - a) / y);
} else if (t <= 4.9e+100) {
tmp = x - ((x - y) / (a / z));
} else {
tmp = 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 (t <= (-3d+167)) then
tmp = y
else if (t <= (-1.7d+122)) then
tmp = x - (t / (a / y))
else if (t <= (-9.6d+36)) then
tmp = t / ((t - a) / y)
else if (t <= 4.9d+100) then
tmp = x - ((x - y) / (a / z))
else
tmp = y
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (t <= -3e+167) {
tmp = y;
} else if (t <= -1.7e+122) {
tmp = x - (t / (a / y));
} else if (t <= -9.6e+36) {
tmp = t / ((t - a) / y);
} else if (t <= 4.9e+100) {
tmp = x - ((x - y) / (a / z));
} else {
tmp = y;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if t <= -3e+167: tmp = y elif t <= -1.7e+122: tmp = x - (t / (a / y)) elif t <= -9.6e+36: tmp = t / ((t - a) / y) elif t <= 4.9e+100: tmp = x - ((x - y) / (a / z)) else: tmp = y return tmp
function code(x, y, z, t, a) tmp = 0.0 if (t <= -3e+167) tmp = y; elseif (t <= -1.7e+122) tmp = Float64(x - Float64(t / Float64(a / y))); elseif (t <= -9.6e+36) tmp = Float64(t / Float64(Float64(t - a) / y)); elseif (t <= 4.9e+100) tmp = Float64(x - Float64(Float64(x - y) / Float64(a / z))); else tmp = y; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (t <= -3e+167) tmp = y; elseif (t <= -1.7e+122) tmp = x - (t / (a / y)); elseif (t <= -9.6e+36) tmp = t / ((t - a) / y); elseif (t <= 4.9e+100) tmp = x - ((x - y) / (a / z)); else tmp = y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[t, -3e+167], y, If[LessEqual[t, -1.7e+122], N[(x - N[(t / N[(a / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, -9.6e+36], N[(t / N[(N[(t - a), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 4.9e+100], N[(x - N[(N[(x - y), $MachinePrecision] / N[(a / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], y]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -3 \cdot 10^{+167}:\\
\;\;\;\;y\\
\mathbf{elif}\;t \leq -1.7 \cdot 10^{+122}:\\
\;\;\;\;x - \frac{t}{\frac{a}{y}}\\
\mathbf{elif}\;t \leq -9.6 \cdot 10^{+36}:\\
\;\;\;\;\frac{t}{\frac{t - a}{y}}\\
\mathbf{elif}\;t \leq 4.9 \cdot 10^{+100}:\\
\;\;\;\;x - \frac{x - y}{\frac{a}{z}}\\
\mathbf{else}:\\
\;\;\;\;y\\
\end{array}
\end{array}
if t < -3.00000000000000012e167 or 4.89999999999999967e100 < t Initial program 28.6%
associate-*l/61.0%
Simplified61.0%
Taylor expanded in t around inf 58.6%
if -3.00000000000000012e167 < t < -1.7e122Initial program 67.8%
associate-*l/88.9%
Simplified88.9%
Taylor expanded in a around inf 47.3%
associate-/l*57.8%
Simplified57.8%
Taylor expanded in y around inf 47.8%
Taylor expanded in z around 0 46.6%
mul-1-neg46.6%
unsub-neg46.6%
associate-/l*54.1%
Simplified54.1%
if -1.7e122 < t < -9.5999999999999997e36Initial program 55.7%
associate-/l*77.5%
Simplified77.5%
Taylor expanded in z around 0 47.6%
associate-*r/47.6%
neg-mul-147.6%
Simplified47.6%
Taylor expanded in x around 0 40.7%
associate-/l*55.2%
Simplified55.2%
if -9.5999999999999997e36 < t < 4.89999999999999967e100Initial program 86.0%
associate-/l*91.2%
Simplified91.2%
Taylor expanded in t around 0 68.2%
Final simplification64.4%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* y (/ (- z t) a))))
(if (<= t -24000.0)
y
(if (<= t -4.9e-182)
t_1
(if (<= t -2.7e-299) (* z (/ (- x) a)) (if (<= t 2.05e-78) t_1 y))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = y * ((z - t) / a);
double tmp;
if (t <= -24000.0) {
tmp = y;
} else if (t <= -4.9e-182) {
tmp = t_1;
} else if (t <= -2.7e-299) {
tmp = z * (-x / a);
} else if (t <= 2.05e-78) {
tmp = t_1;
} else {
tmp = 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 = y * ((z - t) / a)
if (t <= (-24000.0d0)) then
tmp = y
else if (t <= (-4.9d-182)) then
tmp = t_1
else if (t <= (-2.7d-299)) then
tmp = z * (-x / a)
else if (t <= 2.05d-78) then
tmp = t_1
else
tmp = y
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = y * ((z - t) / a);
double tmp;
if (t <= -24000.0) {
tmp = y;
} else if (t <= -4.9e-182) {
tmp = t_1;
} else if (t <= -2.7e-299) {
tmp = z * (-x / a);
} else if (t <= 2.05e-78) {
tmp = t_1;
} else {
tmp = y;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = y * ((z - t) / a) tmp = 0 if t <= -24000.0: tmp = y elif t <= -4.9e-182: tmp = t_1 elif t <= -2.7e-299: tmp = z * (-x / a) elif t <= 2.05e-78: tmp = t_1 else: tmp = y return tmp
function code(x, y, z, t, a) t_1 = Float64(y * Float64(Float64(z - t) / a)) tmp = 0.0 if (t <= -24000.0) tmp = y; elseif (t <= -4.9e-182) tmp = t_1; elseif (t <= -2.7e-299) tmp = Float64(z * Float64(Float64(-x) / a)); elseif (t <= 2.05e-78) tmp = t_1; else tmp = y; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = y * ((z - t) / a); tmp = 0.0; if (t <= -24000.0) tmp = y; elseif (t <= -4.9e-182) tmp = t_1; elseif (t <= -2.7e-299) tmp = z * (-x / a); elseif (t <= 2.05e-78) tmp = t_1; else tmp = y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(y * N[(N[(z - t), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -24000.0], y, If[LessEqual[t, -4.9e-182], t$95$1, If[LessEqual[t, -2.7e-299], N[(z * N[((-x) / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 2.05e-78], t$95$1, y]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \frac{z - t}{a}\\
\mathbf{if}\;t \leq -24000:\\
\;\;\;\;y\\
\mathbf{elif}\;t \leq -4.9 \cdot 10^{-182}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq -2.7 \cdot 10^{-299}:\\
\;\;\;\;z \cdot \frac{-x}{a}\\
\mathbf{elif}\;t \leq 2.05 \cdot 10^{-78}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;y\\
\end{array}
\end{array}
if t < -24000 or 2.0499999999999999e-78 < t Initial program 48.7%
associate-*l/70.6%
Simplified70.6%
Taylor expanded in t around inf 44.0%
if -24000 < t < -4.9000000000000003e-182 or -2.70000000000000002e-299 < t < 2.0499999999999999e-78Initial program 91.4%
associate-*l/91.0%
Simplified91.0%
Taylor expanded in a around inf 70.4%
associate-/l*76.9%
Simplified76.9%
Taylor expanded in y around inf 41.7%
div-sub41.7%
Simplified41.7%
if -4.9000000000000003e-182 < t < -2.70000000000000002e-299Initial program 89.4%
associate-*l/85.7%
Simplified85.7%
Taylor expanded in a around inf 78.2%
associate-/l*88.6%
Simplified88.6%
Taylor expanded in z around inf 44.7%
div-sub48.5%
Simplified48.5%
Taylor expanded in y around 0 40.7%
associate-*r/40.7%
neg-mul-140.7%
Simplified40.7%
Final simplification42.9%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (/ (* y z) a))))
(if (<= t -1300000.0)
y
(if (<= t -3.6e-239)
t_1
(if (<= t -1.3e-299) (* z (/ (- y x) a)) (if (<= t 1.6e+46) t_1 y))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((y * z) / a);
double tmp;
if (t <= -1300000.0) {
tmp = y;
} else if (t <= -3.6e-239) {
tmp = t_1;
} else if (t <= -1.3e-299) {
tmp = z * ((y - x) / a);
} else if (t <= 1.6e+46) {
tmp = t_1;
} else {
tmp = 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 + ((y * z) / a)
if (t <= (-1300000.0d0)) then
tmp = y
else if (t <= (-3.6d-239)) then
tmp = t_1
else if (t <= (-1.3d-299)) then
tmp = z * ((y - x) / a)
else if (t <= 1.6d+46) then
tmp = t_1
else
tmp = 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 + ((y * z) / a);
double tmp;
if (t <= -1300000.0) {
tmp = y;
} else if (t <= -3.6e-239) {
tmp = t_1;
} else if (t <= -1.3e-299) {
tmp = z * ((y - x) / a);
} else if (t <= 1.6e+46) {
tmp = t_1;
} else {
tmp = y;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((y * z) / a) tmp = 0 if t <= -1300000.0: tmp = y elif t <= -3.6e-239: tmp = t_1 elif t <= -1.3e-299: tmp = z * ((y - x) / a) elif t <= 1.6e+46: tmp = t_1 else: tmp = y return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(y * z) / a)) tmp = 0.0 if (t <= -1300000.0) tmp = y; elseif (t <= -3.6e-239) tmp = t_1; elseif (t <= -1.3e-299) tmp = Float64(z * Float64(Float64(y - x) / a)); elseif (t <= 1.6e+46) tmp = t_1; else tmp = y; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + ((y * z) / a); tmp = 0.0; if (t <= -1300000.0) tmp = y; elseif (t <= -3.6e-239) tmp = t_1; elseif (t <= -1.3e-299) tmp = z * ((y - x) / a); elseif (t <= 1.6e+46) tmp = t_1; else tmp = y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(y * z), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -1300000.0], y, If[LessEqual[t, -3.6e-239], t$95$1, If[LessEqual[t, -1.3e-299], N[(z * N[(N[(y - x), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.6e+46], t$95$1, y]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{y \cdot z}{a}\\
\mathbf{if}\;t \leq -1300000:\\
\;\;\;\;y\\
\mathbf{elif}\;t \leq -3.6 \cdot 10^{-239}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq -1.3 \cdot 10^{-299}:\\
\;\;\;\;z \cdot \frac{y - x}{a}\\
\mathbf{elif}\;t \leq 1.6 \cdot 10^{+46}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;y\\
\end{array}
\end{array}
if t < -1.3e6 or 1.5999999999999999e46 < t Initial program 41.4%
associate-*l/68.5%
Simplified68.5%
Taylor expanded in t around inf 47.6%
if -1.3e6 < t < -3.6000000000000001e-239 or -1.2999999999999999e-299 < t < 1.5999999999999999e46Initial program 89.0%
associate-*l/87.2%
Simplified87.2%
Taylor expanded in a around inf 66.6%
associate-/l*72.5%
Simplified72.5%
Taylor expanded in y around inf 59.6%
Taylor expanded in z around inf 56.9%
if -3.6000000000000001e-239 < t < -1.2999999999999999e-299Initial program 86.5%
associate-*l/93.3%
Simplified93.3%
Taylor expanded in a around inf 80.0%
associate-/l*93.3%
Simplified93.3%
Taylor expanded in z around inf 59.9%
div-sub59.9%
Simplified59.9%
Final simplification52.9%
(FPCore (x y z t a)
:precision binary64
(if (<= a -1.6e+149)
x
(if (<= a -1.5e-113)
y
(if (<= a -1.6e-219) (/ (- z) (/ (- t) x)) (if (<= a 4.2e+16) y x)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -1.6e+149) {
tmp = x;
} else if (a <= -1.5e-113) {
tmp = y;
} else if (a <= -1.6e-219) {
tmp = -z / (-t / x);
} else if (a <= 4.2e+16) {
tmp = y;
} 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 <= (-1.6d+149)) then
tmp = x
else if (a <= (-1.5d-113)) then
tmp = y
else if (a <= (-1.6d-219)) then
tmp = -z / (-t / x)
else if (a <= 4.2d+16) then
tmp = y
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 <= -1.6e+149) {
tmp = x;
} else if (a <= -1.5e-113) {
tmp = y;
} else if (a <= -1.6e-219) {
tmp = -z / (-t / x);
} else if (a <= 4.2e+16) {
tmp = y;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -1.6e+149: tmp = x elif a <= -1.5e-113: tmp = y elif a <= -1.6e-219: tmp = -z / (-t / x) elif a <= 4.2e+16: tmp = y else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -1.6e+149) tmp = x; elseif (a <= -1.5e-113) tmp = y; elseif (a <= -1.6e-219) tmp = Float64(Float64(-z) / Float64(Float64(-t) / x)); elseif (a <= 4.2e+16) tmp = y; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -1.6e+149) tmp = x; elseif (a <= -1.5e-113) tmp = y; elseif (a <= -1.6e-219) tmp = -z / (-t / x); elseif (a <= 4.2e+16) tmp = y; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -1.6e+149], x, If[LessEqual[a, -1.5e-113], y, If[LessEqual[a, -1.6e-219], N[((-z) / N[((-t) / x), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 4.2e+16], y, x]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -1.6 \cdot 10^{+149}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq -1.5 \cdot 10^{-113}:\\
\;\;\;\;y\\
\mathbf{elif}\;a \leq -1.6 \cdot 10^{-219}:\\
\;\;\;\;\frac{-z}{\frac{-t}{x}}\\
\mathbf{elif}\;a \leq 4.2 \cdot 10^{+16}:\\
\;\;\;\;y\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -1.6000000000000001e149 or 4.2e16 < a Initial program 71.8%
associate-*l/88.8%
Simplified88.8%
Taylor expanded in a around inf 47.9%
if -1.6000000000000001e149 < a < -1.5e-113 or -1.59999999999999999e-219 < a < 4.2e16Initial program 65.2%
associate-*l/74.9%
Simplified74.9%
Taylor expanded in t around inf 39.3%
if -1.5e-113 < a < -1.59999999999999999e-219Initial program 67.0%
associate-*l/70.4%
Simplified70.4%
Taylor expanded in z around -inf 71.0%
Taylor expanded in a around 0 52.9%
mul-1-neg52.9%
associate-/l*56.0%
Simplified56.0%
Taylor expanded in y around 0 49.7%
associate-*r/49.7%
neg-mul-149.7%
Simplified49.7%
Final simplification43.3%
(FPCore (x y z t a)
:precision binary64
(if (<= t -1.65e+34)
y
(if (<= t -2.25e-300)
(- x (* x (/ z a)))
(if (<= t 2.4e+47) (+ x (/ (* y z) a)) y))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (t <= -1.65e+34) {
tmp = y;
} else if (t <= -2.25e-300) {
tmp = x - (x * (z / a));
} else if (t <= 2.4e+47) {
tmp = x + ((y * z) / a);
} else {
tmp = 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 (t <= (-1.65d+34)) then
tmp = y
else if (t <= (-2.25d-300)) then
tmp = x - (x * (z / a))
else if (t <= 2.4d+47) then
tmp = x + ((y * z) / a)
else
tmp = y
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (t <= -1.65e+34) {
tmp = y;
} else if (t <= -2.25e-300) {
tmp = x - (x * (z / a));
} else if (t <= 2.4e+47) {
tmp = x + ((y * z) / a);
} else {
tmp = y;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if t <= -1.65e+34: tmp = y elif t <= -2.25e-300: tmp = x - (x * (z / a)) elif t <= 2.4e+47: tmp = x + ((y * z) / a) else: tmp = y return tmp
function code(x, y, z, t, a) tmp = 0.0 if (t <= -1.65e+34) tmp = y; elseif (t <= -2.25e-300) tmp = Float64(x - Float64(x * Float64(z / a))); elseif (t <= 2.4e+47) tmp = Float64(x + Float64(Float64(y * z) / a)); else tmp = y; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (t <= -1.65e+34) tmp = y; elseif (t <= -2.25e-300) tmp = x - (x * (z / a)); elseif (t <= 2.4e+47) tmp = x + ((y * z) / a); else tmp = y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[t, -1.65e+34], y, If[LessEqual[t, -2.25e-300], N[(x - N[(x * N[(z / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 2.4e+47], N[(x + N[(N[(y * z), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], y]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -1.65 \cdot 10^{+34}:\\
\;\;\;\;y\\
\mathbf{elif}\;t \leq -2.25 \cdot 10^{-300}:\\
\;\;\;\;x - x \cdot \frac{z}{a}\\
\mathbf{elif}\;t \leq 2.4 \cdot 10^{+47}:\\
\;\;\;\;x + \frac{y \cdot z}{a}\\
\mathbf{else}:\\
\;\;\;\;y\\
\end{array}
\end{array}
if t < -1.64999999999999994e34 or 2.40000000000000019e47 < t Initial program 37.9%
associate-*l/66.0%
Simplified66.0%
Taylor expanded in t around inf 49.5%
if -1.64999999999999994e34 < t < -2.25e-300Initial program 86.7%
associate-*l/91.0%
Simplified91.0%
Taylor expanded in x around inf 57.9%
distribute-lft-in57.8%
mul-1-neg57.8%
distribute-rgt-neg-in57.8%
unsub-neg57.8%
*-rgt-identity57.8%
Simplified57.8%
Taylor expanded in t around 0 51.2%
if -2.25e-300 < t < 2.40000000000000019e47Initial program 88.8%
associate-*l/85.1%
Simplified85.1%
Taylor expanded in a around inf 67.9%
associate-/l*71.6%
Simplified71.6%
Taylor expanded in y around inf 61.6%
Taylor expanded in z around inf 59.3%
Final simplification52.9%
(FPCore (x y z t a) :precision binary64 (if (or (<= a -1.8e+149) (not (<= a 1.1e+109))) (+ x (/ (* y z) a)) (* z (/ (- y x) (- a t)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a <= -1.8e+149) || !(a <= 1.1e+109)) {
tmp = x + ((y * z) / a);
} else {
tmp = z * ((y - x) / (a - 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 ((a <= (-1.8d+149)) .or. (.not. (a <= 1.1d+109))) then
tmp = x + ((y * z) / a)
else
tmp = z * ((y - x) / (a - t))
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.8e+149) || !(a <= 1.1e+109)) {
tmp = x + ((y * z) / a);
} else {
tmp = z * ((y - x) / (a - t));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (a <= -1.8e+149) or not (a <= 1.1e+109): tmp = x + ((y * z) / a) else: tmp = z * ((y - x) / (a - t)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((a <= -1.8e+149) || !(a <= 1.1e+109)) tmp = Float64(x + Float64(Float64(y * z) / a)); else tmp = Float64(z * Float64(Float64(y - x) / Float64(a - t))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((a <= -1.8e+149) || ~((a <= 1.1e+109))) tmp = x + ((y * z) / a); else tmp = z * ((y - x) / (a - t)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[a, -1.8e+149], N[Not[LessEqual[a, 1.1e+109]], $MachinePrecision]], N[(x + N[(N[(y * z), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], N[(z * N[(N[(y - x), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -1.8 \cdot 10^{+149} \lor \neg \left(a \leq 1.1 \cdot 10^{+109}\right):\\
\;\;\;\;x + \frac{y \cdot z}{a}\\
\mathbf{else}:\\
\;\;\;\;z \cdot \frac{y - x}{a - t}\\
\end{array}
\end{array}
if a < -1.79999999999999997e149 or 1.1e109 < a Initial program 75.4%
associate-*l/93.3%
Simplified93.3%
Taylor expanded in a around inf 73.2%
associate-/l*91.1%
Simplified91.1%
Taylor expanded in y around inf 76.6%
Taylor expanded in z around inf 72.1%
if -1.79999999999999997e149 < a < 1.1e109Initial program 64.6%
associate-*l/73.5%
Simplified73.5%
Taylor expanded in z around inf 49.0%
div-sub50.1%
Simplified50.1%
Final simplification56.5%
(FPCore (x y z t a) :precision binary64 (if (or (<= a -1.6e+149) (not (<= a 8.5e+107))) (+ x (/ (* y (- z t)) a)) (* z (/ (- y x) (- a t)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a <= -1.6e+149) || !(a <= 8.5e+107)) {
tmp = x + ((y * (z - t)) / a);
} else {
tmp = z * ((y - x) / (a - 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 ((a <= (-1.6d+149)) .or. (.not. (a <= 8.5d+107))) then
tmp = x + ((y * (z - t)) / a)
else
tmp = z * ((y - x) / (a - t))
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.6e+149) || !(a <= 8.5e+107)) {
tmp = x + ((y * (z - t)) / a);
} else {
tmp = z * ((y - x) / (a - t));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (a <= -1.6e+149) or not (a <= 8.5e+107): tmp = x + ((y * (z - t)) / a) else: tmp = z * ((y - x) / (a - t)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((a <= -1.6e+149) || !(a <= 8.5e+107)) tmp = Float64(x + Float64(Float64(y * Float64(z - t)) / a)); else tmp = Float64(z * Float64(Float64(y - x) / Float64(a - t))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((a <= -1.6e+149) || ~((a <= 8.5e+107))) tmp = x + ((y * (z - t)) / a); else tmp = z * ((y - x) / (a - t)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[a, -1.6e+149], N[Not[LessEqual[a, 8.5e+107]], $MachinePrecision]], N[(x + N[(N[(y * N[(z - t), $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], N[(z * N[(N[(y - x), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -1.6 \cdot 10^{+149} \lor \neg \left(a \leq 8.5 \cdot 10^{+107}\right):\\
\;\;\;\;x + \frac{y \cdot \left(z - t\right)}{a}\\
\mathbf{else}:\\
\;\;\;\;z \cdot \frac{y - x}{a - t}\\
\end{array}
\end{array}
if a < -1.6000000000000001e149 or 8.4999999999999999e107 < a Initial program 75.4%
associate-*l/93.3%
Simplified93.3%
Taylor expanded in a around inf 73.2%
associate-/l*91.1%
Simplified91.1%
Taylor expanded in y around inf 76.6%
if -1.6000000000000001e149 < a < 8.4999999999999999e107Initial program 64.6%
associate-*l/73.5%
Simplified73.5%
Taylor expanded in z around inf 49.0%
div-sub50.1%
Simplified50.1%
Final simplification57.8%
(FPCore (x y z t a) :precision binary64 (if (or (<= t -9.5e+24) (not (<= t 1.9e+98))) (+ y (/ a (/ t (- y x)))) (- x (/ (- x y) (/ a z)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((t <= -9.5e+24) || !(t <= 1.9e+98)) {
tmp = y + (a / (t / (y - x)));
} else {
tmp = x - ((x - y) / (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 ((t <= (-9.5d+24)) .or. (.not. (t <= 1.9d+98))) then
tmp = y + (a / (t / (y - x)))
else
tmp = x - ((x - y) / (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 ((t <= -9.5e+24) || !(t <= 1.9e+98)) {
tmp = y + (a / (t / (y - x)));
} else {
tmp = x - ((x - y) / (a / z));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (t <= -9.5e+24) or not (t <= 1.9e+98): tmp = y + (a / (t / (y - x))) else: tmp = x - ((x - y) / (a / z)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((t <= -9.5e+24) || !(t <= 1.9e+98)) tmp = Float64(y + Float64(a / Float64(t / Float64(y - x)))); else tmp = Float64(x - Float64(Float64(x - y) / Float64(a / z))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((t <= -9.5e+24) || ~((t <= 1.9e+98))) tmp = y + (a / (t / (y - x))); else tmp = x - ((x - y) / (a / z)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[t, -9.5e+24], N[Not[LessEqual[t, 1.9e+98]], $MachinePrecision]], N[(y + N[(a / N[(t / N[(y - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x - N[(N[(x - y), $MachinePrecision] / N[(a / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -9.5 \cdot 10^{+24} \lor \neg \left(t \leq 1.9 \cdot 10^{+98}\right):\\
\;\;\;\;y + \frac{a}{\frac{t}{y - x}}\\
\mathbf{else}:\\
\;\;\;\;x - \frac{x - y}{\frac{a}{z}}\\
\end{array}
\end{array}
if t < -9.5000000000000001e24 or 1.89999999999999995e98 < t Initial program 36.5%
associate-/l*70.5%
Simplified70.5%
Taylor expanded in z around 0 50.0%
associate-*r/50.0%
neg-mul-150.0%
Simplified50.0%
Taylor expanded in a around 0 51.6%
associate-/l*58.5%
Simplified58.5%
if -9.5000000000000001e24 < t < 1.89999999999999995e98Initial program 87.4%
associate-/l*91.6%
Simplified91.6%
Taylor expanded in t around 0 69.7%
Final simplification65.3%
(FPCore (x y z t a) :precision binary64 (if (<= a -1.6e+149) (+ x (/ (* y (- z t)) a)) (if (<= a 3.6e-42) (* z (/ (- y x) (- a t))) (- x (/ (* z (- x y)) a)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -1.6e+149) {
tmp = x + ((y * (z - t)) / a);
} else if (a <= 3.6e-42) {
tmp = z * ((y - x) / (a - t));
} else {
tmp = x - ((z * (x - y)) / a);
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (a <= (-1.6d+149)) then
tmp = x + ((y * (z - t)) / a)
else if (a <= 3.6d-42) then
tmp = z * ((y - x) / (a - t))
else
tmp = x - ((z * (x - y)) / a)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -1.6e+149) {
tmp = x + ((y * (z - t)) / a);
} else if (a <= 3.6e-42) {
tmp = z * ((y - x) / (a - t));
} else {
tmp = x - ((z * (x - y)) / a);
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -1.6e+149: tmp = x + ((y * (z - t)) / a) elif a <= 3.6e-42: tmp = z * ((y - x) / (a - t)) else: tmp = x - ((z * (x - y)) / a) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -1.6e+149) tmp = Float64(x + Float64(Float64(y * Float64(z - t)) / a)); elseif (a <= 3.6e-42) tmp = Float64(z * Float64(Float64(y - x) / Float64(a - t))); else tmp = Float64(x - Float64(Float64(z * Float64(x - y)) / a)); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -1.6e+149) tmp = x + ((y * (z - t)) / a); elseif (a <= 3.6e-42) tmp = z * ((y - x) / (a - t)); else tmp = x - ((z * (x - y)) / a); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -1.6e+149], N[(x + N[(N[(y * N[(z - t), $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 3.6e-42], N[(z * N[(N[(y - x), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x - N[(N[(z * N[(x - y), $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -1.6 \cdot 10^{+149}:\\
\;\;\;\;x + \frac{y \cdot \left(z - t\right)}{a}\\
\mathbf{elif}\;a \leq 3.6 \cdot 10^{-42}:\\
\;\;\;\;z \cdot \frac{y - x}{a - t}\\
\mathbf{else}:\\
\;\;\;\;x - \frac{z \cdot \left(x - y\right)}{a}\\
\end{array}
\end{array}
if a < -1.6000000000000001e149Initial program 71.4%
associate-*l/92.8%
Simplified92.8%
Taylor expanded in a around inf 71.1%
associate-/l*96.4%
Simplified96.4%
Taylor expanded in y around inf 79.5%
if -1.6000000000000001e149 < a < 3.6000000000000002e-42Initial program 66.1%
associate-*l/73.8%
Simplified73.8%
Taylor expanded in z around inf 50.0%
div-sub51.3%
Simplified51.3%
if 3.6000000000000002e-42 < a Initial program 69.9%
associate-*l/85.9%
Simplified85.9%
Taylor expanded in t around 0 64.4%
Final simplification58.0%
(FPCore (x y z t a) :precision binary64 (if (<= t -700000000.0) y (if (<= t 2.1e-78) (* z (/ (- y x) a)) y)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (t <= -700000000.0) {
tmp = y;
} else if (t <= 2.1e-78) {
tmp = z * ((y - x) / a);
} else {
tmp = 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 (t <= (-700000000.0d0)) then
tmp = y
else if (t <= 2.1d-78) then
tmp = z * ((y - x) / a)
else
tmp = y
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (t <= -700000000.0) {
tmp = y;
} else if (t <= 2.1e-78) {
tmp = z * ((y - x) / a);
} else {
tmp = y;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if t <= -700000000.0: tmp = y elif t <= 2.1e-78: tmp = z * ((y - x) / a) else: tmp = y return tmp
function code(x, y, z, t, a) tmp = 0.0 if (t <= -700000000.0) tmp = y; elseif (t <= 2.1e-78) tmp = Float64(z * Float64(Float64(y - x) / a)); else tmp = y; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (t <= -700000000.0) tmp = y; elseif (t <= 2.1e-78) tmp = z * ((y - x) / a); else tmp = y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[t, -700000000.0], y, If[LessEqual[t, 2.1e-78], N[(z * N[(N[(y - x), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], y]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -700000000:\\
\;\;\;\;y\\
\mathbf{elif}\;t \leq 2.1 \cdot 10^{-78}:\\
\;\;\;\;z \cdot \frac{y - x}{a}\\
\mathbf{else}:\\
\;\;\;\;y\\
\end{array}
\end{array}
if t < -7e8 or 2.1000000000000001e-78 < t Initial program 48.4%
associate-*l/70.4%
Simplified70.4%
Taylor expanded in t around inf 44.2%
if -7e8 < t < 2.1000000000000001e-78Initial program 91.0%
associate-*l/89.9%
Simplified89.9%
Taylor expanded in a around inf 71.6%
associate-/l*78.9%
Simplified78.9%
Taylor expanded in z around inf 43.0%
div-sub44.7%
Simplified44.7%
Final simplification44.4%
(FPCore (x y z t a) :precision binary64 (if (<= a -1.7e+149) x (if (<= a 4.2e+15) y x)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -1.7e+149) {
tmp = x;
} else if (a <= 4.2e+15) {
tmp = y;
} 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 <= (-1.7d+149)) then
tmp = x
else if (a <= 4.2d+15) then
tmp = y
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 <= -1.7e+149) {
tmp = x;
} else if (a <= 4.2e+15) {
tmp = y;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -1.7e+149: tmp = x elif a <= 4.2e+15: tmp = y else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -1.7e+149) tmp = x; elseif (a <= 4.2e+15) tmp = y; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -1.7e+149) tmp = x; elseif (a <= 4.2e+15) tmp = y; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -1.7e+149], x, If[LessEqual[a, 4.2e+15], y, x]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -1.7 \cdot 10^{+149}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 4.2 \cdot 10^{+15}:\\
\;\;\;\;y\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -1.6999999999999999e149 or 4.2e15 < a Initial program 71.8%
associate-*l/88.8%
Simplified88.8%
Taylor expanded in a around inf 47.9%
if -1.6999999999999999e149 < a < 4.2e15Initial program 65.5%
associate-*l/74.2%
Simplified74.2%
Taylor expanded in t around inf 36.9%
Final simplification40.7%
(FPCore (x y z t a) :precision binary64 0.0)
double code(double x, double y, double z, double t, double a) {
return 0.0;
}
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 = 0.0d0
end function
public static double code(double x, double y, double z, double t, double a) {
return 0.0;
}
def code(x, y, z, t, a): return 0.0
function code(x, y, z, t, a) return 0.0 end
function tmp = code(x, y, z, t, a) tmp = 0.0; end
code[x_, y_, z_, t_, a_] := 0.0
\begin{array}{l}
\\
0
\end{array}
Initial program 67.7%
+-commutative67.7%
associate-*l/79.2%
fma-def79.3%
Simplified79.3%
Taylor expanded in y around 0 42.0%
neg-mul-142.0%
distribute-neg-frac42.0%
Simplified42.0%
Taylor expanded in t around inf 2.6%
distribute-rgt1-in2.6%
metadata-eval2.6%
mul0-lft2.6%
Simplified2.6%
Final simplification2.6%
(FPCore (x y z t a) :precision binary64 x)
double code(double x, double y, double z, double t, double a) {
return x;
}
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
end function
public static double code(double x, double y, double z, double t, double a) {
return x;
}
def code(x, y, z, t, a): return x
function code(x, y, z, t, a) return x end
function tmp = code(x, y, z, t, a) tmp = x; end
code[x_, y_, z_, t_, a_] := x
\begin{array}{l}
\\
x
\end{array}
Initial program 67.7%
associate-*l/79.2%
Simplified79.2%
Taylor expanded in a around inf 22.2%
Final simplification22.2%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* (/ (- y x) 1.0) (/ (- z t) (- a t))))))
(if (< a -1.6153062845442575e-142)
t_1
(if (< a 3.774403170083174e-182) (- y (* (/ z t) (- y x))) t_1))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (((y - x) / 1.0) * ((z - t) / (a - t)));
double tmp;
if (a < -1.6153062845442575e-142) {
tmp = t_1;
} else if (a < 3.774403170083174e-182) {
tmp = y - ((z / t) * (y - 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 = x + (((y - x) / 1.0d0) * ((z - t) / (a - t)))
if (a < (-1.6153062845442575d-142)) then
tmp = t_1
else if (a < 3.774403170083174d-182) then
tmp = y - ((z / t) * (y - 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 = x + (((y - x) / 1.0) * ((z - t) / (a - t)));
double tmp;
if (a < -1.6153062845442575e-142) {
tmp = t_1;
} else if (a < 3.774403170083174e-182) {
tmp = y - ((z / t) * (y - x));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (((y - x) / 1.0) * ((z - t) / (a - t))) tmp = 0 if a < -1.6153062845442575e-142: tmp = t_1 elif a < 3.774403170083174e-182: tmp = y - ((z / t) * (y - x)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(Float64(y - x) / 1.0) * Float64(Float64(z - t) / Float64(a - t)))) tmp = 0.0 if (a < -1.6153062845442575e-142) tmp = t_1; elseif (a < 3.774403170083174e-182) tmp = Float64(y - Float64(Float64(z / t) * Float64(y - x))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + (((y - x) / 1.0) * ((z - t) / (a - t))); tmp = 0.0; if (a < -1.6153062845442575e-142) tmp = t_1; elseif (a < 3.774403170083174e-182) tmp = y - ((z / t) * (y - x)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(N[(y - x), $MachinePrecision] / 1.0), $MachinePrecision] * N[(N[(z - t), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Less[a, -1.6153062845442575e-142], t$95$1, If[Less[a, 3.774403170083174e-182], N[(y - N[(N[(z / t), $MachinePrecision] * N[(y - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{y - x}{1} \cdot \frac{z - t}{a - t}\\
\mathbf{if}\;a < -1.6153062845442575 \cdot 10^{-142}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a < 3.774403170083174 \cdot 10^{-182}:\\
\;\;\;\;y - \frac{z}{t} \cdot \left(y - x\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
herbie shell --seed 2023271
(FPCore (x y z t a)
:name "Graphics.Rendering.Chart.Axis.Types:linMap from Chart-1.5.3"
:precision binary64
:herbie-target
(if (< a -1.6153062845442575e-142) (+ x (* (/ (- y x) 1.0) (/ (- z t) (- a t)))) (if (< a 3.774403170083174e-182) (- y (* (/ z t) (- y x))) (+ x (* (/ (- y x) 1.0) (/ (- z t) (- a t))))))
(+ x (/ (* (- y x) (- z t)) (- a t))))