
(FPCore (x y z t a) :precision binary64 (+ x (* (- y z) (/ (- t x) (- a z)))))
double code(double x, double y, double z, double t, double a) {
return x + ((y - z) * ((t - x) / (a - z)));
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
code = x + ((y - z) * ((t - x) / (a - z)))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + ((y - z) * ((t - x) / (a - z)));
}
def code(x, y, z, t, a): return x + ((y - z) * ((t - x) / (a - z)))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(y - z) * Float64(Float64(t - x) / Float64(a - z)))) end
function tmp = code(x, y, z, t, a) tmp = x + ((y - z) * ((t - x) / (a - z))); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(y - z), $MachinePrecision] * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \left(y - z\right) \cdot \frac{t - x}{a - z}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 20 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a) :precision binary64 (+ x (* (- y z) (/ (- t x) (- a z)))))
double code(double x, double y, double z, double t, double a) {
return x + ((y - z) * ((t - x) / (a - z)));
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
code = x + ((y - z) * ((t - x) / (a - z)))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + ((y - z) * ((t - x) / (a - z)));
}
def code(x, y, z, t, a): return x + ((y - z) * ((t - x) / (a - z)))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(y - z) * Float64(Float64(t - x) / Float64(a - z)))) end
function tmp = code(x, y, z, t, a) tmp = x + ((y - z) * ((t - x) / (a - z))); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(y - z), $MachinePrecision] * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \left(y - z\right) \cdot \frac{t - x}{a - z}
\end{array}
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* (- y z) (/ (- t x) (- a z))))))
(if (or (<= t_1 -1e-225) (not (<= t_1 5e-154)))
t_1
(+ t (* (- t x) (/ (- a y) z))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((y - z) * ((t - x) / (a - z)));
double tmp;
if ((t_1 <= -1e-225) || !(t_1 <= 5e-154)) {
tmp = t_1;
} else {
tmp = t + ((t - x) * ((a - y) / z));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: tmp
t_1 = x + ((y - z) * ((t - x) / (a - z)))
if ((t_1 <= (-1d-225)) .or. (.not. (t_1 <= 5d-154))) then
tmp = t_1
else
tmp = t + ((t - x) * ((a - y) / z))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((y - z) * ((t - x) / (a - z)));
double tmp;
if ((t_1 <= -1e-225) || !(t_1 <= 5e-154)) {
tmp = t_1;
} else {
tmp = t + ((t - x) * ((a - y) / z));
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((y - z) * ((t - x) / (a - z))) tmp = 0 if (t_1 <= -1e-225) or not (t_1 <= 5e-154): tmp = t_1 else: tmp = t + ((t - x) * ((a - y) / z)) return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(y - z) * Float64(Float64(t - x) / Float64(a - z)))) tmp = 0.0 if ((t_1 <= -1e-225) || !(t_1 <= 5e-154)) tmp = t_1; else tmp = Float64(t + Float64(Float64(t - x) * Float64(Float64(a - y) / z))); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + ((y - z) * ((t - x) / (a - z))); tmp = 0.0; if ((t_1 <= -1e-225) || ~((t_1 <= 5e-154))) tmp = t_1; else tmp = t + ((t - x) * ((a - y) / z)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(y - z), $MachinePrecision] * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Or[LessEqual[t$95$1, -1e-225], N[Not[LessEqual[t$95$1, 5e-154]], $MachinePrecision]], t$95$1, N[(t + N[(N[(t - x), $MachinePrecision] * N[(N[(a - y), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \left(y - z\right) \cdot \frac{t - x}{a - z}\\
\mathbf{if}\;t\_1 \leq -1 \cdot 10^{-225} \lor \neg \left(t\_1 \leq 5 \cdot 10^{-154}\right):\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t + \left(t - x\right) \cdot \frac{a - y}{z}\\
\end{array}
\end{array}
if (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) < -9.9999999999999996e-226 or 5.0000000000000002e-154 < (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) Initial program 95.0%
if -9.9999999999999996e-226 < (+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) < 5.0000000000000002e-154Initial program 6.1%
Taylor expanded in z around inf 72.7%
associate--l+72.7%
distribute-lft-out--72.7%
div-sub72.8%
mul-1-neg72.8%
unsub-neg72.8%
distribute-rgt-out--72.8%
associate-/l*92.3%
Simplified92.3%
Final simplification94.6%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (/ z (- z a)))))
(if (<= z -1.25e+134)
t_1
(if (<= z -1.8e+16)
(* t (/ y (- a z)))
(if (<= z -8e-82)
(/ (* x y) z)
(if (<= z -7.5e-148)
x
(if (<= z 3.3e-284)
(/ y (/ a (- t x)))
(if (<= z 6.8e-252)
x
(if (<= z 8.6e-47) (* y (/ (- t x) a)) t_1)))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t * (z / (z - a));
double tmp;
if (z <= -1.25e+134) {
tmp = t_1;
} else if (z <= -1.8e+16) {
tmp = t * (y / (a - z));
} else if (z <= -8e-82) {
tmp = (x * y) / z;
} else if (z <= -7.5e-148) {
tmp = x;
} else if (z <= 3.3e-284) {
tmp = y / (a / (t - x));
} else if (z <= 6.8e-252) {
tmp = x;
} else if (z <= 8.6e-47) {
tmp = y * ((t - x) / 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 * (z / (z - a))
if (z <= (-1.25d+134)) then
tmp = t_1
else if (z <= (-1.8d+16)) then
tmp = t * (y / (a - z))
else if (z <= (-8d-82)) then
tmp = (x * y) / z
else if (z <= (-7.5d-148)) then
tmp = x
else if (z <= 3.3d-284) then
tmp = y / (a / (t - x))
else if (z <= 6.8d-252) then
tmp = x
else if (z <= 8.6d-47) then
tmp = y * ((t - x) / 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 * (z / (z - a));
double tmp;
if (z <= -1.25e+134) {
tmp = t_1;
} else if (z <= -1.8e+16) {
tmp = t * (y / (a - z));
} else if (z <= -8e-82) {
tmp = (x * y) / z;
} else if (z <= -7.5e-148) {
tmp = x;
} else if (z <= 3.3e-284) {
tmp = y / (a / (t - x));
} else if (z <= 6.8e-252) {
tmp = x;
} else if (z <= 8.6e-47) {
tmp = y * ((t - x) / a);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t * (z / (z - a)) tmp = 0 if z <= -1.25e+134: tmp = t_1 elif z <= -1.8e+16: tmp = t * (y / (a - z)) elif z <= -8e-82: tmp = (x * y) / z elif z <= -7.5e-148: tmp = x elif z <= 3.3e-284: tmp = y / (a / (t - x)) elif z <= 6.8e-252: tmp = x elif z <= 8.6e-47: tmp = y * ((t - x) / a) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(t * Float64(z / Float64(z - a))) tmp = 0.0 if (z <= -1.25e+134) tmp = t_1; elseif (z <= -1.8e+16) tmp = Float64(t * Float64(y / Float64(a - z))); elseif (z <= -8e-82) tmp = Float64(Float64(x * y) / z); elseif (z <= -7.5e-148) tmp = x; elseif (z <= 3.3e-284) tmp = Float64(y / Float64(a / Float64(t - x))); elseif (z <= 6.8e-252) tmp = x; elseif (z <= 8.6e-47) tmp = Float64(y * Float64(Float64(t - x) / a)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t * (z / (z - a)); tmp = 0.0; if (z <= -1.25e+134) tmp = t_1; elseif (z <= -1.8e+16) tmp = t * (y / (a - z)); elseif (z <= -8e-82) tmp = (x * y) / z; elseif (z <= -7.5e-148) tmp = x; elseif (z <= 3.3e-284) tmp = y / (a / (t - x)); elseif (z <= 6.8e-252) tmp = x; elseif (z <= 8.6e-47) tmp = y * ((t - x) / a); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t * N[(z / N[(z - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -1.25e+134], t$95$1, If[LessEqual[z, -1.8e+16], N[(t * N[(y / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -8e-82], N[(N[(x * y), $MachinePrecision] / z), $MachinePrecision], If[LessEqual[z, -7.5e-148], x, If[LessEqual[z, 3.3e-284], N[(y / N[(a / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 6.8e-252], x, If[LessEqual[z, 8.6e-47], N[(y * N[(N[(t - x), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \frac{z}{z - a}\\
\mathbf{if}\;z \leq -1.25 \cdot 10^{+134}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq -1.8 \cdot 10^{+16}:\\
\;\;\;\;t \cdot \frac{y}{a - z}\\
\mathbf{elif}\;z \leq -8 \cdot 10^{-82}:\\
\;\;\;\;\frac{x \cdot y}{z}\\
\mathbf{elif}\;z \leq -7.5 \cdot 10^{-148}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq 3.3 \cdot 10^{-284}:\\
\;\;\;\;\frac{y}{\frac{a}{t - x}}\\
\mathbf{elif}\;z \leq 6.8 \cdot 10^{-252}:\\
\;\;\;\;x\\
\mathbf{elif}\;z \leq 8.6 \cdot 10^{-47}:\\
\;\;\;\;y \cdot \frac{t - x}{a}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if z < -1.24999999999999995e134 or 8.5999999999999995e-47 < z Initial program 69.3%
Taylor expanded in x around 0 43.9%
associate-/l*65.7%
Simplified65.7%
Taylor expanded in y around 0 54.6%
neg-mul-154.6%
distribute-neg-frac254.6%
Simplified54.6%
if -1.24999999999999995e134 < z < -1.8e16Initial program 85.9%
Taylor expanded in x around 0 47.9%
associate-/l*48.3%
Simplified48.3%
Taylor expanded in y around inf 36.5%
associate-/l*36.5%
Simplified36.5%
if -1.8e16 < z < -8e-82Initial program 94.3%
Taylor expanded in y around inf 55.0%
div-sub55.0%
Simplified55.0%
Taylor expanded in t around 0 42.8%
neg-mul-142.8%
distribute-neg-frac42.8%
Simplified42.8%
Taylor expanded in a around 0 43.5%
if -8e-82 < z < -7.5000000000000005e-148 or 3.30000000000000008e-284 < z < 6.7999999999999999e-252Initial program 90.3%
Taylor expanded in a around inf 66.7%
if -7.5000000000000005e-148 < z < 3.30000000000000008e-284Initial program 97.3%
Taylor expanded in y around inf 67.7%
div-sub70.2%
Simplified70.2%
clear-num70.2%
un-div-inv70.3%
Applied egg-rr70.3%
Taylor expanded in a around inf 67.8%
if 6.7999999999999999e-252 < z < 8.5999999999999995e-47Initial program 91.2%
Taylor expanded in y around inf 63.3%
div-sub66.4%
Simplified66.4%
Taylor expanded in a around inf 52.5%
associate-*r/60.7%
Simplified60.7%
Final simplification55.6%
(FPCore (x y z t a)
:precision binary64
(if (<= a -1.5e+107)
x
(if (<= a -5.1e+39)
(* x (/ y (- z a)))
(if (<= a -0.0024)
x
(if (<= a 1.7e-7)
(* t (/ (- z y) z))
(if (<= a 8.5e+214) (/ y (/ a (- t x))) x))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -1.5e+107) {
tmp = x;
} else if (a <= -5.1e+39) {
tmp = x * (y / (z - a));
} else if (a <= -0.0024) {
tmp = x;
} else if (a <= 1.7e-7) {
tmp = t * ((z - y) / z);
} else if (a <= 8.5e+214) {
tmp = y / (a / (t - x));
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (a <= (-1.5d+107)) then
tmp = x
else if (a <= (-5.1d+39)) then
tmp = x * (y / (z - a))
else if (a <= (-0.0024d0)) then
tmp = x
else if (a <= 1.7d-7) then
tmp = t * ((z - y) / z)
else if (a <= 8.5d+214) then
tmp = y / (a / (t - x))
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -1.5e+107) {
tmp = x;
} else if (a <= -5.1e+39) {
tmp = x * (y / (z - a));
} else if (a <= -0.0024) {
tmp = x;
} else if (a <= 1.7e-7) {
tmp = t * ((z - y) / z);
} else if (a <= 8.5e+214) {
tmp = y / (a / (t - x));
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -1.5e+107: tmp = x elif a <= -5.1e+39: tmp = x * (y / (z - a)) elif a <= -0.0024: tmp = x elif a <= 1.7e-7: tmp = t * ((z - y) / z) elif a <= 8.5e+214: tmp = y / (a / (t - x)) else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -1.5e+107) tmp = x; elseif (a <= -5.1e+39) tmp = Float64(x * Float64(y / Float64(z - a))); elseif (a <= -0.0024) tmp = x; elseif (a <= 1.7e-7) tmp = Float64(t * Float64(Float64(z - y) / z)); elseif (a <= 8.5e+214) tmp = Float64(y / Float64(a / Float64(t - x))); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -1.5e+107) tmp = x; elseif (a <= -5.1e+39) tmp = x * (y / (z - a)); elseif (a <= -0.0024) tmp = x; elseif (a <= 1.7e-7) tmp = t * ((z - y) / z); elseif (a <= 8.5e+214) tmp = y / (a / (t - x)); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -1.5e+107], x, If[LessEqual[a, -5.1e+39], N[(x * N[(y / N[(z - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -0.0024], x, If[LessEqual[a, 1.7e-7], N[(t * N[(N[(z - y), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 8.5e+214], N[(y / N[(a / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], x]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -1.5 \cdot 10^{+107}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq -5.1 \cdot 10^{+39}:\\
\;\;\;\;x \cdot \frac{y}{z - a}\\
\mathbf{elif}\;a \leq -0.0024:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 1.7 \cdot 10^{-7}:\\
\;\;\;\;t \cdot \frac{z - y}{z}\\
\mathbf{elif}\;a \leq 8.5 \cdot 10^{+214}:\\
\;\;\;\;\frac{y}{\frac{a}{t - x}}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -1.50000000000000012e107 or -5.0999999999999998e39 < a < -0.00239999999999999979 or 8.50000000000000045e214 < a Initial program 95.6%
Taylor expanded in a around inf 56.8%
if -1.50000000000000012e107 < a < -5.0999999999999998e39Initial program 80.4%
Taylor expanded in y around inf 50.9%
div-sub50.9%
Simplified50.9%
Taylor expanded in t around 0 37.8%
mul-1-neg37.8%
associate-/l*39.6%
distribute-rgt-neg-in39.6%
distribute-neg-frac239.6%
Simplified39.6%
if -0.00239999999999999979 < a < 1.69999999999999987e-7Initial program 73.6%
Taylor expanded in x around 0 53.1%
associate-/l*67.1%
Simplified67.1%
Taylor expanded in a around 0 59.9%
associate-*r/59.9%
neg-mul-159.9%
Simplified59.9%
if 1.69999999999999987e-7 < a < 8.50000000000000045e214Initial program 80.3%
Taylor expanded in y around inf 60.7%
div-sub60.7%
Simplified60.7%
clear-num60.7%
un-div-inv60.8%
Applied egg-rr60.8%
Taylor expanded in a around inf 50.3%
Final simplification55.6%
(FPCore (x y z t a)
:precision binary64
(if (<= a -1.95e+107)
x
(if (<= a -5.2e+38)
(/ y (/ (- z a) x))
(if (<= a -2.9e-5)
x
(if (<= a 4.5e-8)
(* t (/ (- z y) z))
(if (<= a 3.05e+214) (/ y (/ a (- t x))) x))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -1.95e+107) {
tmp = x;
} else if (a <= -5.2e+38) {
tmp = y / ((z - a) / x);
} else if (a <= -2.9e-5) {
tmp = x;
} else if (a <= 4.5e-8) {
tmp = t * ((z - y) / z);
} else if (a <= 3.05e+214) {
tmp = y / (a / (t - x));
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (a <= (-1.95d+107)) then
tmp = x
else if (a <= (-5.2d+38)) then
tmp = y / ((z - a) / x)
else if (a <= (-2.9d-5)) then
tmp = x
else if (a <= 4.5d-8) then
tmp = t * ((z - y) / z)
else if (a <= 3.05d+214) then
tmp = y / (a / (t - x))
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -1.95e+107) {
tmp = x;
} else if (a <= -5.2e+38) {
tmp = y / ((z - a) / x);
} else if (a <= -2.9e-5) {
tmp = x;
} else if (a <= 4.5e-8) {
tmp = t * ((z - y) / z);
} else if (a <= 3.05e+214) {
tmp = y / (a / (t - x));
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -1.95e+107: tmp = x elif a <= -5.2e+38: tmp = y / ((z - a) / x) elif a <= -2.9e-5: tmp = x elif a <= 4.5e-8: tmp = t * ((z - y) / z) elif a <= 3.05e+214: tmp = y / (a / (t - x)) else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -1.95e+107) tmp = x; elseif (a <= -5.2e+38) tmp = Float64(y / Float64(Float64(z - a) / x)); elseif (a <= -2.9e-5) tmp = x; elseif (a <= 4.5e-8) tmp = Float64(t * Float64(Float64(z - y) / z)); elseif (a <= 3.05e+214) tmp = Float64(y / Float64(a / Float64(t - x))); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -1.95e+107) tmp = x; elseif (a <= -5.2e+38) tmp = y / ((z - a) / x); elseif (a <= -2.9e-5) tmp = x; elseif (a <= 4.5e-8) tmp = t * ((z - y) / z); elseif (a <= 3.05e+214) tmp = y / (a / (t - x)); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -1.95e+107], x, If[LessEqual[a, -5.2e+38], N[(y / N[(N[(z - a), $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -2.9e-5], x, If[LessEqual[a, 4.5e-8], N[(t * N[(N[(z - y), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 3.05e+214], N[(y / N[(a / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], x]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -1.95 \cdot 10^{+107}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq -5.2 \cdot 10^{+38}:\\
\;\;\;\;\frac{y}{\frac{z - a}{x}}\\
\mathbf{elif}\;a \leq -2.9 \cdot 10^{-5}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 4.5 \cdot 10^{-8}:\\
\;\;\;\;t \cdot \frac{z - y}{z}\\
\mathbf{elif}\;a \leq 3.05 \cdot 10^{+214}:\\
\;\;\;\;\frac{y}{\frac{a}{t - x}}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -1.9499999999999999e107 or -5.1999999999999998e38 < a < -2.9e-5 or 3.05000000000000018e214 < a Initial program 95.6%
Taylor expanded in a around inf 56.8%
if -1.9499999999999999e107 < a < -5.1999999999999998e38Initial program 80.4%
Taylor expanded in y around inf 50.9%
div-sub50.9%
Simplified50.9%
clear-num50.8%
un-div-inv51.2%
Applied egg-rr51.2%
Taylor expanded in t around 0 39.7%
associate-*r/39.7%
neg-mul-139.7%
Simplified39.7%
if -2.9e-5 < a < 4.49999999999999993e-8Initial program 73.6%
Taylor expanded in x around 0 53.1%
associate-/l*67.1%
Simplified67.1%
Taylor expanded in a around 0 59.9%
associate-*r/59.9%
neg-mul-159.9%
Simplified59.9%
if 4.49999999999999993e-8 < a < 3.05000000000000018e214Initial program 80.3%
Taylor expanded in y around inf 60.7%
div-sub60.7%
Simplified60.7%
clear-num60.7%
un-div-inv60.8%
Applied egg-rr60.8%
Taylor expanded in a around inf 50.3%
Final simplification55.7%
(FPCore (x y z t a)
:precision binary64
(if (<= x -7.5e+182)
(* y (/ (- t x) (- a z)))
(if (<= x -2.8e+132)
(* t (/ (- z y) z))
(if (or (<= x -5e+27) (not (<= x 7.4e+96)))
(+ x (/ (* y (- t x)) a))
(* t (/ (- y z) (- a z)))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (x <= -7.5e+182) {
tmp = y * ((t - x) / (a - z));
} else if (x <= -2.8e+132) {
tmp = t * ((z - y) / z);
} else if ((x <= -5e+27) || !(x <= 7.4e+96)) {
tmp = x + ((y * (t - x)) / a);
} else {
tmp = t * ((y - z) / (a - z));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (x <= (-7.5d+182)) then
tmp = y * ((t - x) / (a - z))
else if (x <= (-2.8d+132)) then
tmp = t * ((z - y) / z)
else if ((x <= (-5d+27)) .or. (.not. (x <= 7.4d+96))) then
tmp = x + ((y * (t - x)) / a)
else
tmp = t * ((y - z) / (a - z))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (x <= -7.5e+182) {
tmp = y * ((t - x) / (a - z));
} else if (x <= -2.8e+132) {
tmp = t * ((z - y) / z);
} else if ((x <= -5e+27) || !(x <= 7.4e+96)) {
tmp = x + ((y * (t - x)) / a);
} else {
tmp = t * ((y - z) / (a - z));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if x <= -7.5e+182: tmp = y * ((t - x) / (a - z)) elif x <= -2.8e+132: tmp = t * ((z - y) / z) elif (x <= -5e+27) or not (x <= 7.4e+96): tmp = x + ((y * (t - x)) / a) else: tmp = t * ((y - z) / (a - z)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (x <= -7.5e+182) tmp = Float64(y * Float64(Float64(t - x) / Float64(a - z))); elseif (x <= -2.8e+132) tmp = Float64(t * Float64(Float64(z - y) / z)); elseif ((x <= -5e+27) || !(x <= 7.4e+96)) tmp = Float64(x + Float64(Float64(y * Float64(t - x)) / a)); else tmp = Float64(t * Float64(Float64(y - z) / Float64(a - z))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (x <= -7.5e+182) tmp = y * ((t - x) / (a - z)); elseif (x <= -2.8e+132) tmp = t * ((z - y) / z); elseif ((x <= -5e+27) || ~((x <= 7.4e+96))) tmp = x + ((y * (t - x)) / a); else tmp = t * ((y - z) / (a - z)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[x, -7.5e+182], N[(y * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -2.8e+132], N[(t * N[(N[(z - y), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[x, -5e+27], N[Not[LessEqual[x, 7.4e+96]], $MachinePrecision]], N[(x + N[(N[(y * N[(t - x), $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], N[(t * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -7.5 \cdot 10^{+182}:\\
\;\;\;\;y \cdot \frac{t - x}{a - z}\\
\mathbf{elif}\;x \leq -2.8 \cdot 10^{+132}:\\
\;\;\;\;t \cdot \frac{z - y}{z}\\
\mathbf{elif}\;x \leq -5 \cdot 10^{+27} \lor \neg \left(x \leq 7.4 \cdot 10^{+96}\right):\\
\;\;\;\;x + \frac{y \cdot \left(t - x\right)}{a}\\
\mathbf{else}:\\
\;\;\;\;t \cdot \frac{y - z}{a - z}\\
\end{array}
\end{array}
if x < -7.49999999999999989e182Initial program 72.2%
Taylor expanded in y around inf 51.5%
div-sub54.4%
Simplified54.4%
if -7.49999999999999989e182 < x < -2.7999999999999999e132Initial program 64.2%
Taylor expanded in x around 0 45.3%
associate-/l*65.2%
Simplified65.2%
Taylor expanded in a around 0 72.3%
associate-*r/72.3%
neg-mul-172.3%
Simplified72.3%
if -2.7999999999999999e132 < x < -4.99999999999999979e27 or 7.39999999999999982e96 < x Initial program 78.8%
Taylor expanded in z around 0 62.3%
if -4.99999999999999979e27 < x < 7.39999999999999982e96Initial program 86.7%
Taylor expanded in x around 0 61.4%
associate-/l*78.7%
Simplified78.7%
Final simplification70.8%
(FPCore (x y z t a)
:precision binary64
(if (<= a -9.2e+20)
x
(if (<= a 2.4e-9)
t
(if (<= a 1.15e+93)
(* x (/ y (- a)))
(if (<= a 3.05e+214) (* t (/ y (- a z))) x)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -9.2e+20) {
tmp = x;
} else if (a <= 2.4e-9) {
tmp = t;
} else if (a <= 1.15e+93) {
tmp = x * (y / -a);
} else if (a <= 3.05e+214) {
tmp = t * (y / (a - z));
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (a <= (-9.2d+20)) then
tmp = x
else if (a <= 2.4d-9) then
tmp = t
else if (a <= 1.15d+93) then
tmp = x * (y / -a)
else if (a <= 3.05d+214) then
tmp = t * (y / (a - z))
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -9.2e+20) {
tmp = x;
} else if (a <= 2.4e-9) {
tmp = t;
} else if (a <= 1.15e+93) {
tmp = x * (y / -a);
} else if (a <= 3.05e+214) {
tmp = t * (y / (a - z));
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -9.2e+20: tmp = x elif a <= 2.4e-9: tmp = t elif a <= 1.15e+93: tmp = x * (y / -a) elif a <= 3.05e+214: tmp = t * (y / (a - z)) else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -9.2e+20) tmp = x; elseif (a <= 2.4e-9) tmp = t; elseif (a <= 1.15e+93) tmp = Float64(x * Float64(y / Float64(-a))); elseif (a <= 3.05e+214) tmp = Float64(t * Float64(y / Float64(a - z))); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -9.2e+20) tmp = x; elseif (a <= 2.4e-9) tmp = t; elseif (a <= 1.15e+93) tmp = x * (y / -a); elseif (a <= 3.05e+214) tmp = t * (y / (a - z)); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -9.2e+20], x, If[LessEqual[a, 2.4e-9], t, If[LessEqual[a, 1.15e+93], N[(x * N[(y / (-a)), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 3.05e+214], N[(t * N[(y / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], x]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -9.2 \cdot 10^{+20}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 2.4 \cdot 10^{-9}:\\
\;\;\;\;t\\
\mathbf{elif}\;a \leq 1.15 \cdot 10^{+93}:\\
\;\;\;\;x \cdot \frac{y}{-a}\\
\mathbf{elif}\;a \leq 3.05 \cdot 10^{+214}:\\
\;\;\;\;t \cdot \frac{y}{a - z}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -9.2e20 or 3.05000000000000018e214 < a Initial program 92.4%
Taylor expanded in a around inf 48.9%
if -9.2e20 < a < 2.4e-9Initial program 74.3%
Taylor expanded in z around inf 45.8%
if 2.4e-9 < a < 1.1500000000000001e93Initial program 81.1%
Taylor expanded in y around inf 64.8%
div-sub64.8%
Simplified64.8%
Taylor expanded in a around inf 51.9%
associate-*r/57.7%
Simplified57.7%
Taylor expanded in t around 0 38.9%
mul-1-neg38.9%
associate-/l*44.7%
distribute-rgt-neg-in44.7%
Simplified44.7%
if 1.1500000000000001e93 < a < 3.05000000000000018e214Initial program 79.4%
Taylor expanded in x around 0 43.4%
associate-/l*55.3%
Simplified55.3%
Taylor expanded in y around inf 43.7%
associate-/l*51.5%
Simplified51.5%
Final simplification47.2%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (/ (- y z) (- a z)))))
(if (<= t -1.45e-101)
t_1
(if (<= t 1.8e-209) (* x (/ y (- z a))) (if (<= t 1.1e-96) x t_1)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t * ((y - z) / (a - z));
double tmp;
if (t <= -1.45e-101) {
tmp = t_1;
} else if (t <= 1.8e-209) {
tmp = x * (y / (z - a));
} else if (t <= 1.1e-96) {
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 - z) / (a - z))
if (t <= (-1.45d-101)) then
tmp = t_1
else if (t <= 1.8d-209) then
tmp = x * (y / (z - a))
else if (t <= 1.1d-96) 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 - z) / (a - z));
double tmp;
if (t <= -1.45e-101) {
tmp = t_1;
} else if (t <= 1.8e-209) {
tmp = x * (y / (z - a));
} else if (t <= 1.1e-96) {
tmp = x;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t * ((y - z) / (a - z)) tmp = 0 if t <= -1.45e-101: tmp = t_1 elif t <= 1.8e-209: tmp = x * (y / (z - a)) elif t <= 1.1e-96: tmp = x else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(t * Float64(Float64(y - z) / Float64(a - z))) tmp = 0.0 if (t <= -1.45e-101) tmp = t_1; elseif (t <= 1.8e-209) tmp = Float64(x * Float64(y / Float64(z - a))); elseif (t <= 1.1e-96) tmp = x; else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t * ((y - z) / (a - z)); tmp = 0.0; if (t <= -1.45e-101) tmp = t_1; elseif (t <= 1.8e-209) tmp = x * (y / (z - a)); elseif (t <= 1.1e-96) tmp = 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[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -1.45e-101], t$95$1, If[LessEqual[t, 1.8e-209], N[(x * N[(y / N[(z - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.1e-96], x, t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \frac{y - z}{a - z}\\
\mathbf{if}\;t \leq -1.45 \cdot 10^{-101}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq 1.8 \cdot 10^{-209}:\\
\;\;\;\;x \cdot \frac{y}{z - a}\\
\mathbf{elif}\;t \leq 1.1 \cdot 10^{-96}:\\
\;\;\;\;x\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -1.45e-101 or 1.0999999999999999e-96 < t Initial program 87.1%
Taylor expanded in x around 0 52.4%
associate-/l*69.5%
Simplified69.5%
if -1.45e-101 < t < 1.80000000000000008e-209Initial program 65.2%
Taylor expanded in y around inf 53.6%
div-sub53.6%
Simplified53.6%
Taylor expanded in t around 0 46.4%
mul-1-neg46.4%
associate-/l*51.9%
distribute-rgt-neg-in51.9%
distribute-neg-frac251.9%
Simplified51.9%
if 1.80000000000000008e-209 < t < 1.0999999999999999e-96Initial program 74.8%
Taylor expanded in a around inf 59.6%
Final simplification65.0%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (/ (- y z) (- a z)))))
(if (<= t -4.6e-96)
t_1
(if (<= t 8.5e-210)
(* y (/ (- t x) (- a z)))
(if (<= t 1.02e-96) x t_1)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t * ((y - z) / (a - z));
double tmp;
if (t <= -4.6e-96) {
tmp = t_1;
} else if (t <= 8.5e-210) {
tmp = y * ((t - x) / (a - z));
} else if (t <= 1.02e-96) {
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 - z) / (a - z))
if (t <= (-4.6d-96)) then
tmp = t_1
else if (t <= 8.5d-210) then
tmp = y * ((t - x) / (a - z))
else if (t <= 1.02d-96) 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 - z) / (a - z));
double tmp;
if (t <= -4.6e-96) {
tmp = t_1;
} else if (t <= 8.5e-210) {
tmp = y * ((t - x) / (a - z));
} else if (t <= 1.02e-96) {
tmp = x;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t * ((y - z) / (a - z)) tmp = 0 if t <= -4.6e-96: tmp = t_1 elif t <= 8.5e-210: tmp = y * ((t - x) / (a - z)) elif t <= 1.02e-96: tmp = x else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(t * Float64(Float64(y - z) / Float64(a - z))) tmp = 0.0 if (t <= -4.6e-96) tmp = t_1; elseif (t <= 8.5e-210) tmp = Float64(y * Float64(Float64(t - x) / Float64(a - z))); elseif (t <= 1.02e-96) tmp = x; else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t * ((y - z) / (a - z)); tmp = 0.0; if (t <= -4.6e-96) tmp = t_1; elseif (t <= 8.5e-210) tmp = y * ((t - x) / (a - z)); elseif (t <= 1.02e-96) tmp = 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[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -4.6e-96], t$95$1, If[LessEqual[t, 8.5e-210], N[(y * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.02e-96], x, t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \frac{y - z}{a - z}\\
\mathbf{if}\;t \leq -4.6 \cdot 10^{-96}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq 8.5 \cdot 10^{-210}:\\
\;\;\;\;y \cdot \frac{t - x}{a - z}\\
\mathbf{elif}\;t \leq 1.02 \cdot 10^{-96}:\\
\;\;\;\;x\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -4.6e-96 or 1.02000000000000007e-96 < t Initial program 87.0%
Taylor expanded in x around 0 52.2%
associate-/l*69.3%
Simplified69.3%
if -4.6e-96 < t < 8.4999999999999997e-210Initial program 65.8%
Taylor expanded in y around inf 54.4%
div-sub54.4%
Simplified54.4%
if 8.4999999999999997e-210 < t < 1.02000000000000007e-96Initial program 74.8%
Taylor expanded in a around inf 59.6%
Final simplification65.3%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (/ (- y z) (/ a t)))))
(if (<= a -0.46)
t_1
(if (<= a 2.6e-132)
(* t (/ (- y z) (- a z)))
(if (<= a 3.9e+126) (* y (/ (- t x) (- a z))) t_1)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((y - z) / (a / t));
double tmp;
if (a <= -0.46) {
tmp = t_1;
} else if (a <= 2.6e-132) {
tmp = t * ((y - z) / (a - z));
} else if (a <= 3.9e+126) {
tmp = y * ((t - x) / (a - z));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: tmp
t_1 = x + ((y - z) / (a / t))
if (a <= (-0.46d0)) then
tmp = t_1
else if (a <= 2.6d-132) then
tmp = t * ((y - z) / (a - z))
else if (a <= 3.9d+126) then
tmp = y * ((t - x) / (a - z))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((y - z) / (a / t));
double tmp;
if (a <= -0.46) {
tmp = t_1;
} else if (a <= 2.6e-132) {
tmp = t * ((y - z) / (a - z));
} else if (a <= 3.9e+126) {
tmp = y * ((t - x) / (a - z));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((y - z) / (a / t)) tmp = 0 if a <= -0.46: tmp = t_1 elif a <= 2.6e-132: tmp = t * ((y - z) / (a - z)) elif a <= 3.9e+126: tmp = y * ((t - x) / (a - z)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(y - z) / Float64(a / t))) tmp = 0.0 if (a <= -0.46) tmp = t_1; elseif (a <= 2.6e-132) tmp = Float64(t * Float64(Float64(y - z) / Float64(a - z))); elseif (a <= 3.9e+126) tmp = Float64(y * Float64(Float64(t - x) / Float64(a - z))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + ((y - z) / (a / t)); tmp = 0.0; if (a <= -0.46) tmp = t_1; elseif (a <= 2.6e-132) tmp = t * ((y - z) / (a - z)); elseif (a <= 3.9e+126) tmp = y * ((t - x) / (a - z)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(y - z), $MachinePrecision] / N[(a / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -0.46], t$95$1, If[LessEqual[a, 2.6e-132], N[(t * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 3.9e+126], N[(y * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{y - z}{\frac{a}{t}}\\
\mathbf{if}\;a \leq -0.46:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 2.6 \cdot 10^{-132}:\\
\;\;\;\;t \cdot \frac{y - z}{a - z}\\
\mathbf{elif}\;a \leq 3.9 \cdot 10^{+126}:\\
\;\;\;\;y \cdot \frac{t - x}{a - z}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if a < -0.46000000000000002 or 3.89999999999999993e126 < a Initial program 90.0%
clear-num89.9%
un-div-inv90.0%
Applied egg-rr90.0%
Taylor expanded in a around inf 78.2%
Taylor expanded in t around inf 71.7%
if -0.46000000000000002 < a < 2.6000000000000001e-132Initial program 74.7%
Taylor expanded in x around 0 56.4%
associate-/l*71.9%
Simplified71.9%
if 2.6000000000000001e-132 < a < 3.89999999999999993e126Initial program 77.4%
Taylor expanded in y around inf 61.6%
div-sub61.6%
Simplified61.6%
Final simplification69.6%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (/ (- y z) (/ a t)))))
(if (<= a -1.65)
t_1
(if (<= a 1.1e-127)
(/ t (/ (- a z) (- y z)))
(if (<= a 9.5e+122) (* y (/ (- t x) (- a z))) t_1)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((y - z) / (a / t));
double tmp;
if (a <= -1.65) {
tmp = t_1;
} else if (a <= 1.1e-127) {
tmp = t / ((a - z) / (y - z));
} else if (a <= 9.5e+122) {
tmp = y * ((t - x) / (a - z));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: tmp
t_1 = x + ((y - z) / (a / t))
if (a <= (-1.65d0)) then
tmp = t_1
else if (a <= 1.1d-127) then
tmp = t / ((a - z) / (y - z))
else if (a <= 9.5d+122) then
tmp = y * ((t - x) / (a - z))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((y - z) / (a / t));
double tmp;
if (a <= -1.65) {
tmp = t_1;
} else if (a <= 1.1e-127) {
tmp = t / ((a - z) / (y - z));
} else if (a <= 9.5e+122) {
tmp = y * ((t - x) / (a - z));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((y - z) / (a / t)) tmp = 0 if a <= -1.65: tmp = t_1 elif a <= 1.1e-127: tmp = t / ((a - z) / (y - z)) elif a <= 9.5e+122: tmp = y * ((t - x) / (a - z)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(y - z) / Float64(a / t))) tmp = 0.0 if (a <= -1.65) tmp = t_1; elseif (a <= 1.1e-127) tmp = Float64(t / Float64(Float64(a - z) / Float64(y - z))); elseif (a <= 9.5e+122) tmp = Float64(y * Float64(Float64(t - x) / Float64(a - z))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + ((y - z) / (a / t)); tmp = 0.0; if (a <= -1.65) tmp = t_1; elseif (a <= 1.1e-127) tmp = t / ((a - z) / (y - z)); elseif (a <= 9.5e+122) tmp = y * ((t - x) / (a - z)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(y - z), $MachinePrecision] / N[(a / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -1.65], t$95$1, If[LessEqual[a, 1.1e-127], N[(t / N[(N[(a - z), $MachinePrecision] / N[(y - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 9.5e+122], N[(y * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{y - z}{\frac{a}{t}}\\
\mathbf{if}\;a \leq -1.65:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 1.1 \cdot 10^{-127}:\\
\;\;\;\;\frac{t}{\frac{a - z}{y - z}}\\
\mathbf{elif}\;a \leq 9.5 \cdot 10^{+122}:\\
\;\;\;\;y \cdot \frac{t - x}{a - z}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if a < -1.6499999999999999 or 9.49999999999999986e122 < a Initial program 90.0%
clear-num89.9%
un-div-inv90.0%
Applied egg-rr90.0%
Taylor expanded in a around inf 78.2%
Taylor expanded in t around inf 71.7%
if -1.6499999999999999 < a < 1.1000000000000001e-127Initial program 74.7%
Taylor expanded in x around 0 56.4%
associate-/l*71.9%
Simplified71.9%
clear-num71.9%
un-div-inv71.9%
Applied egg-rr71.9%
if 1.1000000000000001e-127 < a < 9.49999999999999986e122Initial program 77.4%
Taylor expanded in y around inf 61.6%
div-sub61.6%
Simplified61.6%
Final simplification69.6%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (/ (- y z) (/ a t)))))
(if (<= a -0.062)
t_1
(if (<= a 2.75e-126)
(/ t (/ (- a z) (- y z)))
(if (<= a 8.5e+154) (/ y (/ (- a z) (- t x))) t_1)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((y - z) / (a / t));
double tmp;
if (a <= -0.062) {
tmp = t_1;
} else if (a <= 2.75e-126) {
tmp = t / ((a - z) / (y - z));
} else if (a <= 8.5e+154) {
tmp = y / ((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 = x + ((y - z) / (a / t))
if (a <= (-0.062d0)) then
tmp = t_1
else if (a <= 2.75d-126) then
tmp = t / ((a - z) / (y - z))
else if (a <= 8.5d+154) then
tmp = y / ((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 = x + ((y - z) / (a / t));
double tmp;
if (a <= -0.062) {
tmp = t_1;
} else if (a <= 2.75e-126) {
tmp = t / ((a - z) / (y - z));
} else if (a <= 8.5e+154) {
tmp = y / ((a - z) / (t - x));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((y - z) / (a / t)) tmp = 0 if a <= -0.062: tmp = t_1 elif a <= 2.75e-126: tmp = t / ((a - z) / (y - z)) elif a <= 8.5e+154: tmp = y / ((a - z) / (t - x)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(y - z) / Float64(a / t))) tmp = 0.0 if (a <= -0.062) tmp = t_1; elseif (a <= 2.75e-126) tmp = Float64(t / Float64(Float64(a - z) / Float64(y - z))); elseif (a <= 8.5e+154) tmp = Float64(y / 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 = x + ((y - z) / (a / t)); tmp = 0.0; if (a <= -0.062) tmp = t_1; elseif (a <= 2.75e-126) tmp = t / ((a - z) / (y - z)); elseif (a <= 8.5e+154) tmp = y / ((a - z) / (t - x)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(y - z), $MachinePrecision] / N[(a / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -0.062], t$95$1, If[LessEqual[a, 2.75e-126], N[(t / N[(N[(a - z), $MachinePrecision] / N[(y - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 8.5e+154], N[(y / N[(N[(a - z), $MachinePrecision] / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{y - z}{\frac{a}{t}}\\
\mathbf{if}\;a \leq -0.062:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 2.75 \cdot 10^{-126}:\\
\;\;\;\;\frac{t}{\frac{a - z}{y - z}}\\
\mathbf{elif}\;a \leq 8.5 \cdot 10^{+154}:\\
\;\;\;\;\frac{y}{\frac{a - z}{t - x}}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if a < -0.062 or 8.5000000000000002e154 < a Initial program 90.6%
clear-num90.6%
un-div-inv90.6%
Applied egg-rr90.6%
Taylor expanded in a around inf 79.3%
Taylor expanded in t around inf 72.5%
if -0.062 < a < 2.74999999999999993e-126Initial program 74.7%
Taylor expanded in x around 0 56.4%
associate-/l*71.9%
Simplified71.9%
clear-num71.9%
un-div-inv71.9%
Applied egg-rr71.9%
if 2.74999999999999993e-126 < a < 8.5000000000000002e154Initial program 77.2%
Taylor expanded in y around inf 60.9%
div-sub60.9%
Simplified60.9%
clear-num60.9%
un-div-inv60.9%
Applied egg-rr60.9%
Final simplification69.6%
(FPCore (x y z t a) :precision binary64 (if (<= a -3.5e+21) x (if (<= a 6.5e-134) t (if (<= a 4.5e+214) (* y (/ (- t x) a)) x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -3.5e+21) {
tmp = x;
} else if (a <= 6.5e-134) {
tmp = t;
} else if (a <= 4.5e+214) {
tmp = y * ((t - x) / a);
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (a <= (-3.5d+21)) then
tmp = x
else if (a <= 6.5d-134) then
tmp = t
else if (a <= 4.5d+214) then
tmp = y * ((t - x) / a)
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -3.5e+21) {
tmp = x;
} else if (a <= 6.5e-134) {
tmp = t;
} else if (a <= 4.5e+214) {
tmp = y * ((t - x) / a);
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -3.5e+21: tmp = x elif a <= 6.5e-134: tmp = t elif a <= 4.5e+214: tmp = y * ((t - x) / a) else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -3.5e+21) tmp = x; elseif (a <= 6.5e-134) tmp = t; elseif (a <= 4.5e+214) tmp = Float64(y * Float64(Float64(t - x) / a)); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -3.5e+21) tmp = x; elseif (a <= 6.5e-134) tmp = t; elseif (a <= 4.5e+214) tmp = y * ((t - x) / a); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -3.5e+21], x, If[LessEqual[a, 6.5e-134], t, If[LessEqual[a, 4.5e+214], N[(y * N[(N[(t - x), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], x]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -3.5 \cdot 10^{+21}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 6.5 \cdot 10^{-134}:\\
\;\;\;\;t\\
\mathbf{elif}\;a \leq 4.5 \cdot 10^{+214}:\\
\;\;\;\;y \cdot \frac{t - x}{a}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -3.5e21 or 4.49999999999999968e214 < a Initial program 92.4%
Taylor expanded in a around inf 48.9%
if -3.5e21 < a < 6.4999999999999998e-134Initial program 75.0%
Taylor expanded in z around inf 50.0%
if 6.4999999999999998e-134 < a < 4.49999999999999968e214Initial program 77.9%
Taylor expanded in y around inf 58.9%
div-sub58.9%
Simplified58.9%
Taylor expanded in a around inf 42.6%
associate-*r/45.0%
Simplified45.0%
Final simplification48.1%
(FPCore (x y z t a) :precision binary64 (if (<= a -2.45e+22) x (if (<= a 4.5e-135) t (if (<= a 3.05e+214) (/ y (/ a (- t x))) x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -2.45e+22) {
tmp = x;
} else if (a <= 4.5e-135) {
tmp = t;
} else if (a <= 3.05e+214) {
tmp = y / (a / (t - x));
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (a <= (-2.45d+22)) then
tmp = x
else if (a <= 4.5d-135) then
tmp = t
else if (a <= 3.05d+214) then
tmp = y / (a / (t - x))
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -2.45e+22) {
tmp = x;
} else if (a <= 4.5e-135) {
tmp = t;
} else if (a <= 3.05e+214) {
tmp = y / (a / (t - x));
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -2.45e+22: tmp = x elif a <= 4.5e-135: tmp = t elif a <= 3.05e+214: tmp = y / (a / (t - x)) else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -2.45e+22) tmp = x; elseif (a <= 4.5e-135) tmp = t; elseif (a <= 3.05e+214) tmp = Float64(y / Float64(a / Float64(t - x))); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -2.45e+22) tmp = x; elseif (a <= 4.5e-135) tmp = t; elseif (a <= 3.05e+214) tmp = y / (a / (t - x)); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -2.45e+22], x, If[LessEqual[a, 4.5e-135], t, If[LessEqual[a, 3.05e+214], N[(y / N[(a / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], x]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -2.45 \cdot 10^{+22}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 4.5 \cdot 10^{-135}:\\
\;\;\;\;t\\
\mathbf{elif}\;a \leq 3.05 \cdot 10^{+214}:\\
\;\;\;\;\frac{y}{\frac{a}{t - x}}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -2.4499999999999999e22 or 3.05000000000000018e214 < a Initial program 92.4%
Taylor expanded in a around inf 48.9%
if -2.4499999999999999e22 < a < 4.49999999999999987e-135Initial program 75.0%
Taylor expanded in z around inf 50.0%
if 4.49999999999999987e-135 < a < 3.05000000000000018e214Initial program 77.9%
Taylor expanded in y around inf 58.9%
div-sub58.9%
Simplified58.9%
clear-num58.9%
un-div-inv58.9%
Applied egg-rr58.9%
Taylor expanded in a around inf 45.0%
Final simplification48.2%
(FPCore (x y z t a)
:precision binary64
(if (<= a -0.0024)
x
(if (<= a 1.15e-8)
(* t (/ (- z y) z))
(if (<= a 7.2e+214) (/ y (/ a (- t x))) x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -0.0024) {
tmp = x;
} else if (a <= 1.15e-8) {
tmp = t * ((z - y) / z);
} else if (a <= 7.2e+214) {
tmp = y / (a / (t - x));
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (a <= (-0.0024d0)) then
tmp = x
else if (a <= 1.15d-8) then
tmp = t * ((z - y) / z)
else if (a <= 7.2d+214) then
tmp = y / (a / (t - x))
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -0.0024) {
tmp = x;
} else if (a <= 1.15e-8) {
tmp = t * ((z - y) / z);
} else if (a <= 7.2e+214) {
tmp = y / (a / (t - x));
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -0.0024: tmp = x elif a <= 1.15e-8: tmp = t * ((z - y) / z) elif a <= 7.2e+214: tmp = y / (a / (t - x)) else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -0.0024) tmp = x; elseif (a <= 1.15e-8) tmp = Float64(t * Float64(Float64(z - y) / z)); elseif (a <= 7.2e+214) tmp = Float64(y / Float64(a / Float64(t - x))); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -0.0024) tmp = x; elseif (a <= 1.15e-8) tmp = t * ((z - y) / z); elseif (a <= 7.2e+214) tmp = y / (a / (t - x)); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -0.0024], x, If[LessEqual[a, 1.15e-8], N[(t * N[(N[(z - y), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 7.2e+214], N[(y / N[(a / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], x]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -0.0024:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 1.15 \cdot 10^{-8}:\\
\;\;\;\;t \cdot \frac{z - y}{z}\\
\mathbf{elif}\;a \leq 7.2 \cdot 10^{+214}:\\
\;\;\;\;\frac{y}{\frac{a}{t - x}}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -0.00239999999999999979 or 7.2000000000000002e214 < a Initial program 92.6%
Taylor expanded in a around inf 48.4%
if -0.00239999999999999979 < a < 1.15e-8Initial program 73.6%
Taylor expanded in x around 0 53.1%
associate-/l*67.1%
Simplified67.1%
Taylor expanded in a around 0 59.9%
associate-*r/59.9%
neg-mul-159.9%
Simplified59.9%
if 1.15e-8 < a < 7.2000000000000002e214Initial program 80.3%
Taylor expanded in y around inf 60.7%
div-sub60.7%
Simplified60.7%
clear-num60.7%
un-div-inv60.8%
Applied egg-rr60.8%
Taylor expanded in a around inf 50.3%
Final simplification54.0%
(FPCore (x y z t a) :precision binary64 (if (<= a -4.6e+20) x (if (<= a 1.4e-7) t (if (<= a 1.25e+100) (* x (/ y (- a))) x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -4.6e+20) {
tmp = x;
} else if (a <= 1.4e-7) {
tmp = t;
} else if (a <= 1.25e+100) {
tmp = x * (y / -a);
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (a <= (-4.6d+20)) then
tmp = x
else if (a <= 1.4d-7) then
tmp = t
else if (a <= 1.25d+100) then
tmp = x * (y / -a)
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -4.6e+20) {
tmp = x;
} else if (a <= 1.4e-7) {
tmp = t;
} else if (a <= 1.25e+100) {
tmp = x * (y / -a);
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -4.6e+20: tmp = x elif a <= 1.4e-7: tmp = t elif a <= 1.25e+100: tmp = x * (y / -a) else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -4.6e+20) tmp = x; elseif (a <= 1.4e-7) tmp = t; elseif (a <= 1.25e+100) tmp = Float64(x * Float64(y / Float64(-a))); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -4.6e+20) tmp = x; elseif (a <= 1.4e-7) tmp = t; elseif (a <= 1.25e+100) tmp = x * (y / -a); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -4.6e+20], x, If[LessEqual[a, 1.4e-7], t, If[LessEqual[a, 1.25e+100], N[(x * N[(y / (-a)), $MachinePrecision]), $MachinePrecision], x]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -4.6 \cdot 10^{+20}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 1.4 \cdot 10^{-7}:\\
\;\;\;\;t\\
\mathbf{elif}\;a \leq 1.25 \cdot 10^{+100}:\\
\;\;\;\;x \cdot \frac{y}{-a}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -4.6e20 or 1.25e100 < a Initial program 89.3%
Taylor expanded in a around inf 44.4%
if -4.6e20 < a < 1.4000000000000001e-7Initial program 74.3%
Taylor expanded in z around inf 45.8%
if 1.4000000000000001e-7 < a < 1.25e100Initial program 81.7%
Taylor expanded in y around inf 65.9%
div-sub65.9%
Simplified65.9%
Taylor expanded in a around inf 50.7%
associate-*r/56.3%
Simplified56.3%
Taylor expanded in t around 0 37.8%
mul-1-neg37.8%
associate-/l*43.4%
distribute-rgt-neg-in43.4%
Simplified43.4%
Final simplification45.0%
(FPCore (x y z t a) :precision binary64 (if (or (<= a -0.145) (not (<= a 4.8e-17))) (+ x (/ (- y z) (/ a (- t x)))) (/ t (/ (- a z) (- y z)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a <= -0.145) || !(a <= 4.8e-17)) {
tmp = x + ((y - z) / (a / (t - x)));
} else {
tmp = t / ((a - z) / (y - z));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if ((a <= (-0.145d0)) .or. (.not. (a <= 4.8d-17))) then
tmp = x + ((y - z) / (a / (t - x)))
else
tmp = t / ((a - z) / (y - z))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a <= -0.145) || !(a <= 4.8e-17)) {
tmp = x + ((y - z) / (a / (t - x)));
} else {
tmp = t / ((a - z) / (y - z));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (a <= -0.145) or not (a <= 4.8e-17): tmp = x + ((y - z) / (a / (t - x))) else: tmp = t / ((a - z) / (y - z)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((a <= -0.145) || !(a <= 4.8e-17)) tmp = Float64(x + Float64(Float64(y - z) / Float64(a / Float64(t - x)))); else tmp = Float64(t / Float64(Float64(a - z) / Float64(y - z))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((a <= -0.145) || ~((a <= 4.8e-17))) tmp = x + ((y - z) / (a / (t - x))); else tmp = t / ((a - z) / (y - z)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[a, -0.145], N[Not[LessEqual[a, 4.8e-17]], $MachinePrecision]], N[(x + N[(N[(y - z), $MachinePrecision] / N[(a / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(t / N[(N[(a - z), $MachinePrecision] / N[(y - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -0.145 \lor \neg \left(a \leq 4.8 \cdot 10^{-17}\right):\\
\;\;\;\;x + \frac{y - z}{\frac{a}{t - x}}\\
\mathbf{else}:\\
\;\;\;\;\frac{t}{\frac{a - z}{y - z}}\\
\end{array}
\end{array}
if a < -0.14499999999999999 or 4.79999999999999973e-17 < a Initial program 87.2%
clear-num87.3%
un-div-inv87.3%
Applied egg-rr87.3%
Taylor expanded in a around inf 74.2%
if -0.14499999999999999 < a < 4.79999999999999973e-17Initial program 74.3%
Taylor expanded in x around 0 54.3%
associate-/l*68.4%
Simplified68.4%
clear-num68.4%
un-div-inv68.4%
Applied egg-rr68.4%
Final simplification71.6%
(FPCore (x y z t a) :precision binary64 (if (or (<= a -0.000145) (not (<= a 5.4e-21))) (+ x (/ (- y z) (/ a (- t x)))) (+ t (* (- t x) (/ (- a y) z)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a <= -0.000145) || !(a <= 5.4e-21)) {
tmp = x + ((y - z) / (a / (t - x)));
} else {
tmp = t + ((t - x) * ((a - y) / z));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if ((a <= (-0.000145d0)) .or. (.not. (a <= 5.4d-21))) then
tmp = x + ((y - z) / (a / (t - x)))
else
tmp = t + ((t - x) * ((a - y) / z))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a <= -0.000145) || !(a <= 5.4e-21)) {
tmp = x + ((y - z) / (a / (t - x)));
} else {
tmp = t + ((t - x) * ((a - y) / z));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (a <= -0.000145) or not (a <= 5.4e-21): tmp = x + ((y - z) / (a / (t - x))) else: tmp = t + ((t - x) * ((a - y) / z)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((a <= -0.000145) || !(a <= 5.4e-21)) tmp = Float64(x + Float64(Float64(y - z) / Float64(a / Float64(t - x)))); else tmp = Float64(t + Float64(Float64(t - x) * Float64(Float64(a - y) / z))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((a <= -0.000145) || ~((a <= 5.4e-21))) tmp = x + ((y - z) / (a / (t - x))); else tmp = t + ((t - x) * ((a - y) / z)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[a, -0.000145], N[Not[LessEqual[a, 5.4e-21]], $MachinePrecision]], N[(x + N[(N[(y - z), $MachinePrecision] / N[(a / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(t + N[(N[(t - x), $MachinePrecision] * N[(N[(a - y), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -0.000145 \lor \neg \left(a \leq 5.4 \cdot 10^{-21}\right):\\
\;\;\;\;x + \frac{y - z}{\frac{a}{t - x}}\\
\mathbf{else}:\\
\;\;\;\;t + \left(t - x\right) \cdot \frac{a - y}{z}\\
\end{array}
\end{array}
if a < -1.45e-4 or 5.4000000000000002e-21 < a Initial program 87.3%
clear-num87.4%
un-div-inv87.4%
Applied egg-rr87.4%
Taylor expanded in a around inf 74.3%
if -1.45e-4 < a < 5.4000000000000002e-21Initial program 74.0%
Taylor expanded in z around inf 80.3%
associate--l+80.3%
distribute-lft-out--80.3%
div-sub81.2%
mul-1-neg81.2%
unsub-neg81.2%
distribute-rgt-out--81.2%
associate-/l*85.5%
Simplified85.5%
Final simplification79.2%
(FPCore (x y z t a) :precision binary64 (if (<= a -5.5e+23) x (if (<= a 6e+75) t (if (<= a 3.05e+214) (* t (/ y a)) x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -5.5e+23) {
tmp = x;
} else if (a <= 6e+75) {
tmp = t;
} else if (a <= 3.05e+214) {
tmp = t * (y / a);
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (a <= (-5.5d+23)) then
tmp = x
else if (a <= 6d+75) then
tmp = t
else if (a <= 3.05d+214) then
tmp = t * (y / a)
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -5.5e+23) {
tmp = x;
} else if (a <= 6e+75) {
tmp = t;
} else if (a <= 3.05e+214) {
tmp = t * (y / a);
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -5.5e+23: tmp = x elif a <= 6e+75: tmp = t elif a <= 3.05e+214: tmp = t * (y / a) else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -5.5e+23) tmp = x; elseif (a <= 6e+75) tmp = t; elseif (a <= 3.05e+214) tmp = Float64(t * Float64(y / a)); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -5.5e+23) tmp = x; elseif (a <= 6e+75) tmp = t; elseif (a <= 3.05e+214) tmp = t * (y / a); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -5.5e+23], x, If[LessEqual[a, 6e+75], t, If[LessEqual[a, 3.05e+214], N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision], x]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -5.5 \cdot 10^{+23}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 6 \cdot 10^{+75}:\\
\;\;\;\;t\\
\mathbf{elif}\;a \leq 3.05 \cdot 10^{+214}:\\
\;\;\;\;t \cdot \frac{y}{a}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -5.50000000000000004e23 or 3.05000000000000018e214 < a Initial program 92.4%
Taylor expanded in a around inf 48.9%
if -5.50000000000000004e23 < a < 6e75Initial program 74.7%
Taylor expanded in z around inf 41.3%
if 6e75 < a < 3.05000000000000018e214Initial program 83.4%
Taylor expanded in x around 0 48.1%
associate-/l*54.5%
Simplified54.5%
Taylor expanded in z around 0 38.8%
associate-/l*42.0%
Simplified42.0%
Final simplification43.8%
(FPCore (x y z t a) :precision binary64 (if (<= a -3.6e+19) x (if (<= a 1.7e+102) t x)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -3.6e+19) {
tmp = x;
} else if (a <= 1.7e+102) {
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 <= (-3.6d+19)) then
tmp = x
else if (a <= 1.7d+102) 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 <= -3.6e+19) {
tmp = x;
} else if (a <= 1.7e+102) {
tmp = t;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -3.6e+19: tmp = x elif a <= 1.7e+102: tmp = t else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -3.6e+19) tmp = x; elseif (a <= 1.7e+102) tmp = t; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -3.6e+19) tmp = x; elseif (a <= 1.7e+102) tmp = t; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -3.6e+19], x, If[LessEqual[a, 1.7e+102], t, x]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -3.6 \cdot 10^{+19}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 1.7 \cdot 10^{+102}:\\
\;\;\;\;t\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -3.6e19 or 1.7e102 < a Initial program 89.2%
Taylor expanded in a around inf 44.8%
if -3.6e19 < a < 1.7e102Initial program 76.0%
Taylor expanded in z around inf 39.3%
Final simplification41.5%
(FPCore (x y z t a) :precision binary64 t)
double code(double x, double y, double z, double t, double a) {
return t;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
code = t
end function
public static double code(double x, double y, double z, double t, double a) {
return t;
}
def code(x, y, z, t, a): return t
function code(x, y, z, t, a) return t end
function tmp = code(x, y, z, t, a) tmp = t; end
code[x_, y_, z_, t_, a_] := t
\begin{array}{l}
\\
t
\end{array}
Initial program 81.5%
Taylor expanded in z around inf 26.7%
Final simplification26.7%
herbie shell --seed 2024044
(FPCore (x y z t a)
:name "Numeric.Signal:interpolate from hsignal-0.2.7.1"
:precision binary64
(+ x (* (- y z) (/ (- t x) (- a z)))))