
(FPCore (x y z t a) :precision binary64 (+ x (/ (* (- y z) (- t x)) (- a z))))
double code(double x, double y, double z, double t, double a) {
return x + (((y - z) * (t - x)) / (a - z));
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
code = x + (((y - z) * (t - x)) / (a - z))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + (((y - z) * (t - x)) / (a - z));
}
def code(x, y, z, t, a): return x + (((y - z) * (t - x)) / (a - z))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(Float64(y - z) * Float64(t - x)) / Float64(a - z))) end
function tmp = code(x, y, z, t, a) tmp = x + (((y - z) * (t - x)) / (a - z)); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(N[(y - z), $MachinePrecision] * N[(t - x), $MachinePrecision]), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 19 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a) :precision binary64 (+ x (/ (* (- y z) (- t x)) (- a z))))
double code(double x, double y, double z, double t, double a) {
return x + (((y - z) * (t - x)) / (a - z));
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
code = x + (((y - z) * (t - x)) / (a - z))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + (((y - z) * (t - x)) / (a - z));
}
def code(x, y, z, t, a): return x + (((y - z) * (t - x)) / (a - z))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(Float64(y - z) * Float64(t - x)) / Float64(a - z))) end
function tmp = code(x, y, z, t, a) tmp = x + (((y - z) * (t - x)) / (a - z)); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(N[(y - z), $MachinePrecision] * N[(t - x), $MachinePrecision]), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z}
\end{array}
(FPCore (x y z t a) :precision binary64 (if (or (<= z -6.4e+200) (not (<= z 7.6e+178))) (- t (/ (- t x) (/ z (- y a)))) (+ x (* (- t x) (/ (- y z) (- a z))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -6.4e+200) || !(z <= 7.6e+178)) {
tmp = t - ((t - x) / (z / (y - a)));
} else {
tmp = x + ((t - x) * ((y - z) / (a - z)));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if ((z <= (-6.4d+200)) .or. (.not. (z <= 7.6d+178))) then
tmp = t - ((t - x) / (z / (y - a)))
else
tmp = x + ((t - x) * ((y - z) / (a - z)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -6.4e+200) || !(z <= 7.6e+178)) {
tmp = t - ((t - x) / (z / (y - a)));
} else {
tmp = x + ((t - x) * ((y - z) / (a - z)));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (z <= -6.4e+200) or not (z <= 7.6e+178): tmp = t - ((t - x) / (z / (y - a))) else: tmp = x + ((t - x) * ((y - z) / (a - z))) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((z <= -6.4e+200) || !(z <= 7.6e+178)) tmp = Float64(t - Float64(Float64(t - x) / Float64(z / Float64(y - a)))); else tmp = Float64(x + Float64(Float64(t - x) * Float64(Float64(y - z) / Float64(a - z)))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((z <= -6.4e+200) || ~((z <= 7.6e+178))) tmp = t - ((t - x) / (z / (y - a))); else tmp = x + ((t - x) * ((y - z) / (a - z))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[z, -6.4e+200], N[Not[LessEqual[z, 7.6e+178]], $MachinePrecision]], N[(t - N[(N[(t - x), $MachinePrecision] / N[(z / N[(y - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x + N[(N[(t - x), $MachinePrecision] * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -6.4 \cdot 10^{+200} \lor \neg \left(z \leq 7.6 \cdot 10^{+178}\right):\\
\;\;\;\;t - \frac{t - x}{\frac{z}{y - a}}\\
\mathbf{else}:\\
\;\;\;\;x + \left(t - x\right) \cdot \frac{y - z}{a - z}\\
\end{array}
\end{array}
if z < -6.40000000000000062e200 or 7.59999999999999997e178 < z Initial program 28.0%
associate-*l/62.9%
Simplified62.9%
Taylor expanded in z around inf 65.8%
associate--l+65.8%
associate-*r/65.8%
associate-*r/65.8%
div-sub65.9%
distribute-lft-out--65.9%
associate-*r/65.9%
distribute-rgt-out--66.0%
mul-1-neg66.0%
unsub-neg66.0%
associate-/l*96.5%
Simplified96.5%
if -6.40000000000000062e200 < z < 7.59999999999999997e178Initial program 79.8%
associate-*l/90.7%
Simplified90.7%
Final simplification92.0%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (/ y (- a z)))))
(if (<= y -1.38e-64)
t_1
(if (<= y -4.8e-136)
x
(if (<= y -1e-145)
(/ (* t y) a)
(if (<= y -4.5e-259)
t
(if (<= y -8.2e-276)
x
(if (<= y 4.5e-15) t (if (<= y 4.6e+18) x t_1)))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t * (y / (a - z));
double tmp;
if (y <= -1.38e-64) {
tmp = t_1;
} else if (y <= -4.8e-136) {
tmp = x;
} else if (y <= -1e-145) {
tmp = (t * y) / a;
} else if (y <= -4.5e-259) {
tmp = t;
} else if (y <= -8.2e-276) {
tmp = x;
} else if (y <= 4.5e-15) {
tmp = t;
} else if (y <= 4.6e+18) {
tmp = x;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: tmp
t_1 = t * (y / (a - z))
if (y <= (-1.38d-64)) then
tmp = t_1
else if (y <= (-4.8d-136)) then
tmp = x
else if (y <= (-1d-145)) then
tmp = (t * y) / a
else if (y <= (-4.5d-259)) then
tmp = t
else if (y <= (-8.2d-276)) then
tmp = x
else if (y <= 4.5d-15) then
tmp = t
else if (y <= 4.6d+18) then
tmp = x
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = t * (y / (a - z));
double tmp;
if (y <= -1.38e-64) {
tmp = t_1;
} else if (y <= -4.8e-136) {
tmp = x;
} else if (y <= -1e-145) {
tmp = (t * y) / a;
} else if (y <= -4.5e-259) {
tmp = t;
} else if (y <= -8.2e-276) {
tmp = x;
} else if (y <= 4.5e-15) {
tmp = t;
} else if (y <= 4.6e+18) {
tmp = x;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t * (y / (a - z)) tmp = 0 if y <= -1.38e-64: tmp = t_1 elif y <= -4.8e-136: tmp = x elif y <= -1e-145: tmp = (t * y) / a elif y <= -4.5e-259: tmp = t elif y <= -8.2e-276: tmp = x elif y <= 4.5e-15: tmp = t elif y <= 4.6e+18: tmp = x else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(t * Float64(y / Float64(a - z))) tmp = 0.0 if (y <= -1.38e-64) tmp = t_1; elseif (y <= -4.8e-136) tmp = x; elseif (y <= -1e-145) tmp = Float64(Float64(t * y) / a); elseif (y <= -4.5e-259) tmp = t; elseif (y <= -8.2e-276) tmp = x; elseif (y <= 4.5e-15) tmp = t; elseif (y <= 4.6e+18) tmp = x; else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t * (y / (a - z)); tmp = 0.0; if (y <= -1.38e-64) tmp = t_1; elseif (y <= -4.8e-136) tmp = x; elseif (y <= -1e-145) tmp = (t * y) / a; elseif (y <= -4.5e-259) tmp = t; elseif (y <= -8.2e-276) tmp = x; elseif (y <= 4.5e-15) tmp = t; elseif (y <= 4.6e+18) tmp = x; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t * N[(y / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -1.38e-64], t$95$1, If[LessEqual[y, -4.8e-136], x, If[LessEqual[y, -1e-145], N[(N[(t * y), $MachinePrecision] / a), $MachinePrecision], If[LessEqual[y, -4.5e-259], t, If[LessEqual[y, -8.2e-276], x, If[LessEqual[y, 4.5e-15], t, If[LessEqual[y, 4.6e+18], x, t$95$1]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \frac{y}{a - z}\\
\mathbf{if}\;y \leq -1.38 \cdot 10^{-64}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq -4.8 \cdot 10^{-136}:\\
\;\;\;\;x\\
\mathbf{elif}\;y \leq -1 \cdot 10^{-145}:\\
\;\;\;\;\frac{t \cdot y}{a}\\
\mathbf{elif}\;y \leq -4.5 \cdot 10^{-259}:\\
\;\;\;\;t\\
\mathbf{elif}\;y \leq -8.2 \cdot 10^{-276}:\\
\;\;\;\;x\\
\mathbf{elif}\;y \leq 4.5 \cdot 10^{-15}:\\
\;\;\;\;t\\
\mathbf{elif}\;y \leq 4.6 \cdot 10^{+18}:\\
\;\;\;\;x\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if y < -1.37999999999999998e-64 or 4.6e18 < y Initial program 69.1%
associate-*l/87.1%
Simplified87.1%
associate-*l/69.1%
clear-num69.2%
associate-/r*87.1%
Applied egg-rr87.1%
Taylor expanded in t around inf 48.5%
div-sub48.5%
Simplified48.5%
Taylor expanded in y around inf 37.3%
if -1.37999999999999998e-64 < y < -4.7999999999999997e-136 or -4.49999999999999974e-259 < y < -8.2e-276 or 4.4999999999999998e-15 < y < 4.6e18Initial program 90.4%
associate-*l/92.9%
Simplified92.9%
Taylor expanded in a around inf 58.4%
if -4.7999999999999997e-136 < y < -9.99999999999999915e-146Initial program 80.9%
associate-*l/99.7%
Simplified99.7%
Taylor expanded in z around 0 61.5%
Taylor expanded in t around inf 61.5%
Taylor expanded in x around 0 61.7%
if -9.99999999999999915e-146 < y < -4.49999999999999974e-259 or -8.2e-276 < y < 4.4999999999999998e-15Initial program 58.5%
associate-*l/77.6%
Simplified77.6%
Taylor expanded in z around inf 49.8%
Final simplification45.4%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* (- t x) (/ y a)))))
(if (<= z -300000.0)
(+ t (* x (/ y z)))
(if (<= z -2.35e-88)
t_1
(if (<= z -7e-149)
(* y (/ (- t x) (- a z)))
(if (<= z 1.6e+20)
t_1
(if (<= z 7.6e+148)
(* t (/ (- y z) (- a z)))
(if (<= z 6.5e+233)
(* x (/ (- y a) z))
(+ t (/ (* y (- x t)) z))))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((t - x) * (y / a));
double tmp;
if (z <= -300000.0) {
tmp = t + (x * (y / z));
} else if (z <= -2.35e-88) {
tmp = t_1;
} else if (z <= -7e-149) {
tmp = y * ((t - x) / (a - z));
} else if (z <= 1.6e+20) {
tmp = t_1;
} else if (z <= 7.6e+148) {
tmp = t * ((y - z) / (a - z));
} else if (z <= 6.5e+233) {
tmp = x * ((y - a) / z);
} else {
tmp = t + ((y * (x - t)) / z);
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: tmp
t_1 = x + ((t - x) * (y / a))
if (z <= (-300000.0d0)) then
tmp = t + (x * (y / z))
else if (z <= (-2.35d-88)) then
tmp = t_1
else if (z <= (-7d-149)) then
tmp = y * ((t - x) / (a - z))
else if (z <= 1.6d+20) then
tmp = t_1
else if (z <= 7.6d+148) then
tmp = t * ((y - z) / (a - z))
else if (z <= 6.5d+233) then
tmp = x * ((y - a) / z)
else
tmp = t + ((y * (x - t)) / z)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((t - x) * (y / a));
double tmp;
if (z <= -300000.0) {
tmp = t + (x * (y / z));
} else if (z <= -2.35e-88) {
tmp = t_1;
} else if (z <= -7e-149) {
tmp = y * ((t - x) / (a - z));
} else if (z <= 1.6e+20) {
tmp = t_1;
} else if (z <= 7.6e+148) {
tmp = t * ((y - z) / (a - z));
} else if (z <= 6.5e+233) {
tmp = x * ((y - a) / z);
} else {
tmp = t + ((y * (x - t)) / z);
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((t - x) * (y / a)) tmp = 0 if z <= -300000.0: tmp = t + (x * (y / z)) elif z <= -2.35e-88: tmp = t_1 elif z <= -7e-149: tmp = y * ((t - x) / (a - z)) elif z <= 1.6e+20: tmp = t_1 elif z <= 7.6e+148: tmp = t * ((y - z) / (a - z)) elif z <= 6.5e+233: tmp = x * ((y - a) / z) else: tmp = t + ((y * (x - t)) / z) return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(t - x) * Float64(y / a))) tmp = 0.0 if (z <= -300000.0) tmp = Float64(t + Float64(x * Float64(y / z))); elseif (z <= -2.35e-88) tmp = t_1; elseif (z <= -7e-149) tmp = Float64(y * Float64(Float64(t - x) / Float64(a - z))); elseif (z <= 1.6e+20) tmp = t_1; elseif (z <= 7.6e+148) tmp = Float64(t * Float64(Float64(y - z) / Float64(a - z))); elseif (z <= 6.5e+233) tmp = Float64(x * Float64(Float64(y - a) / z)); else tmp = Float64(t + Float64(Float64(y * Float64(x - t)) / z)); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + ((t - x) * (y / a)); tmp = 0.0; if (z <= -300000.0) tmp = t + (x * (y / z)); elseif (z <= -2.35e-88) tmp = t_1; elseif (z <= -7e-149) tmp = y * ((t - x) / (a - z)); elseif (z <= 1.6e+20) tmp = t_1; elseif (z <= 7.6e+148) tmp = t * ((y - z) / (a - z)); elseif (z <= 6.5e+233) tmp = x * ((y - a) / z); else tmp = t + ((y * (x - t)) / z); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(t - x), $MachinePrecision] * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -300000.0], N[(t + N[(x * N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -2.35e-88], t$95$1, If[LessEqual[z, -7e-149], N[(y * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1.6e+20], t$95$1, If[LessEqual[z, 7.6e+148], N[(t * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 6.5e+233], N[(x * N[(N[(y - a), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], N[(t + N[(N[(y * N[(x - t), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \left(t - x\right) \cdot \frac{y}{a}\\
\mathbf{if}\;z \leq -300000:\\
\;\;\;\;t + x \cdot \frac{y}{z}\\
\mathbf{elif}\;z \leq -2.35 \cdot 10^{-88}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq -7 \cdot 10^{-149}:\\
\;\;\;\;y \cdot \frac{t - x}{a - z}\\
\mathbf{elif}\;z \leq 1.6 \cdot 10^{+20}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq 7.6 \cdot 10^{+148}:\\
\;\;\;\;t \cdot \frac{y - z}{a - z}\\
\mathbf{elif}\;z \leq 6.5 \cdot 10^{+233}:\\
\;\;\;\;x \cdot \frac{y - a}{z}\\
\mathbf{else}:\\
\;\;\;\;t + \frac{y \cdot \left(x - t\right)}{z}\\
\end{array}
\end{array}
if z < -3e5Initial program 43.2%
associate-*l/73.8%
Simplified73.8%
Taylor expanded in z around inf 60.3%
associate--l+60.3%
associate-*r/60.3%
associate-*r/60.3%
div-sub60.3%
distribute-lft-out--60.3%
associate-*r/60.3%
distribute-rgt-out--60.3%
mul-1-neg60.3%
unsub-neg60.3%
associate-/l*83.5%
Simplified83.5%
Taylor expanded in y around inf 76.4%
Taylor expanded in t around 0 64.6%
mul-1-neg64.6%
associate-*r/72.8%
distribute-rgt-neg-in72.8%
Simplified72.8%
if -3e5 < z < -2.35e-88 or -7e-149 < z < 1.6e20Initial program 90.0%
associate-*l/94.6%
Simplified94.6%
Taylor expanded in z around 0 81.4%
if -2.35e-88 < z < -7e-149Initial program 93.3%
associate-*l/93.4%
Simplified93.4%
Taylor expanded in y around inf 67.9%
div-sub67.9%
Simplified67.9%
if 1.6e20 < z < 7.5999999999999997e148Initial program 66.3%
associate-*l/89.4%
Simplified89.4%
associate-*l/66.3%
clear-num66.4%
associate-/r*89.2%
Applied egg-rr89.2%
Taylor expanded in t around inf 69.1%
div-sub69.1%
Simplified69.1%
if 7.5999999999999997e148 < z < 6.50000000000000038e233Initial program 15.5%
associate-*l/55.5%
Simplified55.5%
Taylor expanded in x around inf 37.2%
mul-1-neg37.2%
unsub-neg37.2%
Simplified37.2%
Taylor expanded in z around inf 56.6%
mul-1-neg56.6%
sub-neg56.6%
mul-1-neg56.6%
Simplified56.6%
if 6.50000000000000038e233 < z Initial program 37.5%
associate-*l/65.8%
Simplified65.8%
Taylor expanded in z around inf 80.5%
associate--l+80.5%
associate-*r/80.5%
associate-*r/80.5%
div-sub80.5%
distribute-lft-out--80.5%
associate-*r/80.5%
distribute-rgt-out--80.7%
mul-1-neg80.7%
unsub-neg80.7%
associate-/l*99.9%
Simplified99.9%
Taylor expanded in y around inf 85.6%
Final simplification76.1%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* (- t x) (/ y a)))) (t_2 (+ t (* x (/ y z)))))
(if (<= z -1150000.0)
t_2
(if (<= z -1.3e-88)
t_1
(if (<= z -1.1e-148)
(* y (/ (- t x) (- a z)))
(if (<= z 9.8e+20)
t_1
(if (<= z 5e+146)
(* t (/ (- y z) (- a z)))
(if (<= z 2.8e+211) (* x (/ (- y a) z)) t_2))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((t - x) * (y / a));
double t_2 = t + (x * (y / z));
double tmp;
if (z <= -1150000.0) {
tmp = t_2;
} else if (z <= -1.3e-88) {
tmp = t_1;
} else if (z <= -1.1e-148) {
tmp = y * ((t - x) / (a - z));
} else if (z <= 9.8e+20) {
tmp = t_1;
} else if (z <= 5e+146) {
tmp = t * ((y - z) / (a - z));
} else if (z <= 2.8e+211) {
tmp = x * ((y - a) / z);
} 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 + ((t - x) * (y / a))
t_2 = t + (x * (y / z))
if (z <= (-1150000.0d0)) then
tmp = t_2
else if (z <= (-1.3d-88)) then
tmp = t_1
else if (z <= (-1.1d-148)) then
tmp = y * ((t - x) / (a - z))
else if (z <= 9.8d+20) then
tmp = t_1
else if (z <= 5d+146) then
tmp = t * ((y - z) / (a - z))
else if (z <= 2.8d+211) then
tmp = x * ((y - a) / z)
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 + ((t - x) * (y / a));
double t_2 = t + (x * (y / z));
double tmp;
if (z <= -1150000.0) {
tmp = t_2;
} else if (z <= -1.3e-88) {
tmp = t_1;
} else if (z <= -1.1e-148) {
tmp = y * ((t - x) / (a - z));
} else if (z <= 9.8e+20) {
tmp = t_1;
} else if (z <= 5e+146) {
tmp = t * ((y - z) / (a - z));
} else if (z <= 2.8e+211) {
tmp = x * ((y - a) / z);
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((t - x) * (y / a)) t_2 = t + (x * (y / z)) tmp = 0 if z <= -1150000.0: tmp = t_2 elif z <= -1.3e-88: tmp = t_1 elif z <= -1.1e-148: tmp = y * ((t - x) / (a - z)) elif z <= 9.8e+20: tmp = t_1 elif z <= 5e+146: tmp = t * ((y - z) / (a - z)) elif z <= 2.8e+211: tmp = x * ((y - a) / z) else: tmp = t_2 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(t - x) * Float64(y / a))) t_2 = Float64(t + Float64(x * Float64(y / z))) tmp = 0.0 if (z <= -1150000.0) tmp = t_2; elseif (z <= -1.3e-88) tmp = t_1; elseif (z <= -1.1e-148) tmp = Float64(y * Float64(Float64(t - x) / Float64(a - z))); elseif (z <= 9.8e+20) tmp = t_1; elseif (z <= 5e+146) tmp = Float64(t * Float64(Float64(y - z) / Float64(a - z))); elseif (z <= 2.8e+211) tmp = Float64(x * Float64(Float64(y - a) / z)); else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + ((t - x) * (y / a)); t_2 = t + (x * (y / z)); tmp = 0.0; if (z <= -1150000.0) tmp = t_2; elseif (z <= -1.3e-88) tmp = t_1; elseif (z <= -1.1e-148) tmp = y * ((t - x) / (a - z)); elseif (z <= 9.8e+20) tmp = t_1; elseif (z <= 5e+146) tmp = t * ((y - z) / (a - z)); elseif (z <= 2.8e+211) tmp = x * ((y - a) / z); else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(t - x), $MachinePrecision] * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t + N[(x * N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -1150000.0], t$95$2, If[LessEqual[z, -1.3e-88], t$95$1, If[LessEqual[z, -1.1e-148], N[(y * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 9.8e+20], t$95$1, If[LessEqual[z, 5e+146], N[(t * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 2.8e+211], N[(x * N[(N[(y - a), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \left(t - x\right) \cdot \frac{y}{a}\\
t_2 := t + x \cdot \frac{y}{z}\\
\mathbf{if}\;z \leq -1150000:\\
\;\;\;\;t_2\\
\mathbf{elif}\;z \leq -1.3 \cdot 10^{-88}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq -1.1 \cdot 10^{-148}:\\
\;\;\;\;y \cdot \frac{t - x}{a - z}\\
\mathbf{elif}\;z \leq 9.8 \cdot 10^{+20}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq 5 \cdot 10^{+146}:\\
\;\;\;\;t \cdot \frac{y - z}{a - z}\\
\mathbf{elif}\;z \leq 2.8 \cdot 10^{+211}:\\
\;\;\;\;x \cdot \frac{y - a}{z}\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if z < -1.15e6 or 2.8e211 < z Initial program 40.4%
associate-*l/72.8%
Simplified72.8%
Taylor expanded in z around inf 63.3%
associate--l+63.3%
associate-*r/63.3%
associate-*r/63.3%
div-sub63.3%
distribute-lft-out--63.3%
associate-*r/63.3%
distribute-rgt-out--63.4%
mul-1-neg63.4%
unsub-neg63.4%
associate-/l*87.0%
Simplified87.0%
Taylor expanded in y around inf 78.9%
Taylor expanded in t around 0 66.8%
mul-1-neg66.8%
associate-*r/74.4%
distribute-rgt-neg-in74.4%
Simplified74.4%
if -1.15e6 < z < -1.30000000000000007e-88 or -1.10000000000000009e-148 < z < 9.8e20Initial program 90.0%
associate-*l/94.6%
Simplified94.6%
Taylor expanded in z around 0 81.4%
if -1.30000000000000007e-88 < z < -1.10000000000000009e-148Initial program 93.3%
associate-*l/93.4%
Simplified93.4%
Taylor expanded in y around inf 67.9%
div-sub67.9%
Simplified67.9%
if 9.8e20 < z < 4.9999999999999999e146Initial program 66.3%
associate-*l/89.4%
Simplified89.4%
associate-*l/66.3%
clear-num66.4%
associate-/r*89.2%
Applied egg-rr89.2%
Taylor expanded in t around inf 69.1%
div-sub69.1%
Simplified69.1%
if 4.9999999999999999e146 < z < 2.8e211Initial program 18.0%
associate-*l/45.3%
Simplified45.3%
Taylor expanded in x around inf 30.4%
mul-1-neg30.4%
unsub-neg30.4%
Simplified30.4%
Taylor expanded in z around inf 62.0%
mul-1-neg62.0%
sub-neg62.0%
mul-1-neg62.0%
Simplified62.0%
Final simplification76.1%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* (- t x) (/ y a)))) (t_2 (- t (/ (- t x) (/ z (- y a))))))
(if (<= z -240.0)
t_2
(if (<= z -1.3e-88)
t_1
(if (<= z -1.12e-148)
(/ (* (- t x) y) (- a z))
(if (<= z 900000.0) t_1 t_2))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((t - x) * (y / a));
double t_2 = t - ((t - x) / (z / (y - a)));
double tmp;
if (z <= -240.0) {
tmp = t_2;
} else if (z <= -1.3e-88) {
tmp = t_1;
} else if (z <= -1.12e-148) {
tmp = ((t - x) * y) / (a - z);
} else if (z <= 900000.0) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = x + ((t - x) * (y / a))
t_2 = t - ((t - x) / (z / (y - a)))
if (z <= (-240.0d0)) then
tmp = t_2
else if (z <= (-1.3d-88)) then
tmp = t_1
else if (z <= (-1.12d-148)) then
tmp = ((t - x) * y) / (a - z)
else if (z <= 900000.0d0) then
tmp = t_1
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((t - x) * (y / a));
double t_2 = t - ((t - x) / (z / (y - a)));
double tmp;
if (z <= -240.0) {
tmp = t_2;
} else if (z <= -1.3e-88) {
tmp = t_1;
} else if (z <= -1.12e-148) {
tmp = ((t - x) * y) / (a - z);
} else if (z <= 900000.0) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((t - x) * (y / a)) t_2 = t - ((t - x) / (z / (y - a))) tmp = 0 if z <= -240.0: tmp = t_2 elif z <= -1.3e-88: tmp = t_1 elif z <= -1.12e-148: tmp = ((t - x) * y) / (a - z) elif z <= 900000.0: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(t - x) * Float64(y / a))) t_2 = Float64(t - Float64(Float64(t - x) / Float64(z / Float64(y - a)))) tmp = 0.0 if (z <= -240.0) tmp = t_2; elseif (z <= -1.3e-88) tmp = t_1; elseif (z <= -1.12e-148) tmp = Float64(Float64(Float64(t - x) * y) / Float64(a - z)); elseif (z <= 900000.0) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + ((t - x) * (y / a)); t_2 = t - ((t - x) / (z / (y - a))); tmp = 0.0; if (z <= -240.0) tmp = t_2; elseif (z <= -1.3e-88) tmp = t_1; elseif (z <= -1.12e-148) tmp = ((t - x) * y) / (a - z); elseif (z <= 900000.0) 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[(t - x), $MachinePrecision] * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t - N[(N[(t - x), $MachinePrecision] / N[(z / N[(y - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -240.0], t$95$2, If[LessEqual[z, -1.3e-88], t$95$1, If[LessEqual[z, -1.12e-148], N[(N[(N[(t - x), $MachinePrecision] * y), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 900000.0], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \left(t - x\right) \cdot \frac{y}{a}\\
t_2 := t - \frac{t - x}{\frac{z}{y - a}}\\
\mathbf{if}\;z \leq -240:\\
\;\;\;\;t_2\\
\mathbf{elif}\;z \leq -1.3 \cdot 10^{-88}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq -1.12 \cdot 10^{-148}:\\
\;\;\;\;\frac{\left(t - x\right) \cdot y}{a - z}\\
\mathbf{elif}\;z \leq 900000:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if z < -240 or 9e5 < z Initial program 44.1%
associate-*l/73.3%
Simplified73.3%
Taylor expanded in z around inf 61.2%
associate--l+61.2%
associate-*r/61.2%
associate-*r/61.2%
div-sub61.2%
distribute-lft-out--61.2%
associate-*r/61.2%
distribute-rgt-out--61.3%
mul-1-neg61.3%
unsub-neg61.3%
associate-/l*81.3%
Simplified81.3%
if -240 < z < -1.30000000000000007e-88 or -1.1199999999999999e-148 < z < 9e5Initial program 90.7%
associate-*l/95.4%
Simplified95.4%
Taylor expanded in z around 0 81.9%
if -1.30000000000000007e-88 < z < -1.1199999999999999e-148Initial program 93.3%
associate-*l/93.4%
Simplified93.4%
Taylor expanded in y around -inf 74.1%
Final simplification81.1%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (- t (/ (- t x) (/ z (- y a))))))
(if (<= z -5400.0)
t_1
(if (<= z -1.4e-88)
(+ x (* z (/ (- x t) (- a z))))
(if (<= z -4.4e-149)
(/ (* (- t x) y) (- a z))
(if (<= z 440000.0) (+ x (* (- t x) (/ y a))) t_1))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t - ((t - x) / (z / (y - a)));
double tmp;
if (z <= -5400.0) {
tmp = t_1;
} else if (z <= -1.4e-88) {
tmp = x + (z * ((x - t) / (a - z)));
} else if (z <= -4.4e-149) {
tmp = ((t - x) * y) / (a - z);
} else if (z <= 440000.0) {
tmp = x + ((t - x) * (y / a));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: tmp
t_1 = t - ((t - x) / (z / (y - a)))
if (z <= (-5400.0d0)) then
tmp = t_1
else if (z <= (-1.4d-88)) then
tmp = x + (z * ((x - t) / (a - z)))
else if (z <= (-4.4d-149)) then
tmp = ((t - x) * y) / (a - z)
else if (z <= 440000.0d0) then
tmp = x + ((t - x) * (y / a))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = t - ((t - x) / (z / (y - a)));
double tmp;
if (z <= -5400.0) {
tmp = t_1;
} else if (z <= -1.4e-88) {
tmp = x + (z * ((x - t) / (a - z)));
} else if (z <= -4.4e-149) {
tmp = ((t - x) * y) / (a - z);
} else if (z <= 440000.0) {
tmp = x + ((t - x) * (y / a));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t - ((t - x) / (z / (y - a))) tmp = 0 if z <= -5400.0: tmp = t_1 elif z <= -1.4e-88: tmp = x + (z * ((x - t) / (a - z))) elif z <= -4.4e-149: tmp = ((t - x) * y) / (a - z) elif z <= 440000.0: tmp = x + ((t - x) * (y / a)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(t - Float64(Float64(t - x) / Float64(z / Float64(y - a)))) tmp = 0.0 if (z <= -5400.0) tmp = t_1; elseif (z <= -1.4e-88) tmp = Float64(x + Float64(z * Float64(Float64(x - t) / Float64(a - z)))); elseif (z <= -4.4e-149) tmp = Float64(Float64(Float64(t - x) * y) / Float64(a - z)); elseif (z <= 440000.0) tmp = Float64(x + Float64(Float64(t - x) * Float64(y / a))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t - ((t - x) / (z / (y - a))); tmp = 0.0; if (z <= -5400.0) tmp = t_1; elseif (z <= -1.4e-88) tmp = x + (z * ((x - t) / (a - z))); elseif (z <= -4.4e-149) tmp = ((t - x) * y) / (a - z); elseif (z <= 440000.0) tmp = x + ((t - x) * (y / a)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t - N[(N[(t - x), $MachinePrecision] / N[(z / N[(y - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -5400.0], t$95$1, If[LessEqual[z, -1.4e-88], N[(x + N[(z * N[(N[(x - t), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -4.4e-149], N[(N[(N[(t - x), $MachinePrecision] * y), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 440000.0], N[(x + N[(N[(t - x), $MachinePrecision] * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t - \frac{t - x}{\frac{z}{y - a}}\\
\mathbf{if}\;z \leq -5400:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq -1.4 \cdot 10^{-88}:\\
\;\;\;\;x + z \cdot \frac{x - t}{a - z}\\
\mathbf{elif}\;z \leq -4.4 \cdot 10^{-149}:\\
\;\;\;\;\frac{\left(t - x\right) \cdot y}{a - z}\\
\mathbf{elif}\;z \leq 440000:\\
\;\;\;\;x + \left(t - x\right) \cdot \frac{y}{a}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if z < -5400 or 4.4e5 < z Initial program 44.1%
associate-*l/73.3%
Simplified73.3%
Taylor expanded in z around inf 61.2%
associate--l+61.2%
associate-*r/61.2%
associate-*r/61.2%
div-sub61.2%
distribute-lft-out--61.2%
associate-*r/61.2%
distribute-rgt-out--61.3%
mul-1-neg61.3%
unsub-neg61.3%
associate-/l*81.3%
Simplified81.3%
if -5400 < z < -1.39999999999999988e-88Initial program 91.0%
associate-*l/95.1%
Simplified95.1%
Taylor expanded in y around 0 71.4%
mul-1-neg71.4%
associate-*r/71.4%
unsub-neg71.4%
Simplified71.4%
if -1.39999999999999988e-88 < z < -4.3999999999999996e-149Initial program 93.3%
associate-*l/93.4%
Simplified93.4%
Taylor expanded in y around -inf 74.1%
if -4.3999999999999996e-149 < z < 4.4e5Initial program 90.6%
associate-*l/95.4%
Simplified95.4%
Taylor expanded in z around 0 84.0%
Final simplification81.1%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ t (* x (/ y z)))))
(if (<= x -9.2e+95)
(- x (/ x (/ a y)))
(if (<= x -480000000000.0)
t_1
(if (<= x 5.1e+61)
(* t (/ (- y z) (- a z)))
(if (<= x 6.2e+187)
t_1
(if (<= x 2.1e+261) (* x (- 1.0 (/ y a))) (* x (/ (- y a) z)))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t + (x * (y / z));
double tmp;
if (x <= -9.2e+95) {
tmp = x - (x / (a / y));
} else if (x <= -480000000000.0) {
tmp = t_1;
} else if (x <= 5.1e+61) {
tmp = t * ((y - z) / (a - z));
} else if (x <= 6.2e+187) {
tmp = t_1;
} else if (x <= 2.1e+261) {
tmp = x * (1.0 - (y / a));
} else {
tmp = 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 = t + (x * (y / z))
if (x <= (-9.2d+95)) then
tmp = x - (x / (a / y))
else if (x <= (-480000000000.0d0)) then
tmp = t_1
else if (x <= 5.1d+61) then
tmp = t * ((y - z) / (a - z))
else if (x <= 6.2d+187) then
tmp = t_1
else if (x <= 2.1d+261) then
tmp = x * (1.0d0 - (y / a))
else
tmp = 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 = t + (x * (y / z));
double tmp;
if (x <= -9.2e+95) {
tmp = x - (x / (a / y));
} else if (x <= -480000000000.0) {
tmp = t_1;
} else if (x <= 5.1e+61) {
tmp = t * ((y - z) / (a - z));
} else if (x <= 6.2e+187) {
tmp = t_1;
} else if (x <= 2.1e+261) {
tmp = x * (1.0 - (y / a));
} else {
tmp = x * ((y - a) / z);
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t + (x * (y / z)) tmp = 0 if x <= -9.2e+95: tmp = x - (x / (a / y)) elif x <= -480000000000.0: tmp = t_1 elif x <= 5.1e+61: tmp = t * ((y - z) / (a - z)) elif x <= 6.2e+187: tmp = t_1 elif x <= 2.1e+261: tmp = x * (1.0 - (y / a)) else: tmp = x * ((y - a) / z) return tmp
function code(x, y, z, t, a) t_1 = Float64(t + Float64(x * Float64(y / z))) tmp = 0.0 if (x <= -9.2e+95) tmp = Float64(x - Float64(x / Float64(a / y))); elseif (x <= -480000000000.0) tmp = t_1; elseif (x <= 5.1e+61) tmp = Float64(t * Float64(Float64(y - z) / Float64(a - z))); elseif (x <= 6.2e+187) tmp = t_1; elseif (x <= 2.1e+261) tmp = Float64(x * Float64(1.0 - Float64(y / a))); else tmp = Float64(x * Float64(Float64(y - a) / z)); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t + (x * (y / z)); tmp = 0.0; if (x <= -9.2e+95) tmp = x - (x / (a / y)); elseif (x <= -480000000000.0) tmp = t_1; elseif (x <= 5.1e+61) tmp = t * ((y - z) / (a - z)); elseif (x <= 6.2e+187) tmp = t_1; elseif (x <= 2.1e+261) tmp = x * (1.0 - (y / a)); else tmp = x * ((y - a) / z); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t + N[(x * N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -9.2e+95], N[(x - N[(x / N[(a / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -480000000000.0], t$95$1, If[LessEqual[x, 5.1e+61], N[(t * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 6.2e+187], t$95$1, If[LessEqual[x, 2.1e+261], N[(x * N[(1.0 - N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x * N[(N[(y - a), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t + x \cdot \frac{y}{z}\\
\mathbf{if}\;x \leq -9.2 \cdot 10^{+95}:\\
\;\;\;\;x - \frac{x}{\frac{a}{y}}\\
\mathbf{elif}\;x \leq -480000000000:\\
\;\;\;\;t_1\\
\mathbf{elif}\;x \leq 5.1 \cdot 10^{+61}:\\
\;\;\;\;t \cdot \frac{y - z}{a - z}\\
\mathbf{elif}\;x \leq 6.2 \cdot 10^{+187}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;x \leq 2.1 \cdot 10^{+261}:\\
\;\;\;\;x \cdot \left(1 - \frac{y}{a}\right)\\
\mathbf{else}:\\
\;\;\;\;x \cdot \frac{y - a}{z}\\
\end{array}
\end{array}
if x < -9.19999999999999989e95Initial program 56.8%
associate-*l/76.0%
Simplified76.0%
Taylor expanded in z around 0 48.2%
Taylor expanded in t around 0 47.2%
mul-1-neg47.2%
unsub-neg47.2%
associate-/l*55.8%
Simplified55.8%
if -9.19999999999999989e95 < x < -4.8e11 or 5.1000000000000001e61 < x < 6.20000000000000024e187Initial program 55.1%
associate-*l/72.5%
Simplified72.5%
Taylor expanded in z around inf 68.8%
associate--l+68.8%
associate-*r/68.8%
associate-*r/68.8%
div-sub68.9%
distribute-lft-out--68.9%
associate-*r/68.9%
distribute-rgt-out--68.9%
mul-1-neg68.9%
unsub-neg68.9%
associate-/l*80.6%
Simplified80.6%
Taylor expanded in y around inf 72.4%
Taylor expanded in t around 0 62.3%
mul-1-neg62.3%
associate-*r/72.3%
distribute-rgt-neg-in72.3%
Simplified72.3%
if -4.8e11 < x < 5.1000000000000001e61Initial program 78.4%
associate-*l/92.8%
Simplified92.8%
associate-*l/78.4%
clear-num78.3%
associate-/r*92.7%
Applied egg-rr92.7%
Taylor expanded in t around inf 72.5%
div-sub72.5%
Simplified72.5%
if 6.20000000000000024e187 < x < 2.1000000000000001e261Initial program 64.4%
associate-*l/86.8%
Simplified86.8%
Taylor expanded in z around 0 70.8%
Taylor expanded in x around inf 76.0%
mul-1-neg76.0%
sub-neg76.0%
Simplified76.0%
if 2.1000000000000001e261 < x Initial program 40.5%
associate-*l/56.9%
Simplified56.9%
Taylor expanded in x around inf 51.9%
mul-1-neg51.9%
unsub-neg51.9%
Simplified51.9%
Taylor expanded in z around inf 62.0%
mul-1-neg62.0%
sub-neg62.0%
mul-1-neg62.0%
Simplified62.0%
Final simplification69.0%
(FPCore (x y z t a)
:precision binary64
(if (<= x -6.8e+100)
(- x (/ x (/ a y)))
(if (<= x -14000000000.0)
(* y (/ (- t x) (- a z)))
(if (<= x 5.8e+63)
(* t (/ (- y z) (- a z)))
(if (<= x 1.22e+189)
(+ t (* x (/ y z)))
(if (<= x 1.75e+261) (* x (- 1.0 (/ y a))) (* x (/ (- y a) z))))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (x <= -6.8e+100) {
tmp = x - (x / (a / y));
} else if (x <= -14000000000.0) {
tmp = y * ((t - x) / (a - z));
} else if (x <= 5.8e+63) {
tmp = t * ((y - z) / (a - z));
} else if (x <= 1.22e+189) {
tmp = t + (x * (y / z));
} else if (x <= 1.75e+261) {
tmp = x * (1.0 - (y / a));
} else {
tmp = 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 (x <= (-6.8d+100)) then
tmp = x - (x / (a / y))
else if (x <= (-14000000000.0d0)) then
tmp = y * ((t - x) / (a - z))
else if (x <= 5.8d+63) then
tmp = t * ((y - z) / (a - z))
else if (x <= 1.22d+189) then
tmp = t + (x * (y / z))
else if (x <= 1.75d+261) then
tmp = x * (1.0d0 - (y / a))
else
tmp = 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 (x <= -6.8e+100) {
tmp = x - (x / (a / y));
} else if (x <= -14000000000.0) {
tmp = y * ((t - x) / (a - z));
} else if (x <= 5.8e+63) {
tmp = t * ((y - z) / (a - z));
} else if (x <= 1.22e+189) {
tmp = t + (x * (y / z));
} else if (x <= 1.75e+261) {
tmp = x * (1.0 - (y / a));
} else {
tmp = x * ((y - a) / z);
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if x <= -6.8e+100: tmp = x - (x / (a / y)) elif x <= -14000000000.0: tmp = y * ((t - x) / (a - z)) elif x <= 5.8e+63: tmp = t * ((y - z) / (a - z)) elif x <= 1.22e+189: tmp = t + (x * (y / z)) elif x <= 1.75e+261: tmp = x * (1.0 - (y / a)) else: tmp = x * ((y - a) / z) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (x <= -6.8e+100) tmp = Float64(x - Float64(x / Float64(a / y))); elseif (x <= -14000000000.0) tmp = Float64(y * Float64(Float64(t - x) / Float64(a - z))); elseif (x <= 5.8e+63) tmp = Float64(t * Float64(Float64(y - z) / Float64(a - z))); elseif (x <= 1.22e+189) tmp = Float64(t + Float64(x * Float64(y / z))); elseif (x <= 1.75e+261) tmp = Float64(x * Float64(1.0 - Float64(y / a))); else tmp = Float64(x * Float64(Float64(y - a) / z)); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (x <= -6.8e+100) tmp = x - (x / (a / y)); elseif (x <= -14000000000.0) tmp = y * ((t - x) / (a - z)); elseif (x <= 5.8e+63) tmp = t * ((y - z) / (a - z)); elseif (x <= 1.22e+189) tmp = t + (x * (y / z)); elseif (x <= 1.75e+261) tmp = x * (1.0 - (y / a)); else tmp = x * ((y - a) / z); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[x, -6.8e+100], N[(x - N[(x / N[(a / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -14000000000.0], N[(y * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 5.8e+63], N[(t * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 1.22e+189], N[(t + N[(x * N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 1.75e+261], N[(x * N[(1.0 - N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x * N[(N[(y - a), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -6.8 \cdot 10^{+100}:\\
\;\;\;\;x - \frac{x}{\frac{a}{y}}\\
\mathbf{elif}\;x \leq -14000000000:\\
\;\;\;\;y \cdot \frac{t - x}{a - z}\\
\mathbf{elif}\;x \leq 5.8 \cdot 10^{+63}:\\
\;\;\;\;t \cdot \frac{y - z}{a - z}\\
\mathbf{elif}\;x \leq 1.22 \cdot 10^{+189}:\\
\;\;\;\;t + x \cdot \frac{y}{z}\\
\mathbf{elif}\;x \leq 1.75 \cdot 10^{+261}:\\
\;\;\;\;x \cdot \left(1 - \frac{y}{a}\right)\\
\mathbf{else}:\\
\;\;\;\;x \cdot \frac{y - a}{z}\\
\end{array}
\end{array}
if x < -6.79999999999999988e100Initial program 57.0%
associate-*l/74.8%
Simplified74.8%
Taylor expanded in z around 0 47.9%
Taylor expanded in t around 0 47.1%
mul-1-neg47.1%
unsub-neg47.1%
associate-/l*56.0%
Simplified56.0%
if -6.79999999999999988e100 < x < -1.4e10Initial program 56.9%
associate-*l/82.2%
Simplified82.2%
Taylor expanded in y around inf 73.8%
div-sub73.8%
Simplified73.8%
if -1.4e10 < x < 5.7999999999999999e63Initial program 78.4%
associate-*l/92.8%
Simplified92.8%
associate-*l/78.4%
clear-num78.3%
associate-/r*92.7%
Applied egg-rr92.7%
Taylor expanded in t around inf 72.5%
div-sub72.5%
Simplified72.5%
if 5.7999999999999999e63 < x < 1.2200000000000001e189Initial program 53.9%
associate-*l/69.7%
Simplified69.7%
Taylor expanded in z around inf 74.1%
associate--l+74.1%
associate-*r/74.1%
associate-*r/74.1%
div-sub74.2%
distribute-lft-out--74.2%
associate-*r/74.2%
distribute-rgt-out--74.2%
mul-1-neg74.2%
unsub-neg74.2%
associate-/l*81.6%
Simplified81.6%
Taylor expanded in y around inf 69.4%
Taylor expanded in t around 0 64.4%
mul-1-neg64.4%
associate-*r/69.3%
distribute-rgt-neg-in69.3%
Simplified69.3%
if 1.2200000000000001e189 < x < 1.74999999999999998e261Initial program 64.4%
associate-*l/86.8%
Simplified86.8%
Taylor expanded in z around 0 70.8%
Taylor expanded in x around inf 76.0%
mul-1-neg76.0%
sub-neg76.0%
Simplified76.0%
if 1.74999999999999998e261 < x Initial program 40.5%
associate-*l/56.9%
Simplified56.9%
Taylor expanded in x around inf 51.9%
mul-1-neg51.9%
unsub-neg51.9%
Simplified51.9%
Taylor expanded in z around inf 62.0%
mul-1-neg62.0%
sub-neg62.0%
mul-1-neg62.0%
Simplified62.0%
Final simplification69.0%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* (- t x) (/ y a)))) (t_2 (+ t (/ (- x t) (/ z y)))))
(if (<= z -650000.0)
t_2
(if (<= z -1.7e-88)
t_1
(if (<= z -1.12e-148)
(* y (/ (- t x) (- a z)))
(if (<= z 2050000.0) t_1 t_2))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((t - x) * (y / a));
double t_2 = t + ((x - t) / (z / y));
double tmp;
if (z <= -650000.0) {
tmp = t_2;
} else if (z <= -1.7e-88) {
tmp = t_1;
} else if (z <= -1.12e-148) {
tmp = y * ((t - x) / (a - z));
} else if (z <= 2050000.0) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = x + ((t - x) * (y / a))
t_2 = t + ((x - t) / (z / y))
if (z <= (-650000.0d0)) then
tmp = t_2
else if (z <= (-1.7d-88)) then
tmp = t_1
else if (z <= (-1.12d-148)) then
tmp = y * ((t - x) / (a - z))
else if (z <= 2050000.0d0) then
tmp = t_1
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((t - x) * (y / a));
double t_2 = t + ((x - t) / (z / y));
double tmp;
if (z <= -650000.0) {
tmp = t_2;
} else if (z <= -1.7e-88) {
tmp = t_1;
} else if (z <= -1.12e-148) {
tmp = y * ((t - x) / (a - z));
} else if (z <= 2050000.0) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((t - x) * (y / a)) t_2 = t + ((x - t) / (z / y)) tmp = 0 if z <= -650000.0: tmp = t_2 elif z <= -1.7e-88: tmp = t_1 elif z <= -1.12e-148: tmp = y * ((t - x) / (a - z)) elif z <= 2050000.0: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(t - x) * Float64(y / a))) t_2 = Float64(t + Float64(Float64(x - t) / Float64(z / y))) tmp = 0.0 if (z <= -650000.0) tmp = t_2; elseif (z <= -1.7e-88) tmp = t_1; elseif (z <= -1.12e-148) tmp = Float64(y * Float64(Float64(t - x) / Float64(a - z))); elseif (z <= 2050000.0) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + ((t - x) * (y / a)); t_2 = t + ((x - t) / (z / y)); tmp = 0.0; if (z <= -650000.0) tmp = t_2; elseif (z <= -1.7e-88) tmp = t_1; elseif (z <= -1.12e-148) tmp = y * ((t - x) / (a - z)); elseif (z <= 2050000.0) 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[(t - x), $MachinePrecision] * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t + N[(N[(x - t), $MachinePrecision] / N[(z / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -650000.0], t$95$2, If[LessEqual[z, -1.7e-88], t$95$1, If[LessEqual[z, -1.12e-148], N[(y * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 2050000.0], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \left(t - x\right) \cdot \frac{y}{a}\\
t_2 := t + \frac{x - t}{\frac{z}{y}}\\
\mathbf{if}\;z \leq -650000:\\
\;\;\;\;t_2\\
\mathbf{elif}\;z \leq -1.7 \cdot 10^{-88}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq -1.12 \cdot 10^{-148}:\\
\;\;\;\;y \cdot \frac{t - x}{a - z}\\
\mathbf{elif}\;z \leq 2050000:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if z < -6.5e5 or 2.05e6 < z Initial program 44.1%
associate-*l/73.3%
Simplified73.3%
Taylor expanded in z around inf 61.2%
associate--l+61.2%
associate-*r/61.2%
associate-*r/61.2%
div-sub61.2%
distribute-lft-out--61.2%
associate-*r/61.2%
distribute-rgt-out--61.3%
mul-1-neg61.3%
unsub-neg61.3%
associate-/l*81.3%
Simplified81.3%
Taylor expanded in y around inf 72.7%
if -6.5e5 < z < -1.69999999999999987e-88 or -1.1199999999999999e-148 < z < 2.05e6Initial program 90.7%
associate-*l/95.4%
Simplified95.4%
Taylor expanded in z around 0 81.9%
if -1.69999999999999987e-88 < z < -1.1199999999999999e-148Initial program 93.3%
associate-*l/93.4%
Simplified93.4%
Taylor expanded in y around inf 67.9%
div-sub67.9%
Simplified67.9%
Final simplification76.7%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* (- t x) (/ y a)))) (t_2 (+ t (/ (- x t) (/ z y)))))
(if (<= z -66000000.0)
t_2
(if (<= z -1.25e-88)
t_1
(if (<= z -1.02e-148)
(/ (* (- t x) y) (- a z))
(if (<= z 270000.0) t_1 t_2))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((t - x) * (y / a));
double t_2 = t + ((x - t) / (z / y));
double tmp;
if (z <= -66000000.0) {
tmp = t_2;
} else if (z <= -1.25e-88) {
tmp = t_1;
} else if (z <= -1.02e-148) {
tmp = ((t - x) * y) / (a - z);
} else if (z <= 270000.0) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = x + ((t - x) * (y / a))
t_2 = t + ((x - t) / (z / y))
if (z <= (-66000000.0d0)) then
tmp = t_2
else if (z <= (-1.25d-88)) then
tmp = t_1
else if (z <= (-1.02d-148)) then
tmp = ((t - x) * y) / (a - z)
else if (z <= 270000.0d0) then
tmp = t_1
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((t - x) * (y / a));
double t_2 = t + ((x - t) / (z / y));
double tmp;
if (z <= -66000000.0) {
tmp = t_2;
} else if (z <= -1.25e-88) {
tmp = t_1;
} else if (z <= -1.02e-148) {
tmp = ((t - x) * y) / (a - z);
} else if (z <= 270000.0) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((t - x) * (y / a)) t_2 = t + ((x - t) / (z / y)) tmp = 0 if z <= -66000000.0: tmp = t_2 elif z <= -1.25e-88: tmp = t_1 elif z <= -1.02e-148: tmp = ((t - x) * y) / (a - z) elif z <= 270000.0: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(t - x) * Float64(y / a))) t_2 = Float64(t + Float64(Float64(x - t) / Float64(z / y))) tmp = 0.0 if (z <= -66000000.0) tmp = t_2; elseif (z <= -1.25e-88) tmp = t_1; elseif (z <= -1.02e-148) tmp = Float64(Float64(Float64(t - x) * y) / Float64(a - z)); elseif (z <= 270000.0) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + ((t - x) * (y / a)); t_2 = t + ((x - t) / (z / y)); tmp = 0.0; if (z <= -66000000.0) tmp = t_2; elseif (z <= -1.25e-88) tmp = t_1; elseif (z <= -1.02e-148) tmp = ((t - x) * y) / (a - z); elseif (z <= 270000.0) 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[(t - x), $MachinePrecision] * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t + N[(N[(x - t), $MachinePrecision] / N[(z / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -66000000.0], t$95$2, If[LessEqual[z, -1.25e-88], t$95$1, If[LessEqual[z, -1.02e-148], N[(N[(N[(t - x), $MachinePrecision] * y), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 270000.0], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \left(t - x\right) \cdot \frac{y}{a}\\
t_2 := t + \frac{x - t}{\frac{z}{y}}\\
\mathbf{if}\;z \leq -66000000:\\
\;\;\;\;t_2\\
\mathbf{elif}\;z \leq -1.25 \cdot 10^{-88}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq -1.02 \cdot 10^{-148}:\\
\;\;\;\;\frac{\left(t - x\right) \cdot y}{a - z}\\
\mathbf{elif}\;z \leq 270000:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if z < -6.6e7 or 2.7e5 < z Initial program 44.1%
associate-*l/73.3%
Simplified73.3%
Taylor expanded in z around inf 61.2%
associate--l+61.2%
associate-*r/61.2%
associate-*r/61.2%
div-sub61.2%
distribute-lft-out--61.2%
associate-*r/61.2%
distribute-rgt-out--61.3%
mul-1-neg61.3%
unsub-neg61.3%
associate-/l*81.3%
Simplified81.3%
Taylor expanded in y around inf 72.7%
if -6.6e7 < z < -1.25000000000000002e-88 or -1.01999999999999997e-148 < z < 2.7e5Initial program 90.7%
associate-*l/95.4%
Simplified95.4%
Taylor expanded in z around 0 81.9%
if -1.25000000000000002e-88 < z < -1.01999999999999997e-148Initial program 93.3%
associate-*l/93.4%
Simplified93.4%
Taylor expanded in y around -inf 74.1%
Final simplification77.0%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* x (/ y z))))
(if (<= a -6.2e+149)
x
(if (<= a -8.8e-144)
t
(if (<= a -5.4e-204)
t_1
(if (<= a -1.35e-275)
t
(if (<= a 2.62e-285) t_1 (if (<= a 6.8e+81) t x))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x * (y / z);
double tmp;
if (a <= -6.2e+149) {
tmp = x;
} else if (a <= -8.8e-144) {
tmp = t;
} else if (a <= -5.4e-204) {
tmp = t_1;
} else if (a <= -1.35e-275) {
tmp = t;
} else if (a <= 2.62e-285) {
tmp = t_1;
} else if (a <= 6.8e+81) {
tmp = t;
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: tmp
t_1 = x * (y / z)
if (a <= (-6.2d+149)) then
tmp = x
else if (a <= (-8.8d-144)) then
tmp = t
else if (a <= (-5.4d-204)) then
tmp = t_1
else if (a <= (-1.35d-275)) then
tmp = t
else if (a <= 2.62d-285) then
tmp = t_1
else if (a <= 6.8d+81) then
tmp = t
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x * (y / z);
double tmp;
if (a <= -6.2e+149) {
tmp = x;
} else if (a <= -8.8e-144) {
tmp = t;
} else if (a <= -5.4e-204) {
tmp = t_1;
} else if (a <= -1.35e-275) {
tmp = t;
} else if (a <= 2.62e-285) {
tmp = t_1;
} else if (a <= 6.8e+81) {
tmp = t;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x * (y / z) tmp = 0 if a <= -6.2e+149: tmp = x elif a <= -8.8e-144: tmp = t elif a <= -5.4e-204: tmp = t_1 elif a <= -1.35e-275: tmp = t elif a <= 2.62e-285: tmp = t_1 elif a <= 6.8e+81: tmp = t else: tmp = x return tmp
function code(x, y, z, t, a) t_1 = Float64(x * Float64(y / z)) tmp = 0.0 if (a <= -6.2e+149) tmp = x; elseif (a <= -8.8e-144) tmp = t; elseif (a <= -5.4e-204) tmp = t_1; elseif (a <= -1.35e-275) tmp = t; elseif (a <= 2.62e-285) tmp = t_1; elseif (a <= 6.8e+81) tmp = t; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x * (y / z); tmp = 0.0; if (a <= -6.2e+149) tmp = x; elseif (a <= -8.8e-144) tmp = t; elseif (a <= -5.4e-204) tmp = t_1; elseif (a <= -1.35e-275) tmp = t; elseif (a <= 2.62e-285) tmp = t_1; elseif (a <= 6.8e+81) tmp = t; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x * N[(y / z), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -6.2e+149], x, If[LessEqual[a, -8.8e-144], t, If[LessEqual[a, -5.4e-204], t$95$1, If[LessEqual[a, -1.35e-275], t, If[LessEqual[a, 2.62e-285], t$95$1, If[LessEqual[a, 6.8e+81], t, x]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \frac{y}{z}\\
\mathbf{if}\;a \leq -6.2 \cdot 10^{+149}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq -8.8 \cdot 10^{-144}:\\
\;\;\;\;t\\
\mathbf{elif}\;a \leq -5.4 \cdot 10^{-204}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq -1.35 \cdot 10^{-275}:\\
\;\;\;\;t\\
\mathbf{elif}\;a \leq 2.62 \cdot 10^{-285}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 6.8 \cdot 10^{+81}:\\
\;\;\;\;t\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -6.19999999999999974e149 or 6.80000000000000005e81 < a Initial program 69.9%
associate-*l/92.2%
Simplified92.2%
Taylor expanded in a around inf 56.8%
if -6.19999999999999974e149 < a < -8.80000000000000025e-144 or -5.39999999999999983e-204 < a < -1.34999999999999997e-275 or 2.62000000000000002e-285 < a < 6.80000000000000005e81Initial program 69.0%
associate-*l/80.3%
Simplified80.3%
Taylor expanded in z around inf 34.7%
if -8.80000000000000025e-144 < a < -5.39999999999999983e-204 or -1.34999999999999997e-275 < a < 2.62000000000000002e-285Initial program 60.5%
associate-*l/87.5%
Simplified87.5%
Taylor expanded in x around inf 49.3%
mul-1-neg49.3%
unsub-neg49.3%
Simplified49.3%
Taylor expanded in a around 0 61.5%
Final simplification44.0%
(FPCore (x y z t a)
:precision binary64
(if (<= a -1.1e+150)
x
(if (<= a -2.6e-145)
t
(if (<= a -4.4e-206)
(/ x (/ z y))
(if (<= a -1.2e-277)
t
(if (<= a 2.62e-285) (* x (/ y z)) (if (<= a 1.22e+82) t x)))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -1.1e+150) {
tmp = x;
} else if (a <= -2.6e-145) {
tmp = t;
} else if (a <= -4.4e-206) {
tmp = x / (z / y);
} else if (a <= -1.2e-277) {
tmp = t;
} else if (a <= 2.62e-285) {
tmp = x * (y / z);
} else if (a <= 1.22e+82) {
tmp = t;
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (a <= (-1.1d+150)) then
tmp = x
else if (a <= (-2.6d-145)) then
tmp = t
else if (a <= (-4.4d-206)) then
tmp = x / (z / y)
else if (a <= (-1.2d-277)) then
tmp = t
else if (a <= 2.62d-285) then
tmp = x * (y / z)
else if (a <= 1.22d+82) then
tmp = t
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -1.1e+150) {
tmp = x;
} else if (a <= -2.6e-145) {
tmp = t;
} else if (a <= -4.4e-206) {
tmp = x / (z / y);
} else if (a <= -1.2e-277) {
tmp = t;
} else if (a <= 2.62e-285) {
tmp = x * (y / z);
} else if (a <= 1.22e+82) {
tmp = t;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -1.1e+150: tmp = x elif a <= -2.6e-145: tmp = t elif a <= -4.4e-206: tmp = x / (z / y) elif a <= -1.2e-277: tmp = t elif a <= 2.62e-285: tmp = x * (y / z) elif a <= 1.22e+82: tmp = t else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -1.1e+150) tmp = x; elseif (a <= -2.6e-145) tmp = t; elseif (a <= -4.4e-206) tmp = Float64(x / Float64(z / y)); elseif (a <= -1.2e-277) tmp = t; elseif (a <= 2.62e-285) tmp = Float64(x * Float64(y / z)); elseif (a <= 1.22e+82) tmp = t; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -1.1e+150) tmp = x; elseif (a <= -2.6e-145) tmp = t; elseif (a <= -4.4e-206) tmp = x / (z / y); elseif (a <= -1.2e-277) tmp = t; elseif (a <= 2.62e-285) tmp = x * (y / z); elseif (a <= 1.22e+82) tmp = t; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -1.1e+150], x, If[LessEqual[a, -2.6e-145], t, If[LessEqual[a, -4.4e-206], N[(x / N[(z / y), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -1.2e-277], t, If[LessEqual[a, 2.62e-285], N[(x * N[(y / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.22e+82], t, x]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -1.1 \cdot 10^{+150}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq -2.6 \cdot 10^{-145}:\\
\;\;\;\;t\\
\mathbf{elif}\;a \leq -4.4 \cdot 10^{-206}:\\
\;\;\;\;\frac{x}{\frac{z}{y}}\\
\mathbf{elif}\;a \leq -1.2 \cdot 10^{-277}:\\
\;\;\;\;t\\
\mathbf{elif}\;a \leq 2.62 \cdot 10^{-285}:\\
\;\;\;\;x \cdot \frac{y}{z}\\
\mathbf{elif}\;a \leq 1.22 \cdot 10^{+82}:\\
\;\;\;\;t\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -1.1e150 or 1.22000000000000008e82 < a Initial program 69.9%
associate-*l/92.2%
Simplified92.2%
Taylor expanded in a around inf 56.8%
if -1.1e150 < a < -2.6e-145 or -4.3999999999999997e-206 < a < -1.2e-277 or 2.62000000000000002e-285 < a < 1.22000000000000008e82Initial program 69.0%
associate-*l/80.3%
Simplified80.3%
Taylor expanded in z around inf 34.7%
if -2.6e-145 < a < -4.3999999999999997e-206Initial program 64.9%
associate-*l/81.9%
Simplified81.9%
Taylor expanded in x around inf 46.7%
mul-1-neg46.7%
unsub-neg46.7%
Simplified46.7%
Taylor expanded in a around 0 47.9%
associate-/l*64.8%
Simplified64.8%
if -1.2e-277 < a < 2.62000000000000002e-285Initial program 56.7%
associate-*l/92.3%
Simplified92.3%
Taylor expanded in x around inf 51.4%
mul-1-neg51.4%
unsub-neg51.4%
Simplified51.4%
Taylor expanded in a around 0 58.9%
Final simplification44.0%
(FPCore (x y z t a)
:precision binary64
(if (<= z -4.6e+104)
t
(if (<= z 3.7e+70)
(* x (- 1.0 (/ y a)))
(if (<= z 1.35e+124)
t
(if (<= z 2.2e+150)
(* t (/ y (- a z)))
(if (<= z 6.5e+233) (/ x (/ z y)) t))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -4.6e+104) {
tmp = t;
} else if (z <= 3.7e+70) {
tmp = x * (1.0 - (y / a));
} else if (z <= 1.35e+124) {
tmp = t;
} else if (z <= 2.2e+150) {
tmp = t * (y / (a - z));
} else if (z <= 6.5e+233) {
tmp = x / (z / y);
} else {
tmp = t;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (z <= (-4.6d+104)) then
tmp = t
else if (z <= 3.7d+70) then
tmp = x * (1.0d0 - (y / a))
else if (z <= 1.35d+124) then
tmp = t
else if (z <= 2.2d+150) then
tmp = t * (y / (a - z))
else if (z <= 6.5d+233) then
tmp = x / (z / y)
else
tmp = t
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -4.6e+104) {
tmp = t;
} else if (z <= 3.7e+70) {
tmp = x * (1.0 - (y / a));
} else if (z <= 1.35e+124) {
tmp = t;
} else if (z <= 2.2e+150) {
tmp = t * (y / (a - z));
} else if (z <= 6.5e+233) {
tmp = x / (z / y);
} else {
tmp = t;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -4.6e+104: tmp = t elif z <= 3.7e+70: tmp = x * (1.0 - (y / a)) elif z <= 1.35e+124: tmp = t elif z <= 2.2e+150: tmp = t * (y / (a - z)) elif z <= 6.5e+233: tmp = x / (z / y) else: tmp = t return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -4.6e+104) tmp = t; elseif (z <= 3.7e+70) tmp = Float64(x * Float64(1.0 - Float64(y / a))); elseif (z <= 1.35e+124) tmp = t; elseif (z <= 2.2e+150) tmp = Float64(t * Float64(y / Float64(a - z))); elseif (z <= 6.5e+233) tmp = Float64(x / Float64(z / y)); else tmp = t; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -4.6e+104) tmp = t; elseif (z <= 3.7e+70) tmp = x * (1.0 - (y / a)); elseif (z <= 1.35e+124) tmp = t; elseif (z <= 2.2e+150) tmp = t * (y / (a - z)); elseif (z <= 6.5e+233) tmp = x / (z / y); else tmp = t; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -4.6e+104], t, If[LessEqual[z, 3.7e+70], N[(x * N[(1.0 - N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1.35e+124], t, If[LessEqual[z, 2.2e+150], N[(t * N[(y / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 6.5e+233], N[(x / N[(z / y), $MachinePrecision]), $MachinePrecision], t]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -4.6 \cdot 10^{+104}:\\
\;\;\;\;t\\
\mathbf{elif}\;z \leq 3.7 \cdot 10^{+70}:\\
\;\;\;\;x \cdot \left(1 - \frac{y}{a}\right)\\
\mathbf{elif}\;z \leq 1.35 \cdot 10^{+124}:\\
\;\;\;\;t\\
\mathbf{elif}\;z \leq 2.2 \cdot 10^{+150}:\\
\;\;\;\;t \cdot \frac{y}{a - z}\\
\mathbf{elif}\;z \leq 6.5 \cdot 10^{+233}:\\
\;\;\;\;\frac{x}{\frac{z}{y}}\\
\mathbf{else}:\\
\;\;\;\;t\\
\end{array}
\end{array}
if z < -4.59999999999999969e104 or 3.69999999999999989e70 < z < 1.34999999999999989e124 or 6.50000000000000038e233 < z Initial program 40.9%
associate-*l/73.5%
Simplified73.5%
Taylor expanded in z around inf 61.1%
if -4.59999999999999969e104 < z < 3.69999999999999989e70Initial program 85.8%
associate-*l/91.9%
Simplified91.9%
Taylor expanded in z around 0 63.5%
Taylor expanded in x around inf 51.6%
mul-1-neg51.6%
sub-neg51.6%
Simplified51.6%
if 1.34999999999999989e124 < z < 2.19999999999999999e150Initial program 67.7%
associate-*l/99.2%
Simplified99.2%
associate-*l/67.7%
clear-num68.0%
associate-/r*99.5%
Applied egg-rr99.5%
Taylor expanded in t around inf 53.0%
div-sub53.0%
Simplified53.0%
Taylor expanded in y around inf 53.0%
if 2.19999999999999999e150 < z < 6.50000000000000038e233Initial program 9.9%
associate-*l/52.5%
Simplified52.5%
Taylor expanded in x around inf 33.0%
mul-1-neg33.0%
unsub-neg33.0%
Simplified33.0%
Taylor expanded in a around 0 17.4%
associate-/l*33.7%
Simplified33.7%
Final simplification53.2%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (- t (* t (/ y z)))))
(if (<= z -4.5e+21)
t_1
(if (<= z 6.9e+53)
(+ x (/ t (/ a y)))
(if (or (<= z 5.9e+138) (not (<= z 2.8e+211)))
t_1
(* x (/ (- y a) z)))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t - (t * (y / z));
double tmp;
if (z <= -4.5e+21) {
tmp = t_1;
} else if (z <= 6.9e+53) {
tmp = x + (t / (a / y));
} else if ((z <= 5.9e+138) || !(z <= 2.8e+211)) {
tmp = t_1;
} else {
tmp = 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 = t - (t * (y / z))
if (z <= (-4.5d+21)) then
tmp = t_1
else if (z <= 6.9d+53) then
tmp = x + (t / (a / y))
else if ((z <= 5.9d+138) .or. (.not. (z <= 2.8d+211))) then
tmp = t_1
else
tmp = 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 = t - (t * (y / z));
double tmp;
if (z <= -4.5e+21) {
tmp = t_1;
} else if (z <= 6.9e+53) {
tmp = x + (t / (a / y));
} else if ((z <= 5.9e+138) || !(z <= 2.8e+211)) {
tmp = t_1;
} else {
tmp = x * ((y - a) / z);
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t - (t * (y / z)) tmp = 0 if z <= -4.5e+21: tmp = t_1 elif z <= 6.9e+53: tmp = x + (t / (a / y)) elif (z <= 5.9e+138) or not (z <= 2.8e+211): tmp = t_1 else: tmp = x * ((y - a) / z) return tmp
function code(x, y, z, t, a) t_1 = Float64(t - Float64(t * Float64(y / z))) tmp = 0.0 if (z <= -4.5e+21) tmp = t_1; elseif (z <= 6.9e+53) tmp = Float64(x + Float64(t / Float64(a / y))); elseif ((z <= 5.9e+138) || !(z <= 2.8e+211)) tmp = t_1; else tmp = Float64(x * Float64(Float64(y - a) / z)); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t - (t * (y / z)); tmp = 0.0; if (z <= -4.5e+21) tmp = t_1; elseif (z <= 6.9e+53) tmp = x + (t / (a / y)); elseif ((z <= 5.9e+138) || ~((z <= 2.8e+211))) tmp = t_1; else tmp = x * ((y - a) / z); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t - N[(t * N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -4.5e+21], t$95$1, If[LessEqual[z, 6.9e+53], N[(x + N[(t / N[(a / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[z, 5.9e+138], N[Not[LessEqual[z, 2.8e+211]], $MachinePrecision]], t$95$1, N[(x * N[(N[(y - a), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t - t \cdot \frac{y}{z}\\
\mathbf{if}\;z \leq -4.5 \cdot 10^{+21}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq 6.9 \cdot 10^{+53}:\\
\;\;\;\;x + \frac{t}{\frac{a}{y}}\\
\mathbf{elif}\;z \leq 5.9 \cdot 10^{+138} \lor \neg \left(z \leq 2.8 \cdot 10^{+211}\right):\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;x \cdot \frac{y - a}{z}\\
\end{array}
\end{array}
if z < -4.5e21 or 6.9000000000000002e53 < z < 5.8999999999999999e138 or 2.8e211 < z Initial program 45.0%
associate-*l/76.4%
Simplified76.4%
Taylor expanded in z around inf 59.8%
associate--l+59.8%
associate-*r/59.8%
associate-*r/59.8%
div-sub59.8%
distribute-lft-out--59.8%
associate-*r/59.8%
distribute-rgt-out--59.8%
mul-1-neg59.8%
unsub-neg59.8%
associate-/l*82.2%
Simplified82.2%
Taylor expanded in y around inf 74.6%
Taylor expanded in t around inf 53.7%
associate-*r/58.8%
Simplified58.8%
if -4.5e21 < z < 6.9000000000000002e53Initial program 89.1%
associate-*l/93.6%
Simplified93.6%
Taylor expanded in z around 0 67.2%
Taylor expanded in t around inf 60.0%
associate-/l*62.4%
Simplified62.4%
if 5.8999999999999999e138 < z < 2.8e211Initial program 22.4%
associate-*l/52.5%
Simplified52.5%
Taylor expanded in x around inf 33.1%
mul-1-neg33.1%
unsub-neg33.1%
Simplified33.1%
Taylor expanded in z around inf 60.4%
mul-1-neg60.4%
sub-neg60.4%
mul-1-neg60.4%
Simplified60.4%
Final simplification60.9%
(FPCore (x y z t a) :precision binary64 (if (or (<= z -5.2e+20) (not (<= z 9.2e+52))) (- t (* t (/ y z))) (+ x (/ t (/ a y)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -5.2e+20) || !(z <= 9.2e+52)) {
tmp = t - (t * (y / z));
} else {
tmp = x + (t / (a / y));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if ((z <= (-5.2d+20)) .or. (.not. (z <= 9.2d+52))) then
tmp = t - (t * (y / z))
else
tmp = x + (t / (a / y))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -5.2e+20) || !(z <= 9.2e+52)) {
tmp = t - (t * (y / z));
} else {
tmp = x + (t / (a / y));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (z <= -5.2e+20) or not (z <= 9.2e+52): tmp = t - (t * (y / z)) else: tmp = x + (t / (a / y)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((z <= -5.2e+20) || !(z <= 9.2e+52)) tmp = Float64(t - Float64(t * Float64(y / z))); else tmp = Float64(x + Float64(t / Float64(a / y))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((z <= -5.2e+20) || ~((z <= 9.2e+52))) tmp = t - (t * (y / z)); else tmp = x + (t / (a / y)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[z, -5.2e+20], N[Not[LessEqual[z, 9.2e+52]], $MachinePrecision]], N[(t - N[(t * N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x + N[(t / N[(a / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -5.2 \cdot 10^{+20} \lor \neg \left(z \leq 9.2 \cdot 10^{+52}\right):\\
\;\;\;\;t - t \cdot \frac{y}{z}\\
\mathbf{else}:\\
\;\;\;\;x + \frac{t}{\frac{a}{y}}\\
\end{array}
\end{array}
if z < -5.2e20 or 9.1999999999999999e52 < z Initial program 42.0%
associate-*l/73.2%
Simplified73.2%
Taylor expanded in z around inf 59.2%
associate--l+59.2%
associate-*r/59.2%
associate-*r/59.2%
div-sub59.2%
distribute-lft-out--59.2%
associate-*r/59.2%
distribute-rgt-out--59.3%
mul-1-neg59.3%
unsub-neg59.3%
associate-/l*81.3%
Simplified81.3%
Taylor expanded in y around inf 71.8%
Taylor expanded in t around inf 49.5%
associate-*r/53.9%
Simplified53.9%
if -5.2e20 < z < 9.1999999999999999e52Initial program 89.1%
associate-*l/93.6%
Simplified93.6%
Taylor expanded in z around 0 67.2%
Taylor expanded in t around inf 60.0%
associate-/l*62.4%
Simplified62.4%
Final simplification58.7%
(FPCore (x y z t a) :precision binary64 (if (or (<= z -34000000.0) (not (<= z 50000000.0))) (+ t (* x (/ y z))) (+ x (/ t (/ a y)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -34000000.0) || !(z <= 50000000.0)) {
tmp = t + (x * (y / z));
} else {
tmp = x + (t / (a / y));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if ((z <= (-34000000.0d0)) .or. (.not. (z <= 50000000.0d0))) then
tmp = t + (x * (y / z))
else
tmp = x + (t / (a / y))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -34000000.0) || !(z <= 50000000.0)) {
tmp = t + (x * (y / z));
} else {
tmp = x + (t / (a / y));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (z <= -34000000.0) or not (z <= 50000000.0): tmp = t + (x * (y / z)) else: tmp = x + (t / (a / y)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((z <= -34000000.0) || !(z <= 50000000.0)) tmp = Float64(t + Float64(x * Float64(y / z))); else tmp = Float64(x + Float64(t / Float64(a / y))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((z <= -34000000.0) || ~((z <= 50000000.0))) tmp = t + (x * (y / z)); else tmp = x + (t / (a / y)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[z, -34000000.0], N[Not[LessEqual[z, 50000000.0]], $MachinePrecision]], N[(t + N[(x * N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x + N[(t / N[(a / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -34000000 \lor \neg \left(z \leq 50000000\right):\\
\;\;\;\;t + x \cdot \frac{y}{z}\\
\mathbf{else}:\\
\;\;\;\;x + \frac{t}{\frac{a}{y}}\\
\end{array}
\end{array}
if z < -3.4e7 or 5e7 < z Initial program 44.1%
associate-*l/73.3%
Simplified73.3%
Taylor expanded in z around inf 61.2%
associate--l+61.2%
associate-*r/61.2%
associate-*r/61.2%
div-sub61.2%
distribute-lft-out--61.2%
associate-*r/61.2%
distribute-rgt-out--61.3%
mul-1-neg61.3%
unsub-neg61.3%
associate-/l*81.3%
Simplified81.3%
Taylor expanded in y around inf 72.7%
Taylor expanded in t around 0 60.6%
mul-1-neg60.6%
associate-*r/67.5%
distribute-rgt-neg-in67.5%
Simplified67.5%
if -3.4e7 < z < 5e7Initial program 91.0%
associate-*l/95.1%
Simplified95.1%
Taylor expanded in z around 0 71.0%
Taylor expanded in t around inf 62.3%
associate-/l*64.3%
Simplified64.3%
Final simplification65.9%
(FPCore (x y z t a) :precision binary64 (if (<= z -7.5e+20) t (if (<= z 3.25e+63) (+ x (/ t (/ a y))) t)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -7.5e+20) {
tmp = t;
} else if (z <= 3.25e+63) {
tmp = x + (t / (a / y));
} else {
tmp = t;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (z <= (-7.5d+20)) then
tmp = t
else if (z <= 3.25d+63) then
tmp = x + (t / (a / y))
else
tmp = t
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -7.5e+20) {
tmp = t;
} else if (z <= 3.25e+63) {
tmp = x + (t / (a / y));
} else {
tmp = t;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -7.5e+20: tmp = t elif z <= 3.25e+63: tmp = x + (t / (a / y)) else: tmp = t return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -7.5e+20) tmp = t; elseif (z <= 3.25e+63) tmp = Float64(x + Float64(t / Float64(a / y))); else tmp = t; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -7.5e+20) tmp = t; elseif (z <= 3.25e+63) tmp = x + (t / (a / y)); else tmp = t; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -7.5e+20], t, If[LessEqual[z, 3.25e+63], N[(x + N[(t / N[(a / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -7.5 \cdot 10^{+20}:\\
\;\;\;\;t\\
\mathbf{elif}\;z \leq 3.25 \cdot 10^{+63}:\\
\;\;\;\;x + \frac{t}{\frac{a}{y}}\\
\mathbf{else}:\\
\;\;\;\;t\\
\end{array}
\end{array}
if z < -7.5e20 or 3.24999999999999996e63 < z Initial program 41.4%
associate-*l/73.0%
Simplified73.0%
Taylor expanded in z around inf 47.7%
if -7.5e20 < z < 3.24999999999999996e63Initial program 89.1%
associate-*l/93.6%
Simplified93.6%
Taylor expanded in z around 0 67.4%
Taylor expanded in t around inf 60.2%
associate-/l*62.7%
Simplified62.7%
Final simplification56.2%
(FPCore (x y z t a) :precision binary64 (if (<= a -6.2e+149) x (if (<= a 2.3e+82) t x)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -6.2e+149) {
tmp = x;
} else if (a <= 2.3e+82) {
tmp = t;
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (a <= (-6.2d+149)) then
tmp = x
else if (a <= 2.3d+82) then
tmp = t
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -6.2e+149) {
tmp = x;
} else if (a <= 2.3e+82) {
tmp = t;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -6.2e+149: tmp = x elif a <= 2.3e+82: tmp = t else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -6.2e+149) tmp = x; elseif (a <= 2.3e+82) tmp = t; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -6.2e+149) tmp = x; elseif (a <= 2.3e+82) tmp = t; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -6.2e+149], x, If[LessEqual[a, 2.3e+82], t, x]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -6.2 \cdot 10^{+149}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 2.3 \cdot 10^{+82}:\\
\;\;\;\;t\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -6.19999999999999974e149 or 2.29999999999999988e82 < a Initial program 69.9%
associate-*l/92.2%
Simplified92.2%
Taylor expanded in a around inf 56.8%
if -6.19999999999999974e149 < a < 2.29999999999999988e82Initial program 67.8%
associate-*l/81.3%
Simplified81.3%
Taylor expanded in z around inf 32.5%
Final simplification40.0%
(FPCore (x y z t a) :precision binary64 t)
double code(double x, double y, double z, double t, double a) {
return t;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
code = t
end function
public static double code(double x, double y, double z, double t, double a) {
return t;
}
def code(x, y, z, t, a): return t
function code(x, y, z, t, a) return t end
function tmp = code(x, y, z, t, a) tmp = t; end
code[x_, y_, z_, t_, a_] := t
\begin{array}{l}
\\
t
\end{array}
Initial program 68.5%
associate-*l/84.7%
Simplified84.7%
Taylor expanded in z around inf 26.7%
Final simplification26.7%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (- t (* (/ y z) (- t x)))))
(if (< z -1.2536131056095036e+188)
t_1
(if (< z 4.446702369113811e+64)
(+ x (/ (- y z) (/ (- a z) (- t x))))
t_1))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t - ((y / z) * (t - x));
double tmp;
if (z < -1.2536131056095036e+188) {
tmp = t_1;
} else if (z < 4.446702369113811e+64) {
tmp = x + ((y - z) / ((a - z) / (t - x)));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: tmp
t_1 = t - ((y / z) * (t - x))
if (z < (-1.2536131056095036d+188)) then
tmp = t_1
else if (z < 4.446702369113811d+64) then
tmp = x + ((y - z) / ((a - z) / (t - x)))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = t - ((y / z) * (t - x));
double tmp;
if (z < -1.2536131056095036e+188) {
tmp = t_1;
} else if (z < 4.446702369113811e+64) {
tmp = x + ((y - z) / ((a - z) / (t - x)));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t - ((y / z) * (t - x)) tmp = 0 if z < -1.2536131056095036e+188: tmp = t_1 elif z < 4.446702369113811e+64: tmp = x + ((y - z) / ((a - z) / (t - x))) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(t - Float64(Float64(y / z) * Float64(t - x))) tmp = 0.0 if (z < -1.2536131056095036e+188) tmp = t_1; elseif (z < 4.446702369113811e+64) tmp = Float64(x + Float64(Float64(y - z) / Float64(Float64(a - z) / Float64(t - x)))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t - ((y / z) * (t - x)); tmp = 0.0; if (z < -1.2536131056095036e+188) tmp = t_1; elseif (z < 4.446702369113811e+64) tmp = x + ((y - z) / ((a - z) / (t - x))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t - N[(N[(y / z), $MachinePrecision] * N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Less[z, -1.2536131056095036e+188], t$95$1, If[Less[z, 4.446702369113811e+64], N[(x + N[(N[(y - z), $MachinePrecision] / N[(N[(a - z), $MachinePrecision] / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t - \frac{y}{z} \cdot \left(t - x\right)\\
\mathbf{if}\;z < -1.2536131056095036 \cdot 10^{+188}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z < 4.446702369113811 \cdot 10^{+64}:\\
\;\;\;\;x + \frac{y - z}{\frac{a - z}{t - x}}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
herbie shell --seed 2023334
(FPCore (x y z t a)
:name "Graphics.Rendering.Chart.Axis.Types:invLinMap from Chart-1.5.3"
:precision binary64
:herbie-target
(if (< z -1.2536131056095036e+188) (- t (* (/ y z) (- t x))) (if (< z 4.446702369113811e+64) (+ x (/ (- y z) (/ (- a z) (- t x)))) (- t (* (/ y z) (- t x)))))
(+ x (/ (* (- y z) (- t x)) (- a z))))