
(FPCore (x y z t a) :precision binary64 (+ x (/ (* (- y x) (- z t)) (- a t))))
double code(double x, double y, double z, double t, double a) {
return x + (((y - x) * (z - t)) / (a - t));
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
code = x + (((y - x) * (z - t)) / (a - t))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + (((y - x) * (z - t)) / (a - t));
}
def code(x, y, z, t, a): return x + (((y - x) * (z - t)) / (a - t))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(Float64(y - x) * Float64(z - t)) / Float64(a - t))) end
function tmp = code(x, y, z, t, a) tmp = x + (((y - x) * (z - t)) / (a - t)); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(N[(y - x), $MachinePrecision] * N[(z - t), $MachinePrecision]), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 25 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a) :precision binary64 (+ x (/ (* (- y x) (- z t)) (- a t))))
double code(double x, double y, double z, double t, double a) {
return x + (((y - x) * (z - t)) / (a - t));
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
code = x + (((y - x) * (z - t)) / (a - t))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + (((y - x) * (z - t)) / (a - t));
}
def code(x, y, z, t, a): return x + (((y - x) * (z - t)) / (a - t))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(Float64(y - x) * Float64(z - t)) / Float64(a - t))) end
function tmp = code(x, y, z, t, a) tmp = x + (((y - x) * (z - t)) / (a - t)); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(N[(y - x), $MachinePrecision] * N[(z - t), $MachinePrecision]), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t}
\end{array}
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (/ (* (- y x) (- z t)) (- a t)))))
(if (or (<= t_1 -2e-300) (not (<= t_1 0.0)))
(fma (- y x) (/ (- z t) (- a t)) x)
(+ y (/ (+ (* (- y x) a) (* z (- x y))) t)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (((y - x) * (z - t)) / (a - t));
double tmp;
if ((t_1 <= -2e-300) || !(t_1 <= 0.0)) {
tmp = fma((y - x), ((z - t) / (a - t)), x);
} else {
tmp = y + ((((y - x) * a) + (z * (x - y))) / t);
}
return tmp;
}
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(Float64(y - x) * Float64(z - t)) / Float64(a - t))) tmp = 0.0 if ((t_1 <= -2e-300) || !(t_1 <= 0.0)) tmp = fma(Float64(y - x), Float64(Float64(z - t) / Float64(a - t)), x); else tmp = Float64(y + Float64(Float64(Float64(Float64(y - x) * a) + Float64(z * Float64(x - y))) / t)); end return tmp end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(N[(y - x), $MachinePrecision] * N[(z - t), $MachinePrecision]), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Or[LessEqual[t$95$1, -2e-300], N[Not[LessEqual[t$95$1, 0.0]], $MachinePrecision]], N[(N[(y - x), $MachinePrecision] * N[(N[(z - t), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision] + x), $MachinePrecision], N[(y + N[(N[(N[(N[(y - x), $MachinePrecision] * a), $MachinePrecision] + N[(z * N[(x - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t}\\
\mathbf{if}\;t\_1 \leq -2 \cdot 10^{-300} \lor \neg \left(t\_1 \leq 0\right):\\
\;\;\;\;\mathsf{fma}\left(y - x, \frac{z - t}{a - t}, x\right)\\
\mathbf{else}:\\
\;\;\;\;y + \frac{\left(y - x\right) \cdot a + z \cdot \left(x - y\right)}{t}\\
\end{array}
\end{array}
if (+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t))) < -2.00000000000000005e-300 or 0.0 < (+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t))) Initial program 78.3%
+-commutative78.3%
associate-/l*90.8%
fma-define90.8%
Simplified90.8%
if -2.00000000000000005e-300 < (+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t))) < 0.0Initial program 4.1%
Taylor expanded in t around -inf 99.8%
Final simplification91.3%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* x (+ (/ (- z t) (- t a)) 1.0)))
(t_2 (* y (+ (/ t_1 y) (/ (- z t) (- a t))))))
(if (<= t -1.85e-13)
t_2
(if (<= t 1.35e+50)
(+ x (/ (* (- y x) (- z t)) (- a t)))
(if (<= t 1.4e+70)
(+ y (/ (* (- y x) (- a z)) t))
(if (<= t 4.5e+70) t_1 t_2))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x * (((z - t) / (t - a)) + 1.0);
double t_2 = y * ((t_1 / y) + ((z - t) / (a - t)));
double tmp;
if (t <= -1.85e-13) {
tmp = t_2;
} else if (t <= 1.35e+50) {
tmp = x + (((y - x) * (z - t)) / (a - t));
} else if (t <= 1.4e+70) {
tmp = y + (((y - x) * (a - z)) / t);
} else if (t <= 4.5e+70) {
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) / (t - a)) + 1.0d0)
t_2 = y * ((t_1 / y) + ((z - t) / (a - t)))
if (t <= (-1.85d-13)) then
tmp = t_2
else if (t <= 1.35d+50) then
tmp = x + (((y - x) * (z - t)) / (a - t))
else if (t <= 1.4d+70) then
tmp = y + (((y - x) * (a - z)) / t)
else if (t <= 4.5d+70) 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) / (t - a)) + 1.0);
double t_2 = y * ((t_1 / y) + ((z - t) / (a - t)));
double tmp;
if (t <= -1.85e-13) {
tmp = t_2;
} else if (t <= 1.35e+50) {
tmp = x + (((y - x) * (z - t)) / (a - t));
} else if (t <= 1.4e+70) {
tmp = y + (((y - x) * (a - z)) / t);
} else if (t <= 4.5e+70) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x * (((z - t) / (t - a)) + 1.0) t_2 = y * ((t_1 / y) + ((z - t) / (a - t))) tmp = 0 if t <= -1.85e-13: tmp = t_2 elif t <= 1.35e+50: tmp = x + (((y - x) * (z - t)) / (a - t)) elif t <= 1.4e+70: tmp = y + (((y - x) * (a - z)) / t) elif t <= 4.5e+70: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a) t_1 = Float64(x * Float64(Float64(Float64(z - t) / Float64(t - a)) + 1.0)) t_2 = Float64(y * Float64(Float64(t_1 / y) + Float64(Float64(z - t) / Float64(a - t)))) tmp = 0.0 if (t <= -1.85e-13) tmp = t_2; elseif (t <= 1.35e+50) tmp = Float64(x + Float64(Float64(Float64(y - x) * Float64(z - t)) / Float64(a - t))); elseif (t <= 1.4e+70) tmp = Float64(y + Float64(Float64(Float64(y - x) * Float64(a - z)) / t)); elseif (t <= 4.5e+70) 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) / (t - a)) + 1.0); t_2 = y * ((t_1 / y) + ((z - t) / (a - t))); tmp = 0.0; if (t <= -1.85e-13) tmp = t_2; elseif (t <= 1.35e+50) tmp = x + (((y - x) * (z - t)) / (a - t)); elseif (t <= 1.4e+70) tmp = y + (((y - x) * (a - z)) / t); elseif (t <= 4.5e+70) 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[(N[(z - t), $MachinePrecision] / N[(t - a), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y * N[(N[(t$95$1 / y), $MachinePrecision] + N[(N[(z - t), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -1.85e-13], t$95$2, If[LessEqual[t, 1.35e+50], N[(x + N[(N[(N[(y - x), $MachinePrecision] * N[(z - t), $MachinePrecision]), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.4e+70], N[(y + N[(N[(N[(y - x), $MachinePrecision] * N[(a - z), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 4.5e+70], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(\frac{z - t}{t - a} + 1\right)\\
t_2 := y \cdot \left(\frac{t\_1}{y} + \frac{z - t}{a - t}\right)\\
\mathbf{if}\;t \leq -1.85 \cdot 10^{-13}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;t \leq 1.35 \cdot 10^{+50}:\\
\;\;\;\;x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t}\\
\mathbf{elif}\;t \leq 1.4 \cdot 10^{+70}:\\
\;\;\;\;y + \frac{\left(y - x\right) \cdot \left(a - z\right)}{t}\\
\mathbf{elif}\;t \leq 4.5 \cdot 10^{+70}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if t < -1.84999999999999994e-13 or 4.4999999999999999e70 < t Initial program 52.4%
Taylor expanded in y around -inf 64.8%
mul-1-neg64.8%
*-commutative64.8%
distribute-rgt-neg-in64.8%
Simplified82.5%
if -1.84999999999999994e-13 < t < 1.35e50Initial program 92.5%
if 1.35e50 < t < 1.39999999999999995e70Initial program 19.7%
Taylor expanded in t around inf 100.0%
associate--l+100.0%
associate-*r/100.0%
associate-*r/100.0%
mul-1-neg100.0%
div-sub100.0%
mul-1-neg100.0%
distribute-lft-out--100.0%
associate-*r/100.0%
mul-1-neg100.0%
unsub-neg100.0%
distribute-rgt-out--100.0%
Simplified100.0%
if 1.39999999999999995e70 < t < 4.4999999999999999e70Initial program 55.5%
Taylor expanded in x around inf 100.0%
mul-1-neg100.0%
unsub-neg100.0%
Simplified100.0%
Final simplification88.7%
(FPCore (x y z t a)
:precision binary64
(if (<= t -3e+56)
y
(if (<= t -7.8e-157)
x
(if (<= t -2.2e-241)
(* y (/ z (- t)))
(if (<= t 1.25e-247)
x
(if (<= t 1.02e-9)
(* y (/ z a))
(if (<= t 1.95e+70) (* x (/ (- z a) t)) y)))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (t <= -3e+56) {
tmp = y;
} else if (t <= -7.8e-157) {
tmp = x;
} else if (t <= -2.2e-241) {
tmp = y * (z / -t);
} else if (t <= 1.25e-247) {
tmp = x;
} else if (t <= 1.02e-9) {
tmp = y * (z / a);
} else if (t <= 1.95e+70) {
tmp = x * ((z - a) / t);
} else {
tmp = y;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (t <= (-3d+56)) then
tmp = y
else if (t <= (-7.8d-157)) then
tmp = x
else if (t <= (-2.2d-241)) then
tmp = y * (z / -t)
else if (t <= 1.25d-247) then
tmp = x
else if (t <= 1.02d-9) then
tmp = y * (z / a)
else if (t <= 1.95d+70) then
tmp = x * ((z - a) / t)
else
tmp = y
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (t <= -3e+56) {
tmp = y;
} else if (t <= -7.8e-157) {
tmp = x;
} else if (t <= -2.2e-241) {
tmp = y * (z / -t);
} else if (t <= 1.25e-247) {
tmp = x;
} else if (t <= 1.02e-9) {
tmp = y * (z / a);
} else if (t <= 1.95e+70) {
tmp = x * ((z - a) / t);
} else {
tmp = y;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if t <= -3e+56: tmp = y elif t <= -7.8e-157: tmp = x elif t <= -2.2e-241: tmp = y * (z / -t) elif t <= 1.25e-247: tmp = x elif t <= 1.02e-9: tmp = y * (z / a) elif t <= 1.95e+70: tmp = x * ((z - a) / t) else: tmp = y return tmp
function code(x, y, z, t, a) tmp = 0.0 if (t <= -3e+56) tmp = y; elseif (t <= -7.8e-157) tmp = x; elseif (t <= -2.2e-241) tmp = Float64(y * Float64(z / Float64(-t))); elseif (t <= 1.25e-247) tmp = x; elseif (t <= 1.02e-9) tmp = Float64(y * Float64(z / a)); elseif (t <= 1.95e+70) tmp = Float64(x * Float64(Float64(z - a) / t)); else tmp = y; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (t <= -3e+56) tmp = y; elseif (t <= -7.8e-157) tmp = x; elseif (t <= -2.2e-241) tmp = y * (z / -t); elseif (t <= 1.25e-247) tmp = x; elseif (t <= 1.02e-9) tmp = y * (z / a); elseif (t <= 1.95e+70) tmp = x * ((z - a) / t); else tmp = y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[t, -3e+56], y, If[LessEqual[t, -7.8e-157], x, If[LessEqual[t, -2.2e-241], N[(y * N[(z / (-t)), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.25e-247], x, If[LessEqual[t, 1.02e-9], N[(y * N[(z / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.95e+70], N[(x * N[(N[(z - a), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision], y]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -3 \cdot 10^{+56}:\\
\;\;\;\;y\\
\mathbf{elif}\;t \leq -7.8 \cdot 10^{-157}:\\
\;\;\;\;x\\
\mathbf{elif}\;t \leq -2.2 \cdot 10^{-241}:\\
\;\;\;\;y \cdot \frac{z}{-t}\\
\mathbf{elif}\;t \leq 1.25 \cdot 10^{-247}:\\
\;\;\;\;x\\
\mathbf{elif}\;t \leq 1.02 \cdot 10^{-9}:\\
\;\;\;\;y \cdot \frac{z}{a}\\
\mathbf{elif}\;t \leq 1.95 \cdot 10^{+70}:\\
\;\;\;\;x \cdot \frac{z - a}{t}\\
\mathbf{else}:\\
\;\;\;\;y\\
\end{array}
\end{array}
if t < -3.00000000000000006e56 or 1.94999999999999987e70 < t Initial program 51.2%
Taylor expanded in t around inf 54.0%
if -3.00000000000000006e56 < t < -7.79999999999999998e-157 or -2.1999999999999999e-241 < t < 1.24999999999999994e-247Initial program 90.9%
Taylor expanded in a around inf 46.1%
if -7.79999999999999998e-157 < t < -2.1999999999999999e-241Initial program 95.1%
Taylor expanded in a around 0 47.3%
mul-1-neg47.3%
unsub-neg47.3%
associate-/l*52.1%
div-sub52.1%
sub-neg52.1%
*-inverses52.1%
metadata-eval52.1%
Simplified52.1%
Taylor expanded in y around inf 42.4%
Taylor expanded in z around inf 32.3%
mul-1-neg32.3%
associate-/l*42.3%
distribute-lft-neg-in42.3%
Simplified42.3%
if 1.24999999999999994e-247 < t < 1.01999999999999999e-9Initial program 91.4%
Taylor expanded in t around 0 66.7%
Taylor expanded in y around inf 54.2%
Taylor expanded in x around 0 37.1%
associate-*r/42.0%
Simplified42.0%
if 1.01999999999999999e-9 < t < 1.94999999999999987e70Initial program 58.6%
Taylor expanded in x around -inf 69.5%
associate-*r*69.5%
neg-mul-169.5%
+-commutative69.5%
Simplified69.5%
Taylor expanded in t around -inf 53.1%
associate-/l*58.2%
Simplified58.2%
Final simplification48.7%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* y (/ (- z t) (- a t)))) (t_2 (+ x (* (- z t) (/ y (- a t))))))
(if (<= a -60.0)
t_2
(if (<= a -8.5e-163)
t_1
(if (<= a -1e-225)
(/ (* z (- x y)) t)
(if (<= a -1.6e-275)
t_1
(if (<= a 2.8e-109) (+ x (* (- y x) (- 1.0 (/ z t)))) t_2)))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = y * ((z - t) / (a - t));
double t_2 = x + ((z - t) * (y / (a - t)));
double tmp;
if (a <= -60.0) {
tmp = t_2;
} else if (a <= -8.5e-163) {
tmp = t_1;
} else if (a <= -1e-225) {
tmp = (z * (x - y)) / t;
} else if (a <= -1.6e-275) {
tmp = t_1;
} else if (a <= 2.8e-109) {
tmp = x + ((y - x) * (1.0 - (z / t)));
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = y * ((z - t) / (a - t))
t_2 = x + ((z - t) * (y / (a - t)))
if (a <= (-60.0d0)) then
tmp = t_2
else if (a <= (-8.5d-163)) then
tmp = t_1
else if (a <= (-1d-225)) then
tmp = (z * (x - y)) / t
else if (a <= (-1.6d-275)) then
tmp = t_1
else if (a <= 2.8d-109) then
tmp = x + ((y - x) * (1.0d0 - (z / t)))
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = y * ((z - t) / (a - t));
double t_2 = x + ((z - t) * (y / (a - t)));
double tmp;
if (a <= -60.0) {
tmp = t_2;
} else if (a <= -8.5e-163) {
tmp = t_1;
} else if (a <= -1e-225) {
tmp = (z * (x - y)) / t;
} else if (a <= -1.6e-275) {
tmp = t_1;
} else if (a <= 2.8e-109) {
tmp = x + ((y - x) * (1.0 - (z / t)));
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = y * ((z - t) / (a - t)) t_2 = x + ((z - t) * (y / (a - t))) tmp = 0 if a <= -60.0: tmp = t_2 elif a <= -8.5e-163: tmp = t_1 elif a <= -1e-225: tmp = (z * (x - y)) / t elif a <= -1.6e-275: tmp = t_1 elif a <= 2.8e-109: tmp = x + ((y - x) * (1.0 - (z / t))) else: tmp = t_2 return tmp
function code(x, y, z, t, a) t_1 = Float64(y * Float64(Float64(z - t) / Float64(a - t))) t_2 = Float64(x + Float64(Float64(z - t) * Float64(y / Float64(a - t)))) tmp = 0.0 if (a <= -60.0) tmp = t_2; elseif (a <= -8.5e-163) tmp = t_1; elseif (a <= -1e-225) tmp = Float64(Float64(z * Float64(x - y)) / t); elseif (a <= -1.6e-275) tmp = t_1; elseif (a <= 2.8e-109) tmp = Float64(x + Float64(Float64(y - x) * Float64(1.0 - Float64(z / t)))); else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = y * ((z - t) / (a - t)); t_2 = x + ((z - t) * (y / (a - t))); tmp = 0.0; if (a <= -60.0) tmp = t_2; elseif (a <= -8.5e-163) tmp = t_1; elseif (a <= -1e-225) tmp = (z * (x - y)) / t; elseif (a <= -1.6e-275) tmp = t_1; elseif (a <= 2.8e-109) tmp = x + ((y - x) * (1.0 - (z / t))); else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(y * N[(N[(z - t), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x + N[(N[(z - t), $MachinePrecision] * N[(y / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -60.0], t$95$2, If[LessEqual[a, -8.5e-163], t$95$1, If[LessEqual[a, -1e-225], N[(N[(z * N[(x - y), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision], If[LessEqual[a, -1.6e-275], t$95$1, If[LessEqual[a, 2.8e-109], N[(x + N[(N[(y - x), $MachinePrecision] * N[(1.0 - N[(z / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \frac{z - t}{a - t}\\
t_2 := x + \left(z - t\right) \cdot \frac{y}{a - t}\\
\mathbf{if}\;a \leq -60:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;a \leq -8.5 \cdot 10^{-163}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq -1 \cdot 10^{-225}:\\
\;\;\;\;\frac{z \cdot \left(x - y\right)}{t}\\
\mathbf{elif}\;a \leq -1.6 \cdot 10^{-275}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 2.8 \cdot 10^{-109}:\\
\;\;\;\;x + \left(y - x\right) \cdot \left(1 - \frac{z}{t}\right)\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if a < -60 or 2.79999999999999979e-109 < a Initial program 74.5%
Taylor expanded in y around inf 73.0%
*-commutative73.0%
*-lft-identity73.0%
times-frac82.0%
/-rgt-identity82.0%
Simplified82.0%
if -60 < a < -8.5e-163 or -9.9999999999999996e-226 < a < -1.6e-275Initial program 70.4%
Taylor expanded in x around 0 82.0%
distribute-rgt-in82.0%
*-lft-identity82.0%
mul-1-neg82.0%
distribute-lft-neg-out82.0%
/-rgt-identity82.0%
times-frac77.2%
*-commutative77.2%
*-rgt-identity77.2%
mul-1-neg77.2%
associate-/l*77.1%
div-sub77.1%
associate-+r+63.2%
+-commutative63.2%
Simplified70.7%
Taylor expanded in y around inf 83.5%
div-sub83.5%
Simplified83.5%
if -8.5e-163 < a < -9.9999999999999996e-226Initial program 88.1%
Taylor expanded in a around 0 71.9%
mul-1-neg71.9%
unsub-neg71.9%
associate-/l*66.3%
div-sub66.4%
sub-neg66.4%
*-inverses66.4%
metadata-eval66.4%
Simplified66.4%
Taylor expanded in z around -inf 83.5%
associate-*r/83.5%
associate-*r*83.5%
neg-mul-183.5%
Simplified83.5%
if -1.6e-275 < a < 2.79999999999999979e-109Initial program 72.2%
Taylor expanded in a around 0 66.5%
mul-1-neg66.5%
unsub-neg66.5%
associate-/l*77.5%
div-sub77.4%
sub-neg77.4%
*-inverses77.4%
metadata-eval77.4%
Simplified77.4%
Final simplification81.4%
(FPCore (x y z t a)
:precision binary64
(if (<= t -1.25e+57)
y
(if (<= t -7.5e-157)
x
(if (<= t -4.6e-240)
(* y (/ z (- t)))
(if (<= t 2.5e-244)
x
(if (<= t 4.3e-5)
(* y (/ z a))
(if (<= t 3.2e+71) (/ x (/ t z)) y)))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (t <= -1.25e+57) {
tmp = y;
} else if (t <= -7.5e-157) {
tmp = x;
} else if (t <= -4.6e-240) {
tmp = y * (z / -t);
} else if (t <= 2.5e-244) {
tmp = x;
} else if (t <= 4.3e-5) {
tmp = y * (z / a);
} else if (t <= 3.2e+71) {
tmp = x / (t / z);
} else {
tmp = y;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (t <= (-1.25d+57)) then
tmp = y
else if (t <= (-7.5d-157)) then
tmp = x
else if (t <= (-4.6d-240)) then
tmp = y * (z / -t)
else if (t <= 2.5d-244) then
tmp = x
else if (t <= 4.3d-5) then
tmp = y * (z / a)
else if (t <= 3.2d+71) then
tmp = x / (t / z)
else
tmp = y
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (t <= -1.25e+57) {
tmp = y;
} else if (t <= -7.5e-157) {
tmp = x;
} else if (t <= -4.6e-240) {
tmp = y * (z / -t);
} else if (t <= 2.5e-244) {
tmp = x;
} else if (t <= 4.3e-5) {
tmp = y * (z / a);
} else if (t <= 3.2e+71) {
tmp = x / (t / z);
} else {
tmp = y;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if t <= -1.25e+57: tmp = y elif t <= -7.5e-157: tmp = x elif t <= -4.6e-240: tmp = y * (z / -t) elif t <= 2.5e-244: tmp = x elif t <= 4.3e-5: tmp = y * (z / a) elif t <= 3.2e+71: tmp = x / (t / z) else: tmp = y return tmp
function code(x, y, z, t, a) tmp = 0.0 if (t <= -1.25e+57) tmp = y; elseif (t <= -7.5e-157) tmp = x; elseif (t <= -4.6e-240) tmp = Float64(y * Float64(z / Float64(-t))); elseif (t <= 2.5e-244) tmp = x; elseif (t <= 4.3e-5) tmp = Float64(y * Float64(z / a)); elseif (t <= 3.2e+71) tmp = Float64(x / Float64(t / z)); else tmp = y; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (t <= -1.25e+57) tmp = y; elseif (t <= -7.5e-157) tmp = x; elseif (t <= -4.6e-240) tmp = y * (z / -t); elseif (t <= 2.5e-244) tmp = x; elseif (t <= 4.3e-5) tmp = y * (z / a); elseif (t <= 3.2e+71) tmp = x / (t / z); else tmp = y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[t, -1.25e+57], y, If[LessEqual[t, -7.5e-157], x, If[LessEqual[t, -4.6e-240], N[(y * N[(z / (-t)), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 2.5e-244], x, If[LessEqual[t, 4.3e-5], N[(y * N[(z / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 3.2e+71], N[(x / N[(t / z), $MachinePrecision]), $MachinePrecision], y]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -1.25 \cdot 10^{+57}:\\
\;\;\;\;y\\
\mathbf{elif}\;t \leq -7.5 \cdot 10^{-157}:\\
\;\;\;\;x\\
\mathbf{elif}\;t \leq -4.6 \cdot 10^{-240}:\\
\;\;\;\;y \cdot \frac{z}{-t}\\
\mathbf{elif}\;t \leq 2.5 \cdot 10^{-244}:\\
\;\;\;\;x\\
\mathbf{elif}\;t \leq 4.3 \cdot 10^{-5}:\\
\;\;\;\;y \cdot \frac{z}{a}\\
\mathbf{elif}\;t \leq 3.2 \cdot 10^{+71}:\\
\;\;\;\;\frac{x}{\frac{t}{z}}\\
\mathbf{else}:\\
\;\;\;\;y\\
\end{array}
\end{array}
if t < -1.24999999999999993e57 or 3.20000000000000023e71 < t Initial program 50.6%
Taylor expanded in t around inf 54.5%
if -1.24999999999999993e57 < t < -7.500000000000001e-157 or -4.59999999999999986e-240 < t < 2.49999999999999999e-244Initial program 90.9%
Taylor expanded in a around inf 46.1%
if -7.500000000000001e-157 < t < -4.59999999999999986e-240Initial program 95.1%
Taylor expanded in a around 0 47.3%
mul-1-neg47.3%
unsub-neg47.3%
associate-/l*52.1%
div-sub52.1%
sub-neg52.1%
*-inverses52.1%
metadata-eval52.1%
Simplified52.1%
Taylor expanded in y around inf 42.4%
Taylor expanded in z around inf 32.3%
mul-1-neg32.3%
associate-/l*42.3%
distribute-lft-neg-in42.3%
Simplified42.3%
if 2.49999999999999999e-244 < t < 4.3000000000000002e-5Initial program 91.4%
Taylor expanded in t around 0 66.7%
Taylor expanded in y around inf 54.2%
Taylor expanded in x around 0 37.1%
associate-*r/42.0%
Simplified42.0%
if 4.3000000000000002e-5 < t < 3.20000000000000023e71Initial program 61.0%
Taylor expanded in a around 0 41.6%
mul-1-neg41.6%
unsub-neg41.6%
associate-/l*46.5%
div-sub46.5%
sub-neg46.5%
*-inverses46.5%
metadata-eval46.5%
Simplified46.5%
Taylor expanded in x around -inf 44.6%
associate-/l*49.3%
Simplified49.3%
Taylor expanded in x around 0 44.6%
remove-double-neg44.6%
distribute-neg-frac244.6%
neg-mul-144.6%
*-commutative44.6%
times-frac49.7%
metadata-eval49.7%
distribute-neg-frac249.7%
/-rgt-identity49.7%
distribute-rgt-neg-out49.7%
remove-double-neg49.7%
associate-/r/49.7%
Simplified49.7%
Final simplification48.3%
(FPCore (x y z t a)
:precision binary64
(if (<= t -2.1e+56)
y
(if (<= t -7.6e-135)
x
(if (<= t -1.6e-185)
(* x (/ z t))
(if (<= t 1.08e-246)
x
(if (<= t 7.8e-10)
(* y (/ z a))
(if (<= t 6.4e+70) (/ x (/ t z)) y)))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (t <= -2.1e+56) {
tmp = y;
} else if (t <= -7.6e-135) {
tmp = x;
} else if (t <= -1.6e-185) {
tmp = x * (z / t);
} else if (t <= 1.08e-246) {
tmp = x;
} else if (t <= 7.8e-10) {
tmp = y * (z / a);
} else if (t <= 6.4e+70) {
tmp = x / (t / z);
} else {
tmp = y;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (t <= (-2.1d+56)) then
tmp = y
else if (t <= (-7.6d-135)) then
tmp = x
else if (t <= (-1.6d-185)) then
tmp = x * (z / t)
else if (t <= 1.08d-246) then
tmp = x
else if (t <= 7.8d-10) then
tmp = y * (z / a)
else if (t <= 6.4d+70) then
tmp = x / (t / z)
else
tmp = y
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (t <= -2.1e+56) {
tmp = y;
} else if (t <= -7.6e-135) {
tmp = x;
} else if (t <= -1.6e-185) {
tmp = x * (z / t);
} else if (t <= 1.08e-246) {
tmp = x;
} else if (t <= 7.8e-10) {
tmp = y * (z / a);
} else if (t <= 6.4e+70) {
tmp = x / (t / z);
} else {
tmp = y;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if t <= -2.1e+56: tmp = y elif t <= -7.6e-135: tmp = x elif t <= -1.6e-185: tmp = x * (z / t) elif t <= 1.08e-246: tmp = x elif t <= 7.8e-10: tmp = y * (z / a) elif t <= 6.4e+70: tmp = x / (t / z) else: tmp = y return tmp
function code(x, y, z, t, a) tmp = 0.0 if (t <= -2.1e+56) tmp = y; elseif (t <= -7.6e-135) tmp = x; elseif (t <= -1.6e-185) tmp = Float64(x * Float64(z / t)); elseif (t <= 1.08e-246) tmp = x; elseif (t <= 7.8e-10) tmp = Float64(y * Float64(z / a)); elseif (t <= 6.4e+70) tmp = Float64(x / Float64(t / z)); else tmp = y; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (t <= -2.1e+56) tmp = y; elseif (t <= -7.6e-135) tmp = x; elseif (t <= -1.6e-185) tmp = x * (z / t); elseif (t <= 1.08e-246) tmp = x; elseif (t <= 7.8e-10) tmp = y * (z / a); elseif (t <= 6.4e+70) tmp = x / (t / z); else tmp = y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[t, -2.1e+56], y, If[LessEqual[t, -7.6e-135], x, If[LessEqual[t, -1.6e-185], N[(x * N[(z / t), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.08e-246], x, If[LessEqual[t, 7.8e-10], N[(y * N[(z / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 6.4e+70], N[(x / N[(t / z), $MachinePrecision]), $MachinePrecision], y]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -2.1 \cdot 10^{+56}:\\
\;\;\;\;y\\
\mathbf{elif}\;t \leq -7.6 \cdot 10^{-135}:\\
\;\;\;\;x\\
\mathbf{elif}\;t \leq -1.6 \cdot 10^{-185}:\\
\;\;\;\;x \cdot \frac{z}{t}\\
\mathbf{elif}\;t \leq 1.08 \cdot 10^{-246}:\\
\;\;\;\;x\\
\mathbf{elif}\;t \leq 7.8 \cdot 10^{-10}:\\
\;\;\;\;y \cdot \frac{z}{a}\\
\mathbf{elif}\;t \leq 6.4 \cdot 10^{+70}:\\
\;\;\;\;\frac{x}{\frac{t}{z}}\\
\mathbf{else}:\\
\;\;\;\;y\\
\end{array}
\end{array}
if t < -2.10000000000000017e56 or 6.4000000000000005e70 < t Initial program 50.6%
Taylor expanded in t around inf 54.5%
if -2.10000000000000017e56 < t < -7.6000000000000005e-135 or -1.5999999999999999e-185 < t < 1.08000000000000003e-246Initial program 93.2%
Taylor expanded in a around inf 44.0%
if -7.6000000000000005e-135 < t < -1.5999999999999999e-185Initial program 82.5%
Taylor expanded in a around 0 47.3%
mul-1-neg47.3%
unsub-neg47.3%
associate-/l*55.7%
div-sub55.7%
sub-neg55.7%
*-inverses55.7%
metadata-eval55.7%
Simplified55.7%
Taylor expanded in x around -inf 47.8%
associate-/l*50.3%
Simplified50.3%
if 1.08000000000000003e-246 < t < 7.7999999999999999e-10Initial program 91.4%
Taylor expanded in t around 0 66.7%
Taylor expanded in y around inf 54.2%
Taylor expanded in x around 0 37.1%
associate-*r/42.0%
Simplified42.0%
if 7.7999999999999999e-10 < t < 6.4000000000000005e70Initial program 61.0%
Taylor expanded in a around 0 41.6%
mul-1-neg41.6%
unsub-neg41.6%
associate-/l*46.5%
div-sub46.5%
sub-neg46.5%
*-inverses46.5%
metadata-eval46.5%
Simplified46.5%
Taylor expanded in x around -inf 44.6%
associate-/l*49.3%
Simplified49.3%
Taylor expanded in x around 0 44.6%
remove-double-neg44.6%
distribute-neg-frac244.6%
neg-mul-144.6%
*-commutative44.6%
times-frac49.7%
metadata-eval49.7%
distribute-neg-frac249.7%
/-rgt-identity49.7%
distribute-rgt-neg-out49.7%
remove-double-neg49.7%
associate-/r/49.7%
Simplified49.7%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* x (/ z t))))
(if (<= t -4.2e+56)
y
(if (<= t -7.5e-136)
x
(if (<= t -1.15e-183)
t_1
(if (<= t 1.25e-247)
x
(if (<= t 4.2e-5) (* y (/ z a)) (if (<= t 5.5e+71) t_1 y))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x * (z / t);
double tmp;
if (t <= -4.2e+56) {
tmp = y;
} else if (t <= -7.5e-136) {
tmp = x;
} else if (t <= -1.15e-183) {
tmp = t_1;
} else if (t <= 1.25e-247) {
tmp = x;
} else if (t <= 4.2e-5) {
tmp = y * (z / a);
} else if (t <= 5.5e+71) {
tmp = t_1;
} else {
tmp = y;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: tmp
t_1 = x * (z / t)
if (t <= (-4.2d+56)) then
tmp = y
else if (t <= (-7.5d-136)) then
tmp = x
else if (t <= (-1.15d-183)) then
tmp = t_1
else if (t <= 1.25d-247) then
tmp = x
else if (t <= 4.2d-5) then
tmp = y * (z / a)
else if (t <= 5.5d+71) then
tmp = t_1
else
tmp = y
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x * (z / t);
double tmp;
if (t <= -4.2e+56) {
tmp = y;
} else if (t <= -7.5e-136) {
tmp = x;
} else if (t <= -1.15e-183) {
tmp = t_1;
} else if (t <= 1.25e-247) {
tmp = x;
} else if (t <= 4.2e-5) {
tmp = y * (z / a);
} else if (t <= 5.5e+71) {
tmp = t_1;
} else {
tmp = y;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x * (z / t) tmp = 0 if t <= -4.2e+56: tmp = y elif t <= -7.5e-136: tmp = x elif t <= -1.15e-183: tmp = t_1 elif t <= 1.25e-247: tmp = x elif t <= 4.2e-5: tmp = y * (z / a) elif t <= 5.5e+71: tmp = t_1 else: tmp = y return tmp
function code(x, y, z, t, a) t_1 = Float64(x * Float64(z / t)) tmp = 0.0 if (t <= -4.2e+56) tmp = y; elseif (t <= -7.5e-136) tmp = x; elseif (t <= -1.15e-183) tmp = t_1; elseif (t <= 1.25e-247) tmp = x; elseif (t <= 4.2e-5) tmp = Float64(y * Float64(z / a)); elseif (t <= 5.5e+71) tmp = t_1; else tmp = y; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x * (z / t); tmp = 0.0; if (t <= -4.2e+56) tmp = y; elseif (t <= -7.5e-136) tmp = x; elseif (t <= -1.15e-183) tmp = t_1; elseif (t <= 1.25e-247) tmp = x; elseif (t <= 4.2e-5) tmp = y * (z / a); elseif (t <= 5.5e+71) tmp = t_1; else tmp = y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x * N[(z / t), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -4.2e+56], y, If[LessEqual[t, -7.5e-136], x, If[LessEqual[t, -1.15e-183], t$95$1, If[LessEqual[t, 1.25e-247], x, If[LessEqual[t, 4.2e-5], N[(y * N[(z / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 5.5e+71], t$95$1, y]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \frac{z}{t}\\
\mathbf{if}\;t \leq -4.2 \cdot 10^{+56}:\\
\;\;\;\;y\\
\mathbf{elif}\;t \leq -7.5 \cdot 10^{-136}:\\
\;\;\;\;x\\
\mathbf{elif}\;t \leq -1.15 \cdot 10^{-183}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq 1.25 \cdot 10^{-247}:\\
\;\;\;\;x\\
\mathbf{elif}\;t \leq 4.2 \cdot 10^{-5}:\\
\;\;\;\;y \cdot \frac{z}{a}\\
\mathbf{elif}\;t \leq 5.5 \cdot 10^{+71}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;y\\
\end{array}
\end{array}
if t < -4.20000000000000034e56 or 5.5e71 < t Initial program 50.6%
Taylor expanded in t around inf 54.5%
if -4.20000000000000034e56 < t < -7.5000000000000003e-136 or -1.15000000000000008e-183 < t < 1.24999999999999994e-247Initial program 93.2%
Taylor expanded in a around inf 44.0%
if -7.5000000000000003e-136 < t < -1.15000000000000008e-183 or 4.19999999999999977e-5 < t < 5.5e71Initial program 69.5%
Taylor expanded in a around 0 43.9%
mul-1-neg43.9%
unsub-neg43.9%
associate-/l*50.1%
div-sub50.1%
sub-neg50.1%
*-inverses50.1%
metadata-eval50.1%
Simplified50.1%
Taylor expanded in x around -inf 45.8%
associate-/l*49.7%
Simplified49.7%
if 1.24999999999999994e-247 < t < 4.19999999999999977e-5Initial program 91.4%
Taylor expanded in t around 0 66.7%
Taylor expanded in y around inf 54.2%
Taylor expanded in x around 0 37.1%
associate-*r/42.0%
Simplified42.0%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* y (/ (- z t) (- a t)))) (t_2 (+ x (* (- z t) (/ y (- a t))))))
(if (<= a -80.0)
t_2
(if (<= a -8.5e-163)
t_1
(if (<= a -2.3e-225)
(/ (* z (- x y)) t)
(if (<= a 2.6e+32) t_1 t_2))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = y * ((z - t) / (a - t));
double t_2 = x + ((z - t) * (y / (a - t)));
double tmp;
if (a <= -80.0) {
tmp = t_2;
} else if (a <= -8.5e-163) {
tmp = t_1;
} else if (a <= -2.3e-225) {
tmp = (z * (x - y)) / t;
} else if (a <= 2.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 = y * ((z - t) / (a - t))
t_2 = x + ((z - t) * (y / (a - t)))
if (a <= (-80.0d0)) then
tmp = t_2
else if (a <= (-8.5d-163)) then
tmp = t_1
else if (a <= (-2.3d-225)) then
tmp = (z * (x - y)) / t
else if (a <= 2.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 = y * ((z - t) / (a - t));
double t_2 = x + ((z - t) * (y / (a - t)));
double tmp;
if (a <= -80.0) {
tmp = t_2;
} else if (a <= -8.5e-163) {
tmp = t_1;
} else if (a <= -2.3e-225) {
tmp = (z * (x - y)) / t;
} else if (a <= 2.6e+32) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = y * ((z - t) / (a - t)) t_2 = x + ((z - t) * (y / (a - t))) tmp = 0 if a <= -80.0: tmp = t_2 elif a <= -8.5e-163: tmp = t_1 elif a <= -2.3e-225: tmp = (z * (x - y)) / t elif a <= 2.6e+32: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a) t_1 = Float64(y * Float64(Float64(z - t) / Float64(a - t))) t_2 = Float64(x + Float64(Float64(z - t) * Float64(y / Float64(a - t)))) tmp = 0.0 if (a <= -80.0) tmp = t_2; elseif (a <= -8.5e-163) tmp = t_1; elseif (a <= -2.3e-225) tmp = Float64(Float64(z * Float64(x - y)) / t); elseif (a <= 2.6e+32) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = y * ((z - t) / (a - t)); t_2 = x + ((z - t) * (y / (a - t))); tmp = 0.0; if (a <= -80.0) tmp = t_2; elseif (a <= -8.5e-163) tmp = t_1; elseif (a <= -2.3e-225) tmp = (z * (x - y)) / t; elseif (a <= 2.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[(y * N[(N[(z - t), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x + N[(N[(z - t), $MachinePrecision] * N[(y / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -80.0], t$95$2, If[LessEqual[a, -8.5e-163], t$95$1, If[LessEqual[a, -2.3e-225], N[(N[(z * N[(x - y), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision], If[LessEqual[a, 2.6e+32], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \frac{z - t}{a - t}\\
t_2 := x + \left(z - t\right) \cdot \frac{y}{a - t}\\
\mathbf{if}\;a \leq -80:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;a \leq -8.5 \cdot 10^{-163}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq -2.3 \cdot 10^{-225}:\\
\;\;\;\;\frac{z \cdot \left(x - y\right)}{t}\\
\mathbf{elif}\;a \leq 2.6 \cdot 10^{+32}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if a < -80 or 2.6000000000000002e32 < a Initial program 76.2%
Taylor expanded in y around inf 77.4%
*-commutative77.4%
*-lft-identity77.4%
times-frac87.0%
/-rgt-identity87.0%
Simplified87.0%
if -80 < a < -8.5e-163 or -2.2999999999999999e-225 < a < 2.6000000000000002e32Initial program 70.4%
Taylor expanded in x around 0 76.7%
distribute-rgt-in76.7%
*-lft-identity76.7%
mul-1-neg76.7%
distribute-lft-neg-out76.7%
/-rgt-identity76.7%
times-frac74.1%
*-commutative74.1%
*-rgt-identity74.1%
mul-1-neg74.1%
associate-/l*77.9%
div-sub77.9%
associate-+r+70.8%
+-commutative70.8%
Simplified72.8%
Taylor expanded in y around inf 69.3%
div-sub69.3%
Simplified69.3%
if -8.5e-163 < a < -2.2999999999999999e-225Initial program 88.1%
Taylor expanded in a around 0 71.9%
mul-1-neg71.9%
unsub-neg71.9%
associate-/l*66.3%
div-sub66.4%
sub-neg66.4%
*-inverses66.4%
metadata-eval66.4%
Simplified66.4%
Taylor expanded in z around -inf 83.5%
associate-*r/83.5%
associate-*r*83.5%
neg-mul-183.5%
Simplified83.5%
Final simplification78.3%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* y (/ (- z t) (- a t)))) (t_2 (+ x (* (- y x) (/ (- z t) a)))))
(if (<= a -19000.0)
t_2
(if (<= a -9.5e-163)
t_1
(if (<= a -1.65e-225)
(/ (* z (- x y)) t)
(if (<= a 3.6e+155) t_1 t_2))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = y * ((z - t) / (a - t));
double t_2 = x + ((y - x) * ((z - t) / a));
double tmp;
if (a <= -19000.0) {
tmp = t_2;
} else if (a <= -9.5e-163) {
tmp = t_1;
} else if (a <= -1.65e-225) {
tmp = (z * (x - y)) / t;
} else if (a <= 3.6e+155) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = y * ((z - t) / (a - t))
t_2 = x + ((y - x) * ((z - t) / a))
if (a <= (-19000.0d0)) then
tmp = t_2
else if (a <= (-9.5d-163)) then
tmp = t_1
else if (a <= (-1.65d-225)) then
tmp = (z * (x - y)) / t
else if (a <= 3.6d+155) then
tmp = t_1
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = y * ((z - t) / (a - t));
double t_2 = x + ((y - x) * ((z - t) / a));
double tmp;
if (a <= -19000.0) {
tmp = t_2;
} else if (a <= -9.5e-163) {
tmp = t_1;
} else if (a <= -1.65e-225) {
tmp = (z * (x - y)) / t;
} else if (a <= 3.6e+155) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = y * ((z - t) / (a - t)) t_2 = x + ((y - x) * ((z - t) / a)) tmp = 0 if a <= -19000.0: tmp = t_2 elif a <= -9.5e-163: tmp = t_1 elif a <= -1.65e-225: tmp = (z * (x - y)) / t elif a <= 3.6e+155: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a) t_1 = Float64(y * Float64(Float64(z - t) / Float64(a - t))) t_2 = Float64(x + Float64(Float64(y - x) * Float64(Float64(z - t) / a))) tmp = 0.0 if (a <= -19000.0) tmp = t_2; elseif (a <= -9.5e-163) tmp = t_1; elseif (a <= -1.65e-225) tmp = Float64(Float64(z * Float64(x - y)) / t); elseif (a <= 3.6e+155) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = y * ((z - t) / (a - t)); t_2 = x + ((y - x) * ((z - t) / a)); tmp = 0.0; if (a <= -19000.0) tmp = t_2; elseif (a <= -9.5e-163) tmp = t_1; elseif (a <= -1.65e-225) tmp = (z * (x - y)) / t; elseif (a <= 3.6e+155) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(y * N[(N[(z - t), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x + N[(N[(y - x), $MachinePrecision] * N[(N[(z - t), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -19000.0], t$95$2, If[LessEqual[a, -9.5e-163], t$95$1, If[LessEqual[a, -1.65e-225], N[(N[(z * N[(x - y), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision], If[LessEqual[a, 3.6e+155], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \frac{z - t}{a - t}\\
t_2 := x + \left(y - x\right) \cdot \frac{z - t}{a}\\
\mathbf{if}\;a \leq -19000:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;a \leq -9.5 \cdot 10^{-163}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq -1.65 \cdot 10^{-225}:\\
\;\;\;\;\frac{z \cdot \left(x - y\right)}{t}\\
\mathbf{elif}\;a \leq 3.6 \cdot 10^{+155}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if a < -19000 or 3.60000000000000007e155 < a Initial program 79.3%
Taylor expanded in a around inf 75.2%
associate-/l*84.0%
Simplified84.0%
if -19000 < a < -9.50000000000000012e-163 or -1.6500000000000001e-225 < a < 3.60000000000000007e155Initial program 69.2%
Taylor expanded in x around 0 74.7%
distribute-rgt-in74.7%
*-lft-identity74.7%
mul-1-neg74.7%
distribute-lft-neg-out74.7%
/-rgt-identity74.7%
times-frac72.4%
*-commutative72.4%
*-rgt-identity72.4%
mul-1-neg72.4%
associate-/l*76.9%
div-sub76.9%
associate-+r+70.8%
+-commutative70.8%
Simplified74.0%
Taylor expanded in y around inf 67.0%
div-sub67.0%
Simplified67.0%
if -9.50000000000000012e-163 < a < -1.6500000000000001e-225Initial program 88.1%
Taylor expanded in a around 0 71.9%
mul-1-neg71.9%
unsub-neg71.9%
associate-/l*66.3%
div-sub66.4%
sub-neg66.4%
*-inverses66.4%
metadata-eval66.4%
Simplified66.4%
Taylor expanded in z around -inf 83.5%
associate-*r/83.5%
associate-*r*83.5%
neg-mul-183.5%
Simplified83.5%
Final simplification74.5%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* y (/ (- z t) (- a t)))) (t_2 (- x (* z (/ (- x y) a)))))
(if (<= a -8500.0)
t_2
(if (<= a -9.4e-163)
t_1
(if (<= a -3e-225) (/ (* z (- x y)) t) (if (<= a 4.2e+156) t_1 t_2))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = y * ((z - t) / (a - t));
double t_2 = x - (z * ((x - y) / a));
double tmp;
if (a <= -8500.0) {
tmp = t_2;
} else if (a <= -9.4e-163) {
tmp = t_1;
} else if (a <= -3e-225) {
tmp = (z * (x - y)) / t;
} else if (a <= 4.2e+156) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = y * ((z - t) / (a - t))
t_2 = x - (z * ((x - y) / a))
if (a <= (-8500.0d0)) then
tmp = t_2
else if (a <= (-9.4d-163)) then
tmp = t_1
else if (a <= (-3d-225)) then
tmp = (z * (x - y)) / t
else if (a <= 4.2d+156) then
tmp = t_1
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = y * ((z - t) / (a - t));
double t_2 = x - (z * ((x - y) / a));
double tmp;
if (a <= -8500.0) {
tmp = t_2;
} else if (a <= -9.4e-163) {
tmp = t_1;
} else if (a <= -3e-225) {
tmp = (z * (x - y)) / t;
} else if (a <= 4.2e+156) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = y * ((z - t) / (a - t)) t_2 = x - (z * ((x - y) / a)) tmp = 0 if a <= -8500.0: tmp = t_2 elif a <= -9.4e-163: tmp = t_1 elif a <= -3e-225: tmp = (z * (x - y)) / t elif a <= 4.2e+156: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a) t_1 = Float64(y * Float64(Float64(z - t) / Float64(a - t))) t_2 = Float64(x - Float64(z * Float64(Float64(x - y) / a))) tmp = 0.0 if (a <= -8500.0) tmp = t_2; elseif (a <= -9.4e-163) tmp = t_1; elseif (a <= -3e-225) tmp = Float64(Float64(z * Float64(x - y)) / t); elseif (a <= 4.2e+156) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = y * ((z - t) / (a - t)); t_2 = x - (z * ((x - y) / a)); tmp = 0.0; if (a <= -8500.0) tmp = t_2; elseif (a <= -9.4e-163) tmp = t_1; elseif (a <= -3e-225) tmp = (z * (x - y)) / t; elseif (a <= 4.2e+156) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(y * N[(N[(z - t), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x - N[(z * N[(N[(x - y), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -8500.0], t$95$2, If[LessEqual[a, -9.4e-163], t$95$1, If[LessEqual[a, -3e-225], N[(N[(z * N[(x - y), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision], If[LessEqual[a, 4.2e+156], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \frac{z - t}{a - t}\\
t_2 := x - z \cdot \frac{x - y}{a}\\
\mathbf{if}\;a \leq -8500:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;a \leq -9.4 \cdot 10^{-163}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq -3 \cdot 10^{-225}:\\
\;\;\;\;\frac{z \cdot \left(x - y\right)}{t}\\
\mathbf{elif}\;a \leq 4.2 \cdot 10^{+156}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if a < -8500 or 4.19999999999999963e156 < a Initial program 79.3%
Taylor expanded in t around 0 69.0%
associate-/l*75.9%
Simplified75.9%
if -8500 < a < -9.4e-163 or -3.00000000000000018e-225 < a < 4.19999999999999963e156Initial program 69.2%
Taylor expanded in x around 0 74.7%
distribute-rgt-in74.7%
*-lft-identity74.7%
mul-1-neg74.7%
distribute-lft-neg-out74.7%
/-rgt-identity74.7%
times-frac72.4%
*-commutative72.4%
*-rgt-identity72.4%
mul-1-neg72.4%
associate-/l*76.9%
div-sub76.9%
associate-+r+70.8%
+-commutative70.8%
Simplified74.0%
Taylor expanded in y around inf 67.0%
div-sub67.0%
Simplified67.0%
if -9.4e-163 < a < -3.00000000000000018e-225Initial program 88.1%
Taylor expanded in a around 0 71.9%
mul-1-neg71.9%
unsub-neg71.9%
associate-/l*66.3%
div-sub66.4%
sub-neg66.4%
*-inverses66.4%
metadata-eval66.4%
Simplified66.4%
Taylor expanded in z around -inf 83.5%
associate-*r/83.5%
associate-*r*83.5%
neg-mul-183.5%
Simplified83.5%
Final simplification71.4%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* y (/ (- z t) (- a t)))))
(if (<= a -8.2e+113)
(+ x (* y (/ z a)))
(if (<= a -9e-163)
t_1
(if (<= a -1.3e-225)
(/ (* z (- x y)) t)
(if (<= a 4e+155) t_1 (- x (* x (/ z a)))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = y * ((z - t) / (a - t));
double tmp;
if (a <= -8.2e+113) {
tmp = x + (y * (z / a));
} else if (a <= -9e-163) {
tmp = t_1;
} else if (a <= -1.3e-225) {
tmp = (z * (x - y)) / t;
} else if (a <= 4e+155) {
tmp = t_1;
} else {
tmp = x - (x * (z / 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) :: t_1
real(8) :: tmp
t_1 = y * ((z - t) / (a - t))
if (a <= (-8.2d+113)) then
tmp = x + (y * (z / a))
else if (a <= (-9d-163)) then
tmp = t_1
else if (a <= (-1.3d-225)) then
tmp = (z * (x - y)) / t
else if (a <= 4d+155) then
tmp = t_1
else
tmp = x - (x * (z / a))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = y * ((z - t) / (a - t));
double tmp;
if (a <= -8.2e+113) {
tmp = x + (y * (z / a));
} else if (a <= -9e-163) {
tmp = t_1;
} else if (a <= -1.3e-225) {
tmp = (z * (x - y)) / t;
} else if (a <= 4e+155) {
tmp = t_1;
} else {
tmp = x - (x * (z / a));
}
return tmp;
}
def code(x, y, z, t, a): t_1 = y * ((z - t) / (a - t)) tmp = 0 if a <= -8.2e+113: tmp = x + (y * (z / a)) elif a <= -9e-163: tmp = t_1 elif a <= -1.3e-225: tmp = (z * (x - y)) / t elif a <= 4e+155: tmp = t_1 else: tmp = x - (x * (z / a)) return tmp
function code(x, y, z, t, a) t_1 = Float64(y * Float64(Float64(z - t) / Float64(a - t))) tmp = 0.0 if (a <= -8.2e+113) tmp = Float64(x + Float64(y * Float64(z / a))); elseif (a <= -9e-163) tmp = t_1; elseif (a <= -1.3e-225) tmp = Float64(Float64(z * Float64(x - y)) / t); elseif (a <= 4e+155) tmp = t_1; else tmp = Float64(x - Float64(x * Float64(z / a))); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = y * ((z - t) / (a - t)); tmp = 0.0; if (a <= -8.2e+113) tmp = x + (y * (z / a)); elseif (a <= -9e-163) tmp = t_1; elseif (a <= -1.3e-225) tmp = (z * (x - y)) / t; elseif (a <= 4e+155) tmp = t_1; else tmp = x - (x * (z / a)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(y * N[(N[(z - t), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -8.2e+113], N[(x + N[(y * N[(z / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -9e-163], t$95$1, If[LessEqual[a, -1.3e-225], N[(N[(z * N[(x - y), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision], If[LessEqual[a, 4e+155], t$95$1, N[(x - N[(x * N[(z / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \frac{z - t}{a - t}\\
\mathbf{if}\;a \leq -8.2 \cdot 10^{+113}:\\
\;\;\;\;x + y \cdot \frac{z}{a}\\
\mathbf{elif}\;a \leq -9 \cdot 10^{-163}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq -1.3 \cdot 10^{-225}:\\
\;\;\;\;\frac{z \cdot \left(x - y\right)}{t}\\
\mathbf{elif}\;a \leq 4 \cdot 10^{+155}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;x - x \cdot \frac{z}{a}\\
\end{array}
\end{array}
if a < -8.19999999999999985e113Initial program 75.3%
Taylor expanded in t around 0 67.9%
Taylor expanded in y around inf 68.7%
associate-/l*75.6%
Simplified75.6%
if -8.19999999999999985e113 < a < -8.9999999999999995e-163 or -1.30000000000000007e-225 < a < 4.00000000000000003e155Initial program 71.0%
Taylor expanded in x around 0 75.1%
distribute-rgt-in75.1%
*-lft-identity75.1%
mul-1-neg75.1%
distribute-lft-neg-out75.1%
/-rgt-identity75.1%
times-frac73.1%
*-commutative73.1%
*-rgt-identity73.1%
mul-1-neg73.1%
associate-/l*77.5%
div-sub77.5%
associate-+r+72.3%
+-commutative72.3%
Simplified76.8%
Taylor expanded in y around inf 66.7%
div-sub66.7%
Simplified66.7%
if -8.9999999999999995e-163 < a < -1.30000000000000007e-225Initial program 88.1%
Taylor expanded in a around 0 71.9%
mul-1-neg71.9%
unsub-neg71.9%
associate-/l*66.3%
div-sub66.4%
sub-neg66.4%
*-inverses66.4%
metadata-eval66.4%
Simplified66.4%
Taylor expanded in z around -inf 83.5%
associate-*r/83.5%
associate-*r*83.5%
neg-mul-183.5%
Simplified83.5%
if 4.00000000000000003e155 < a Initial program 82.1%
Taylor expanded in t around 0 73.4%
Taylor expanded in y around 0 70.3%
mul-1-neg70.3%
unsub-neg70.3%
associate-/l*79.4%
Simplified79.4%
Final simplification70.8%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* (- z t) (/ y (- a t))))))
(if (<= a -2.5e-33)
t_1
(if (<= a 3.1e-229)
(+ y (/ (+ (* (- y x) a) (* z (- x y))) t))
(if (<= a 5.1e+60) (+ x (/ (* (- y x) (- z t)) (- a t))) t_1)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((z - t) * (y / (a - t)));
double tmp;
if (a <= -2.5e-33) {
tmp = t_1;
} else if (a <= 3.1e-229) {
tmp = y + ((((y - x) * a) + (z * (x - y))) / t);
} else if (a <= 5.1e+60) {
tmp = x + (((y - x) * (z - t)) / (a - 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 + ((z - t) * (y / (a - t)))
if (a <= (-2.5d-33)) then
tmp = t_1
else if (a <= 3.1d-229) then
tmp = y + ((((y - x) * a) + (z * (x - y))) / t)
else if (a <= 5.1d+60) then
tmp = x + (((y - x) * (z - t)) / (a - 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 + ((z - t) * (y / (a - t)));
double tmp;
if (a <= -2.5e-33) {
tmp = t_1;
} else if (a <= 3.1e-229) {
tmp = y + ((((y - x) * a) + (z * (x - y))) / t);
} else if (a <= 5.1e+60) {
tmp = x + (((y - x) * (z - t)) / (a - t));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((z - t) * (y / (a - t))) tmp = 0 if a <= -2.5e-33: tmp = t_1 elif a <= 3.1e-229: tmp = y + ((((y - x) * a) + (z * (x - y))) / t) elif a <= 5.1e+60: tmp = x + (((y - x) * (z - t)) / (a - t)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(z - t) * Float64(y / Float64(a - t)))) tmp = 0.0 if (a <= -2.5e-33) tmp = t_1; elseif (a <= 3.1e-229) tmp = Float64(y + Float64(Float64(Float64(Float64(y - x) * a) + Float64(z * Float64(x - y))) / t)); elseif (a <= 5.1e+60) tmp = Float64(x + Float64(Float64(Float64(y - x) * Float64(z - t)) / Float64(a - t))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + ((z - t) * (y / (a - t))); tmp = 0.0; if (a <= -2.5e-33) tmp = t_1; elseif (a <= 3.1e-229) tmp = y + ((((y - x) * a) + (z * (x - y))) / t); elseif (a <= 5.1e+60) tmp = x + (((y - x) * (z - t)) / (a - t)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(z - t), $MachinePrecision] * N[(y / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -2.5e-33], t$95$1, If[LessEqual[a, 3.1e-229], N[(y + N[(N[(N[(N[(y - x), $MachinePrecision] * a), $MachinePrecision] + N[(z * N[(x - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 5.1e+60], N[(x + N[(N[(N[(y - x), $MachinePrecision] * N[(z - t), $MachinePrecision]), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \left(z - t\right) \cdot \frac{y}{a - t}\\
\mathbf{if}\;a \leq -2.5 \cdot 10^{-33}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 3.1 \cdot 10^{-229}:\\
\;\;\;\;y + \frac{\left(y - x\right) \cdot a + z \cdot \left(x - y\right)}{t}\\
\mathbf{elif}\;a \leq 5.1 \cdot 10^{+60}:\\
\;\;\;\;x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if a < -2.50000000000000014e-33 or 5.09999999999999996e60 < a Initial program 76.7%
Taylor expanded in y around inf 78.6%
*-commutative78.6%
*-lft-identity78.6%
times-frac89.4%
/-rgt-identity89.4%
Simplified89.4%
if -2.50000000000000014e-33 < a < 3.1000000000000001e-229Initial program 72.2%
Taylor expanded in t around -inf 88.1%
if 3.1000000000000001e-229 < a < 5.09999999999999996e60Initial program 72.4%
Final simplification85.1%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* (- z t) (/ y (- a t))))))
(if (<= a -1.85e-26)
t_1
(if (<= a 2.45e-229)
(+ y (/ (* (- y x) (- a z)) t))
(if (<= a 7.2e+56) (+ x (/ (* (- y x) (- z t)) (- a t))) t_1)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((z - t) * (y / (a - t)));
double tmp;
if (a <= -1.85e-26) {
tmp = t_1;
} else if (a <= 2.45e-229) {
tmp = y + (((y - x) * (a - z)) / t);
} else if (a <= 7.2e+56) {
tmp = x + (((y - x) * (z - t)) / (a - 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 + ((z - t) * (y / (a - t)))
if (a <= (-1.85d-26)) then
tmp = t_1
else if (a <= 2.45d-229) then
tmp = y + (((y - x) * (a - z)) / t)
else if (a <= 7.2d+56) then
tmp = x + (((y - x) * (z - t)) / (a - 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 + ((z - t) * (y / (a - t)));
double tmp;
if (a <= -1.85e-26) {
tmp = t_1;
} else if (a <= 2.45e-229) {
tmp = y + (((y - x) * (a - z)) / t);
} else if (a <= 7.2e+56) {
tmp = x + (((y - x) * (z - t)) / (a - t));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((z - t) * (y / (a - t))) tmp = 0 if a <= -1.85e-26: tmp = t_1 elif a <= 2.45e-229: tmp = y + (((y - x) * (a - z)) / t) elif a <= 7.2e+56: tmp = x + (((y - x) * (z - t)) / (a - t)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(z - t) * Float64(y / Float64(a - t)))) tmp = 0.0 if (a <= -1.85e-26) tmp = t_1; elseif (a <= 2.45e-229) tmp = Float64(y + Float64(Float64(Float64(y - x) * Float64(a - z)) / t)); elseif (a <= 7.2e+56) tmp = Float64(x + Float64(Float64(Float64(y - x) * Float64(z - t)) / Float64(a - t))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + ((z - t) * (y / (a - t))); tmp = 0.0; if (a <= -1.85e-26) tmp = t_1; elseif (a <= 2.45e-229) tmp = y + (((y - x) * (a - z)) / t); elseif (a <= 7.2e+56) tmp = x + (((y - x) * (z - t)) / (a - t)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(z - t), $MachinePrecision] * N[(y / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -1.85e-26], t$95$1, If[LessEqual[a, 2.45e-229], N[(y + N[(N[(N[(y - x), $MachinePrecision] * N[(a - z), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 7.2e+56], N[(x + N[(N[(N[(y - x), $MachinePrecision] * N[(z - t), $MachinePrecision]), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \left(z - t\right) \cdot \frac{y}{a - t}\\
\mathbf{if}\;a \leq -1.85 \cdot 10^{-26}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 2.45 \cdot 10^{-229}:\\
\;\;\;\;y + \frac{\left(y - x\right) \cdot \left(a - z\right)}{t}\\
\mathbf{elif}\;a \leq 7.2 \cdot 10^{+56}:\\
\;\;\;\;x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if a < -1.8499999999999999e-26 or 7.19999999999999996e56 < a Initial program 76.7%
Taylor expanded in y around inf 78.6%
*-commutative78.6%
*-lft-identity78.6%
times-frac89.4%
/-rgt-identity89.4%
Simplified89.4%
if -1.8499999999999999e-26 < a < 2.44999999999999987e-229Initial program 72.2%
Taylor expanded in t around inf 88.1%
associate--l+88.1%
associate-*r/88.1%
associate-*r/88.1%
mul-1-neg88.1%
div-sub88.1%
mul-1-neg88.1%
distribute-lft-out--88.1%
associate-*r/88.1%
mul-1-neg88.1%
unsub-neg88.1%
distribute-rgt-out--88.1%
Simplified88.1%
if 2.44999999999999987e-229 < a < 7.19999999999999996e56Initial program 72.4%
Final simplification85.1%
(FPCore (x y z t a)
:precision binary64
(if (<= a -0.0092)
(+ x (* y (/ z a)))
(if (<= a -2e-167)
(* y (- 1.0 (/ z t)))
(if (<= a -1.3e-225)
(/ (* z (- x y)) t)
(if (<= a 3.6e+155) (* y (/ (- t z) t)) (- x (* x (/ z a))))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -0.0092) {
tmp = x + (y * (z / a));
} else if (a <= -2e-167) {
tmp = y * (1.0 - (z / t));
} else if (a <= -1.3e-225) {
tmp = (z * (x - y)) / t;
} else if (a <= 3.6e+155) {
tmp = y * ((t - z) / t);
} else {
tmp = x - (x * (z / 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 <= (-0.0092d0)) then
tmp = x + (y * (z / a))
else if (a <= (-2d-167)) then
tmp = y * (1.0d0 - (z / t))
else if (a <= (-1.3d-225)) then
tmp = (z * (x - y)) / t
else if (a <= 3.6d+155) then
tmp = y * ((t - z) / t)
else
tmp = x - (x * (z / 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 <= -0.0092) {
tmp = x + (y * (z / a));
} else if (a <= -2e-167) {
tmp = y * (1.0 - (z / t));
} else if (a <= -1.3e-225) {
tmp = (z * (x - y)) / t;
} else if (a <= 3.6e+155) {
tmp = y * ((t - z) / t);
} else {
tmp = x - (x * (z / a));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -0.0092: tmp = x + (y * (z / a)) elif a <= -2e-167: tmp = y * (1.0 - (z / t)) elif a <= -1.3e-225: tmp = (z * (x - y)) / t elif a <= 3.6e+155: tmp = y * ((t - z) / t) else: tmp = x - (x * (z / a)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -0.0092) tmp = Float64(x + Float64(y * Float64(z / a))); elseif (a <= -2e-167) tmp = Float64(y * Float64(1.0 - Float64(z / t))); elseif (a <= -1.3e-225) tmp = Float64(Float64(z * Float64(x - y)) / t); elseif (a <= 3.6e+155) tmp = Float64(y * Float64(Float64(t - z) / t)); else tmp = Float64(x - Float64(x * Float64(z / a))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -0.0092) tmp = x + (y * (z / a)); elseif (a <= -2e-167) tmp = y * (1.0 - (z / t)); elseif (a <= -1.3e-225) tmp = (z * (x - y)) / t; elseif (a <= 3.6e+155) tmp = y * ((t - z) / t); else tmp = x - (x * (z / a)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -0.0092], N[(x + N[(y * N[(z / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -2e-167], N[(y * N[(1.0 - N[(z / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -1.3e-225], N[(N[(z * N[(x - y), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision], If[LessEqual[a, 3.6e+155], N[(y * N[(N[(t - z), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision], N[(x - N[(x * N[(z / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -0.0092:\\
\;\;\;\;x + y \cdot \frac{z}{a}\\
\mathbf{elif}\;a \leq -2 \cdot 10^{-167}:\\
\;\;\;\;y \cdot \left(1 - \frac{z}{t}\right)\\
\mathbf{elif}\;a \leq -1.3 \cdot 10^{-225}:\\
\;\;\;\;\frac{z \cdot \left(x - y\right)}{t}\\
\mathbf{elif}\;a \leq 3.6 \cdot 10^{+155}:\\
\;\;\;\;y \cdot \frac{t - z}{t}\\
\mathbf{else}:\\
\;\;\;\;x - x \cdot \frac{z}{a}\\
\end{array}
\end{array}
if a < -0.0091999999999999998Initial program 78.2%
Taylor expanded in t around 0 67.3%
Taylor expanded in y around inf 66.3%
associate-/l*70.7%
Simplified70.7%
if -0.0091999999999999998 < a < -2e-167Initial program 71.6%
Taylor expanded in a around 0 48.8%
mul-1-neg48.8%
unsub-neg48.8%
associate-/l*55.3%
div-sub55.3%
sub-neg55.3%
*-inverses55.3%
metadata-eval55.3%
Simplified55.3%
Taylor expanded in y around inf 67.5%
if -2e-167 < a < -1.30000000000000007e-225Initial program 87.4%
Taylor expanded in a around 0 76.4%
mul-1-neg76.4%
unsub-neg76.4%
associate-/l*70.5%
div-sub70.6%
sub-neg70.6%
*-inverses70.6%
metadata-eval70.6%
Simplified70.6%
Taylor expanded in z around -inf 88.7%
associate-*r/88.7%
associate-*r*88.7%
neg-mul-188.7%
Simplified88.7%
if -1.30000000000000007e-225 < a < 3.60000000000000007e155Initial program 68.6%
Taylor expanded in a around 0 50.9%
mul-1-neg50.9%
unsub-neg50.9%
associate-/l*61.8%
div-sub61.7%
sub-neg61.7%
*-inverses61.7%
metadata-eval61.7%
Simplified61.7%
Taylor expanded in y around inf 55.1%
Taylor expanded in t around 0 55.1%
if 3.60000000000000007e155 < a Initial program 82.1%
Taylor expanded in t around 0 73.4%
Taylor expanded in y around 0 70.3%
mul-1-neg70.3%
unsub-neg70.3%
associate-/l*79.4%
Simplified79.4%
Final simplification65.6%
(FPCore (x y z t a)
:precision binary64
(if (<= a -5.5e-5)
(+ x (* y (/ z a)))
(if (<= a 3.3e-230)
(* y (- 1.0 (/ z t)))
(if (<= a 9.5e-197)
(* x (/ z (- t a)))
(if (<= a 3.6e+155) (* y (/ (- t z) t)) (- x (* x (/ z a))))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -5.5e-5) {
tmp = x + (y * (z / a));
} else if (a <= 3.3e-230) {
tmp = y * (1.0 - (z / t));
} else if (a <= 9.5e-197) {
tmp = x * (z / (t - a));
} else if (a <= 3.6e+155) {
tmp = y * ((t - z) / t);
} else {
tmp = x - (x * (z / 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 <= (-5.5d-5)) then
tmp = x + (y * (z / a))
else if (a <= 3.3d-230) then
tmp = y * (1.0d0 - (z / t))
else if (a <= 9.5d-197) then
tmp = x * (z / (t - a))
else if (a <= 3.6d+155) then
tmp = y * ((t - z) / t)
else
tmp = x - (x * (z / 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 <= -5.5e-5) {
tmp = x + (y * (z / a));
} else if (a <= 3.3e-230) {
tmp = y * (1.0 - (z / t));
} else if (a <= 9.5e-197) {
tmp = x * (z / (t - a));
} else if (a <= 3.6e+155) {
tmp = y * ((t - z) / t);
} else {
tmp = x - (x * (z / a));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -5.5e-5: tmp = x + (y * (z / a)) elif a <= 3.3e-230: tmp = y * (1.0 - (z / t)) elif a <= 9.5e-197: tmp = x * (z / (t - a)) elif a <= 3.6e+155: tmp = y * ((t - z) / t) else: tmp = x - (x * (z / a)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -5.5e-5) tmp = Float64(x + Float64(y * Float64(z / a))); elseif (a <= 3.3e-230) tmp = Float64(y * Float64(1.0 - Float64(z / t))); elseif (a <= 9.5e-197) tmp = Float64(x * Float64(z / Float64(t - a))); elseif (a <= 3.6e+155) tmp = Float64(y * Float64(Float64(t - z) / t)); else tmp = Float64(x - Float64(x * Float64(z / a))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -5.5e-5) tmp = x + (y * (z / a)); elseif (a <= 3.3e-230) tmp = y * (1.0 - (z / t)); elseif (a <= 9.5e-197) tmp = x * (z / (t - a)); elseif (a <= 3.6e+155) tmp = y * ((t - z) / t); else tmp = x - (x * (z / a)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -5.5e-5], N[(x + N[(y * N[(z / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 3.3e-230], N[(y * N[(1.0 - N[(z / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 9.5e-197], N[(x * N[(z / N[(t - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 3.6e+155], N[(y * N[(N[(t - z), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision], N[(x - N[(x * N[(z / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -5.5 \cdot 10^{-5}:\\
\;\;\;\;x + y \cdot \frac{z}{a}\\
\mathbf{elif}\;a \leq 3.3 \cdot 10^{-230}:\\
\;\;\;\;y \cdot \left(1 - \frac{z}{t}\right)\\
\mathbf{elif}\;a \leq 9.5 \cdot 10^{-197}:\\
\;\;\;\;x \cdot \frac{z}{t - a}\\
\mathbf{elif}\;a \leq 3.6 \cdot 10^{+155}:\\
\;\;\;\;y \cdot \frac{t - z}{t}\\
\mathbf{else}:\\
\;\;\;\;x - x \cdot \frac{z}{a}\\
\end{array}
\end{array}
if a < -5.5000000000000002e-5Initial program 78.2%
Taylor expanded in t around 0 67.3%
Taylor expanded in y around inf 66.3%
associate-/l*70.7%
Simplified70.7%
if -5.5000000000000002e-5 < a < 3.29999999999999994e-230Initial program 72.1%
Taylor expanded in a around 0 61.8%
mul-1-neg61.8%
unsub-neg61.8%
associate-/l*69.6%
div-sub69.6%
sub-neg69.6%
*-inverses69.6%
metadata-eval69.6%
Simplified69.6%
Taylor expanded in y around inf 67.2%
if 3.29999999999999994e-230 < a < 9.5000000000000003e-197Initial program 85.9%
Taylor expanded in x around -inf 77.9%
associate-*r*77.9%
neg-mul-177.9%
+-commutative77.9%
Simplified77.9%
Taylor expanded in z around inf 77.9%
if 9.5000000000000003e-197 < a < 3.60000000000000007e155Initial program 68.1%
Taylor expanded in a around 0 39.6%
mul-1-neg39.6%
unsub-neg39.6%
associate-/l*49.7%
div-sub49.6%
sub-neg49.6%
*-inverses49.6%
metadata-eval49.6%
Simplified49.6%
Taylor expanded in y around inf 45.4%
Taylor expanded in t around 0 45.4%
if 3.60000000000000007e155 < a Initial program 82.1%
Taylor expanded in t around 0 73.4%
Taylor expanded in y around 0 70.3%
mul-1-neg70.3%
unsub-neg70.3%
associate-/l*79.4%
Simplified79.4%
Final simplification64.3%
(FPCore (x y z t a)
:precision binary64
(if (<= a -6e+192)
x
(if (<= a -1.15e+65)
(* y (/ (- z t) a))
(if (<= a -17000.0) x (if (<= a 6.8e+155) (* y (/ (- t z) t)) x)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -6e+192) {
tmp = x;
} else if (a <= -1.15e+65) {
tmp = y * ((z - t) / a);
} else if (a <= -17000.0) {
tmp = x;
} else if (a <= 6.8e+155) {
tmp = y * ((t - z) / 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+192)) then
tmp = x
else if (a <= (-1.15d+65)) then
tmp = y * ((z - t) / a)
else if (a <= (-17000.0d0)) then
tmp = x
else if (a <= 6.8d+155) then
tmp = y * ((t - z) / 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+192) {
tmp = x;
} else if (a <= -1.15e+65) {
tmp = y * ((z - t) / a);
} else if (a <= -17000.0) {
tmp = x;
} else if (a <= 6.8e+155) {
tmp = y * ((t - z) / t);
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -6e+192: tmp = x elif a <= -1.15e+65: tmp = y * ((z - t) / a) elif a <= -17000.0: tmp = x elif a <= 6.8e+155: tmp = y * ((t - z) / t) else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -6e+192) tmp = x; elseif (a <= -1.15e+65) tmp = Float64(y * Float64(Float64(z - t) / a)); elseif (a <= -17000.0) tmp = x; elseif (a <= 6.8e+155) tmp = Float64(y * Float64(Float64(t - z) / t)); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -6e+192) tmp = x; elseif (a <= -1.15e+65) tmp = y * ((z - t) / a); elseif (a <= -17000.0) tmp = x; elseif (a <= 6.8e+155) tmp = y * ((t - z) / t); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -6e+192], x, If[LessEqual[a, -1.15e+65], N[(y * N[(N[(z - t), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, -17000.0], x, If[LessEqual[a, 6.8e+155], N[(y * N[(N[(t - z), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision], x]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -6 \cdot 10^{+192}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq -1.15 \cdot 10^{+65}:\\
\;\;\;\;y \cdot \frac{z - t}{a}\\
\mathbf{elif}\;a \leq -17000:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 6.8 \cdot 10^{+155}:\\
\;\;\;\;y \cdot \frac{t - z}{t}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -6e192 or -1.15e65 < a < -17000 or 6.8000000000000002e155 < a Initial program 81.5%
Taylor expanded in a around inf 68.3%
if -6e192 < a < -1.15e65Initial program 72.7%
Taylor expanded in x around 0 72.5%
distribute-rgt-in72.5%
*-lft-identity72.5%
mul-1-neg72.5%
distribute-lft-neg-out72.5%
/-rgt-identity72.5%
times-frac72.0%
*-commutative72.0%
*-rgt-identity72.0%
mul-1-neg72.0%
associate-/l*79.6%
div-sub79.6%
associate-+r+79.7%
+-commutative79.7%
Simplified88.7%
Taylor expanded in y around inf 64.0%
div-sub64.0%
Simplified64.0%
Taylor expanded in a around inf 41.1%
associate-/l*44.8%
Simplified44.8%
if -17000 < a < 6.8000000000000002e155Initial program 71.2%
Taylor expanded in a around 0 52.8%
mul-1-neg52.8%
unsub-neg52.8%
associate-/l*61.1%
div-sub61.1%
sub-neg61.1%
*-inverses61.1%
metadata-eval61.1%
Simplified61.1%
Taylor expanded in y around inf 55.6%
Taylor expanded in t around 0 55.6%
(FPCore (x y z t a)
:precision binary64
(if (<= a -4800.0)
x
(if (<= a -2.8e-163)
y
(if (<= a -7.8e-304) (* x (/ z t)) (if (<= a 3.6e+155) y x)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -4800.0) {
tmp = x;
} else if (a <= -2.8e-163) {
tmp = y;
} else if (a <= -7.8e-304) {
tmp = x * (z / t);
} else if (a <= 3.6e+155) {
tmp = y;
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (a <= (-4800.0d0)) then
tmp = x
else if (a <= (-2.8d-163)) then
tmp = y
else if (a <= (-7.8d-304)) then
tmp = x * (z / t)
else if (a <= 3.6d+155) then
tmp = y
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -4800.0) {
tmp = x;
} else if (a <= -2.8e-163) {
tmp = y;
} else if (a <= -7.8e-304) {
tmp = x * (z / t);
} else if (a <= 3.6e+155) {
tmp = y;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -4800.0: tmp = x elif a <= -2.8e-163: tmp = y elif a <= -7.8e-304: tmp = x * (z / t) elif a <= 3.6e+155: tmp = y else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -4800.0) tmp = x; elseif (a <= -2.8e-163) tmp = y; elseif (a <= -7.8e-304) tmp = Float64(x * Float64(z / t)); elseif (a <= 3.6e+155) tmp = y; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -4800.0) tmp = x; elseif (a <= -2.8e-163) tmp = y; elseif (a <= -7.8e-304) tmp = x * (z / t); elseif (a <= 3.6e+155) tmp = y; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -4800.0], x, If[LessEqual[a, -2.8e-163], y, If[LessEqual[a, -7.8e-304], N[(x * N[(z / t), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 3.6e+155], y, x]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -4800:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq -2.8 \cdot 10^{-163}:\\
\;\;\;\;y\\
\mathbf{elif}\;a \leq -7.8 \cdot 10^{-304}:\\
\;\;\;\;x \cdot \frac{z}{t}\\
\mathbf{elif}\;a \leq 3.6 \cdot 10^{+155}:\\
\;\;\;\;y\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -4800 or 3.60000000000000007e155 < a Initial program 79.3%
Taylor expanded in a around inf 57.3%
if -4800 < a < -2.8e-163 or -7.79999999999999949e-304 < a < 3.60000000000000007e155Initial program 67.9%
Taylor expanded in t around inf 37.5%
if -2.8e-163 < a < -7.79999999999999949e-304Initial program 81.8%
Taylor expanded in a around 0 76.7%
mul-1-neg76.7%
unsub-neg76.7%
associate-/l*74.3%
div-sub74.3%
sub-neg74.3%
*-inverses74.3%
metadata-eval74.3%
Simplified74.3%
Taylor expanded in x around -inf 49.2%
associate-/l*51.4%
Simplified51.4%
(FPCore (x y z t a) :precision binary64 (if (or (<= a -3.1e-27) (not (<= a 5.5e-147))) (+ x (* (- z t) (/ y (- a t)))) (+ y (/ (* (- y x) (- a z)) t))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a <= -3.1e-27) || !(a <= 5.5e-147)) {
tmp = x + ((z - t) * (y / (a - t)));
} else {
tmp = y + (((y - x) * (a - z)) / t);
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if ((a <= (-3.1d-27)) .or. (.not. (a <= 5.5d-147))) then
tmp = x + ((z - t) * (y / (a - t)))
else
tmp = y + (((y - x) * (a - z)) / t)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a <= -3.1e-27) || !(a <= 5.5e-147)) {
tmp = x + ((z - t) * (y / (a - t)));
} else {
tmp = y + (((y - x) * (a - z)) / t);
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (a <= -3.1e-27) or not (a <= 5.5e-147): tmp = x + ((z - t) * (y / (a - t))) else: tmp = y + (((y - x) * (a - z)) / t) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((a <= -3.1e-27) || !(a <= 5.5e-147)) tmp = Float64(x + Float64(Float64(z - t) * Float64(y / Float64(a - t)))); else tmp = Float64(y + Float64(Float64(Float64(y - x) * Float64(a - z)) / t)); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((a <= -3.1e-27) || ~((a <= 5.5e-147))) tmp = x + ((z - t) * (y / (a - t))); else tmp = y + (((y - x) * (a - z)) / t); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[a, -3.1e-27], N[Not[LessEqual[a, 5.5e-147]], $MachinePrecision]], N[(x + N[(N[(z - t), $MachinePrecision] * N[(y / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y + N[(N[(N[(y - x), $MachinePrecision] * N[(a - z), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -3.1 \cdot 10^{-27} \lor \neg \left(a \leq 5.5 \cdot 10^{-147}\right):\\
\;\;\;\;x + \left(z - t\right) \cdot \frac{y}{a - t}\\
\mathbf{else}:\\
\;\;\;\;y + \frac{\left(y - x\right) \cdot \left(a - z\right)}{t}\\
\end{array}
\end{array}
if a < -3.0999999999999998e-27 or 5.5e-147 < a Initial program 74.4%
Taylor expanded in y around inf 71.8%
*-commutative71.8%
*-lft-identity71.8%
times-frac81.4%
/-rgt-identity81.4%
Simplified81.4%
if -3.0999999999999998e-27 < a < 5.5e-147Initial program 73.9%
Taylor expanded in t around inf 85.2%
associate--l+85.2%
associate-*r/85.2%
associate-*r/85.2%
mul-1-neg85.2%
div-sub86.2%
mul-1-neg86.2%
distribute-lft-out--86.2%
associate-*r/86.2%
mul-1-neg86.2%
unsub-neg86.2%
distribute-rgt-out--86.2%
Simplified86.2%
Final simplification83.3%
(FPCore (x y z t a) :precision binary64 (if (or (<= a -0.16) (not (<= a 3.6e+155))) (+ x (* y (/ z a))) (* y (/ (- t z) t))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a <= -0.16) || !(a <= 3.6e+155)) {
tmp = x + (y * (z / a));
} else {
tmp = y * ((t - z) / t);
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if ((a <= (-0.16d0)) .or. (.not. (a <= 3.6d+155))) then
tmp = x + (y * (z / a))
else
tmp = y * ((t - z) / t)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a <= -0.16) || !(a <= 3.6e+155)) {
tmp = x + (y * (z / a));
} else {
tmp = y * ((t - z) / t);
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (a <= -0.16) or not (a <= 3.6e+155): tmp = x + (y * (z / a)) else: tmp = y * ((t - z) / t) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((a <= -0.16) || !(a <= 3.6e+155)) tmp = Float64(x + Float64(y * Float64(z / a))); else tmp = Float64(y * Float64(Float64(t - z) / t)); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((a <= -0.16) || ~((a <= 3.6e+155))) tmp = x + (y * (z / a)); else tmp = y * ((t - z) / t); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[a, -0.16], N[Not[LessEqual[a, 3.6e+155]], $MachinePrecision]], N[(x + N[(y * N[(z / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y * N[(N[(t - z), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -0.16 \lor \neg \left(a \leq 3.6 \cdot 10^{+155}\right):\\
\;\;\;\;x + y \cdot \frac{z}{a}\\
\mathbf{else}:\\
\;\;\;\;y \cdot \frac{t - z}{t}\\
\end{array}
\end{array}
if a < -0.160000000000000003 or 3.60000000000000007e155 < a Initial program 79.5%
Taylor expanded in t around 0 69.3%
Taylor expanded in y around inf 70.5%
associate-/l*73.4%
Simplified73.4%
if -0.160000000000000003 < a < 3.60000000000000007e155Initial program 71.0%
Taylor expanded in a around 0 53.1%
mul-1-neg53.1%
unsub-neg53.1%
associate-/l*61.4%
div-sub61.4%
sub-neg61.4%
*-inverses61.4%
metadata-eval61.4%
Simplified61.4%
Taylor expanded in y around inf 55.9%
Taylor expanded in t around 0 56.0%
Final simplification62.6%
(FPCore (x y z t a) :precision binary64 (if (<= a -0.00031) (+ x (* y (/ z a))) (if (<= a 3.6e+155) (* y (/ (- t z) t)) (- x (* x (/ z a))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -0.00031) {
tmp = x + (y * (z / a));
} else if (a <= 3.6e+155) {
tmp = y * ((t - z) / t);
} else {
tmp = x - (x * (z / 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 <= (-0.00031d0)) then
tmp = x + (y * (z / a))
else if (a <= 3.6d+155) then
tmp = y * ((t - z) / t)
else
tmp = x - (x * (z / 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 <= -0.00031) {
tmp = x + (y * (z / a));
} else if (a <= 3.6e+155) {
tmp = y * ((t - z) / t);
} else {
tmp = x - (x * (z / a));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -0.00031: tmp = x + (y * (z / a)) elif a <= 3.6e+155: tmp = y * ((t - z) / t) else: tmp = x - (x * (z / a)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -0.00031) tmp = Float64(x + Float64(y * Float64(z / a))); elseif (a <= 3.6e+155) tmp = Float64(y * Float64(Float64(t - z) / t)); else tmp = Float64(x - Float64(x * Float64(z / a))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -0.00031) tmp = x + (y * (z / a)); elseif (a <= 3.6e+155) tmp = y * ((t - z) / t); else tmp = x - (x * (z / a)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -0.00031], N[(x + N[(y * N[(z / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 3.6e+155], N[(y * N[(N[(t - z), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision], N[(x - N[(x * N[(z / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -0.00031:\\
\;\;\;\;x + y \cdot \frac{z}{a}\\
\mathbf{elif}\;a \leq 3.6 \cdot 10^{+155}:\\
\;\;\;\;y \cdot \frac{t - z}{t}\\
\mathbf{else}:\\
\;\;\;\;x - x \cdot \frac{z}{a}\\
\end{array}
\end{array}
if a < -3.1e-4Initial program 78.2%
Taylor expanded in t around 0 67.3%
Taylor expanded in y around inf 66.3%
associate-/l*70.7%
Simplified70.7%
if -3.1e-4 < a < 3.60000000000000007e155Initial program 71.0%
Taylor expanded in a around 0 53.1%
mul-1-neg53.1%
unsub-neg53.1%
associate-/l*61.4%
div-sub61.4%
sub-neg61.4%
*-inverses61.4%
metadata-eval61.4%
Simplified61.4%
Taylor expanded in y around inf 55.9%
Taylor expanded in t around 0 56.0%
if 3.60000000000000007e155 < a Initial program 82.1%
Taylor expanded in t around 0 73.4%
Taylor expanded in y around 0 70.3%
mul-1-neg70.3%
unsub-neg70.3%
associate-/l*79.4%
Simplified79.4%
(FPCore (x y z t a) :precision binary64 (if (<= a -0.00265) (+ x (* y (/ z a))) (if (<= a 3.6e+155) (* y (/ (- t z) t)) (+ x (/ (* y z) a)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -0.00265) {
tmp = x + (y * (z / a));
} else if (a <= 3.6e+155) {
tmp = y * ((t - z) / t);
} else {
tmp = x + ((y * z) / 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 <= (-0.00265d0)) then
tmp = x + (y * (z / a))
else if (a <= 3.6d+155) then
tmp = y * ((t - z) / t)
else
tmp = x + ((y * z) / 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 <= -0.00265) {
tmp = x + (y * (z / a));
} else if (a <= 3.6e+155) {
tmp = y * ((t - z) / t);
} else {
tmp = x + ((y * z) / a);
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -0.00265: tmp = x + (y * (z / a)) elif a <= 3.6e+155: tmp = y * ((t - z) / t) else: tmp = x + ((y * z) / a) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -0.00265) tmp = Float64(x + Float64(y * Float64(z / a))); elseif (a <= 3.6e+155) tmp = Float64(y * Float64(Float64(t - z) / t)); else tmp = Float64(x + Float64(Float64(y * z) / a)); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -0.00265) tmp = x + (y * (z / a)); elseif (a <= 3.6e+155) tmp = y * ((t - z) / t); else tmp = x + ((y * z) / a); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -0.00265], N[(x + N[(y * N[(z / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 3.6e+155], N[(y * N[(N[(t - z), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision], N[(x + N[(N[(y * z), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -0.00265:\\
\;\;\;\;x + y \cdot \frac{z}{a}\\
\mathbf{elif}\;a \leq 3.6 \cdot 10^{+155}:\\
\;\;\;\;y \cdot \frac{t - z}{t}\\
\mathbf{else}:\\
\;\;\;\;x + \frac{y \cdot z}{a}\\
\end{array}
\end{array}
if a < -0.00265000000000000001Initial program 78.2%
Taylor expanded in t around 0 67.3%
Taylor expanded in y around inf 66.3%
associate-/l*70.7%
Simplified70.7%
if -0.00265000000000000001 < a < 3.60000000000000007e155Initial program 71.0%
Taylor expanded in a around 0 53.1%
mul-1-neg53.1%
unsub-neg53.1%
associate-/l*61.4%
div-sub61.4%
sub-neg61.4%
*-inverses61.4%
metadata-eval61.4%
Simplified61.4%
Taylor expanded in y around inf 55.9%
Taylor expanded in t around 0 56.0%
if 3.60000000000000007e155 < a Initial program 82.1%
Taylor expanded in t around 0 73.4%
Taylor expanded in y around inf 79.2%
(FPCore (x y z t a) :precision binary64 (if (<= a -21000.0) x (if (<= a 3.6e+155) (* y (/ (- t z) t)) x)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -21000.0) {
tmp = x;
} else if (a <= 3.6e+155) {
tmp = y * ((t - z) / 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 <= (-21000.0d0)) then
tmp = x
else if (a <= 3.6d+155) then
tmp = y * ((t - z) / 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 <= -21000.0) {
tmp = x;
} else if (a <= 3.6e+155) {
tmp = y * ((t - z) / t);
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -21000.0: tmp = x elif a <= 3.6e+155: tmp = y * ((t - z) / t) else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -21000.0) tmp = x; elseif (a <= 3.6e+155) tmp = Float64(y * Float64(Float64(t - z) / t)); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -21000.0) tmp = x; elseif (a <= 3.6e+155) tmp = y * ((t - z) / t); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -21000.0], x, If[LessEqual[a, 3.6e+155], N[(y * N[(N[(t - z), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision], x]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -21000:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 3.6 \cdot 10^{+155}:\\
\;\;\;\;y \cdot \frac{t - z}{t}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -21000 or 3.60000000000000007e155 < a Initial program 79.3%
Taylor expanded in a around inf 57.3%
if -21000 < a < 3.60000000000000007e155Initial program 71.2%
Taylor expanded in a around 0 52.8%
mul-1-neg52.8%
unsub-neg52.8%
associate-/l*61.1%
div-sub61.1%
sub-neg61.1%
*-inverses61.1%
metadata-eval61.1%
Simplified61.1%
Taylor expanded in y around inf 55.6%
Taylor expanded in t around 0 55.6%
(FPCore (x y z t a) :precision binary64 (if (<= a -1020.0) x (if (<= a 1.25e+156) (* y (- 1.0 (/ z t))) x)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -1020.0) {
tmp = x;
} else if (a <= 1.25e+156) {
tmp = y * (1.0 - (z / 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 <= (-1020.0d0)) then
tmp = x
else if (a <= 1.25d+156) then
tmp = y * (1.0d0 - (z / 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 <= -1020.0) {
tmp = x;
} else if (a <= 1.25e+156) {
tmp = y * (1.0 - (z / t));
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -1020.0: tmp = x elif a <= 1.25e+156: tmp = y * (1.0 - (z / t)) else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -1020.0) tmp = x; elseif (a <= 1.25e+156) tmp = Float64(y * Float64(1.0 - Float64(z / t))); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -1020.0) tmp = x; elseif (a <= 1.25e+156) tmp = y * (1.0 - (z / t)); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -1020.0], x, If[LessEqual[a, 1.25e+156], N[(y * N[(1.0 - N[(z / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], x]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -1020:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 1.25 \cdot 10^{+156}:\\
\;\;\;\;y \cdot \left(1 - \frac{z}{t}\right)\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -1020 or 1.24999999999999998e156 < a Initial program 79.3%
Taylor expanded in a around inf 57.3%
if -1020 < a < 1.24999999999999998e156Initial program 71.2%
Taylor expanded in a around 0 52.8%
mul-1-neg52.8%
unsub-neg52.8%
associate-/l*61.1%
div-sub61.1%
sub-neg61.1%
*-inverses61.1%
metadata-eval61.1%
Simplified61.1%
Taylor expanded in y around inf 55.6%
(FPCore (x y z t a) :precision binary64 (if (<= a -2200.0) x (if (<= a 3.6e+155) y x)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -2200.0) {
tmp = x;
} else if (a <= 3.6e+155) {
tmp = y;
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (a <= (-2200.0d0)) then
tmp = x
else if (a <= 3.6d+155) then
tmp = y
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -2200.0) {
tmp = x;
} else if (a <= 3.6e+155) {
tmp = y;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -2200.0: tmp = x elif a <= 3.6e+155: tmp = y else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -2200.0) tmp = x; elseif (a <= 3.6e+155) tmp = y; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -2200.0) tmp = x; elseif (a <= 3.6e+155) tmp = y; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -2200.0], x, If[LessEqual[a, 3.6e+155], y, x]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -2200:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 3.6 \cdot 10^{+155}:\\
\;\;\;\;y\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -2200 or 3.60000000000000007e155 < a Initial program 79.3%
Taylor expanded in a around inf 57.3%
if -2200 < a < 3.60000000000000007e155Initial program 71.2%
Taylor expanded in t around inf 34.2%
(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 74.2%
Taylor expanded in a around inf 25.6%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* (/ (- y x) 1.0) (/ (- z t) (- a t))))))
(if (< a -1.6153062845442575e-142)
t_1
(if (< a 3.774403170083174e-182) (- y (* (/ z t) (- y x))) t_1))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (((y - x) / 1.0) * ((z - t) / (a - t)));
double tmp;
if (a < -1.6153062845442575e-142) {
tmp = t_1;
} else if (a < 3.774403170083174e-182) {
tmp = y - ((z / t) * (y - x));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: tmp
t_1 = x + (((y - x) / 1.0d0) * ((z - t) / (a - t)))
if (a < (-1.6153062845442575d-142)) then
tmp = t_1
else if (a < 3.774403170083174d-182) then
tmp = y - ((z / t) * (y - x))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + (((y - x) / 1.0) * ((z - t) / (a - t)));
double tmp;
if (a < -1.6153062845442575e-142) {
tmp = t_1;
} else if (a < 3.774403170083174e-182) {
tmp = y - ((z / t) * (y - x));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (((y - x) / 1.0) * ((z - t) / (a - t))) tmp = 0 if a < -1.6153062845442575e-142: tmp = t_1 elif a < 3.774403170083174e-182: tmp = y - ((z / t) * (y - x)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(Float64(y - x) / 1.0) * Float64(Float64(z - t) / Float64(a - t)))) tmp = 0.0 if (a < -1.6153062845442575e-142) tmp = t_1; elseif (a < 3.774403170083174e-182) tmp = Float64(y - Float64(Float64(z / t) * Float64(y - x))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + (((y - x) / 1.0) * ((z - t) / (a - t))); tmp = 0.0; if (a < -1.6153062845442575e-142) tmp = t_1; elseif (a < 3.774403170083174e-182) tmp = y - ((z / t) * (y - x)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(N[(y - x), $MachinePrecision] / 1.0), $MachinePrecision] * N[(N[(z - t), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Less[a, -1.6153062845442575e-142], t$95$1, If[Less[a, 3.774403170083174e-182], N[(y - N[(N[(z / t), $MachinePrecision] * N[(y - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{y - x}{1} \cdot \frac{z - t}{a - t}\\
\mathbf{if}\;a < -1.6153062845442575 \cdot 10^{-142}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a < 3.774403170083174 \cdot 10^{-182}:\\
\;\;\;\;y - \frac{z}{t} \cdot \left(y - x\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
herbie shell --seed 2024110
(FPCore (x y z t a)
:name "Graphics.Rendering.Chart.Axis.Types:linMap from Chart-1.5.3"
:precision binary64
:alt
(if (< a -1.6153062845442575e-142) (+ x (* (/ (- y x) 1.0) (/ (- z t) (- a t)))) (if (< a 3.774403170083174e-182) (- y (* (/ z t) (- y x))) (+ x (* (/ (- y x) 1.0) (/ (- z t) (- a t))))))
(+ x (/ (* (- y x) (- z t)) (- a t))))