
(FPCore (x y z t a) :precision binary64 (+ x (/ (* (- y z) (- t x)) (- a z))))
double code(double x, double y, double z, double t, double a) {
return x + (((y - z) * (t - x)) / (a - z));
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
code = x + (((y - z) * (t - x)) / (a - z))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + (((y - z) * (t - x)) / (a - z));
}
def code(x, y, z, t, a): return x + (((y - z) * (t - x)) / (a - z))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(Float64(y - z) * Float64(t - x)) / Float64(a - z))) end
function tmp = code(x, y, z, t, a) tmp = x + (((y - z) * (t - x)) / (a - z)); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(N[(y - z), $MachinePrecision] * N[(t - x), $MachinePrecision]), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 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(Float64(y - z) * Float64(t - x)) / Float64(a - z))) end
function tmp = code(x, y, z, t, a) tmp = x + (((y - z) * (t - x)) / (a - z)); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(N[(y - z), $MachinePrecision] * N[(t - x), $MachinePrecision]), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z}
\end{array}
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (/ (* (- y z) (- t x)) (- a z)))))
(if (or (<= t_1 (- INFINITY)) (not (<= t_1 5e+295)))
(- t (/ (- y a) (/ z (- t x))))
(+
(/ (* (- y z) t) (- a z))
(* x (- (+ (/ z (- a z)) 1.0) (/ y (- a 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 <= -((double) INFINITY)) || !(t_1 <= 5e+295)) {
tmp = t - ((y - a) / (z / (t - x)));
} else {
tmp = (((y - z) * t) / (a - z)) + (x * (((z / (a - z)) + 1.0) - (y / (a - z))));
}
return tmp;
}
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 <= -Double.POSITIVE_INFINITY) || !(t_1 <= 5e+295)) {
tmp = t - ((y - a) / (z / (t - x)));
} else {
tmp = (((y - z) * t) / (a - z)) + (x * (((z / (a - z)) + 1.0) - (y / (a - z))));
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (((y - z) * (t - x)) / (a - z)) tmp = 0 if (t_1 <= -math.inf) or not (t_1 <= 5e+295): tmp = t - ((y - a) / (z / (t - x))) else: tmp = (((y - z) * t) / (a - z)) + (x * (((z / (a - z)) + 1.0) - (y / (a - z)))) return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(Float64(y - z) * Float64(t - x)) / Float64(a - z))) tmp = 0.0 if ((t_1 <= Float64(-Inf)) || !(t_1 <= 5e+295)) tmp = Float64(t - Float64(Float64(y - a) / Float64(z / Float64(t - x)))); else tmp = Float64(Float64(Float64(Float64(y - z) * t) / Float64(a - z)) + Float64(x * Float64(Float64(Float64(z / Float64(a - z)) + 1.0) - Float64(y / Float64(a - 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 <= -Inf) || ~((t_1 <= 5e+295))) tmp = t - ((y - a) / (z / (t - x))); else tmp = (((y - z) * t) / (a - z)) + (x * (((z / (a - z)) + 1.0) - (y / (a - z)))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(N[(y - z), $MachinePrecision] * N[(t - x), $MachinePrecision]), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Or[LessEqual[t$95$1, (-Infinity)], N[Not[LessEqual[t$95$1, 5e+295]], $MachinePrecision]], N[(t - N[(N[(y - a), $MachinePrecision] / N[(z / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[(N[(y - z), $MachinePrecision] * t), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision] + N[(x * N[(N[(N[(z / N[(a - z), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision] - N[(y / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z}\\
\mathbf{if}\;t_1 \leq -\infty \lor \neg \left(t_1 \leq 5 \cdot 10^{+295}\right):\\
\;\;\;\;t - \frac{y - a}{\frac{z}{t - x}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(y - z\right) \cdot t}{a - z} + x \cdot \left(\left(\frac{z}{a - z} + 1\right) - \frac{y}{a - z}\right)\\
\end{array}
\end{array}
if (+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z))) < -inf.0 or 4.99999999999999991e295 < (+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z))) Initial program 38.8%
+-commutative38.8%
associate-*l/73.3%
fma-def73.3%
Simplified73.3%
Taylor expanded in z around inf 51.6%
+-commutative51.6%
associate-/l*80.0%
distribute-lft-out--80.0%
mul-1-neg80.0%
distribute-neg-frac80.0%
associate-/l*51.6%
*-commutative51.6%
distribute-rgt-out--51.3%
unsub-neg51.3%
distribute-rgt-out--51.6%
*-commutative51.6%
associate-/l*80.0%
Simplified80.0%
if -inf.0 < (+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z))) < 4.99999999999999991e295Initial program 84.3%
+-commutative84.3%
associate-*l/81.6%
fma-def81.6%
Simplified81.6%
Taylor expanded in x around -inf 94.9%
Final simplification89.7%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (/ y (/ a t)))))
(if (<= a -6.8e+75)
t_1
(if (<= a 4.7e-116)
(- t (* t (/ y z)))
(if (<= a 34000.0)
(/ y (/ z x))
(if (<= a 2.55e+63)
(* x (- 1.0 (/ y a)))
(if (<= a 5.2e+83)
(* y (/ x z))
(if (<= a 8.6e+155) (+ x t) t_1))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (y / (a / t));
double tmp;
if (a <= -6.8e+75) {
tmp = t_1;
} else if (a <= 4.7e-116) {
tmp = t - (t * (y / z));
} else if (a <= 34000.0) {
tmp = y / (z / x);
} else if (a <= 2.55e+63) {
tmp = x * (1.0 - (y / a));
} else if (a <= 5.2e+83) {
tmp = y * (x / z);
} else if (a <= 8.6e+155) {
tmp = x + t;
} 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 / (a / t))
if (a <= (-6.8d+75)) then
tmp = t_1
else if (a <= 4.7d-116) then
tmp = t - (t * (y / z))
else if (a <= 34000.0d0) then
tmp = y / (z / x)
else if (a <= 2.55d+63) then
tmp = x * (1.0d0 - (y / a))
else if (a <= 5.2d+83) then
tmp = y * (x / z)
else if (a <= 8.6d+155) then
tmp = x + t
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 / (a / t));
double tmp;
if (a <= -6.8e+75) {
tmp = t_1;
} else if (a <= 4.7e-116) {
tmp = t - (t * (y / z));
} else if (a <= 34000.0) {
tmp = y / (z / x);
} else if (a <= 2.55e+63) {
tmp = x * (1.0 - (y / a));
} else if (a <= 5.2e+83) {
tmp = y * (x / z);
} else if (a <= 8.6e+155) {
tmp = x + t;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (y / (a / t)) tmp = 0 if a <= -6.8e+75: tmp = t_1 elif a <= 4.7e-116: tmp = t - (t * (y / z)) elif a <= 34000.0: tmp = y / (z / x) elif a <= 2.55e+63: tmp = x * (1.0 - (y / a)) elif a <= 5.2e+83: tmp = y * (x / z) elif a <= 8.6e+155: tmp = x + t else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(y / Float64(a / t))) tmp = 0.0 if (a <= -6.8e+75) tmp = t_1; elseif (a <= 4.7e-116) tmp = Float64(t - Float64(t * Float64(y / z))); elseif (a <= 34000.0) tmp = Float64(y / Float64(z / x)); elseif (a <= 2.55e+63) tmp = Float64(x * Float64(1.0 - Float64(y / a))); elseif (a <= 5.2e+83) tmp = Float64(y * Float64(x / z)); elseif (a <= 8.6e+155) tmp = Float64(x + t); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + (y / (a / t)); tmp = 0.0; if (a <= -6.8e+75) tmp = t_1; elseif (a <= 4.7e-116) tmp = t - (t * (y / z)); elseif (a <= 34000.0) tmp = y / (z / x); elseif (a <= 2.55e+63) tmp = x * (1.0 - (y / a)); elseif (a <= 5.2e+83) tmp = y * (x / z); elseif (a <= 8.6e+155) tmp = x + t; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(y / N[(a / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -6.8e+75], t$95$1, If[LessEqual[a, 4.7e-116], N[(t - N[(t * N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 34000.0], N[(y / N[(z / x), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 2.55e+63], N[(x * N[(1.0 - N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 5.2e+83], N[(y * N[(x / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 8.6e+155], N[(x + t), $MachinePrecision], t$95$1]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{y}{\frac{a}{t}}\\
\mathbf{if}\;a \leq -6.8 \cdot 10^{+75}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 4.7 \cdot 10^{-116}:\\
\;\;\;\;t - t \cdot \frac{y}{z}\\
\mathbf{elif}\;a \leq 34000:\\
\;\;\;\;\frac{y}{\frac{z}{x}}\\
\mathbf{elif}\;a \leq 2.55 \cdot 10^{+63}:\\
\;\;\;\;x \cdot \left(1 - \frac{y}{a}\right)\\
\mathbf{elif}\;a \leq 5.2 \cdot 10^{+83}:\\
\;\;\;\;y \cdot \frac{x}{z}\\
\mathbf{elif}\;a \leq 8.6 \cdot 10^{+155}:\\
\;\;\;\;x + t\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if a < -6.80000000000000022e75 or 8.6000000000000005e155 < a Initial program 74.5%
+-commutative74.5%
associate-*l/88.2%
fma-def88.1%
Simplified88.1%
Taylor expanded in z around 0 71.1%
+-commutative71.1%
associate-/l*77.8%
Simplified77.8%
Taylor expanded in t around inf 72.2%
if -6.80000000000000022e75 < a < 4.69999999999999994e-116Initial program 63.7%
+-commutative63.7%
associate-*l/70.8%
fma-def70.9%
Simplified70.9%
Taylor expanded in z around -inf 77.8%
Taylor expanded in a around 0 74.6%
mul-1-neg74.6%
unsub-neg74.6%
associate-/l*76.9%
Simplified76.9%
Taylor expanded in t around inf 59.0%
associate-*l/59.8%
*-commutative59.8%
Simplified59.8%
if 4.69999999999999994e-116 < a < 34000Initial program 61.3%
+-commutative61.3%
associate-*l/71.8%
fma-def71.8%
Simplified71.8%
Taylor expanded in y around -inf 52.7%
Taylor expanded in t around 0 36.2%
mul-1-neg36.2%
distribute-rgt-neg-in36.2%
Simplified36.2%
Taylor expanded in a around 0 35.7%
associate-/l*50.2%
Simplified50.2%
if 34000 < a < 2.5499999999999999e63Initial program 92.1%
associate-*l/92.1%
Simplified92.1%
Taylor expanded in z around 0 83.7%
Taylor expanded in x around inf 67.8%
*-commutative67.8%
mul-1-neg67.8%
unsub-neg67.8%
Simplified67.8%
if 2.5499999999999999e63 < a < 5.2000000000000002e83Initial program 35.1%
+-commutative35.1%
associate-*l/67.0%
fma-def67.0%
Simplified67.0%
Taylor expanded in y around -inf 36.4%
Taylor expanded in t around 0 3.0%
mul-1-neg3.0%
distribute-rgt-neg-in3.0%
Simplified3.0%
Taylor expanded in a around 0 3.0%
associate-/l*66.1%
Simplified66.1%
Taylor expanded in y around 0 3.0%
associate-*r/66.7%
Simplified66.7%
if 5.2000000000000002e83 < a < 8.6000000000000005e155Initial program 72.1%
+-commutative72.1%
associate-*l/92.5%
fma-def92.5%
Simplified92.5%
Taylor expanded in x around -inf 72.1%
Taylor expanded in z around inf 70.2%
Taylor expanded in a around inf 58.0%
mul-1-neg58.0%
Simplified58.0%
Final simplification63.3%
(FPCore (x y z t a)
:precision binary64
(if (<= a -5.6e+75)
x
(if (<= a -2.8e+32)
t
(if (<= a -510000000.0)
x
(if (<= a -4.1e-50)
(* x (/ y z))
(if (<= a 3.05e-117) t (if (<= a 5400000.0) (* y (/ x z)) x)))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -5.6e+75) {
tmp = x;
} else if (a <= -2.8e+32) {
tmp = t;
} else if (a <= -510000000.0) {
tmp = x;
} else if (a <= -4.1e-50) {
tmp = x * (y / z);
} else if (a <= 3.05e-117) {
tmp = t;
} else if (a <= 5400000.0) {
tmp = y * (x / z);
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (a <= (-5.6d+75)) then
tmp = x
else if (a <= (-2.8d+32)) then
tmp = t
else if (a <= (-510000000.0d0)) then
tmp = x
else if (a <= (-4.1d-50)) then
tmp = x * (y / z)
else if (a <= 3.05d-117) then
tmp = t
else if (a <= 5400000.0d0) then
tmp = y * (x / z)
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -5.6e+75) {
tmp = x;
} else if (a <= -2.8e+32) {
tmp = t;
} else if (a <= -510000000.0) {
tmp = x;
} else if (a <= -4.1e-50) {
tmp = x * (y / z);
} else if (a <= 3.05e-117) {
tmp = t;
} else if (a <= 5400000.0) {
tmp = y * (x / z);
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -5.6e+75: tmp = x elif a <= -2.8e+32: tmp = t elif a <= -510000000.0: tmp = x elif a <= -4.1e-50: tmp = x * (y / z) elif a <= 3.05e-117: tmp = t elif a <= 5400000.0: tmp = y * (x / z) else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -5.6e+75) tmp = x; elseif (a <= -2.8e+32) tmp = t; elseif (a <= -510000000.0) tmp = x; elseif (a <= -4.1e-50) tmp = Float64(x * Float64(y / z)); elseif (a <= 3.05e-117) tmp = t; elseif (a <= 5400000.0) tmp = Float64(y * Float64(x / z)); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -5.6e+75) tmp = x; elseif (a <= -2.8e+32) tmp = t; elseif (a <= -510000000.0) tmp = x; elseif (a <= -4.1e-50) tmp = x * (y / z); elseif (a <= 3.05e-117) tmp = t; elseif (a <= 5400000.0) tmp = y * (x / z); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -5.6e+75], x, If[LessEqual[a, -2.8e+32], t, If[LessEqual[a, -510000000.0], x, If[LessEqual[a, -4.1e-50], N[(x * N[(y / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 3.05e-117], t, If[LessEqual[a, 5400000.0], N[(y * N[(x / z), $MachinePrecision]), $MachinePrecision], x]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -5.6 \cdot 10^{+75}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq -2.8 \cdot 10^{+32}:\\
\;\;\;\;t\\
\mathbf{elif}\;a \leq -510000000:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq -4.1 \cdot 10^{-50}:\\
\;\;\;\;x \cdot \frac{y}{z}\\
\mathbf{elif}\;a \leq 3.05 \cdot 10^{-117}:\\
\;\;\;\;t\\
\mathbf{elif}\;a \leq 5400000:\\
\;\;\;\;y \cdot \frac{x}{z}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -5.60000000000000023e75 or -2.8e32 < a < -5.1e8 or 5.4e6 < a Initial program 75.7%
+-commutative75.7%
associate-*l/88.8%
fma-def88.8%
Simplified88.8%
Taylor expanded in a around inf 49.7%
if -5.60000000000000023e75 < a < -2.8e32 or -4.09999999999999985e-50 < a < 3.05000000000000001e-117Initial program 62.9%
+-commutative62.9%
associate-*l/70.0%
fma-def70.0%
Simplified70.0%
Taylor expanded in z around inf 45.6%
if -5.1e8 < a < -4.09999999999999985e-50Initial program 61.8%
+-commutative61.8%
associate-*l/70.2%
fma-def70.7%
Simplified70.7%
Taylor expanded in y around -inf 48.9%
Taylor expanded in t around 0 30.8%
mul-1-neg30.8%
distribute-rgt-neg-in30.8%
Simplified30.8%
Taylor expanded in a around 0 31.0%
associate-/l*39.1%
Simplified39.1%
associate-/r/47.6%
Applied egg-rr47.6%
if 3.05000000000000001e-117 < a < 5.4e6Initial program 61.3%
+-commutative61.3%
associate-*l/71.8%
fma-def71.8%
Simplified71.8%
Taylor expanded in y around -inf 52.7%
Taylor expanded in t around 0 36.2%
mul-1-neg36.2%
distribute-rgt-neg-in36.2%
Simplified36.2%
Taylor expanded in a around 0 35.7%
associate-/l*50.2%
Simplified50.2%
Taylor expanded in y around 0 35.7%
associate-*r/50.1%
Simplified50.1%
Final simplification48.0%
(FPCore (x y z t a)
:precision binary64
(if (<= a -6.2e+75)
x
(if (<= a -4.5e+32)
t
(if (<= a -850000000.0)
x
(if (<= a -2.3e-52)
(* x (/ y z))
(if (<= a 9e-118) t (if (<= a 43000.0) (/ y (/ z x)) x)))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -6.2e+75) {
tmp = x;
} else if (a <= -4.5e+32) {
tmp = t;
} else if (a <= -850000000.0) {
tmp = x;
} else if (a <= -2.3e-52) {
tmp = x * (y / z);
} else if (a <= 9e-118) {
tmp = t;
} else if (a <= 43000.0) {
tmp = y / (z / x);
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (a <= (-6.2d+75)) then
tmp = x
else if (a <= (-4.5d+32)) then
tmp = t
else if (a <= (-850000000.0d0)) then
tmp = x
else if (a <= (-2.3d-52)) then
tmp = x * (y / z)
else if (a <= 9d-118) then
tmp = t
else if (a <= 43000.0d0) then
tmp = y / (z / x)
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -6.2e+75) {
tmp = x;
} else if (a <= -4.5e+32) {
tmp = t;
} else if (a <= -850000000.0) {
tmp = x;
} else if (a <= -2.3e-52) {
tmp = x * (y / z);
} else if (a <= 9e-118) {
tmp = t;
} else if (a <= 43000.0) {
tmp = y / (z / x);
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -6.2e+75: tmp = x elif a <= -4.5e+32: tmp = t elif a <= -850000000.0: tmp = x elif a <= -2.3e-52: tmp = x * (y / z) elif a <= 9e-118: tmp = t elif a <= 43000.0: tmp = y / (z / x) else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -6.2e+75) tmp = x; elseif (a <= -4.5e+32) tmp = t; elseif (a <= -850000000.0) tmp = x; elseif (a <= -2.3e-52) tmp = Float64(x * Float64(y / z)); elseif (a <= 9e-118) tmp = t; elseif (a <= 43000.0) tmp = Float64(y / Float64(z / x)); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -6.2e+75) tmp = x; elseif (a <= -4.5e+32) tmp = t; elseif (a <= -850000000.0) tmp = x; elseif (a <= -2.3e-52) tmp = x * (y / z); elseif (a <= 9e-118) tmp = t; elseif (a <= 43000.0) tmp = y / (z / x); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -6.2e+75], x, If[LessEqual[a, -4.5e+32], t, If[LessEqual[a, -850000000.0], x, If[LessEqual[a, -2.3e-52], N[(x * N[(y / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 9e-118], t, If[LessEqual[a, 43000.0], N[(y / N[(z / x), $MachinePrecision]), $MachinePrecision], x]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -6.2 \cdot 10^{+75}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq -4.5 \cdot 10^{+32}:\\
\;\;\;\;t\\
\mathbf{elif}\;a \leq -850000000:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq -2.3 \cdot 10^{-52}:\\
\;\;\;\;x \cdot \frac{y}{z}\\
\mathbf{elif}\;a \leq 9 \cdot 10^{-118}:\\
\;\;\;\;t\\
\mathbf{elif}\;a \leq 43000:\\
\;\;\;\;\frac{y}{\frac{z}{x}}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -6.2000000000000002e75 or -4.5000000000000003e32 < a < -8.5e8 or 43000 < a Initial program 75.7%
+-commutative75.7%
associate-*l/88.8%
fma-def88.8%
Simplified88.8%
Taylor expanded in a around inf 49.7%
if -6.2000000000000002e75 < a < -4.5000000000000003e32 or -2.29999999999999994e-52 < a < 9.0000000000000001e-118Initial program 62.9%
+-commutative62.9%
associate-*l/70.0%
fma-def70.0%
Simplified70.0%
Taylor expanded in z around inf 45.6%
if -8.5e8 < a < -2.29999999999999994e-52Initial program 61.8%
+-commutative61.8%
associate-*l/70.2%
fma-def70.7%
Simplified70.7%
Taylor expanded in y around -inf 48.9%
Taylor expanded in t around 0 30.8%
mul-1-neg30.8%
distribute-rgt-neg-in30.8%
Simplified30.8%
Taylor expanded in a around 0 31.0%
associate-/l*39.1%
Simplified39.1%
associate-/r/47.6%
Applied egg-rr47.6%
if 9.0000000000000001e-118 < a < 43000Initial program 61.3%
+-commutative61.3%
associate-*l/71.8%
fma-def71.8%
Simplified71.8%
Taylor expanded in y around -inf 52.7%
Taylor expanded in t around 0 36.2%
mul-1-neg36.2%
distribute-rgt-neg-in36.2%
Simplified36.2%
Taylor expanded in a around 0 35.7%
associate-/l*50.2%
Simplified50.2%
Final simplification48.0%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (/ y (/ a t)))))
(if (<= a -6.5e+75)
t_1
(if (<= a 5.2e+29)
(- t (* y (/ x (- z))))
(if (<= a 8.8e+128)
(* x (- 1.0 (/ y a)))
(if (<= a 1.55e+156) (* t (/ (- y z) (- a z))) t_1))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (y / (a / t));
double tmp;
if (a <= -6.5e+75) {
tmp = t_1;
} else if (a <= 5.2e+29) {
tmp = t - (y * (x / -z));
} else if (a <= 8.8e+128) {
tmp = x * (1.0 - (y / a));
} else if (a <= 1.55e+156) {
tmp = t * ((y - z) / (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 / (a / t))
if (a <= (-6.5d+75)) then
tmp = t_1
else if (a <= 5.2d+29) then
tmp = t - (y * (x / -z))
else if (a <= 8.8d+128) then
tmp = x * (1.0d0 - (y / a))
else if (a <= 1.55d+156) then
tmp = t * ((y - z) / (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 / (a / t));
double tmp;
if (a <= -6.5e+75) {
tmp = t_1;
} else if (a <= 5.2e+29) {
tmp = t - (y * (x / -z));
} else if (a <= 8.8e+128) {
tmp = x * (1.0 - (y / a));
} else if (a <= 1.55e+156) {
tmp = t * ((y - z) / (a - z));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (y / (a / t)) tmp = 0 if a <= -6.5e+75: tmp = t_1 elif a <= 5.2e+29: tmp = t - (y * (x / -z)) elif a <= 8.8e+128: tmp = x * (1.0 - (y / a)) elif a <= 1.55e+156: tmp = t * ((y - z) / (a - z)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(y / Float64(a / t))) tmp = 0.0 if (a <= -6.5e+75) tmp = t_1; elseif (a <= 5.2e+29) tmp = Float64(t - Float64(y * Float64(x / Float64(-z)))); elseif (a <= 8.8e+128) tmp = Float64(x * Float64(1.0 - Float64(y / a))); elseif (a <= 1.55e+156) tmp = Float64(t * Float64(Float64(y - z) / Float64(a - z))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + (y / (a / t)); tmp = 0.0; if (a <= -6.5e+75) tmp = t_1; elseif (a <= 5.2e+29) tmp = t - (y * (x / -z)); elseif (a <= 8.8e+128) tmp = x * (1.0 - (y / a)); elseif (a <= 1.55e+156) tmp = t * ((y - z) / (a - 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[(a / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -6.5e+75], t$95$1, If[LessEqual[a, 5.2e+29], N[(t - N[(y * N[(x / (-z)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 8.8e+128], N[(x * N[(1.0 - N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.55e+156], N[(t * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{y}{\frac{a}{t}}\\
\mathbf{if}\;a \leq -6.5 \cdot 10^{+75}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 5.2 \cdot 10^{+29}:\\
\;\;\;\;t - y \cdot \frac{x}{-z}\\
\mathbf{elif}\;a \leq 8.8 \cdot 10^{+128}:\\
\;\;\;\;x \cdot \left(1 - \frac{y}{a}\right)\\
\mathbf{elif}\;a \leq 1.55 \cdot 10^{+156}:\\
\;\;\;\;t \cdot \frac{y - z}{a - z}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if a < -6.4999999999999998e75 or 1.5500000000000001e156 < a Initial program 74.5%
+-commutative74.5%
associate-*l/88.2%
fma-def88.1%
Simplified88.1%
Taylor expanded in z around 0 71.1%
+-commutative71.1%
associate-/l*77.8%
Simplified77.8%
Taylor expanded in t around inf 72.2%
if -6.4999999999999998e75 < a < 5.2e29Initial program 63.6%
+-commutative63.6%
associate-*l/71.1%
fma-def71.2%
Simplified71.2%
Taylor expanded in z around -inf 72.9%
Taylor expanded in a around 0 70.4%
mul-1-neg70.4%
unsub-neg70.4%
associate-/l*75.5%
Simplified75.5%
Taylor expanded in t around 0 57.1%
associate-/l*61.6%
associate-*r/61.6%
*-commutative61.6%
associate-*l/61.6%
metadata-eval61.6%
times-frac61.6%
*-commutative61.6%
associate-*r/61.6%
mul-1-neg61.6%
distribute-frac-neg61.6%
associate-/r/61.6%
associate-*l/61.6%
*-lft-identity61.6%
Simplified61.6%
if 5.2e29 < a < 8.80000000000000066e128Initial program 84.1%
associate-*l/94.5%
Simplified94.5%
Taylor expanded in z around 0 78.3%
Taylor expanded in x around inf 67.7%
*-commutative67.7%
mul-1-neg67.7%
unsub-neg67.7%
Simplified67.7%
if 8.80000000000000066e128 < a < 1.5500000000000001e156Initial program 54.8%
+-commutative54.8%
associate-*l/83.7%
fma-def83.7%
Simplified83.7%
Taylor expanded in t around inf 100.0%
div-sub100.0%
Simplified100.0%
Final simplification66.4%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (/ y (/ a (- t x))))))
(if (<= a -5.6e+75)
t_1
(if (<= a 370000000000.0)
(- t (/ y (/ z (- t x))))
(if (<= a 2.6e+129)
(+ x (* (- t x) (/ y a)))
(if (<= a 1e+156) (* t (/ (- y z) (- a z))) t_1))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (y / (a / (t - x)));
double tmp;
if (a <= -5.6e+75) {
tmp = t_1;
} else if (a <= 370000000000.0) {
tmp = t - (y / (z / (t - x)));
} else if (a <= 2.6e+129) {
tmp = x + ((t - x) * (y / a));
} else if (a <= 1e+156) {
tmp = t * ((y - z) / (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 / (a / (t - x)))
if (a <= (-5.6d+75)) then
tmp = t_1
else if (a <= 370000000000.0d0) then
tmp = t - (y / (z / (t - x)))
else if (a <= 2.6d+129) then
tmp = x + ((t - x) * (y / a))
else if (a <= 1d+156) then
tmp = t * ((y - z) / (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 / (a / (t - x)));
double tmp;
if (a <= -5.6e+75) {
tmp = t_1;
} else if (a <= 370000000000.0) {
tmp = t - (y / (z / (t - x)));
} else if (a <= 2.6e+129) {
tmp = x + ((t - x) * (y / a));
} else if (a <= 1e+156) {
tmp = t * ((y - z) / (a - z));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (y / (a / (t - x))) tmp = 0 if a <= -5.6e+75: tmp = t_1 elif a <= 370000000000.0: tmp = t - (y / (z / (t - x))) elif a <= 2.6e+129: tmp = x + ((t - x) * (y / a)) elif a <= 1e+156: tmp = t * ((y - z) / (a - z)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(y / Float64(a / Float64(t - x)))) tmp = 0.0 if (a <= -5.6e+75) tmp = t_1; elseif (a <= 370000000000.0) tmp = Float64(t - Float64(y / Float64(z / Float64(t - x)))); elseif (a <= 2.6e+129) tmp = Float64(x + Float64(Float64(t - x) * Float64(y / a))); elseif (a <= 1e+156) tmp = Float64(t * Float64(Float64(y - z) / Float64(a - z))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + (y / (a / (t - x))); tmp = 0.0; if (a <= -5.6e+75) tmp = t_1; elseif (a <= 370000000000.0) tmp = t - (y / (z / (t - x))); elseif (a <= 2.6e+129) tmp = x + ((t - x) * (y / a)); elseif (a <= 1e+156) tmp = t * ((y - z) / (a - 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[(a / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -5.6e+75], t$95$1, If[LessEqual[a, 370000000000.0], N[(t - N[(y / N[(z / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 2.6e+129], N[(x + N[(N[(t - x), $MachinePrecision] * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1e+156], N[(t * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{y}{\frac{a}{t - x}}\\
\mathbf{if}\;a \leq -5.6 \cdot 10^{+75}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 370000000000:\\
\;\;\;\;t - \frac{y}{\frac{z}{t - x}}\\
\mathbf{elif}\;a \leq 2.6 \cdot 10^{+129}:\\
\;\;\;\;x + \left(t - x\right) \cdot \frac{y}{a}\\
\mathbf{elif}\;a \leq 10^{+156}:\\
\;\;\;\;t \cdot \frac{y - z}{a - z}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if a < -5.60000000000000023e75 or 9.9999999999999998e155 < a Initial program 74.5%
+-commutative74.5%
associate-*l/88.2%
fma-def88.1%
Simplified88.1%
Taylor expanded in z around 0 71.1%
+-commutative71.1%
associate-/l*77.8%
Simplified77.8%
if -5.60000000000000023e75 < a < 3.7e11Initial program 63.3%
+-commutative63.3%
associate-*l/71.0%
fma-def71.0%
Simplified71.0%
Taylor expanded in z around -inf 74.3%
Taylor expanded in a around 0 71.6%
mul-1-neg71.6%
unsub-neg71.6%
associate-/l*76.8%
Simplified76.8%
if 3.7e11 < a < 2.60000000000000012e129Initial program 82.7%
associate-*l/91.2%
Simplified91.2%
Taylor expanded in z around 0 73.4%
if 2.60000000000000012e129 < a < 9.9999999999999998e155Initial program 54.8%
+-commutative54.8%
associate-*l/83.7%
fma-def83.7%
Simplified83.7%
Taylor expanded in t around inf 100.0%
div-sub100.0%
Simplified100.0%
Final simplification77.4%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (/ y (/ a (- t x))))))
(if (<= a -5.6e+75)
t_1
(if (<= a 1.35e+14)
(- t (/ (- y a) (/ z (- t x))))
(if (<= a 1.65e+129)
(+ x (* (- t x) (/ y a)))
(if (<= a 1e+156) (* t (/ (- y z) (- a z))) t_1))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (y / (a / (t - x)));
double tmp;
if (a <= -5.6e+75) {
tmp = t_1;
} else if (a <= 1.35e+14) {
tmp = t - ((y - a) / (z / (t - x)));
} else if (a <= 1.65e+129) {
tmp = x + ((t - x) * (y / a));
} else if (a <= 1e+156) {
tmp = t * ((y - z) / (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 / (a / (t - x)))
if (a <= (-5.6d+75)) then
tmp = t_1
else if (a <= 1.35d+14) then
tmp = t - ((y - a) / (z / (t - x)))
else if (a <= 1.65d+129) then
tmp = x + ((t - x) * (y / a))
else if (a <= 1d+156) then
tmp = t * ((y - z) / (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 / (a / (t - x)));
double tmp;
if (a <= -5.6e+75) {
tmp = t_1;
} else if (a <= 1.35e+14) {
tmp = t - ((y - a) / (z / (t - x)));
} else if (a <= 1.65e+129) {
tmp = x + ((t - x) * (y / a));
} else if (a <= 1e+156) {
tmp = t * ((y - z) / (a - z));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (y / (a / (t - x))) tmp = 0 if a <= -5.6e+75: tmp = t_1 elif a <= 1.35e+14: tmp = t - ((y - a) / (z / (t - x))) elif a <= 1.65e+129: tmp = x + ((t - x) * (y / a)) elif a <= 1e+156: tmp = t * ((y - z) / (a - z)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(y / Float64(a / Float64(t - x)))) tmp = 0.0 if (a <= -5.6e+75) tmp = t_1; elseif (a <= 1.35e+14) tmp = Float64(t - Float64(Float64(y - a) / Float64(z / Float64(t - x)))); elseif (a <= 1.65e+129) tmp = Float64(x + Float64(Float64(t - x) * Float64(y / a))); elseif (a <= 1e+156) tmp = Float64(t * Float64(Float64(y - z) / Float64(a - z))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + (y / (a / (t - x))); tmp = 0.0; if (a <= -5.6e+75) tmp = t_1; elseif (a <= 1.35e+14) tmp = t - ((y - a) / (z / (t - x))); elseif (a <= 1.65e+129) tmp = x + ((t - x) * (y / a)); elseif (a <= 1e+156) tmp = t * ((y - z) / (a - 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[(a / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -5.6e+75], t$95$1, If[LessEqual[a, 1.35e+14], N[(t - N[(N[(y - a), $MachinePrecision] / N[(z / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.65e+129], N[(x + N[(N[(t - x), $MachinePrecision] * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1e+156], N[(t * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{y}{\frac{a}{t - x}}\\
\mathbf{if}\;a \leq -5.6 \cdot 10^{+75}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 1.35 \cdot 10^{+14}:\\
\;\;\;\;t - \frac{y - a}{\frac{z}{t - x}}\\
\mathbf{elif}\;a \leq 1.65 \cdot 10^{+129}:\\
\;\;\;\;x + \left(t - x\right) \cdot \frac{y}{a}\\
\mathbf{elif}\;a \leq 10^{+156}:\\
\;\;\;\;t \cdot \frac{y - z}{a - z}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if a < -5.60000000000000023e75 or 9.9999999999999998e155 < a Initial program 74.5%
+-commutative74.5%
associate-*l/88.2%
fma-def88.1%
Simplified88.1%
Taylor expanded in z around 0 71.1%
+-commutative71.1%
associate-/l*77.8%
Simplified77.8%
if -5.60000000000000023e75 < a < 1.35e14Initial program 63.3%
+-commutative63.3%
associate-*l/71.0%
fma-def71.0%
Simplified71.0%
Taylor expanded in z around inf 74.3%
+-commutative74.3%
associate-/l*80.8%
distribute-lft-out--80.8%
mul-1-neg80.8%
distribute-neg-frac80.8%
associate-/l*74.3%
*-commutative74.3%
distribute-rgt-out--74.3%
unsub-neg74.3%
distribute-rgt-out--74.3%
*-commutative74.3%
associate-/l*80.8%
Simplified80.8%
if 1.35e14 < a < 1.64999999999999995e129Initial program 82.7%
associate-*l/91.2%
Simplified91.2%
Taylor expanded in z around 0 73.4%
if 1.64999999999999995e129 < a < 9.9999999999999998e155Initial program 54.8%
+-commutative54.8%
associate-*l/83.7%
fma-def83.7%
Simplified83.7%
Taylor expanded in t around inf 100.0%
div-sub100.0%
Simplified100.0%
Final simplification79.6%
(FPCore (x y z t a) :precision binary64 (if (or (<= z -3.15e+177) (not (<= z 4.5e+130))) (- t (/ (- y a) (/ z (- t x)))) (+ x (* (- t x) (/ (- y z) (- a z))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -3.15e+177) || !(z <= 4.5e+130)) {
tmp = t - ((y - a) / (z / (t - x)));
} else {
tmp = x + ((t - x) * ((y - z) / (a - z)));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if ((z <= (-3.15d+177)) .or. (.not. (z <= 4.5d+130))) then
tmp = t - ((y - a) / (z / (t - x)))
else
tmp = x + ((t - x) * ((y - z) / (a - z)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -3.15e+177) || !(z <= 4.5e+130)) {
tmp = t - ((y - a) / (z / (t - x)));
} else {
tmp = x + ((t - x) * ((y - z) / (a - z)));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (z <= -3.15e+177) or not (z <= 4.5e+130): tmp = t - ((y - a) / (z / (t - x))) else: tmp = x + ((t - x) * ((y - z) / (a - z))) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((z <= -3.15e+177) || !(z <= 4.5e+130)) tmp = Float64(t - Float64(Float64(y - a) / Float64(z / Float64(t - x)))); else tmp = Float64(x + Float64(Float64(t - x) * Float64(Float64(y - z) / Float64(a - z)))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((z <= -3.15e+177) || ~((z <= 4.5e+130))) tmp = t - ((y - a) / (z / (t - x))); else tmp = x + ((t - x) * ((y - z) / (a - z))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[z, -3.15e+177], N[Not[LessEqual[z, 4.5e+130]], $MachinePrecision]], N[(t - N[(N[(y - a), $MachinePrecision] / N[(z / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x + N[(N[(t - x), $MachinePrecision] * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -3.15 \cdot 10^{+177} \lor \neg \left(z \leq 4.5 \cdot 10^{+130}\right):\\
\;\;\;\;t - \frac{y - a}{\frac{z}{t - x}}\\
\mathbf{else}:\\
\;\;\;\;x + \left(t - x\right) \cdot \frac{y - z}{a - z}\\
\end{array}
\end{array}
if z < -3.15e177 or 4.50000000000000039e130 < z Initial program 25.8%
+-commutative25.8%
associate-*l/53.1%
fma-def53.1%
Simplified53.1%
Taylor expanded in z around inf 59.1%
+-commutative59.1%
associate-/l*87.1%
distribute-lft-out--87.1%
mul-1-neg87.1%
distribute-neg-frac87.1%
associate-/l*59.1%
*-commutative59.1%
distribute-rgt-out--59.0%
unsub-neg59.0%
distribute-rgt-out--59.1%
*-commutative59.1%
associate-/l*87.1%
Simplified87.1%
if -3.15e177 < z < 4.50000000000000039e130Initial program 84.9%
associate-*l/88.6%
Simplified88.6%
Final simplification88.2%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (- t (* y (/ x (- z))))))
(if (<= z -6e+18)
t_1
(if (<= z 4.9e-55)
(+ x (* (- t x) (/ y a)))
(if (<= z 5.0)
(* t (/ (- y z) (- a z)))
(if (<= z 1.3e+51) (- x (/ (* x y) a)) t_1))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t - (y * (x / -z));
double tmp;
if (z <= -6e+18) {
tmp = t_1;
} else if (z <= 4.9e-55) {
tmp = x + ((t - x) * (y / a));
} else if (z <= 5.0) {
tmp = t * ((y - z) / (a - z));
} else if (z <= 1.3e+51) {
tmp = x - ((x * y) / a);
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: tmp
t_1 = t - (y * (x / -z))
if (z <= (-6d+18)) then
tmp = t_1
else if (z <= 4.9d-55) then
tmp = x + ((t - x) * (y / a))
else if (z <= 5.0d0) then
tmp = t * ((y - z) / (a - z))
else if (z <= 1.3d+51) then
tmp = x - ((x * y) / a)
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = t - (y * (x / -z));
double tmp;
if (z <= -6e+18) {
tmp = t_1;
} else if (z <= 4.9e-55) {
tmp = x + ((t - x) * (y / a));
} else if (z <= 5.0) {
tmp = t * ((y - z) / (a - z));
} else if (z <= 1.3e+51) {
tmp = x - ((x * y) / a);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t - (y * (x / -z)) tmp = 0 if z <= -6e+18: tmp = t_1 elif z <= 4.9e-55: tmp = x + ((t - x) * (y / a)) elif z <= 5.0: tmp = t * ((y - z) / (a - z)) elif z <= 1.3e+51: tmp = x - ((x * y) / a) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(t - Float64(y * Float64(x / Float64(-z)))) tmp = 0.0 if (z <= -6e+18) tmp = t_1; elseif (z <= 4.9e-55) tmp = Float64(x + Float64(Float64(t - x) * Float64(y / a))); elseif (z <= 5.0) tmp = Float64(t * Float64(Float64(y - z) / Float64(a - z))); elseif (z <= 1.3e+51) tmp = Float64(x - Float64(Float64(x * y) / a)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t - (y * (x / -z)); tmp = 0.0; if (z <= -6e+18) tmp = t_1; elseif (z <= 4.9e-55) tmp = x + ((t - x) * (y / a)); elseif (z <= 5.0) tmp = t * ((y - z) / (a - z)); elseif (z <= 1.3e+51) tmp = x - ((x * y) / a); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t - N[(y * N[(x / (-z)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -6e+18], t$95$1, If[LessEqual[z, 4.9e-55], N[(x + N[(N[(t - x), $MachinePrecision] * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 5.0], N[(t * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1.3e+51], N[(x - N[(N[(x * y), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t - y \cdot \frac{x}{-z}\\
\mathbf{if}\;z \leq -6 \cdot 10^{+18}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq 4.9 \cdot 10^{-55}:\\
\;\;\;\;x + \left(t - x\right) \cdot \frac{y}{a}\\
\mathbf{elif}\;z \leq 5:\\
\;\;\;\;t \cdot \frac{y - z}{a - z}\\
\mathbf{elif}\;z \leq 1.3 \cdot 10^{+51}:\\
\;\;\;\;x - \frac{x \cdot y}{a}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if z < -6e18 or 1.3000000000000001e51 < z Initial program 42.3%
+-commutative42.3%
associate-*l/63.7%
fma-def63.6%
Simplified63.6%
Taylor expanded in z around -inf 61.4%
Taylor expanded in a around 0 58.7%
mul-1-neg58.7%
unsub-neg58.7%
associate-/l*69.5%
Simplified69.5%
Taylor expanded in t around 0 54.5%
associate-/l*62.3%
associate-*r/62.3%
*-commutative62.3%
associate-*l/62.3%
metadata-eval62.3%
times-frac62.3%
*-commutative62.3%
associate-*r/62.2%
mul-1-neg62.2%
distribute-frac-neg62.2%
associate-/r/62.3%
associate-*l/62.3%
*-lft-identity62.3%
Simplified62.3%
if -6e18 < z < 4.90000000000000035e-55Initial program 93.7%
associate-*l/92.9%
Simplified92.9%
Taylor expanded in z around 0 77.7%
if 4.90000000000000035e-55 < z < 5Initial program 83.8%
+-commutative83.8%
associate-*l/88.9%
fma-def88.9%
Simplified88.9%
Taylor expanded in t around inf 72.6%
div-sub72.6%
Simplified72.6%
if 5 < z < 1.3000000000000001e51Initial program 93.5%
associate-*l/93.4%
Simplified93.4%
Taylor expanded in z around 0 73.9%
Taylor expanded in t around 0 74.1%
+-commutative74.1%
mul-1-neg74.1%
unsub-neg74.1%
Simplified74.1%
Final simplification69.8%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (- t (* y (/ x (- z))))))
(if (<= z -6.5e+18)
t_1
(if (<= z 3.6e-55)
(+ x (/ y (/ a (- t x))))
(if (<= z 0.85)
(* t (/ (- y z) (- a z)))
(if (<= z 9e+50) (- x (/ (* x y) a)) t_1))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t - (y * (x / -z));
double tmp;
if (z <= -6.5e+18) {
tmp = t_1;
} else if (z <= 3.6e-55) {
tmp = x + (y / (a / (t - x)));
} else if (z <= 0.85) {
tmp = t * ((y - z) / (a - z));
} else if (z <= 9e+50) {
tmp = x - ((x * y) / a);
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: tmp
t_1 = t - (y * (x / -z))
if (z <= (-6.5d+18)) then
tmp = t_1
else if (z <= 3.6d-55) then
tmp = x + (y / (a / (t - x)))
else if (z <= 0.85d0) then
tmp = t * ((y - z) / (a - z))
else if (z <= 9d+50) then
tmp = x - ((x * y) / a)
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = t - (y * (x / -z));
double tmp;
if (z <= -6.5e+18) {
tmp = t_1;
} else if (z <= 3.6e-55) {
tmp = x + (y / (a / (t - x)));
} else if (z <= 0.85) {
tmp = t * ((y - z) / (a - z));
} else if (z <= 9e+50) {
tmp = x - ((x * y) / a);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t - (y * (x / -z)) tmp = 0 if z <= -6.5e+18: tmp = t_1 elif z <= 3.6e-55: tmp = x + (y / (a / (t - x))) elif z <= 0.85: tmp = t * ((y - z) / (a - z)) elif z <= 9e+50: tmp = x - ((x * y) / a) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(t - Float64(y * Float64(x / Float64(-z)))) tmp = 0.0 if (z <= -6.5e+18) tmp = t_1; elseif (z <= 3.6e-55) tmp = Float64(x + Float64(y / Float64(a / Float64(t - x)))); elseif (z <= 0.85) tmp = Float64(t * Float64(Float64(y - z) / Float64(a - z))); elseif (z <= 9e+50) tmp = Float64(x - Float64(Float64(x * y) / a)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t - (y * (x / -z)); tmp = 0.0; if (z <= -6.5e+18) tmp = t_1; elseif (z <= 3.6e-55) tmp = x + (y / (a / (t - x))); elseif (z <= 0.85) tmp = t * ((y - z) / (a - z)); elseif (z <= 9e+50) tmp = x - ((x * y) / a); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t - N[(y * N[(x / (-z)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -6.5e+18], t$95$1, If[LessEqual[z, 3.6e-55], N[(x + N[(y / N[(a / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 0.85], N[(t * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 9e+50], N[(x - N[(N[(x * y), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t - y \cdot \frac{x}{-z}\\
\mathbf{if}\;z \leq -6.5 \cdot 10^{+18}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq 3.6 \cdot 10^{-55}:\\
\;\;\;\;x + \frac{y}{\frac{a}{t - x}}\\
\mathbf{elif}\;z \leq 0.85:\\
\;\;\;\;t \cdot \frac{y - z}{a - z}\\
\mathbf{elif}\;z \leq 9 \cdot 10^{+50}:\\
\;\;\;\;x - \frac{x \cdot y}{a}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if z < -6.5e18 or 9.00000000000000027e50 < z Initial program 42.3%
+-commutative42.3%
associate-*l/63.7%
fma-def63.6%
Simplified63.6%
Taylor expanded in z around -inf 61.4%
Taylor expanded in a around 0 58.7%
mul-1-neg58.7%
unsub-neg58.7%
associate-/l*69.5%
Simplified69.5%
Taylor expanded in t around 0 54.5%
associate-/l*62.3%
associate-*r/62.3%
*-commutative62.3%
associate-*l/62.3%
metadata-eval62.3%
times-frac62.3%
*-commutative62.3%
associate-*r/62.2%
mul-1-neg62.2%
distribute-frac-neg62.2%
associate-/r/62.3%
associate-*l/62.3%
*-lft-identity62.3%
Simplified62.3%
if -6.5e18 < z < 3.6000000000000001e-55Initial program 93.7%
+-commutative93.7%
associate-*l/92.9%
fma-def93.0%
Simplified93.0%
Taylor expanded in z around 0 76.8%
+-commutative76.8%
associate-/l*77.7%
Simplified77.7%
if 3.6000000000000001e-55 < z < 0.849999999999999978Initial program 83.8%
+-commutative83.8%
associate-*l/88.9%
fma-def88.9%
Simplified88.9%
Taylor expanded in t around inf 72.6%
div-sub72.6%
Simplified72.6%
if 0.849999999999999978 < z < 9.00000000000000027e50Initial program 93.5%
associate-*l/93.4%
Simplified93.4%
Taylor expanded in z around 0 73.9%
Taylor expanded in t around 0 74.1%
+-commutative74.1%
mul-1-neg74.1%
unsub-neg74.1%
Simplified74.1%
Final simplification69.8%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* x (- 1.0 (/ y a)))))
(if (<= z -8.5e+202)
t
(if (<= z 6.5e-56)
t_1
(if (<= z 4.2e-6) (+ x t) (if (<= z 3e+51) t_1 t))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x * (1.0 - (y / a));
double tmp;
if (z <= -8.5e+202) {
tmp = t;
} else if (z <= 6.5e-56) {
tmp = t_1;
} else if (z <= 4.2e-6) {
tmp = x + t;
} else if (z <= 3e+51) {
tmp = t_1;
} else {
tmp = t;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: tmp
t_1 = x * (1.0d0 - (y / a))
if (z <= (-8.5d+202)) then
tmp = t
else if (z <= 6.5d-56) then
tmp = t_1
else if (z <= 4.2d-6) then
tmp = x + t
else if (z <= 3d+51) then
tmp = t_1
else
tmp = t
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x * (1.0 - (y / a));
double tmp;
if (z <= -8.5e+202) {
tmp = t;
} else if (z <= 6.5e-56) {
tmp = t_1;
} else if (z <= 4.2e-6) {
tmp = x + t;
} else if (z <= 3e+51) {
tmp = t_1;
} else {
tmp = t;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x * (1.0 - (y / a)) tmp = 0 if z <= -8.5e+202: tmp = t elif z <= 6.5e-56: tmp = t_1 elif z <= 4.2e-6: tmp = x + t elif z <= 3e+51: tmp = t_1 else: tmp = t return tmp
function code(x, y, z, t, a) t_1 = Float64(x * Float64(1.0 - Float64(y / a))) tmp = 0.0 if (z <= -8.5e+202) tmp = t; elseif (z <= 6.5e-56) tmp = t_1; elseif (z <= 4.2e-6) tmp = Float64(x + t); elseif (z <= 3e+51) tmp = t_1; else tmp = t; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x * (1.0 - (y / a)); tmp = 0.0; if (z <= -8.5e+202) tmp = t; elseif (z <= 6.5e-56) tmp = t_1; elseif (z <= 4.2e-6) tmp = x + t; elseif (z <= 3e+51) tmp = t_1; else tmp = t; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x * N[(1.0 - N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -8.5e+202], t, If[LessEqual[z, 6.5e-56], t$95$1, If[LessEqual[z, 4.2e-6], N[(x + t), $MachinePrecision], If[LessEqual[z, 3e+51], t$95$1, t]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(1 - \frac{y}{a}\right)\\
\mathbf{if}\;z \leq -8.5 \cdot 10^{+202}:\\
\;\;\;\;t\\
\mathbf{elif}\;z \leq 6.5 \cdot 10^{-56}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq 4.2 \cdot 10^{-6}:\\
\;\;\;\;x + t\\
\mathbf{elif}\;z \leq 3 \cdot 10^{+51}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t\\
\end{array}
\end{array}
if z < -8.5000000000000003e202 or 3e51 < z Initial program 34.9%
+-commutative34.9%
associate-*l/58.0%
fma-def58.0%
Simplified58.0%
Taylor expanded in z around inf 49.3%
if -8.5000000000000003e202 < z < 6.4999999999999997e-56 or 4.1999999999999996e-6 < z < 3e51Initial program 85.3%
associate-*l/89.3%
Simplified89.3%
Taylor expanded in z around 0 65.8%
Taylor expanded in x around inf 52.0%
*-commutative52.0%
mul-1-neg52.0%
unsub-neg52.0%
Simplified52.0%
if 6.4999999999999997e-56 < z < 4.1999999999999996e-6Initial program 87.7%
+-commutative87.7%
associate-*l/87.7%
fma-def87.7%
Simplified87.7%
Taylor expanded in x around -inf 97.1%
Taylor expanded in z around inf 63.4%
Taylor expanded in a around inf 49.8%
mul-1-neg49.8%
Simplified49.8%
Final simplification50.9%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (/ y (/ a t)))))
(if (<= a -5.6e+75)
t_1
(if (<= a 1.85e-135)
(- t (* y (/ x (- z))))
(if (<= a 1.5e+92) (* y (/ (- t x) (- a z))) t_1)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (y / (a / t));
double tmp;
if (a <= -5.6e+75) {
tmp = t_1;
} else if (a <= 1.85e-135) {
tmp = t - (y * (x / -z));
} else if (a <= 1.5e+92) {
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 / (a / t))
if (a <= (-5.6d+75)) then
tmp = t_1
else if (a <= 1.85d-135) then
tmp = t - (y * (x / -z))
else if (a <= 1.5d+92) 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 / (a / t));
double tmp;
if (a <= -5.6e+75) {
tmp = t_1;
} else if (a <= 1.85e-135) {
tmp = t - (y * (x / -z));
} else if (a <= 1.5e+92) {
tmp = y * ((t - x) / (a - z));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (y / (a / t)) tmp = 0 if a <= -5.6e+75: tmp = t_1 elif a <= 1.85e-135: tmp = t - (y * (x / -z)) elif a <= 1.5e+92: tmp = y * ((t - x) / (a - z)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(y / Float64(a / t))) tmp = 0.0 if (a <= -5.6e+75) tmp = t_1; elseif (a <= 1.85e-135) tmp = Float64(t - Float64(y * Float64(x / Float64(-z)))); elseif (a <= 1.5e+92) 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 / (a / t)); tmp = 0.0; if (a <= -5.6e+75) tmp = t_1; elseif (a <= 1.85e-135) tmp = t - (y * (x / -z)); elseif (a <= 1.5e+92) 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[(y / N[(a / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -5.6e+75], t$95$1, If[LessEqual[a, 1.85e-135], N[(t - N[(y * N[(x / (-z)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.5e+92], 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}{\frac{a}{t}}\\
\mathbf{if}\;a \leq -5.6 \cdot 10^{+75}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 1.85 \cdot 10^{-135}:\\
\;\;\;\;t - y \cdot \frac{x}{-z}\\
\mathbf{elif}\;a \leq 1.5 \cdot 10^{+92}:\\
\;\;\;\;y \cdot \frac{t - x}{a - z}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if a < -5.60000000000000023e75 or 1.50000000000000007e92 < a Initial program 74.9%
+-commutative74.9%
associate-*l/88.6%
fma-def88.6%
Simplified88.6%
Taylor expanded in z around 0 67.7%
+-commutative67.7%
associate-/l*74.5%
Simplified74.5%
Taylor expanded in t around inf 69.5%
if -5.60000000000000023e75 < a < 1.8499999999999999e-135Initial program 63.3%
+-commutative63.3%
associate-*l/69.8%
fma-def69.8%
Simplified69.8%
Taylor expanded in z around -inf 79.5%
Taylor expanded in a around 0 76.2%
mul-1-neg76.2%
unsub-neg76.2%
associate-/l*77.8%
Simplified77.8%
Taylor expanded in t around 0 61.3%
associate-/l*63.9%
associate-*r/63.9%
*-commutative63.9%
associate-*l/63.9%
metadata-eval63.9%
times-frac63.9%
*-commutative63.9%
associate-*r/63.9%
mul-1-neg63.9%
distribute-frac-neg63.9%
associate-/r/63.9%
associate-*l/64.0%
*-lft-identity64.0%
Simplified64.0%
if 1.8499999999999999e-135 < a < 1.50000000000000007e92Initial program 67.9%
+-commutative67.9%
associate-*l/80.0%
fma-def80.0%
Simplified80.0%
Taylor expanded in y around inf 66.6%
div-sub66.6%
*-commutative66.6%
Simplified66.6%
Final simplification66.5%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (/ y (/ a t)))))
(if (<= a -5.6e+75)
t_1
(if (<= a 1.36e-117)
(- t (* t (/ y z)))
(if (<= a 8000000000.0) (* y (/ (- x) (- a z))) t_1)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (y / (a / t));
double tmp;
if (a <= -5.6e+75) {
tmp = t_1;
} else if (a <= 1.36e-117) {
tmp = t - (t * (y / z));
} else if (a <= 8000000000.0) {
tmp = y * (-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 / (a / t))
if (a <= (-5.6d+75)) then
tmp = t_1
else if (a <= 1.36d-117) then
tmp = t - (t * (y / z))
else if (a <= 8000000000.0d0) then
tmp = y * (-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 / (a / t));
double tmp;
if (a <= -5.6e+75) {
tmp = t_1;
} else if (a <= 1.36e-117) {
tmp = t - (t * (y / z));
} else if (a <= 8000000000.0) {
tmp = y * (-x / (a - z));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (y / (a / t)) tmp = 0 if a <= -5.6e+75: tmp = t_1 elif a <= 1.36e-117: tmp = t - (t * (y / z)) elif a <= 8000000000.0: tmp = y * (-x / (a - z)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(y / Float64(a / t))) tmp = 0.0 if (a <= -5.6e+75) tmp = t_1; elseif (a <= 1.36e-117) tmp = Float64(t - Float64(t * Float64(y / z))); elseif (a <= 8000000000.0) tmp = Float64(y * Float64(Float64(-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 / (a / t)); tmp = 0.0; if (a <= -5.6e+75) tmp = t_1; elseif (a <= 1.36e-117) tmp = t - (t * (y / z)); elseif (a <= 8000000000.0) tmp = y * (-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[(y / N[(a / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -5.6e+75], t$95$1, If[LessEqual[a, 1.36e-117], N[(t - N[(t * N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 8000000000.0], N[(y * N[((-x) / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{y}{\frac{a}{t}}\\
\mathbf{if}\;a \leq -5.6 \cdot 10^{+75}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 1.36 \cdot 10^{-117}:\\
\;\;\;\;t - t \cdot \frac{y}{z}\\
\mathbf{elif}\;a \leq 8000000000:\\
\;\;\;\;y \cdot \frac{-x}{a - z}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if a < -5.60000000000000023e75 or 8e9 < a Initial program 75.1%
+-commutative75.1%
associate-*l/88.5%
fma-def88.5%
Simplified88.5%
Taylor expanded in z around 0 68.0%
+-commutative68.0%
associate-/l*73.8%
Simplified73.8%
Taylor expanded in t around inf 66.1%
if -5.60000000000000023e75 < a < 1.35999999999999996e-117Initial program 63.7%
+-commutative63.7%
associate-*l/70.8%
fma-def70.9%
Simplified70.9%
Taylor expanded in z around -inf 77.8%
Taylor expanded in a around 0 74.6%
mul-1-neg74.6%
unsub-neg74.6%
associate-/l*76.9%
Simplified76.9%
Taylor expanded in t around inf 59.0%
associate-*l/59.8%
*-commutative59.8%
Simplified59.8%
if 1.35999999999999996e-117 < a < 8e9Initial program 61.3%
+-commutative61.3%
associate-*l/71.8%
fma-def71.8%
Simplified71.8%
Taylor expanded in y around -inf 52.7%
Taylor expanded in t around 0 36.2%
mul-1-neg36.2%
distribute-rgt-neg-in36.2%
Simplified36.2%
Taylor expanded in y around 0 36.2%
mul-1-neg36.2%
associate-*r/50.8%
distribute-rgt-neg-in50.8%
Simplified50.8%
Final simplification61.7%
(FPCore (x y z t a) :precision binary64 (if (or (<= z -6e-28) (not (<= z 7.1e+50))) (- t (* y (/ x (- z)))) (+ x (/ y (/ a t)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -6e-28) || !(z <= 7.1e+50)) {
tmp = t - (y * (x / -z));
} else {
tmp = x + (y / (a / t));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if ((z <= (-6d-28)) .or. (.not. (z <= 7.1d+50))) then
tmp = t - (y * (x / -z))
else
tmp = x + (y / (a / t))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -6e-28) || !(z <= 7.1e+50)) {
tmp = t - (y * (x / -z));
} else {
tmp = x + (y / (a / t));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (z <= -6e-28) or not (z <= 7.1e+50): tmp = t - (y * (x / -z)) else: tmp = x + (y / (a / t)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((z <= -6e-28) || !(z <= 7.1e+50)) tmp = Float64(t - Float64(y * Float64(x / Float64(-z)))); else tmp = Float64(x + Float64(y / Float64(a / t))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((z <= -6e-28) || ~((z <= 7.1e+50))) tmp = t - (y * (x / -z)); else tmp = x + (y / (a / t)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[z, -6e-28], N[Not[LessEqual[z, 7.1e+50]], $MachinePrecision]], N[(t - N[(y * N[(x / (-z)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x + N[(y / N[(a / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -6 \cdot 10^{-28} \lor \neg \left(z \leq 7.1 \cdot 10^{+50}\right):\\
\;\;\;\;t - y \cdot \frac{x}{-z}\\
\mathbf{else}:\\
\;\;\;\;x + \frac{y}{\frac{a}{t}}\\
\end{array}
\end{array}
if z < -6.00000000000000005e-28 or 7.09999999999999992e50 < z Initial program 44.3%
+-commutative44.3%
associate-*l/65.4%
fma-def65.3%
Simplified65.3%
Taylor expanded in z around -inf 61.0%
Taylor expanded in a around 0 58.3%
mul-1-neg58.3%
unsub-neg58.3%
associate-/l*68.6%
Simplified68.6%
Taylor expanded in t around 0 54.3%
associate-/l*61.7%
associate-*r/61.7%
*-commutative61.7%
associate-*l/61.7%
metadata-eval61.7%
times-frac61.7%
*-commutative61.7%
associate-*r/61.7%
mul-1-neg61.7%
distribute-frac-neg61.7%
associate-/r/61.7%
associate-*l/61.8%
*-lft-identity61.8%
Simplified61.8%
if -6.00000000000000005e-28 < z < 7.09999999999999992e50Initial program 92.7%
+-commutative92.7%
associate-*l/92.1%
fma-def92.1%
Simplified92.1%
Taylor expanded in z around 0 72.1%
+-commutative72.1%
associate-/l*72.7%
Simplified72.7%
Taylor expanded in t around inf 61.6%
Final simplification61.7%
(FPCore (x y z t a) :precision binary64 (if (<= a -6.6e+75) x (if (<= a 2.5e-116) t (if (<= a 36000000000000.0) (* y (/ x z)) x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -6.6e+75) {
tmp = x;
} else if (a <= 2.5e-116) {
tmp = t;
} else if (a <= 36000000000000.0) {
tmp = y * (x / z);
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (a <= (-6.6d+75)) then
tmp = x
else if (a <= 2.5d-116) then
tmp = t
else if (a <= 36000000000000.0d0) then
tmp = y * (x / z)
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -6.6e+75) {
tmp = x;
} else if (a <= 2.5e-116) {
tmp = t;
} else if (a <= 36000000000000.0) {
tmp = y * (x / z);
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -6.6e+75: tmp = x elif a <= 2.5e-116: tmp = t elif a <= 36000000000000.0: tmp = y * (x / z) else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -6.6e+75) tmp = x; elseif (a <= 2.5e-116) tmp = t; elseif (a <= 36000000000000.0) tmp = Float64(y * Float64(x / z)); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -6.6e+75) tmp = x; elseif (a <= 2.5e-116) tmp = t; elseif (a <= 36000000000000.0) tmp = y * (x / z); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -6.6e+75], x, If[LessEqual[a, 2.5e-116], t, If[LessEqual[a, 36000000000000.0], N[(y * N[(x / z), $MachinePrecision]), $MachinePrecision], x]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -6.6 \cdot 10^{+75}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 2.5 \cdot 10^{-116}:\\
\;\;\;\;t\\
\mathbf{elif}\;a \leq 36000000000000:\\
\;\;\;\;y \cdot \frac{x}{z}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -6.59999999999999996e75 or 3.6e13 < a Initial program 75.1%
+-commutative75.1%
associate-*l/88.5%
fma-def88.5%
Simplified88.5%
Taylor expanded in a around inf 49.2%
if -6.59999999999999996e75 < a < 2.5000000000000001e-116Initial program 63.7%
+-commutative63.7%
associate-*l/70.8%
fma-def70.9%
Simplified70.9%
Taylor expanded in z around inf 42.2%
if 2.5000000000000001e-116 < a < 3.6e13Initial program 61.3%
+-commutative61.3%
associate-*l/71.8%
fma-def71.8%
Simplified71.8%
Taylor expanded in y around -inf 52.7%
Taylor expanded in t around 0 36.2%
mul-1-neg36.2%
distribute-rgt-neg-in36.2%
Simplified36.2%
Taylor expanded in a around 0 35.7%
associate-/l*50.2%
Simplified50.2%
Taylor expanded in y around 0 35.7%
associate-*r/50.1%
Simplified50.1%
Final simplification46.1%
(FPCore (x y z t a) :precision binary64 (if (<= z -1.3e+84) t (if (<= z 8e+50) (+ x (* t (/ y a))) t)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -1.3e+84) {
tmp = t;
} else if (z <= 8e+50) {
tmp = x + (t * (y / a));
} else {
tmp = t;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (z <= (-1.3d+84)) then
tmp = t
else if (z <= 8d+50) then
tmp = x + (t * (y / a))
else
tmp = t
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -1.3e+84) {
tmp = t;
} else if (z <= 8e+50) {
tmp = x + (t * (y / a));
} else {
tmp = t;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -1.3e+84: tmp = t elif z <= 8e+50: tmp = x + (t * (y / a)) else: tmp = t return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -1.3e+84) tmp = t; elseif (z <= 8e+50) tmp = Float64(x + Float64(t * Float64(y / a))); else tmp = t; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -1.3e+84) tmp = t; elseif (z <= 8e+50) tmp = x + (t * (y / a)); else tmp = t; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -1.3e+84], t, If[LessEqual[z, 8e+50], N[(x + N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -1.3 \cdot 10^{+84}:\\
\;\;\;\;t\\
\mathbf{elif}\;z \leq 8 \cdot 10^{+50}:\\
\;\;\;\;x + t \cdot \frac{y}{a}\\
\mathbf{else}:\\
\;\;\;\;t\\
\end{array}
\end{array}
if z < -1.3000000000000001e84 or 8.0000000000000006e50 < z Initial program 37.4%
+-commutative37.4%
associate-*l/60.8%
fma-def60.8%
Simplified60.8%
Taylor expanded in z around inf 45.3%
if -1.3000000000000001e84 < z < 8.0000000000000006e50Initial program 90.5%
+-commutative90.5%
associate-*l/91.4%
fma-def91.4%
Simplified91.4%
Taylor expanded in z around 0 67.0%
+-commutative67.0%
associate-/l*68.9%
Simplified68.9%
Taylor expanded in t around inf 56.3%
associate-*l/55.8%
*-commutative55.8%
Simplified55.8%
Final simplification51.4%
(FPCore (x y z t a) :precision binary64 (if (<= z -4.5e+83) t (if (<= z 3.3e+51) (+ x (/ y (/ a t))) t)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -4.5e+83) {
tmp = t;
} else if (z <= 3.3e+51) {
tmp = x + (y / (a / t));
} else {
tmp = t;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (z <= (-4.5d+83)) then
tmp = t
else if (z <= 3.3d+51) then
tmp = x + (y / (a / t))
else
tmp = t
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -4.5e+83) {
tmp = t;
} else if (z <= 3.3e+51) {
tmp = x + (y / (a / t));
} else {
tmp = t;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -4.5e+83: tmp = t elif z <= 3.3e+51: tmp = x + (y / (a / t)) else: tmp = t return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -4.5e+83) tmp = t; elseif (z <= 3.3e+51) tmp = Float64(x + Float64(y / Float64(a / t))); else tmp = t; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -4.5e+83) tmp = t; elseif (z <= 3.3e+51) tmp = x + (y / (a / t)); else tmp = t; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -4.5e+83], t, If[LessEqual[z, 3.3e+51], N[(x + N[(y / N[(a / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -4.5 \cdot 10^{+83}:\\
\;\;\;\;t\\
\mathbf{elif}\;z \leq 3.3 \cdot 10^{+51}:\\
\;\;\;\;x + \frac{y}{\frac{a}{t}}\\
\mathbf{else}:\\
\;\;\;\;t\\
\end{array}
\end{array}
if z < -4.4999999999999999e83 or 3.2999999999999997e51 < z Initial program 37.4%
+-commutative37.4%
associate-*l/60.8%
fma-def60.8%
Simplified60.8%
Taylor expanded in z around inf 45.3%
if -4.4999999999999999e83 < z < 3.2999999999999997e51Initial program 90.5%
+-commutative90.5%
associate-*l/91.4%
fma-def91.4%
Simplified91.4%
Taylor expanded in z around 0 67.0%
+-commutative67.0%
associate-/l*68.9%
Simplified68.9%
Taylor expanded in t around inf 56.9%
Final simplification52.1%
(FPCore (x y z t a) :precision binary64 (if (<= a -6e+75) x (if (<= a 7.8e+27) t x)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -6e+75) {
tmp = x;
} else if (a <= 7.8e+27) {
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 <= (-6d+75)) then
tmp = x
else if (a <= 7.8d+27) 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 <= -6e+75) {
tmp = x;
} else if (a <= 7.8e+27) {
tmp = t;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -6e+75: tmp = x elif a <= 7.8e+27: tmp = t else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -6e+75) tmp = x; elseif (a <= 7.8e+27) tmp = t; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -6e+75) tmp = x; elseif (a <= 7.8e+27) tmp = t; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -6e+75], x, If[LessEqual[a, 7.8e+27], t, x]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -6 \cdot 10^{+75}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 7.8 \cdot 10^{+27}:\\
\;\;\;\;t\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -6e75 or 7.7999999999999997e27 < a Initial program 75.0%
+-commutative75.0%
associate-*l/89.0%
fma-def88.9%
Simplified88.9%
Taylor expanded in a around inf 50.0%
if -6e75 < a < 7.7999999999999997e27Initial program 63.6%
+-commutative63.6%
associate-*l/71.1%
fma-def71.2%
Simplified71.2%
Taylor expanded in z around inf 37.8%
Final simplification43.0%
(FPCore (x y z t a) :precision binary64 0.0)
double code(double x, double y, double z, double t, double a) {
return 0.0;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
code = 0.0d0
end function
public static double code(double x, double y, double z, double t, double a) {
return 0.0;
}
def code(x, y, z, t, a): return 0.0
function code(x, y, z, t, a) return 0.0 end
function tmp = code(x, y, z, t, a) tmp = 0.0; end
code[x_, y_, z_, t_, a_] := 0.0
\begin{array}{l}
\\
0
\end{array}
Initial program 68.5%
+-commutative68.5%
associate-*l/78.7%
fma-def78.7%
Simplified78.7%
Taylor expanded in y around 0 39.4%
+-commutative39.4%
*-commutative39.4%
mul-1-neg39.4%
associate-*r/43.1%
unsub-neg43.1%
Simplified43.1%
Taylor expanded in x around inf 26.5%
*-commutative26.5%
sub-neg26.5%
mul-1-neg26.5%
remove-double-neg26.5%
distribute-lft-in26.6%
*-rgt-identity26.6%
Simplified26.6%
Taylor expanded in z around inf 2.9%
distribute-lft1-in2.9%
metadata-eval2.9%
mul0-lft2.9%
Simplified2.9%
Final simplification2.9%
(FPCore (x y z t a) :precision binary64 t)
double code(double x, double y, double z, double t, double a) {
return t;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
code = t
end function
public static double code(double x, double y, double z, double t, double a) {
return t;
}
def code(x, y, z, t, a): return t
function code(x, y, z, t, a) return t end
function tmp = code(x, y, z, t, a) tmp = t; end
code[x_, y_, z_, t_, a_] := t
\begin{array}{l}
\\
t
\end{array}
Initial program 68.5%
+-commutative68.5%
associate-*l/78.7%
fma-def78.7%
Simplified78.7%
Taylor expanded in z around inf 26.3%
Final simplification26.3%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (- t (* (/ y z) (- t x)))))
(if (< z -1.2536131056095036e+188)
t_1
(if (< z 4.446702369113811e+64)
(+ x (/ (- y z) (/ (- a z) (- t x))))
t_1))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t - ((y / z) * (t - x));
double tmp;
if (z < -1.2536131056095036e+188) {
tmp = t_1;
} else if (z < 4.446702369113811e+64) {
tmp = x + ((y - z) / ((a - z) / (t - x)));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: tmp
t_1 = t - ((y / z) * (t - x))
if (z < (-1.2536131056095036d+188)) then
tmp = t_1
else if (z < 4.446702369113811d+64) then
tmp = x + ((y - z) / ((a - z) / (t - x)))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = t - ((y / z) * (t - x));
double tmp;
if (z < -1.2536131056095036e+188) {
tmp = t_1;
} else if (z < 4.446702369113811e+64) {
tmp = x + ((y - z) / ((a - z) / (t - x)));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t - ((y / z) * (t - x)) tmp = 0 if z < -1.2536131056095036e+188: tmp = t_1 elif z < 4.446702369113811e+64: tmp = x + ((y - z) / ((a - z) / (t - x))) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(t - Float64(Float64(y / z) * Float64(t - x))) tmp = 0.0 if (z < -1.2536131056095036e+188) tmp = t_1; elseif (z < 4.446702369113811e+64) tmp = Float64(x + Float64(Float64(y - z) / Float64(Float64(a - z) / Float64(t - x)))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t - ((y / z) * (t - x)); tmp = 0.0; if (z < -1.2536131056095036e+188) tmp = t_1; elseif (z < 4.446702369113811e+64) tmp = x + ((y - z) / ((a - z) / (t - x))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t - N[(N[(y / z), $MachinePrecision] * N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Less[z, -1.2536131056095036e+188], t$95$1, If[Less[z, 4.446702369113811e+64], N[(x + N[(N[(y - z), $MachinePrecision] / N[(N[(a - z), $MachinePrecision] / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t - \frac{y}{z} \cdot \left(t - x\right)\\
\mathbf{if}\;z < -1.2536131056095036 \cdot 10^{+188}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z < 4.446702369113811 \cdot 10^{+64}:\\
\;\;\;\;x + \frac{y - z}{\frac{a - z}{t - x}}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
herbie shell --seed 2023257
(FPCore (x y z t a)
:name "Graphics.Rendering.Chart.Axis.Types:invLinMap from Chart-1.5.3"
:precision binary64
:herbie-target
(if (< z -1.2536131056095036e+188) (- t (* (/ y z) (- t x))) (if (< z 4.446702369113811e+64) (+ x (/ (- y z) (/ (- a z) (- t x)))) (- t (* (/ y z) (- t x)))))
(+ x (/ (* (- y z) (- t x)) (- a z))))