
(FPCore (x y z t a) :precision binary64 (+ x (/ (* y (- z t)) (- z a))))
double code(double x, double y, double z, double t, double a) {
return x + ((y * (z - t)) / (z - a));
}
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)) / (z - a))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + ((y * (z - t)) / (z - a));
}
def code(x, y, z, t, a): return x + ((y * (z - t)) / (z - a))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(y * Float64(z - t)) / Float64(z - a))) end
function tmp = code(x, y, z, t, a) tmp = x + ((y * (z - t)) / (z - a)); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(y * N[(z - t), $MachinePrecision]), $MachinePrecision] / N[(z - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \frac{y \cdot \left(z - t\right)}{z - a}
\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)) (- z a))))
double code(double x, double y, double z, double t, double a) {
return x + ((y * (z - t)) / (z - a));
}
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)) / (z - a))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + ((y * (z - t)) / (z - a));
}
def code(x, y, z, t, a): return x + ((y * (z - t)) / (z - a))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(y * Float64(z - t)) / Float64(z - a))) end
function tmp = code(x, y, z, t, a) tmp = x + ((y * (z - t)) / (z - a)); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(y * N[(z - t), $MachinePrecision]), $MachinePrecision] / N[(z - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \frac{y \cdot \left(z - t\right)}{z - a}
\end{array}
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* y (- z t))) (t_2 (/ t_1 (- z a))))
(if (<= t_2 (- INFINITY))
(- x (/ 1.0 (/ (/ (- a z) y) (- z t))))
(if (<= t_2 5e+288)
(- x (/ t_1 (- a z)))
(+ x (/ (- z t) (/ (- z a) y)))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = y * (z - t);
double t_2 = t_1 / (z - a);
double tmp;
if (t_2 <= -((double) INFINITY)) {
tmp = x - (1.0 / (((a - z) / y) / (z - t)));
} else if (t_2 <= 5e+288) {
tmp = x - (t_1 / (a - z));
} else {
tmp = x + ((z - t) / ((z - a) / y));
}
return tmp;
}
public static double code(double x, double y, double z, double t, double a) {
double t_1 = y * (z - t);
double t_2 = t_1 / (z - a);
double tmp;
if (t_2 <= -Double.POSITIVE_INFINITY) {
tmp = x - (1.0 / (((a - z) / y) / (z - t)));
} else if (t_2 <= 5e+288) {
tmp = x - (t_1 / (a - z));
} else {
tmp = x + ((z - t) / ((z - a) / y));
}
return tmp;
}
def code(x, y, z, t, a): t_1 = y * (z - t) t_2 = t_1 / (z - a) tmp = 0 if t_2 <= -math.inf: tmp = x - (1.0 / (((a - z) / y) / (z - t))) elif t_2 <= 5e+288: tmp = x - (t_1 / (a - z)) else: tmp = x + ((z - t) / ((z - a) / y)) return tmp
function code(x, y, z, t, a) t_1 = Float64(y * Float64(z - t)) t_2 = Float64(t_1 / Float64(z - a)) tmp = 0.0 if (t_2 <= Float64(-Inf)) tmp = Float64(x - Float64(1.0 / Float64(Float64(Float64(a - z) / y) / Float64(z - t)))); elseif (t_2 <= 5e+288) tmp = Float64(x - Float64(t_1 / Float64(a - z))); else tmp = Float64(x + Float64(Float64(z - t) / Float64(Float64(z - a) / y))); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = y * (z - t); t_2 = t_1 / (z - a); tmp = 0.0; if (t_2 <= -Inf) tmp = x - (1.0 / (((a - z) / y) / (z - t))); elseif (t_2 <= 5e+288) tmp = x - (t_1 / (a - z)); else tmp = x + ((z - t) / ((z - a) / y)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(y * N[(z - t), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t$95$1 / N[(z - a), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$2, (-Infinity)], N[(x - N[(1.0 / N[(N[(N[(a - z), $MachinePrecision] / y), $MachinePrecision] / N[(z - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$2, 5e+288], N[(x - N[(t$95$1 / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x + N[(N[(z - t), $MachinePrecision] / N[(N[(z - a), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \left(z - t\right)\\
t_2 := \frac{t\_1}{z - a}\\
\mathbf{if}\;t\_2 \leq -\infty:\\
\;\;\;\;x - \frac{1}{\frac{\frac{a - z}{y}}{z - t}}\\
\mathbf{elif}\;t\_2 \leq 5 \cdot 10^{+288}:\\
\;\;\;\;x - \frac{t\_1}{a - z}\\
\mathbf{else}:\\
\;\;\;\;x + \frac{z - t}{\frac{z - a}{y}}\\
\end{array}
\end{array}
if (/.f64 (*.f64 y (-.f64 z t)) (-.f64 z a)) < -inf.0Initial program 52.8%
clear-num52.8%
inv-pow52.8%
Applied egg-rr52.8%
unpow-152.8%
associate-/r*99.9%
Simplified99.9%
if -inf.0 < (/.f64 (*.f64 y (-.f64 z t)) (-.f64 z a)) < 5.0000000000000003e288Initial program 99.5%
if 5.0000000000000003e288 < (/.f64 (*.f64 y (-.f64 z t)) (-.f64 z a)) Initial program 36.2%
clear-num36.2%
inv-pow36.2%
Applied egg-rr36.2%
unpow-136.2%
associate-/r*99.8%
Simplified99.8%
clear-num99.9%
add-cube-cbrt99.1%
*-un-lft-identity99.1%
times-frac99.0%
pow299.0%
Applied egg-rr99.0%
times-frac99.1%
unpow299.1%
rem-3cbrt-lft99.9%
*-lft-identity99.9%
Simplified99.9%
Final simplification99.6%
(FPCore (x y z t a) :precision binary64 (fma y (/ (- z t) (- z a)) x))
double code(double x, double y, double z, double t, double a) {
return fma(y, ((z - t) / (z - a)), x);
}
function code(x, y, z, t, a) return fma(y, Float64(Float64(z - t) / Float64(z - a)), x) end
code[x_, y_, z_, t_, a_] := N[(y * N[(N[(z - t), $MachinePrecision] / N[(z - a), $MachinePrecision]), $MachinePrecision] + x), $MachinePrecision]
\begin{array}{l}
\\
\mathsf{fma}\left(y, \frac{z - t}{z - a}, x\right)
\end{array}
Initial program 86.1%
+-commutative86.1%
associate-/l*97.7%
fma-define97.7%
Simplified97.7%
Final simplification97.7%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (/ t (/ a y)))))
(if (<= z -1.2e+113)
(+ y x)
(if (<= z -7.5e-5)
(- x (* t (/ y z)))
(if (<= z -5.2e-56)
t_1
(if (<= z -6.4e-82)
(/ (* y t) (- a z))
(if (<= z 4e-157)
t_1
(if (<= z 2e-70)
(* y (/ t (- a z)))
(if (<= z 2.8e+36) (+ x (* t (/ y a))) (+ y x))))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (t / (a / y));
double tmp;
if (z <= -1.2e+113) {
tmp = y + x;
} else if (z <= -7.5e-5) {
tmp = x - (t * (y / z));
} else if (z <= -5.2e-56) {
tmp = t_1;
} else if (z <= -6.4e-82) {
tmp = (y * t) / (a - z);
} else if (z <= 4e-157) {
tmp = t_1;
} else if (z <= 2e-70) {
tmp = y * (t / (a - z));
} else if (z <= 2.8e+36) {
tmp = x + (t * (y / a));
} else {
tmp = y + 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 + (t / (a / y))
if (z <= (-1.2d+113)) then
tmp = y + x
else if (z <= (-7.5d-5)) then
tmp = x - (t * (y / z))
else if (z <= (-5.2d-56)) then
tmp = t_1
else if (z <= (-6.4d-82)) then
tmp = (y * t) / (a - z)
else if (z <= 4d-157) then
tmp = t_1
else if (z <= 2d-70) then
tmp = y * (t / (a - z))
else if (z <= 2.8d+36) then
tmp = x + (t * (y / a))
else
tmp = y + 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 + (t / (a / y));
double tmp;
if (z <= -1.2e+113) {
tmp = y + x;
} else if (z <= -7.5e-5) {
tmp = x - (t * (y / z));
} else if (z <= -5.2e-56) {
tmp = t_1;
} else if (z <= -6.4e-82) {
tmp = (y * t) / (a - z);
} else if (z <= 4e-157) {
tmp = t_1;
} else if (z <= 2e-70) {
tmp = y * (t / (a - z));
} else if (z <= 2.8e+36) {
tmp = x + (t * (y / a));
} else {
tmp = y + x;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (t / (a / y)) tmp = 0 if z <= -1.2e+113: tmp = y + x elif z <= -7.5e-5: tmp = x - (t * (y / z)) elif z <= -5.2e-56: tmp = t_1 elif z <= -6.4e-82: tmp = (y * t) / (a - z) elif z <= 4e-157: tmp = t_1 elif z <= 2e-70: tmp = y * (t / (a - z)) elif z <= 2.8e+36: tmp = x + (t * (y / a)) else: tmp = y + x return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(t / Float64(a / y))) tmp = 0.0 if (z <= -1.2e+113) tmp = Float64(y + x); elseif (z <= -7.5e-5) tmp = Float64(x - Float64(t * Float64(y / z))); elseif (z <= -5.2e-56) tmp = t_1; elseif (z <= -6.4e-82) tmp = Float64(Float64(y * t) / Float64(a - z)); elseif (z <= 4e-157) tmp = t_1; elseif (z <= 2e-70) tmp = Float64(y * Float64(t / Float64(a - z))); elseif (z <= 2.8e+36) tmp = Float64(x + Float64(t * Float64(y / a))); else tmp = Float64(y + x); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + (t / (a / y)); tmp = 0.0; if (z <= -1.2e+113) tmp = y + x; elseif (z <= -7.5e-5) tmp = x - (t * (y / z)); elseif (z <= -5.2e-56) tmp = t_1; elseif (z <= -6.4e-82) tmp = (y * t) / (a - z); elseif (z <= 4e-157) tmp = t_1; elseif (z <= 2e-70) tmp = y * (t / (a - z)); elseif (z <= 2.8e+36) tmp = x + (t * (y / a)); else tmp = y + x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(t / N[(a / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -1.2e+113], N[(y + x), $MachinePrecision], If[LessEqual[z, -7.5e-5], N[(x - N[(t * N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -5.2e-56], t$95$1, If[LessEqual[z, -6.4e-82], N[(N[(y * t), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 4e-157], t$95$1, If[LessEqual[z, 2e-70], N[(y * N[(t / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 2.8e+36], N[(x + N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y + x), $MachinePrecision]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{t}{\frac{a}{y}}\\
\mathbf{if}\;z \leq -1.2 \cdot 10^{+113}:\\
\;\;\;\;y + x\\
\mathbf{elif}\;z \leq -7.5 \cdot 10^{-5}:\\
\;\;\;\;x - t \cdot \frac{y}{z}\\
\mathbf{elif}\;z \leq -5.2 \cdot 10^{-56}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq -6.4 \cdot 10^{-82}:\\
\;\;\;\;\frac{y \cdot t}{a - z}\\
\mathbf{elif}\;z \leq 4 \cdot 10^{-157}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq 2 \cdot 10^{-70}:\\
\;\;\;\;y \cdot \frac{t}{a - z}\\
\mathbf{elif}\;z \leq 2.8 \cdot 10^{+36}:\\
\;\;\;\;x + t \cdot \frac{y}{a}\\
\mathbf{else}:\\
\;\;\;\;y + x\\
\end{array}
\end{array}
if z < -1.19999999999999992e113 or 2.8000000000000001e36 < z Initial program 75.9%
Taylor expanded in z around inf 82.9%
+-commutative82.9%
Simplified82.9%
if -1.19999999999999992e113 < z < -7.49999999999999934e-5Initial program 86.8%
Taylor expanded in a around 0 68.9%
+-commutative68.9%
associate-/l*69.3%
Simplified69.3%
Taylor expanded in z around 0 65.9%
associate-*r/65.9%
neg-mul-165.9%
distribute-lft-neg-in65.9%
Simplified65.9%
Taylor expanded in t around 0 65.9%
neg-mul-165.9%
sub-neg65.9%
associate-*r/66.1%
Simplified66.1%
if -7.49999999999999934e-5 < z < -5.19999999999999994e-56 or -6.4000000000000002e-82 < z < 3.99999999999999977e-157Initial program 92.3%
Taylor expanded in z around 0 83.7%
+-commutative83.7%
associate-/l*87.6%
Simplified87.6%
clear-num87.7%
un-div-inv89.0%
Applied egg-rr89.0%
if -5.19999999999999994e-56 < z < -6.4000000000000002e-82Initial program 99.5%
Taylor expanded in y around inf 67.9%
associate--l+67.9%
div-sub67.9%
Simplified67.9%
Taylor expanded in t around inf 52.1%
associate-*r/52.1%
neg-mul-152.1%
Simplified52.1%
associate-*r/73.2%
frac-2neg73.2%
add-sqr-sqrt44.8%
sqrt-unprod24.0%
sqr-neg24.0%
sqrt-unprod0.2%
add-sqr-sqrt1.5%
distribute-rgt-neg-out1.5%
add-sqr-sqrt1.2%
sqrt-unprod29.4%
sqr-neg29.4%
sqrt-unprod28.3%
add-sqr-sqrt73.2%
Applied egg-rr73.2%
if 3.99999999999999977e-157 < z < 1.99999999999999999e-70Initial program 91.5%
Taylor expanded in y around inf 99.9%
associate--l+99.9%
div-sub99.9%
Simplified99.9%
Taylor expanded in t around inf 81.9%
associate-*r/81.9%
neg-mul-181.9%
Simplified81.9%
if 1.99999999999999999e-70 < z < 2.8000000000000001e36Initial program 95.6%
Taylor expanded in z around 0 71.9%
+-commutative71.9%
associate-/l*76.3%
Simplified76.3%
Final simplification82.7%
(FPCore (x y z t a)
:precision binary64
(if (<= z -1.9e+112)
(+ y x)
(if (<= z -6.6e-10)
(- x (* t (/ y z)))
(if (<= z -5.2e-56)
(* y (+ (/ x y) (/ t a)))
(if (<= z -6.4e-82)
(/ (* y t) (- a z))
(if (<= z 4e-157)
(+ x (/ t (/ a y)))
(if (<= z 1e-70)
(* y (/ t (- a z)))
(if (<= z 1.5e+37) (+ x (* t (/ y a))) (+ y x)))))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -1.9e+112) {
tmp = y + x;
} else if (z <= -6.6e-10) {
tmp = x - (t * (y / z));
} else if (z <= -5.2e-56) {
tmp = y * ((x / y) + (t / a));
} else if (z <= -6.4e-82) {
tmp = (y * t) / (a - z);
} else if (z <= 4e-157) {
tmp = x + (t / (a / y));
} else if (z <= 1e-70) {
tmp = y * (t / (a - z));
} else if (z <= 1.5e+37) {
tmp = x + (t * (y / a));
} else {
tmp = y + 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 (z <= (-1.9d+112)) then
tmp = y + x
else if (z <= (-6.6d-10)) then
tmp = x - (t * (y / z))
else if (z <= (-5.2d-56)) then
tmp = y * ((x / y) + (t / a))
else if (z <= (-6.4d-82)) then
tmp = (y * t) / (a - z)
else if (z <= 4d-157) then
tmp = x + (t / (a / y))
else if (z <= 1d-70) then
tmp = y * (t / (a - z))
else if (z <= 1.5d+37) then
tmp = x + (t * (y / a))
else
tmp = y + x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -1.9e+112) {
tmp = y + x;
} else if (z <= -6.6e-10) {
tmp = x - (t * (y / z));
} else if (z <= -5.2e-56) {
tmp = y * ((x / y) + (t / a));
} else if (z <= -6.4e-82) {
tmp = (y * t) / (a - z);
} else if (z <= 4e-157) {
tmp = x + (t / (a / y));
} else if (z <= 1e-70) {
tmp = y * (t / (a - z));
} else if (z <= 1.5e+37) {
tmp = x + (t * (y / a));
} else {
tmp = y + x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -1.9e+112: tmp = y + x elif z <= -6.6e-10: tmp = x - (t * (y / z)) elif z <= -5.2e-56: tmp = y * ((x / y) + (t / a)) elif z <= -6.4e-82: tmp = (y * t) / (a - z) elif z <= 4e-157: tmp = x + (t / (a / y)) elif z <= 1e-70: tmp = y * (t / (a - z)) elif z <= 1.5e+37: tmp = x + (t * (y / a)) else: tmp = y + x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -1.9e+112) tmp = Float64(y + x); elseif (z <= -6.6e-10) tmp = Float64(x - Float64(t * Float64(y / z))); elseif (z <= -5.2e-56) tmp = Float64(y * Float64(Float64(x / y) + Float64(t / a))); elseif (z <= -6.4e-82) tmp = Float64(Float64(y * t) / Float64(a - z)); elseif (z <= 4e-157) tmp = Float64(x + Float64(t / Float64(a / y))); elseif (z <= 1e-70) tmp = Float64(y * Float64(t / Float64(a - z))); elseif (z <= 1.5e+37) tmp = Float64(x + Float64(t * Float64(y / a))); else tmp = Float64(y + x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -1.9e+112) tmp = y + x; elseif (z <= -6.6e-10) tmp = x - (t * (y / z)); elseif (z <= -5.2e-56) tmp = y * ((x / y) + (t / a)); elseif (z <= -6.4e-82) tmp = (y * t) / (a - z); elseif (z <= 4e-157) tmp = x + (t / (a / y)); elseif (z <= 1e-70) tmp = y * (t / (a - z)); elseif (z <= 1.5e+37) tmp = x + (t * (y / a)); else tmp = y + x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -1.9e+112], N[(y + x), $MachinePrecision], If[LessEqual[z, -6.6e-10], N[(x - N[(t * N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -5.2e-56], N[(y * N[(N[(x / y), $MachinePrecision] + N[(t / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -6.4e-82], N[(N[(y * t), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 4e-157], N[(x + N[(t / N[(a / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1e-70], N[(y * N[(t / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1.5e+37], N[(x + N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y + x), $MachinePrecision]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -1.9 \cdot 10^{+112}:\\
\;\;\;\;y + x\\
\mathbf{elif}\;z \leq -6.6 \cdot 10^{-10}:\\
\;\;\;\;x - t \cdot \frac{y}{z}\\
\mathbf{elif}\;z \leq -5.2 \cdot 10^{-56}:\\
\;\;\;\;y \cdot \left(\frac{x}{y} + \frac{t}{a}\right)\\
\mathbf{elif}\;z \leq -6.4 \cdot 10^{-82}:\\
\;\;\;\;\frac{y \cdot t}{a - z}\\
\mathbf{elif}\;z \leq 4 \cdot 10^{-157}:\\
\;\;\;\;x + \frac{t}{\frac{a}{y}}\\
\mathbf{elif}\;z \leq 10^{-70}:\\
\;\;\;\;y \cdot \frac{t}{a - z}\\
\mathbf{elif}\;z \leq 1.5 \cdot 10^{+37}:\\
\;\;\;\;x + t \cdot \frac{y}{a}\\
\mathbf{else}:\\
\;\;\;\;y + x\\
\end{array}
\end{array}
if z < -1.90000000000000004e112 or 1.50000000000000011e37 < z Initial program 75.9%
Taylor expanded in z around inf 82.9%
+-commutative82.9%
Simplified82.9%
if -1.90000000000000004e112 < z < -6.6e-10Initial program 86.8%
Taylor expanded in a around 0 68.9%
+-commutative68.9%
associate-/l*69.3%
Simplified69.3%
Taylor expanded in z around 0 65.9%
associate-*r/65.9%
neg-mul-165.9%
distribute-lft-neg-in65.9%
Simplified65.9%
Taylor expanded in t around 0 65.9%
neg-mul-165.9%
sub-neg65.9%
associate-*r/66.1%
Simplified66.1%
if -6.6e-10 < z < -5.19999999999999994e-56Initial program 84.2%
Taylor expanded in z around 0 67.6%
+-commutative67.6%
associate-/l*83.1%
Simplified83.1%
Taylor expanded in y around inf 83.4%
+-commutative83.4%
Simplified83.4%
if -5.19999999999999994e-56 < z < -6.4000000000000002e-82Initial program 99.5%
Taylor expanded in y around inf 67.9%
associate--l+67.9%
div-sub67.9%
Simplified67.9%
Taylor expanded in t around inf 52.1%
associate-*r/52.1%
neg-mul-152.1%
Simplified52.1%
associate-*r/73.2%
frac-2neg73.2%
add-sqr-sqrt44.8%
sqrt-unprod24.0%
sqr-neg24.0%
sqrt-unprod0.2%
add-sqr-sqrt1.5%
distribute-rgt-neg-out1.5%
add-sqr-sqrt1.2%
sqrt-unprod29.4%
sqr-neg29.4%
sqrt-unprod28.3%
add-sqr-sqrt73.2%
Applied egg-rr73.2%
if -6.4000000000000002e-82 < z < 3.99999999999999977e-157Initial program 92.9%
Taylor expanded in z around 0 84.8%
+-commutative84.8%
associate-/l*87.9%
Simplified87.9%
clear-num88.0%
un-div-inv89.4%
Applied egg-rr89.4%
if 3.99999999999999977e-157 < z < 9.99999999999999996e-71Initial program 91.5%
Taylor expanded in y around inf 99.9%
associate--l+99.9%
div-sub99.9%
Simplified99.9%
Taylor expanded in t around inf 81.9%
associate-*r/81.9%
neg-mul-181.9%
Simplified81.9%
if 9.99999999999999996e-71 < z < 1.50000000000000011e37Initial program 95.6%
Taylor expanded in z around 0 71.9%
+-commutative71.9%
associate-/l*76.3%
Simplified76.3%
Final simplification82.7%
(FPCore (x y z t a)
:precision binary64
(if (<= z -4.4e+46)
(+ y x)
(if (<= z -1.02e-78)
(* (- z t) (/ y (- z a)))
(if (<= z -7.5e-97)
(- x (* t (/ y z)))
(if (<= z 4e-157)
(+ x (/ t (/ a y)))
(if (<= z 1e-70)
(* y (/ t (- a z)))
(if (<= z 1.16e+37) (+ x (* t (/ y a))) (+ y x))))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -4.4e+46) {
tmp = y + x;
} else if (z <= -1.02e-78) {
tmp = (z - t) * (y / (z - a));
} else if (z <= -7.5e-97) {
tmp = x - (t * (y / z));
} else if (z <= 4e-157) {
tmp = x + (t / (a / y));
} else if (z <= 1e-70) {
tmp = y * (t / (a - z));
} else if (z <= 1.16e+37) {
tmp = x + (t * (y / a));
} else {
tmp = y + 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 (z <= (-4.4d+46)) then
tmp = y + x
else if (z <= (-1.02d-78)) then
tmp = (z - t) * (y / (z - a))
else if (z <= (-7.5d-97)) then
tmp = x - (t * (y / z))
else if (z <= 4d-157) then
tmp = x + (t / (a / y))
else if (z <= 1d-70) then
tmp = y * (t / (a - z))
else if (z <= 1.16d+37) then
tmp = x + (t * (y / a))
else
tmp = y + x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -4.4e+46) {
tmp = y + x;
} else if (z <= -1.02e-78) {
tmp = (z - t) * (y / (z - a));
} else if (z <= -7.5e-97) {
tmp = x - (t * (y / z));
} else if (z <= 4e-157) {
tmp = x + (t / (a / y));
} else if (z <= 1e-70) {
tmp = y * (t / (a - z));
} else if (z <= 1.16e+37) {
tmp = x + (t * (y / a));
} else {
tmp = y + x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -4.4e+46: tmp = y + x elif z <= -1.02e-78: tmp = (z - t) * (y / (z - a)) elif z <= -7.5e-97: tmp = x - (t * (y / z)) elif z <= 4e-157: tmp = x + (t / (a / y)) elif z <= 1e-70: tmp = y * (t / (a - z)) elif z <= 1.16e+37: tmp = x + (t * (y / a)) else: tmp = y + x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -4.4e+46) tmp = Float64(y + x); elseif (z <= -1.02e-78) tmp = Float64(Float64(z - t) * Float64(y / Float64(z - a))); elseif (z <= -7.5e-97) tmp = Float64(x - Float64(t * Float64(y / z))); elseif (z <= 4e-157) tmp = Float64(x + Float64(t / Float64(a / y))); elseif (z <= 1e-70) tmp = Float64(y * Float64(t / Float64(a - z))); elseif (z <= 1.16e+37) tmp = Float64(x + Float64(t * Float64(y / a))); else tmp = Float64(y + x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -4.4e+46) tmp = y + x; elseif (z <= -1.02e-78) tmp = (z - t) * (y / (z - a)); elseif (z <= -7.5e-97) tmp = x - (t * (y / z)); elseif (z <= 4e-157) tmp = x + (t / (a / y)); elseif (z <= 1e-70) tmp = y * (t / (a - z)); elseif (z <= 1.16e+37) tmp = x + (t * (y / a)); else tmp = y + x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -4.4e+46], N[(y + x), $MachinePrecision], If[LessEqual[z, -1.02e-78], N[(N[(z - t), $MachinePrecision] * N[(y / N[(z - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -7.5e-97], N[(x - N[(t * N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 4e-157], N[(x + N[(t / N[(a / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1e-70], N[(y * N[(t / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1.16e+37], N[(x + N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y + x), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -4.4 \cdot 10^{+46}:\\
\;\;\;\;y + x\\
\mathbf{elif}\;z \leq -1.02 \cdot 10^{-78}:\\
\;\;\;\;\left(z - t\right) \cdot \frac{y}{z - a}\\
\mathbf{elif}\;z \leq -7.5 \cdot 10^{-97}:\\
\;\;\;\;x - t \cdot \frac{y}{z}\\
\mathbf{elif}\;z \leq 4 \cdot 10^{-157}:\\
\;\;\;\;x + \frac{t}{\frac{a}{y}}\\
\mathbf{elif}\;z \leq 10^{-70}:\\
\;\;\;\;y \cdot \frac{t}{a - z}\\
\mathbf{elif}\;z \leq 1.16 \cdot 10^{+37}:\\
\;\;\;\;x + t \cdot \frac{y}{a}\\
\mathbf{else}:\\
\;\;\;\;y + x\\
\end{array}
\end{array}
if z < -4.4000000000000001e46 or 1.16e37 < z Initial program 78.0%
Taylor expanded in z around inf 80.0%
+-commutative80.0%
Simplified80.0%
if -4.4000000000000001e46 < z < -1.02e-78Initial program 85.6%
Taylor expanded in x around 0 56.6%
associate-*l/70.9%
Simplified70.9%
if -1.02e-78 < z < -7.5e-97Initial program 99.6%
Taylor expanded in a around 0 99.6%
+-commutative99.6%
associate-/l*99.8%
Simplified99.8%
Taylor expanded in z around 0 99.6%
associate-*r/99.6%
neg-mul-199.6%
distribute-lft-neg-in99.6%
Simplified99.6%
Taylor expanded in t around 0 99.6%
neg-mul-199.6%
sub-neg99.6%
associate-*r/100.0%
Simplified100.0%
if -7.5e-97 < z < 3.99999999999999977e-157Initial program 92.5%
Taylor expanded in z around 0 84.1%
+-commutative84.1%
associate-/l*87.3%
Simplified87.3%
clear-num87.4%
un-div-inv88.9%
Applied egg-rr88.9%
if 3.99999999999999977e-157 < z < 9.99999999999999996e-71Initial program 91.5%
Taylor expanded in y around inf 99.9%
associate--l+99.9%
div-sub99.9%
Simplified99.9%
Taylor expanded in t around inf 81.9%
associate-*r/81.9%
neg-mul-181.9%
Simplified81.9%
if 9.99999999999999996e-71 < z < 1.16e37Initial program 95.6%
Taylor expanded in z around 0 71.9%
+-commutative71.9%
associate-/l*76.3%
Simplified76.3%
Final simplification82.5%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* y (- z t))) (t_2 (/ t_1 (- z a))))
(if (or (<= t_2 (- INFINITY)) (not (<= t_2 5e+288)))
(* (- z t) (/ y (- z a)))
(- x (/ t_1 (- a z))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = y * (z - t);
double t_2 = t_1 / (z - a);
double tmp;
if ((t_2 <= -((double) INFINITY)) || !(t_2 <= 5e+288)) {
tmp = (z - t) * (y / (z - a));
} else {
tmp = x - (t_1 / (a - z));
}
return tmp;
}
public static double code(double x, double y, double z, double t, double a) {
double t_1 = y * (z - t);
double t_2 = t_1 / (z - a);
double tmp;
if ((t_2 <= -Double.POSITIVE_INFINITY) || !(t_2 <= 5e+288)) {
tmp = (z - t) * (y / (z - a));
} else {
tmp = x - (t_1 / (a - z));
}
return tmp;
}
def code(x, y, z, t, a): t_1 = y * (z - t) t_2 = t_1 / (z - a) tmp = 0 if (t_2 <= -math.inf) or not (t_2 <= 5e+288): tmp = (z - t) * (y / (z - a)) else: tmp = x - (t_1 / (a - z)) return tmp
function code(x, y, z, t, a) t_1 = Float64(y * Float64(z - t)) t_2 = Float64(t_1 / Float64(z - a)) tmp = 0.0 if ((t_2 <= Float64(-Inf)) || !(t_2 <= 5e+288)) tmp = Float64(Float64(z - t) * Float64(y / Float64(z - a))); else tmp = Float64(x - Float64(t_1 / Float64(a - z))); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = y * (z - t); t_2 = t_1 / (z - a); tmp = 0.0; if ((t_2 <= -Inf) || ~((t_2 <= 5e+288))) tmp = (z - t) * (y / (z - a)); else tmp = x - (t_1 / (a - z)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(y * N[(z - t), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t$95$1 / N[(z - a), $MachinePrecision]), $MachinePrecision]}, If[Or[LessEqual[t$95$2, (-Infinity)], N[Not[LessEqual[t$95$2, 5e+288]], $MachinePrecision]], N[(N[(z - t), $MachinePrecision] * N[(y / N[(z - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x - N[(t$95$1 / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \left(z - t\right)\\
t_2 := \frac{t\_1}{z - a}\\
\mathbf{if}\;t\_2 \leq -\infty \lor \neg \left(t\_2 \leq 5 \cdot 10^{+288}\right):\\
\;\;\;\;\left(z - t\right) \cdot \frac{y}{z - a}\\
\mathbf{else}:\\
\;\;\;\;x - \frac{t\_1}{a - z}\\
\end{array}
\end{array}
if (/.f64 (*.f64 y (-.f64 z t)) (-.f64 z a)) < -inf.0 or 5.0000000000000003e288 < (/.f64 (*.f64 y (-.f64 z t)) (-.f64 z a)) Initial program 43.3%
Taylor expanded in x around 0 43.3%
associate-*l/84.6%
Simplified84.6%
if -inf.0 < (/.f64 (*.f64 y (-.f64 z t)) (-.f64 z a)) < 5.0000000000000003e288Initial program 99.5%
Final simplification96.0%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* y (- z t))) (t_2 (/ t_1 (- z a))))
(if (or (<= t_2 (- INFINITY)) (not (<= t_2 5e+288)))
(+ x (/ (- z t) (/ (- z a) y)))
(- x (/ t_1 (- a z))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = y * (z - t);
double t_2 = t_1 / (z - a);
double tmp;
if ((t_2 <= -((double) INFINITY)) || !(t_2 <= 5e+288)) {
tmp = x + ((z - t) / ((z - a) / y));
} else {
tmp = x - (t_1 / (a - z));
}
return tmp;
}
public static double code(double x, double y, double z, double t, double a) {
double t_1 = y * (z - t);
double t_2 = t_1 / (z - a);
double tmp;
if ((t_2 <= -Double.POSITIVE_INFINITY) || !(t_2 <= 5e+288)) {
tmp = x + ((z - t) / ((z - a) / y));
} else {
tmp = x - (t_1 / (a - z));
}
return tmp;
}
def code(x, y, z, t, a): t_1 = y * (z - t) t_2 = t_1 / (z - a) tmp = 0 if (t_2 <= -math.inf) or not (t_2 <= 5e+288): tmp = x + ((z - t) / ((z - a) / y)) else: tmp = x - (t_1 / (a - z)) return tmp
function code(x, y, z, t, a) t_1 = Float64(y * Float64(z - t)) t_2 = Float64(t_1 / Float64(z - a)) tmp = 0.0 if ((t_2 <= Float64(-Inf)) || !(t_2 <= 5e+288)) tmp = Float64(x + Float64(Float64(z - t) / Float64(Float64(z - a) / y))); else tmp = Float64(x - Float64(t_1 / Float64(a - z))); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = y * (z - t); t_2 = t_1 / (z - a); tmp = 0.0; if ((t_2 <= -Inf) || ~((t_2 <= 5e+288))) tmp = x + ((z - t) / ((z - a) / y)); else tmp = x - (t_1 / (a - z)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(y * N[(z - t), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t$95$1 / N[(z - a), $MachinePrecision]), $MachinePrecision]}, If[Or[LessEqual[t$95$2, (-Infinity)], N[Not[LessEqual[t$95$2, 5e+288]], $MachinePrecision]], N[(x + N[(N[(z - t), $MachinePrecision] / N[(N[(z - a), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x - N[(t$95$1 / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \left(z - t\right)\\
t_2 := \frac{t\_1}{z - a}\\
\mathbf{if}\;t\_2 \leq -\infty \lor \neg \left(t\_2 \leq 5 \cdot 10^{+288}\right):\\
\;\;\;\;x + \frac{z - t}{\frac{z - a}{y}}\\
\mathbf{else}:\\
\;\;\;\;x - \frac{t\_1}{a - z}\\
\end{array}
\end{array}
if (/.f64 (*.f64 y (-.f64 z t)) (-.f64 z a)) < -inf.0 or 5.0000000000000003e288 < (/.f64 (*.f64 y (-.f64 z t)) (-.f64 z a)) Initial program 43.3%
clear-num43.3%
inv-pow43.3%
Applied egg-rr43.3%
unpow-143.3%
associate-/r*99.8%
Simplified99.8%
clear-num99.9%
add-cube-cbrt99.2%
*-un-lft-identity99.2%
times-frac99.2%
pow299.2%
Applied egg-rr99.2%
times-frac99.2%
unpow299.2%
rem-3cbrt-lft99.9%
*-lft-identity99.9%
Simplified99.9%
if -inf.0 < (/.f64 (*.f64 y (-.f64 z t)) (-.f64 z a)) < 5.0000000000000003e288Initial program 99.5%
Final simplification99.6%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* y (- z t))) (t_2 (/ t_1 (- z a))))
(if (<= t_2 (- INFINITY))
(* y (+ (/ (- z t) (- z a)) (/ x y)))
(if (<= t_2 5e+288)
(- x (/ t_1 (- a z)))
(+ x (/ (- z t) (/ (- z a) y)))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = y * (z - t);
double t_2 = t_1 / (z - a);
double tmp;
if (t_2 <= -((double) INFINITY)) {
tmp = y * (((z - t) / (z - a)) + (x / y));
} else if (t_2 <= 5e+288) {
tmp = x - (t_1 / (a - z));
} else {
tmp = x + ((z - t) / ((z - a) / y));
}
return tmp;
}
public static double code(double x, double y, double z, double t, double a) {
double t_1 = y * (z - t);
double t_2 = t_1 / (z - a);
double tmp;
if (t_2 <= -Double.POSITIVE_INFINITY) {
tmp = y * (((z - t) / (z - a)) + (x / y));
} else if (t_2 <= 5e+288) {
tmp = x - (t_1 / (a - z));
} else {
tmp = x + ((z - t) / ((z - a) / y));
}
return tmp;
}
def code(x, y, z, t, a): t_1 = y * (z - t) t_2 = t_1 / (z - a) tmp = 0 if t_2 <= -math.inf: tmp = y * (((z - t) / (z - a)) + (x / y)) elif t_2 <= 5e+288: tmp = x - (t_1 / (a - z)) else: tmp = x + ((z - t) / ((z - a) / y)) return tmp
function code(x, y, z, t, a) t_1 = Float64(y * Float64(z - t)) t_2 = Float64(t_1 / Float64(z - a)) tmp = 0.0 if (t_2 <= Float64(-Inf)) tmp = Float64(y * Float64(Float64(Float64(z - t) / Float64(z - a)) + Float64(x / y))); elseif (t_2 <= 5e+288) tmp = Float64(x - Float64(t_1 / Float64(a - z))); else tmp = Float64(x + Float64(Float64(z - t) / Float64(Float64(z - a) / y))); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = y * (z - t); t_2 = t_1 / (z - a); tmp = 0.0; if (t_2 <= -Inf) tmp = y * (((z - t) / (z - a)) + (x / y)); elseif (t_2 <= 5e+288) tmp = x - (t_1 / (a - z)); else tmp = x + ((z - t) / ((z - a) / y)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(y * N[(z - t), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t$95$1 / N[(z - a), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$2, (-Infinity)], N[(y * N[(N[(N[(z - t), $MachinePrecision] / N[(z - a), $MachinePrecision]), $MachinePrecision] + N[(x / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$2, 5e+288], N[(x - N[(t$95$1 / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x + N[(N[(z - t), $MachinePrecision] / N[(N[(z - a), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \left(z - t\right)\\
t_2 := \frac{t\_1}{z - a}\\
\mathbf{if}\;t\_2 \leq -\infty:\\
\;\;\;\;y \cdot \left(\frac{z - t}{z - a} + \frac{x}{y}\right)\\
\mathbf{elif}\;t\_2 \leq 5 \cdot 10^{+288}:\\
\;\;\;\;x - \frac{t\_1}{a - z}\\
\mathbf{else}:\\
\;\;\;\;x + \frac{z - t}{\frac{z - a}{y}}\\
\end{array}
\end{array}
if (/.f64 (*.f64 y (-.f64 z t)) (-.f64 z a)) < -inf.0Initial program 52.8%
Taylor expanded in y around inf 99.9%
associate--l+99.9%
div-sub99.9%
Simplified99.9%
if -inf.0 < (/.f64 (*.f64 y (-.f64 z t)) (-.f64 z a)) < 5.0000000000000003e288Initial program 99.5%
if 5.0000000000000003e288 < (/.f64 (*.f64 y (-.f64 z t)) (-.f64 z a)) Initial program 36.2%
clear-num36.2%
inv-pow36.2%
Applied egg-rr36.2%
unpow-136.2%
associate-/r*99.8%
Simplified99.8%
clear-num99.9%
add-cube-cbrt99.1%
*-un-lft-identity99.1%
times-frac99.0%
pow299.0%
Applied egg-rr99.0%
times-frac99.1%
unpow299.1%
rem-3cbrt-lft99.9%
*-lft-identity99.9%
Simplified99.9%
Final simplification99.6%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (/ (- z t) (/ z y)))) (t_2 (+ x (* t (/ y a)))))
(if (<= a -1.5e-13)
t_2
(if (<= a -6.2e-65)
t_1
(if (<= a -1.05e-111)
(+ x (/ (* y t) a))
(if (<= a 1.6e-32) t_1 t_2))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((z - t) / (z / y));
double t_2 = x + (t * (y / a));
double tmp;
if (a <= -1.5e-13) {
tmp = t_2;
} else if (a <= -6.2e-65) {
tmp = t_1;
} else if (a <= -1.05e-111) {
tmp = x + ((y * t) / a);
} else if (a <= 1.6e-32) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = x + ((z - t) / (z / y))
t_2 = x + (t * (y / a))
if (a <= (-1.5d-13)) then
tmp = t_2
else if (a <= (-6.2d-65)) then
tmp = t_1
else if (a <= (-1.05d-111)) then
tmp = x + ((y * t) / a)
else if (a <= 1.6d-32) then
tmp = t_1
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((z - t) / (z / y));
double t_2 = x + (t * (y / a));
double tmp;
if (a <= -1.5e-13) {
tmp = t_2;
} else if (a <= -6.2e-65) {
tmp = t_1;
} else if (a <= -1.05e-111) {
tmp = x + ((y * t) / a);
} else if (a <= 1.6e-32) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((z - t) / (z / y)) t_2 = x + (t * (y / a)) tmp = 0 if a <= -1.5e-13: tmp = t_2 elif a <= -6.2e-65: tmp = t_1 elif a <= -1.05e-111: tmp = x + ((y * t) / a) elif a <= 1.6e-32: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(z - t) / Float64(z / y))) t_2 = Float64(x + Float64(t * Float64(y / a))) tmp = 0.0 if (a <= -1.5e-13) tmp = t_2; elseif (a <= -6.2e-65) tmp = t_1; elseif (a <= -1.05e-111) tmp = Float64(x + Float64(Float64(y * t) / a)); elseif (a <= 1.6e-32) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + ((z - t) / (z / y)); t_2 = x + (t * (y / a)); tmp = 0.0; if (a <= -1.5e-13) tmp = t_2; elseif (a <= -6.2e-65) tmp = t_1; elseif (a <= -1.05e-111) tmp = x + ((y * t) / a); elseif (a <= 1.6e-32) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(z - t), $MachinePrecision] / N[(z / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x + N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -1.5e-13], t$95$2, If[LessEqual[a, -6.2e-65], t$95$1, If[LessEqual[a, -1.05e-111], N[(x + N[(N[(y * t), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.6e-32], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{z - t}{\frac{z}{y}}\\
t_2 := x + t \cdot \frac{y}{a}\\
\mathbf{if}\;a \leq -1.5 \cdot 10^{-13}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;a \leq -6.2 \cdot 10^{-65}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq -1.05 \cdot 10^{-111}:\\
\;\;\;\;x + \frac{y \cdot t}{a}\\
\mathbf{elif}\;a \leq 1.6 \cdot 10^{-32}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if a < -1.49999999999999992e-13 or 1.6000000000000001e-32 < a Initial program 86.6%
Taylor expanded in z around 0 74.8%
+-commutative74.8%
associate-/l*83.2%
Simplified83.2%
if -1.49999999999999992e-13 < a < -6.20000000000000032e-65 or -1.0499999999999999e-111 < a < 1.6000000000000001e-32Initial program 84.4%
clear-num84.4%
inv-pow84.4%
Applied egg-rr84.4%
unpow-184.4%
associate-/r*93.6%
Simplified93.6%
clear-num93.6%
add-cube-cbrt92.9%
*-un-lft-identity92.9%
times-frac92.9%
pow292.9%
Applied egg-rr92.9%
times-frac92.9%
unpow292.9%
rem-3cbrt-lft93.6%
*-lft-identity93.6%
Simplified93.6%
Taylor expanded in z around inf 84.2%
if -6.20000000000000032e-65 < a < -1.0499999999999999e-111Initial program 99.8%
Taylor expanded in z around 0 86.8%
Final simplification83.7%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* t (/ y a)))))
(if (<= a -1.16e-10)
t_1
(if (<= a -5e-65)
(+ x (/ (- z t) (/ z y)))
(if (<= a -6.8e-112)
(+ x (/ (* y t) a))
(if (<= a 1.1e-31) (+ x (* y (/ (- z t) z))) t_1))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (t * (y / a));
double tmp;
if (a <= -1.16e-10) {
tmp = t_1;
} else if (a <= -5e-65) {
tmp = x + ((z - t) / (z / y));
} else if (a <= -6.8e-112) {
tmp = x + ((y * t) / a);
} else if (a <= 1.1e-31) {
tmp = x + (y * ((z - t) / 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 + (t * (y / a))
if (a <= (-1.16d-10)) then
tmp = t_1
else if (a <= (-5d-65)) then
tmp = x + ((z - t) / (z / y))
else if (a <= (-6.8d-112)) then
tmp = x + ((y * t) / a)
else if (a <= 1.1d-31) then
tmp = x + (y * ((z - t) / 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 + (t * (y / a));
double tmp;
if (a <= -1.16e-10) {
tmp = t_1;
} else if (a <= -5e-65) {
tmp = x + ((z - t) / (z / y));
} else if (a <= -6.8e-112) {
tmp = x + ((y * t) / a);
} else if (a <= 1.1e-31) {
tmp = x + (y * ((z - t) / z));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (t * (y / a)) tmp = 0 if a <= -1.16e-10: tmp = t_1 elif a <= -5e-65: tmp = x + ((z - t) / (z / y)) elif a <= -6.8e-112: tmp = x + ((y * t) / a) elif a <= 1.1e-31: tmp = x + (y * ((z - t) / z)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(t * Float64(y / a))) tmp = 0.0 if (a <= -1.16e-10) tmp = t_1; elseif (a <= -5e-65) tmp = Float64(x + Float64(Float64(z - t) / Float64(z / y))); elseif (a <= -6.8e-112) tmp = Float64(x + Float64(Float64(y * t) / a)); elseif (a <= 1.1e-31) tmp = Float64(x + Float64(y * Float64(Float64(z - t) / z))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + (t * (y / a)); tmp = 0.0; if (a <= -1.16e-10) tmp = t_1; elseif (a <= -5e-65) tmp = x + ((z - t) / (z / y)); elseif (a <= -6.8e-112) tmp = x + ((y * t) / a); elseif (a <= 1.1e-31) tmp = x + (y * ((z - t) / z)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -1.16e-10], t$95$1, If[LessEqual[a, -5e-65], N[(x + N[(N[(z - t), $MachinePrecision] / N[(z / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -6.8e-112], N[(x + N[(N[(y * t), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.1e-31], N[(x + N[(y * N[(N[(z - t), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + t \cdot \frac{y}{a}\\
\mathbf{if}\;a \leq -1.16 \cdot 10^{-10}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq -5 \cdot 10^{-65}:\\
\;\;\;\;x + \frac{z - t}{\frac{z}{y}}\\
\mathbf{elif}\;a \leq -6.8 \cdot 10^{-112}:\\
\;\;\;\;x + \frac{y \cdot t}{a}\\
\mathbf{elif}\;a \leq 1.1 \cdot 10^{-31}:\\
\;\;\;\;x + y \cdot \frac{z - t}{z}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if a < -1.16e-10 or 1.10000000000000005e-31 < a Initial program 86.6%
Taylor expanded in z around 0 74.8%
+-commutative74.8%
associate-/l*83.2%
Simplified83.2%
if -1.16e-10 < a < -4.99999999999999983e-65Initial program 74.9%
clear-num74.9%
inv-pow74.9%
Applied egg-rr74.9%
unpow-174.9%
associate-/r*99.8%
Simplified99.8%
clear-num99.9%
add-cube-cbrt98.9%
*-un-lft-identity98.9%
times-frac98.9%
pow298.9%
Applied egg-rr98.9%
times-frac98.9%
unpow298.9%
rem-3cbrt-lft99.9%
*-lft-identity99.9%
Simplified99.9%
Taylor expanded in z around inf 83.9%
if -4.99999999999999983e-65 < a < -6.7999999999999996e-112Initial program 99.8%
Taylor expanded in z around 0 86.8%
if -6.7999999999999996e-112 < a < 1.10000000000000005e-31Initial program 85.9%
Taylor expanded in a around 0 76.6%
+-commutative76.6%
associate-/l*87.2%
Simplified87.2%
Final simplification84.9%
(FPCore (x y z t a)
:precision binary64
(if (<= a -1.12e-13)
(+ x (/ 1.0 (/ (/ a y) t)))
(if (<= a -1.8e-64)
(+ x (/ (- z t) (/ z y)))
(if (<= a -1.1e-111)
(+ x (/ (* y t) a))
(if (<= a 3.5e-32) (+ x (* y (/ (- z t) z))) (+ x (* t (/ y a))))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -1.12e-13) {
tmp = x + (1.0 / ((a / y) / t));
} else if (a <= -1.8e-64) {
tmp = x + ((z - t) / (z / y));
} else if (a <= -1.1e-111) {
tmp = x + ((y * t) / a);
} else if (a <= 3.5e-32) {
tmp = x + (y * ((z - t) / z));
} else {
tmp = x + (t * (y / a));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (a <= (-1.12d-13)) then
tmp = x + (1.0d0 / ((a / y) / t))
else if (a <= (-1.8d-64)) then
tmp = x + ((z - t) / (z / y))
else if (a <= (-1.1d-111)) then
tmp = x + ((y * t) / a)
else if (a <= 3.5d-32) then
tmp = x + (y * ((z - t) / z))
else
tmp = x + (t * (y / a))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -1.12e-13) {
tmp = x + (1.0 / ((a / y) / t));
} else if (a <= -1.8e-64) {
tmp = x + ((z - t) / (z / y));
} else if (a <= -1.1e-111) {
tmp = x + ((y * t) / a);
} else if (a <= 3.5e-32) {
tmp = x + (y * ((z - t) / z));
} else {
tmp = x + (t * (y / a));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -1.12e-13: tmp = x + (1.0 / ((a / y) / t)) elif a <= -1.8e-64: tmp = x + ((z - t) / (z / y)) elif a <= -1.1e-111: tmp = x + ((y * t) / a) elif a <= 3.5e-32: tmp = x + (y * ((z - t) / z)) else: tmp = x + (t * (y / a)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -1.12e-13) tmp = Float64(x + Float64(1.0 / Float64(Float64(a / y) / t))); elseif (a <= -1.8e-64) tmp = Float64(x + Float64(Float64(z - t) / Float64(z / y))); elseif (a <= -1.1e-111) tmp = Float64(x + Float64(Float64(y * t) / a)); elseif (a <= 3.5e-32) tmp = Float64(x + Float64(y * Float64(Float64(z - t) / z))); else tmp = Float64(x + Float64(t * Float64(y / a))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -1.12e-13) tmp = x + (1.0 / ((a / y) / t)); elseif (a <= -1.8e-64) tmp = x + ((z - t) / (z / y)); elseif (a <= -1.1e-111) tmp = x + ((y * t) / a); elseif (a <= 3.5e-32) tmp = x + (y * ((z - t) / z)); else tmp = x + (t * (y / a)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -1.12e-13], N[(x + N[(1.0 / N[(N[(a / y), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -1.8e-64], N[(x + N[(N[(z - t), $MachinePrecision] / N[(z / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -1.1e-111], N[(x + N[(N[(y * t), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 3.5e-32], N[(x + N[(y * N[(N[(z - t), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x + N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -1.12 \cdot 10^{-13}:\\
\;\;\;\;x + \frac{1}{\frac{\frac{a}{y}}{t}}\\
\mathbf{elif}\;a \leq -1.8 \cdot 10^{-64}:\\
\;\;\;\;x + \frac{z - t}{\frac{z}{y}}\\
\mathbf{elif}\;a \leq -1.1 \cdot 10^{-111}:\\
\;\;\;\;x + \frac{y \cdot t}{a}\\
\mathbf{elif}\;a \leq 3.5 \cdot 10^{-32}:\\
\;\;\;\;x + y \cdot \frac{z - t}{z}\\
\mathbf{else}:\\
\;\;\;\;x + t \cdot \frac{y}{a}\\
\end{array}
\end{array}
if a < -1.12e-13Initial program 84.8%
Taylor expanded in z around 0 70.1%
+-commutative70.1%
associate-/l*82.0%
Simplified82.0%
clear-num82.0%
un-div-inv82.0%
Applied egg-rr82.0%
clear-num82.0%
inv-pow82.0%
Applied egg-rr82.0%
unpow-182.0%
Simplified82.0%
if -1.12e-13 < a < -1.7999999999999999e-64Initial program 74.9%
clear-num74.9%
inv-pow74.9%
Applied egg-rr74.9%
unpow-174.9%
associate-/r*99.8%
Simplified99.8%
clear-num99.9%
add-cube-cbrt98.9%
*-un-lft-identity98.9%
times-frac98.9%
pow298.9%
Applied egg-rr98.9%
times-frac98.9%
unpow298.9%
rem-3cbrt-lft99.9%
*-lft-identity99.9%
Simplified99.9%
Taylor expanded in z around inf 83.9%
if -1.7999999999999999e-64 < a < -1.1e-111Initial program 99.8%
Taylor expanded in z around 0 86.8%
if -1.1e-111 < a < 3.4999999999999999e-32Initial program 85.9%
Taylor expanded in a around 0 76.6%
+-commutative76.6%
associate-/l*87.2%
Simplified87.2%
if 3.4999999999999999e-32 < a Initial program 88.1%
Taylor expanded in z around 0 78.8%
+-commutative78.8%
associate-/l*84.2%
Simplified84.2%
Final simplification84.9%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (- x (* y (/ (- z t) a)))))
(if (<= a -6.8e-8)
t_1
(if (<= a -2.4e-65)
(+ x (/ (- z t) (/ z y)))
(if (<= a -6.8e-112)
(+ x (/ (* y t) a))
(if (<= a 4.6e-31) (+ x (* y (/ (- z t) z))) t_1))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x - (y * ((z - t) / a));
double tmp;
if (a <= -6.8e-8) {
tmp = t_1;
} else if (a <= -2.4e-65) {
tmp = x + ((z - t) / (z / y));
} else if (a <= -6.8e-112) {
tmp = x + ((y * t) / a);
} else if (a <= 4.6e-31) {
tmp = x + (y * ((z - t) / 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 - t) / a))
if (a <= (-6.8d-8)) then
tmp = t_1
else if (a <= (-2.4d-65)) then
tmp = x + ((z - t) / (z / y))
else if (a <= (-6.8d-112)) then
tmp = x + ((y * t) / a)
else if (a <= 4.6d-31) then
tmp = x + (y * ((z - t) / 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 - t) / a));
double tmp;
if (a <= -6.8e-8) {
tmp = t_1;
} else if (a <= -2.4e-65) {
tmp = x + ((z - t) / (z / y));
} else if (a <= -6.8e-112) {
tmp = x + ((y * t) / a);
} else if (a <= 4.6e-31) {
tmp = x + (y * ((z - t) / z));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x - (y * ((z - t) / a)) tmp = 0 if a <= -6.8e-8: tmp = t_1 elif a <= -2.4e-65: tmp = x + ((z - t) / (z / y)) elif a <= -6.8e-112: tmp = x + ((y * t) / a) elif a <= 4.6e-31: tmp = x + (y * ((z - t) / z)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x - Float64(y * Float64(Float64(z - t) / a))) tmp = 0.0 if (a <= -6.8e-8) tmp = t_1; elseif (a <= -2.4e-65) tmp = Float64(x + Float64(Float64(z - t) / Float64(z / y))); elseif (a <= -6.8e-112) tmp = Float64(x + Float64(Float64(y * t) / a)); elseif (a <= 4.6e-31) tmp = Float64(x + Float64(y * Float64(Float64(z - t) / z))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x - (y * ((z - t) / a)); tmp = 0.0; if (a <= -6.8e-8) tmp = t_1; elseif (a <= -2.4e-65) tmp = x + ((z - t) / (z / y)); elseif (a <= -6.8e-112) tmp = x + ((y * t) / a); elseif (a <= 4.6e-31) tmp = x + (y * ((z - t) / z)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x - N[(y * N[(N[(z - t), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -6.8e-8], t$95$1, If[LessEqual[a, -2.4e-65], N[(x + N[(N[(z - t), $MachinePrecision] / N[(z / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -6.8e-112], N[(x + N[(N[(y * t), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 4.6e-31], N[(x + N[(y * N[(N[(z - t), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x - y \cdot \frac{z - t}{a}\\
\mathbf{if}\;a \leq -6.8 \cdot 10^{-8}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq -2.4 \cdot 10^{-65}:\\
\;\;\;\;x + \frac{z - t}{\frac{z}{y}}\\
\mathbf{elif}\;a \leq -6.8 \cdot 10^{-112}:\\
\;\;\;\;x + \frac{y \cdot t}{a}\\
\mathbf{elif}\;a \leq 4.6 \cdot 10^{-31}:\\
\;\;\;\;x + y \cdot \frac{z - t}{z}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if a < -6.8e-8 or 4.5999999999999997e-31 < a Initial program 86.6%
Taylor expanded in a around inf 76.6%
mul-1-neg76.6%
unsub-neg76.6%
associate-/l*85.7%
Simplified85.7%
if -6.8e-8 < a < -2.4000000000000002e-65Initial program 74.9%
clear-num74.9%
inv-pow74.9%
Applied egg-rr74.9%
unpow-174.9%
associate-/r*99.8%
Simplified99.8%
clear-num99.9%
add-cube-cbrt98.9%
*-un-lft-identity98.9%
times-frac98.9%
pow298.9%
Applied egg-rr98.9%
times-frac98.9%
unpow298.9%
rem-3cbrt-lft99.9%
*-lft-identity99.9%
Simplified99.9%
Taylor expanded in z around inf 83.9%
if -2.4000000000000002e-65 < a < -6.7999999999999996e-112Initial program 99.8%
Taylor expanded in z around 0 86.8%
if -6.7999999999999996e-112 < a < 4.5999999999999997e-31Initial program 85.9%
Taylor expanded in a around 0 76.6%
+-commutative76.6%
associate-/l*87.2%
Simplified87.2%
Final simplification86.2%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (/ (* y t) a))))
(if (<= z -6.6e-22)
(+ y x)
(if (<= z 6.6e-157)
t_1
(if (<= z 1e-70) (* y (/ t (- z))) (if (<= z 1.95e+37) t_1 (+ y x)))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((y * t) / a);
double tmp;
if (z <= -6.6e-22) {
tmp = y + x;
} else if (z <= 6.6e-157) {
tmp = t_1;
} else if (z <= 1e-70) {
tmp = y * (t / -z);
} else if (z <= 1.95e+37) {
tmp = t_1;
} else {
tmp = y + 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 * t) / a)
if (z <= (-6.6d-22)) then
tmp = y + x
else if (z <= 6.6d-157) then
tmp = t_1
else if (z <= 1d-70) then
tmp = y * (t / -z)
else if (z <= 1.95d+37) then
tmp = t_1
else
tmp = y + 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 * t) / a);
double tmp;
if (z <= -6.6e-22) {
tmp = y + x;
} else if (z <= 6.6e-157) {
tmp = t_1;
} else if (z <= 1e-70) {
tmp = y * (t / -z);
} else if (z <= 1.95e+37) {
tmp = t_1;
} else {
tmp = y + x;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((y * t) / a) tmp = 0 if z <= -6.6e-22: tmp = y + x elif z <= 6.6e-157: tmp = t_1 elif z <= 1e-70: tmp = y * (t / -z) elif z <= 1.95e+37: tmp = t_1 else: tmp = y + x return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(y * t) / a)) tmp = 0.0 if (z <= -6.6e-22) tmp = Float64(y + x); elseif (z <= 6.6e-157) tmp = t_1; elseif (z <= 1e-70) tmp = Float64(y * Float64(t / Float64(-z))); elseif (z <= 1.95e+37) tmp = t_1; else tmp = Float64(y + x); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + ((y * t) / a); tmp = 0.0; if (z <= -6.6e-22) tmp = y + x; elseif (z <= 6.6e-157) tmp = t_1; elseif (z <= 1e-70) tmp = y * (t / -z); elseif (z <= 1.95e+37) tmp = t_1; else tmp = y + x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(y * t), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -6.6e-22], N[(y + x), $MachinePrecision], If[LessEqual[z, 6.6e-157], t$95$1, If[LessEqual[z, 1e-70], N[(y * N[(t / (-z)), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1.95e+37], t$95$1, N[(y + x), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{y \cdot t}{a}\\
\mathbf{if}\;z \leq -6.6 \cdot 10^{-22}:\\
\;\;\;\;y + x\\
\mathbf{elif}\;z \leq 6.6 \cdot 10^{-157}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;z \leq 10^{-70}:\\
\;\;\;\;y \cdot \frac{t}{-z}\\
\mathbf{elif}\;z \leq 1.95 \cdot 10^{+37}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;y + x\\
\end{array}
\end{array}
if z < -6.6000000000000002e-22 or 1.9499999999999999e37 < z Initial program 77.5%
Taylor expanded in z around inf 76.1%
+-commutative76.1%
Simplified76.1%
if -6.6000000000000002e-22 < z < 6.59999999999999998e-157 or 9.99999999999999996e-71 < z < 1.9499999999999999e37Initial program 94.1%
Taylor expanded in z around 0 80.1%
if 6.59999999999999998e-157 < z < 9.99999999999999996e-71Initial program 90.7%
Taylor expanded in y around inf 99.8%
associate--l+99.8%
div-sub99.8%
Simplified99.8%
Taylor expanded in t around inf 80.1%
associate-*r/80.1%
neg-mul-180.1%
Simplified80.1%
Taylor expanded in z around inf 70.9%
associate-*r/70.9%
mul-1-neg70.9%
Simplified70.9%
Final simplification77.8%
(FPCore (x y z t a)
:precision binary64
(if (<= z -2.35e+21)
(+ y x)
(if (<= z 6.6e-157)
(+ x (/ t (/ a y)))
(if (<= z 1e-70)
(- x (* t (/ y z)))
(if (<= z 2.8e+37) (+ x (* t (/ y a))) (+ y x))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -2.35e+21) {
tmp = y + x;
} else if (z <= 6.6e-157) {
tmp = x + (t / (a / y));
} else if (z <= 1e-70) {
tmp = x - (t * (y / z));
} else if (z <= 2.8e+37) {
tmp = x + (t * (y / a));
} else {
tmp = y + 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 (z <= (-2.35d+21)) then
tmp = y + x
else if (z <= 6.6d-157) then
tmp = x + (t / (a / y))
else if (z <= 1d-70) then
tmp = x - (t * (y / z))
else if (z <= 2.8d+37) then
tmp = x + (t * (y / a))
else
tmp = y + x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -2.35e+21) {
tmp = y + x;
} else if (z <= 6.6e-157) {
tmp = x + (t / (a / y));
} else if (z <= 1e-70) {
tmp = x - (t * (y / z));
} else if (z <= 2.8e+37) {
tmp = x + (t * (y / a));
} else {
tmp = y + x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -2.35e+21: tmp = y + x elif z <= 6.6e-157: tmp = x + (t / (a / y)) elif z <= 1e-70: tmp = x - (t * (y / z)) elif z <= 2.8e+37: tmp = x + (t * (y / a)) else: tmp = y + x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -2.35e+21) tmp = Float64(y + x); elseif (z <= 6.6e-157) tmp = Float64(x + Float64(t / Float64(a / y))); elseif (z <= 1e-70) tmp = Float64(x - Float64(t * Float64(y / z))); elseif (z <= 2.8e+37) tmp = Float64(x + Float64(t * Float64(y / a))); else tmp = Float64(y + x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -2.35e+21) tmp = y + x; elseif (z <= 6.6e-157) tmp = x + (t / (a / y)); elseif (z <= 1e-70) tmp = x - (t * (y / z)); elseif (z <= 2.8e+37) tmp = x + (t * (y / a)); else tmp = y + x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -2.35e+21], N[(y + x), $MachinePrecision], If[LessEqual[z, 6.6e-157], N[(x + N[(t / N[(a / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1e-70], N[(x - N[(t * N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 2.8e+37], N[(x + N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y + x), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -2.35 \cdot 10^{+21}:\\
\;\;\;\;y + x\\
\mathbf{elif}\;z \leq 6.6 \cdot 10^{-157}:\\
\;\;\;\;x + \frac{t}{\frac{a}{y}}\\
\mathbf{elif}\;z \leq 10^{-70}:\\
\;\;\;\;x - t \cdot \frac{y}{z}\\
\mathbf{elif}\;z \leq 2.8 \cdot 10^{+37}:\\
\;\;\;\;x + t \cdot \frac{y}{a}\\
\mathbf{else}:\\
\;\;\;\;y + x\\
\end{array}
\end{array}
if z < -2.35e21 or 2.7999999999999998e37 < z Initial program 77.9%
Taylor expanded in z around inf 78.1%
+-commutative78.1%
Simplified78.1%
if -2.35e21 < z < 6.59999999999999998e-157Initial program 92.4%
Taylor expanded in z around 0 79.4%
+-commutative79.4%
associate-/l*82.9%
Simplified82.9%
clear-num82.9%
un-div-inv84.1%
Applied egg-rr84.1%
if 6.59999999999999998e-157 < z < 9.99999999999999996e-71Initial program 90.7%
Taylor expanded in a around 0 90.7%
+-commutative90.7%
associate-/l*90.7%
Simplified90.7%
Taylor expanded in z around 0 80.7%
associate-*r/80.7%
neg-mul-180.7%
distribute-lft-neg-in80.7%
Simplified80.7%
Taylor expanded in t around 0 80.7%
neg-mul-180.7%
sub-neg80.7%
associate-*r/80.7%
Simplified80.7%
if 9.99999999999999996e-71 < z < 2.7999999999999998e37Initial program 95.6%
Taylor expanded in z around 0 71.9%
+-commutative71.9%
associate-/l*76.3%
Simplified76.3%
Final simplification80.6%
(FPCore (x y z t a)
:precision binary64
(if (<= z -9.8e+20)
(+ y x)
(if (<= z 4e-157)
(+ x (/ t (/ a y)))
(if (<= z 1e-70)
(* y (/ t (- a z)))
(if (<= z 4.6e+37) (+ x (* t (/ y a))) (+ y x))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -9.8e+20) {
tmp = y + x;
} else if (z <= 4e-157) {
tmp = x + (t / (a / y));
} else if (z <= 1e-70) {
tmp = y * (t / (a - z));
} else if (z <= 4.6e+37) {
tmp = x + (t * (y / a));
} else {
tmp = y + 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 (z <= (-9.8d+20)) then
tmp = y + x
else if (z <= 4d-157) then
tmp = x + (t / (a / y))
else if (z <= 1d-70) then
tmp = y * (t / (a - z))
else if (z <= 4.6d+37) then
tmp = x + (t * (y / a))
else
tmp = y + x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -9.8e+20) {
tmp = y + x;
} else if (z <= 4e-157) {
tmp = x + (t / (a / y));
} else if (z <= 1e-70) {
tmp = y * (t / (a - z));
} else if (z <= 4.6e+37) {
tmp = x + (t * (y / a));
} else {
tmp = y + x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -9.8e+20: tmp = y + x elif z <= 4e-157: tmp = x + (t / (a / y)) elif z <= 1e-70: tmp = y * (t / (a - z)) elif z <= 4.6e+37: tmp = x + (t * (y / a)) else: tmp = y + x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -9.8e+20) tmp = Float64(y + x); elseif (z <= 4e-157) tmp = Float64(x + Float64(t / Float64(a / y))); elseif (z <= 1e-70) tmp = Float64(y * Float64(t / Float64(a - z))); elseif (z <= 4.6e+37) tmp = Float64(x + Float64(t * Float64(y / a))); else tmp = Float64(y + x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -9.8e+20) tmp = y + x; elseif (z <= 4e-157) tmp = x + (t / (a / y)); elseif (z <= 1e-70) tmp = y * (t / (a - z)); elseif (z <= 4.6e+37) tmp = x + (t * (y / a)); else tmp = y + x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -9.8e+20], N[(y + x), $MachinePrecision], If[LessEqual[z, 4e-157], N[(x + N[(t / N[(a / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1e-70], N[(y * N[(t / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 4.6e+37], N[(x + N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y + x), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -9.8 \cdot 10^{+20}:\\
\;\;\;\;y + x\\
\mathbf{elif}\;z \leq 4 \cdot 10^{-157}:\\
\;\;\;\;x + \frac{t}{\frac{a}{y}}\\
\mathbf{elif}\;z \leq 10^{-70}:\\
\;\;\;\;y \cdot \frac{t}{a - z}\\
\mathbf{elif}\;z \leq 4.6 \cdot 10^{+37}:\\
\;\;\;\;x + t \cdot \frac{y}{a}\\
\mathbf{else}:\\
\;\;\;\;y + x\\
\end{array}
\end{array}
if z < -9.8e20 or 4.60000000000000005e37 < z Initial program 77.9%
Taylor expanded in z around inf 78.1%
+-commutative78.1%
Simplified78.1%
if -9.8e20 < z < 3.99999999999999977e-157Initial program 92.3%
Taylor expanded in z around 0 79.2%
+-commutative79.2%
associate-/l*83.5%
Simplified83.5%
clear-num83.6%
un-div-inv84.8%
Applied egg-rr84.8%
if 3.99999999999999977e-157 < z < 9.99999999999999996e-71Initial program 91.5%
Taylor expanded in y around inf 99.9%
associate--l+99.9%
div-sub99.9%
Simplified99.9%
Taylor expanded in t around inf 81.9%
associate-*r/81.9%
neg-mul-181.9%
Simplified81.9%
if 9.99999999999999996e-71 < z < 4.60000000000000005e37Initial program 95.6%
Taylor expanded in z around 0 71.9%
+-commutative71.9%
associate-/l*76.3%
Simplified76.3%
Final simplification80.9%
(FPCore (x y z t a) :precision binary64 (if (or (<= z -3.7e+20) (not (<= z 8e+36))) (+ y x) (+ x (* t (/ y a)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -3.7e+20) || !(z <= 8e+36)) {
tmp = y + x;
} else {
tmp = x + (t * (y / a));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if ((z <= (-3.7d+20)) .or. (.not. (z <= 8d+36))) then
tmp = y + x
else
tmp = x + (t * (y / a))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -3.7e+20) || !(z <= 8e+36)) {
tmp = y + x;
} else {
tmp = x + (t * (y / a));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (z <= -3.7e+20) or not (z <= 8e+36): tmp = y + x else: tmp = x + (t * (y / a)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((z <= -3.7e+20) || !(z <= 8e+36)) tmp = Float64(y + x); else tmp = Float64(x + Float64(t * Float64(y / a))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((z <= -3.7e+20) || ~((z <= 8e+36))) tmp = y + x; else tmp = x + (t * (y / a)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[z, -3.7e+20], N[Not[LessEqual[z, 8e+36]], $MachinePrecision]], N[(y + x), $MachinePrecision], N[(x + N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -3.7 \cdot 10^{+20} \lor \neg \left(z \leq 8 \cdot 10^{+36}\right):\\
\;\;\;\;y + x\\
\mathbf{else}:\\
\;\;\;\;x + t \cdot \frac{y}{a}\\
\end{array}
\end{array}
if z < -3.7e20 or 8.00000000000000034e36 < z Initial program 77.9%
Taylor expanded in z around inf 78.1%
+-commutative78.1%
Simplified78.1%
if -3.7e20 < z < 8.00000000000000034e36Initial program 92.8%
Taylor expanded in z around 0 74.1%
+-commutative74.1%
associate-/l*78.2%
Simplified78.2%
Final simplification78.1%
(FPCore (x y z t a) :precision binary64 (if (or (<= z -3.8e+20) (not (<= z 1.16e+37))) (+ y x) (+ x (/ t (/ a y)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -3.8e+20) || !(z <= 1.16e+37)) {
tmp = y + x;
} 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 <= (-3.8d+20)) .or. (.not. (z <= 1.16d+37))) then
tmp = y + x
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 <= -3.8e+20) || !(z <= 1.16e+37)) {
tmp = y + x;
} else {
tmp = x + (t / (a / y));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (z <= -3.8e+20) or not (z <= 1.16e+37): tmp = y + x else: tmp = x + (t / (a / y)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((z <= -3.8e+20) || !(z <= 1.16e+37)) tmp = Float64(y + x); 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 <= -3.8e+20) || ~((z <= 1.16e+37))) tmp = y + x; else tmp = x + (t / (a / y)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[z, -3.8e+20], N[Not[LessEqual[z, 1.16e+37]], $MachinePrecision]], N[(y + x), $MachinePrecision], N[(x + N[(t / N[(a / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -3.8 \cdot 10^{+20} \lor \neg \left(z \leq 1.16 \cdot 10^{+37}\right):\\
\;\;\;\;y + x\\
\mathbf{else}:\\
\;\;\;\;x + \frac{t}{\frac{a}{y}}\\
\end{array}
\end{array}
if z < -3.8e20 or 1.16e37 < z Initial program 77.9%
Taylor expanded in z around inf 78.1%
+-commutative78.1%
Simplified78.1%
if -3.8e20 < z < 1.16e37Initial program 92.8%
Taylor expanded in z around 0 74.1%
+-commutative74.1%
associate-/l*78.2%
Simplified78.2%
clear-num78.2%
un-div-inv79.1%
Applied egg-rr79.1%
Final simplification78.7%
(FPCore (x y z t a) :precision binary64 (if (<= a -9e+16) x (if (<= a 23000000000.0) (+ y x) x)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -9e+16) {
tmp = x;
} else if (a <= 23000000000.0) {
tmp = y + 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 <= (-9d+16)) then
tmp = x
else if (a <= 23000000000.0d0) then
tmp = y + 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 <= -9e+16) {
tmp = x;
} else if (a <= 23000000000.0) {
tmp = y + x;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -9e+16: tmp = x elif a <= 23000000000.0: tmp = y + x else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -9e+16) tmp = x; elseif (a <= 23000000000.0) tmp = Float64(y + x); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -9e+16) tmp = x; elseif (a <= 23000000000.0) tmp = y + x; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -9e+16], x, If[LessEqual[a, 23000000000.0], N[(y + x), $MachinePrecision], x]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -9 \cdot 10^{+16}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 23000000000:\\
\;\;\;\;y + x\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -9e16 or 2.3e10 < a Initial program 86.0%
Taylor expanded in x around inf 60.4%
if -9e16 < a < 2.3e10Initial program 86.3%
Taylor expanded in z around inf 60.7%
+-commutative60.7%
Simplified60.7%
Final simplification60.5%
(FPCore (x y z t a) :precision binary64 (if (<= y -1.38e+165) (* y (/ t a)) (+ y x)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (y <= -1.38e+165) {
tmp = y * (t / a);
} else {
tmp = y + 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 (y <= (-1.38d+165)) then
tmp = y * (t / a)
else
tmp = y + x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (y <= -1.38e+165) {
tmp = y * (t / a);
} else {
tmp = y + x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if y <= -1.38e+165: tmp = y * (t / a) else: tmp = y + x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (y <= -1.38e+165) tmp = Float64(y * Float64(t / a)); else tmp = Float64(y + x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (y <= -1.38e+165) tmp = y * (t / a); else tmp = y + x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[y, -1.38e+165], N[(y * N[(t / a), $MachinePrecision]), $MachinePrecision], N[(y + x), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -1.38 \cdot 10^{+165}:\\
\;\;\;\;y \cdot \frac{t}{a}\\
\mathbf{else}:\\
\;\;\;\;y + x\\
\end{array}
\end{array}
if y < -1.37999999999999997e165Initial program 81.9%
Taylor expanded in y around inf 96.2%
associate--l+96.2%
div-sub96.2%
Simplified96.2%
Taylor expanded in t around inf 69.9%
associate-*r/69.9%
neg-mul-169.9%
Simplified69.9%
Taylor expanded in z around 0 58.8%
if -1.37999999999999997e165 < y Initial program 86.6%
Taylor expanded in z around inf 60.2%
+-commutative60.2%
Simplified60.2%
Final simplification60.0%
(FPCore (x y z t a) :precision binary64 x)
double code(double x, double y, double z, double t, double a) {
return x;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
code = x
end function
public static double code(double x, double y, double z, double t, double a) {
return x;
}
def code(x, y, z, t, a): return x
function code(x, y, z, t, a) return x end
function tmp = code(x, y, z, t, a) tmp = x; end
code[x_, y_, z_, t_, a_] := x
\begin{array}{l}
\\
x
\end{array}
Initial program 86.1%
Taylor expanded in x around inf 48.8%
Final simplification48.8%
(FPCore (x y z t a) :precision binary64 (+ x (/ y (/ (- z a) (- z t)))))
double code(double x, double y, double z, double t, double a) {
return x + (y / ((z - a) / (z - t)));
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
code = x + (y / ((z - a) / (z - t)))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + (y / ((z - a) / (z - t)));
}
def code(x, y, z, t, a): return x + (y / ((z - a) / (z - t)))
function code(x, y, z, t, a) return Float64(x + Float64(y / Float64(Float64(z - a) / Float64(z - t)))) end
function tmp = code(x, y, z, t, a) tmp = x + (y / ((z - a) / (z - t))); end
code[x_, y_, z_, t_, a_] := N[(x + N[(y / N[(N[(z - a), $MachinePrecision] / N[(z - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \frac{y}{\frac{z - a}{z - t}}
\end{array}
herbie shell --seed 2024075
(FPCore (x y z t a)
:name "Graphics.Rendering.Plot.Render.Plot.Axis:renderAxisTicks from plot-0.2.3.4, A"
:precision binary64
:alt
(+ x (/ y (/ (- z a) (- z t))))
(+ x (/ (* y (- z t)) (- z a))))