
(FPCore (x y z t a) :precision binary64 (+ x (/ (* (- y z) t) (- a z))))
double code(double x, double y, double z, double t, double a) {
return x + (((y - z) * t) / (a - z));
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
code = x + (((y - z) * t) / (a - z))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + (((y - z) * t) / (a - z));
}
def code(x, y, z, t, a): return x + (((y - z) * t) / (a - z))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(Float64(y - z) * t) / Float64(a - z))) end
function tmp = code(x, y, z, t, a) tmp = x + (((y - z) * t) / (a - z)); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(N[(y - z), $MachinePrecision] * t), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \frac{\left(y - z\right) \cdot t}{a - z}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 13 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a) :precision binary64 (+ x (/ (* (- y z) t) (- a z))))
double code(double x, double y, double z, double t, double a) {
return x + (((y - z) * t) / (a - z));
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
code = x + (((y - z) * t) / (a - z))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + (((y - z) * t) / (a - z));
}
def code(x, y, z, t, a): return x + (((y - z) * t) / (a - z))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(Float64(y - z) * t) / Float64(a - z))) end
function tmp = code(x, y, z, t, a) tmp = x + (((y - z) * t) / (a - z)); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(N[(y - z), $MachinePrecision] * t), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \frac{\left(y - z\right) \cdot t}{a - z}
\end{array}
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (/ (* (- y z) t) (- a z))))
(if (<= t_1 (- INFINITY))
(+ x (* (- y z) (/ t (- a z))))
(if (<= t_1 1e+198)
(- x (/ (* t (- z y)) (- a z)))
(+ x (/ (- y z) (/ (- a z) t)))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = ((y - z) * t) / (a - z);
double tmp;
if (t_1 <= -((double) INFINITY)) {
tmp = x + ((y - z) * (t / (a - z)));
} else if (t_1 <= 1e+198) {
tmp = x - ((t * (z - y)) / (a - z));
} else {
tmp = x + ((y - z) / ((a - z) / t));
}
return tmp;
}
public static double code(double x, double y, double z, double t, double a) {
double t_1 = ((y - z) * t) / (a - z);
double tmp;
if (t_1 <= -Double.POSITIVE_INFINITY) {
tmp = x + ((y - z) * (t / (a - z)));
} else if (t_1 <= 1e+198) {
tmp = x - ((t * (z - y)) / (a - z));
} else {
tmp = x + ((y - z) / ((a - z) / t));
}
return tmp;
}
def code(x, y, z, t, a): t_1 = ((y - z) * t) / (a - z) tmp = 0 if t_1 <= -math.inf: tmp = x + ((y - z) * (t / (a - z))) elif t_1 <= 1e+198: tmp = x - ((t * (z - y)) / (a - z)) else: tmp = x + ((y - z) / ((a - z) / t)) return tmp
function code(x, y, z, t, a) t_1 = Float64(Float64(Float64(y - z) * t) / Float64(a - z)) tmp = 0.0 if (t_1 <= Float64(-Inf)) tmp = Float64(x + Float64(Float64(y - z) * Float64(t / Float64(a - z)))); elseif (t_1 <= 1e+198) tmp = Float64(x - Float64(Float64(t * Float64(z - y)) / Float64(a - z))); else tmp = Float64(x + Float64(Float64(y - z) / Float64(Float64(a - z) / t))); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = ((y - z) * t) / (a - z); tmp = 0.0; if (t_1 <= -Inf) tmp = x + ((y - z) * (t / (a - z))); elseif (t_1 <= 1e+198) tmp = x - ((t * (z - y)) / (a - z)); else tmp = x + ((y - z) / ((a - z) / t)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(N[(N[(y - z), $MachinePrecision] * t), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, (-Infinity)], N[(x + N[(N[(y - z), $MachinePrecision] * N[(t / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$1, 1e+198], N[(x - N[(N[(t * N[(z - y), $MachinePrecision]), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x + N[(N[(y - z), $MachinePrecision] / N[(N[(a - z), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{\left(y - z\right) \cdot t}{a - z}\\
\mathbf{if}\;t\_1 \leq -\infty:\\
\;\;\;\;x + \left(y - z\right) \cdot \frac{t}{a - z}\\
\mathbf{elif}\;t\_1 \leq 10^{+198}:\\
\;\;\;\;x - \frac{t \cdot \left(z - y\right)}{a - z}\\
\mathbf{else}:\\
\;\;\;\;x + \frac{y - z}{\frac{a - z}{t}}\\
\end{array}
\end{array}
if (/.f64 (*.f64 (-.f64 y z) t) (-.f64 a z)) < -inf.0Initial program 29.8%
associate-/l*99.8%
Simplified99.8%
if -inf.0 < (/.f64 (*.f64 (-.f64 y z) t) (-.f64 a z)) < 1.00000000000000002e198Initial program 99.9%
if 1.00000000000000002e198 < (/.f64 (*.f64 (-.f64 y z) t) (-.f64 a z)) Initial program 31.6%
associate-/l*99.8%
Simplified99.8%
clear-num99.8%
un-div-inv100.0%
Applied egg-rr100.0%
Final simplification99.9%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (/ (* (- y z) t) (- a z))))
(if (or (<= t_1 (- INFINITY)) (not (<= t_1 5e+167)))
(+ x (* (- y z) (/ t (- a z))))
(- x (/ (* t (- z y)) (- a z))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = ((y - z) * t) / (a - z);
double tmp;
if ((t_1 <= -((double) INFINITY)) || !(t_1 <= 5e+167)) {
tmp = x + ((y - z) * (t / (a - z)));
} else {
tmp = x - ((t * (z - y)) / (a - z));
}
return tmp;
}
public static double code(double x, double y, double z, double t, double a) {
double t_1 = ((y - z) * t) / (a - z);
double tmp;
if ((t_1 <= -Double.POSITIVE_INFINITY) || !(t_1 <= 5e+167)) {
tmp = x + ((y - z) * (t / (a - z)));
} else {
tmp = x - ((t * (z - y)) / (a - z));
}
return tmp;
}
def code(x, y, z, t, a): t_1 = ((y - z) * t) / (a - z) tmp = 0 if (t_1 <= -math.inf) or not (t_1 <= 5e+167): tmp = x + ((y - z) * (t / (a - z))) else: tmp = x - ((t * (z - y)) / (a - z)) return tmp
function code(x, y, z, t, a) t_1 = Float64(Float64(Float64(y - z) * t) / Float64(a - z)) tmp = 0.0 if ((t_1 <= Float64(-Inf)) || !(t_1 <= 5e+167)) tmp = Float64(x + Float64(Float64(y - z) * Float64(t / Float64(a - z)))); else tmp = Float64(x - Float64(Float64(t * Float64(z - y)) / Float64(a - z))); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = ((y - z) * t) / (a - z); tmp = 0.0; if ((t_1 <= -Inf) || ~((t_1 <= 5e+167))) tmp = x + ((y - z) * (t / (a - z))); else tmp = x - ((t * (z - y)) / (a - z)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(N[(N[(y - z), $MachinePrecision] * t), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]}, If[Or[LessEqual[t$95$1, (-Infinity)], N[Not[LessEqual[t$95$1, 5e+167]], $MachinePrecision]], N[(x + N[(N[(y - z), $MachinePrecision] * N[(t / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x - N[(N[(t * N[(z - y), $MachinePrecision]), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{\left(y - z\right) \cdot t}{a - z}\\
\mathbf{if}\;t\_1 \leq -\infty \lor \neg \left(t\_1 \leq 5 \cdot 10^{+167}\right):\\
\;\;\;\;x + \left(y - z\right) \cdot \frac{t}{a - z}\\
\mathbf{else}:\\
\;\;\;\;x - \frac{t \cdot \left(z - y\right)}{a - z}\\
\end{array}
\end{array}
if (/.f64 (*.f64 (-.f64 y z) t) (-.f64 a z)) < -inf.0 or 4.9999999999999997e167 < (/.f64 (*.f64 (-.f64 y z) t) (-.f64 a z)) Initial program 33.1%
associate-/l*99.8%
Simplified99.8%
if -inf.0 < (/.f64 (*.f64 (-.f64 y z) t) (-.f64 a z)) < 4.9999999999999997e167Initial program 99.9%
Final simplification99.9%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (- t (* t (/ y z))))) (t_2 (+ x (* t (/ (- y z) a)))))
(if (<= a -1.3e-41)
t_2
(if (<= a 2.3e-193)
t_1
(if (<= a 6e-89)
(+ x (* y (/ t (- a z))))
(if (<= a 9.5e+81) t_1 t_2))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (t - (t * (y / z)));
double t_2 = x + (t * ((y - z) / a));
double tmp;
if (a <= -1.3e-41) {
tmp = t_2;
} else if (a <= 2.3e-193) {
tmp = t_1;
} else if (a <= 6e-89) {
tmp = x + (y * (t / (a - z)));
} else if (a <= 9.5e+81) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = x + (t - (t * (y / z)))
t_2 = x + (t * ((y - z) / a))
if (a <= (-1.3d-41)) then
tmp = t_2
else if (a <= 2.3d-193) then
tmp = t_1
else if (a <= 6d-89) then
tmp = x + (y * (t / (a - z)))
else if (a <= 9.5d+81) then
tmp = t_1
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + (t - (t * (y / z)));
double t_2 = x + (t * ((y - z) / a));
double tmp;
if (a <= -1.3e-41) {
tmp = t_2;
} else if (a <= 2.3e-193) {
tmp = t_1;
} else if (a <= 6e-89) {
tmp = x + (y * (t / (a - z)));
} else if (a <= 9.5e+81) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (t - (t * (y / z))) t_2 = x + (t * ((y - z) / a)) tmp = 0 if a <= -1.3e-41: tmp = t_2 elif a <= 2.3e-193: tmp = t_1 elif a <= 6e-89: tmp = x + (y * (t / (a - z))) elif a <= 9.5e+81: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(t - Float64(t * Float64(y / z)))) t_2 = Float64(x + Float64(t * Float64(Float64(y - z) / a))) tmp = 0.0 if (a <= -1.3e-41) tmp = t_2; elseif (a <= 2.3e-193) tmp = t_1; elseif (a <= 6e-89) tmp = Float64(x + Float64(y * Float64(t / Float64(a - z)))); elseif (a <= 9.5e+81) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + (t - (t * (y / z))); t_2 = x + (t * ((y - z) / a)); tmp = 0.0; if (a <= -1.3e-41) tmp = t_2; elseif (a <= 2.3e-193) tmp = t_1; elseif (a <= 6e-89) tmp = x + (y * (t / (a - z))); elseif (a <= 9.5e+81) 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[(t - N[(t * N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x + N[(t * N[(N[(y - z), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -1.3e-41], t$95$2, If[LessEqual[a, 2.3e-193], t$95$1, If[LessEqual[a, 6e-89], N[(x + N[(y * N[(t / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 9.5e+81], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \left(t - t \cdot \frac{y}{z}\right)\\
t_2 := x + t \cdot \frac{y - z}{a}\\
\mathbf{if}\;a \leq -1.3 \cdot 10^{-41}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;a \leq 2.3 \cdot 10^{-193}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 6 \cdot 10^{-89}:\\
\;\;\;\;x + y \cdot \frac{t}{a - z}\\
\mathbf{elif}\;a \leq 9.5 \cdot 10^{+81}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if a < -1.3e-41 or 9.50000000000000083e81 < a Initial program 79.5%
associate-/l*95.1%
Simplified95.1%
Taylor expanded in a around inf 76.8%
associate-/l*88.7%
Simplified88.7%
if -1.3e-41 < a < 2.30000000000000009e-193 or 5.9999999999999999e-89 < a < 9.50000000000000083e81Initial program 87.0%
associate-/l*94.9%
Simplified94.9%
Taylor expanded in a around 0 75.1%
mul-1-neg75.1%
associate-/l*85.4%
distribute-lft-neg-in85.4%
div-sub85.4%
sub-neg85.4%
*-inverses85.4%
metadata-eval85.4%
Simplified85.4%
Taylor expanded in y around 0 81.8%
mul-1-neg81.8%
associate-*r/85.5%
unsub-neg85.5%
Simplified85.5%
if 2.30000000000000009e-193 < a < 5.9999999999999999e-89Initial program 91.4%
associate-/l*99.8%
Simplified99.8%
Taylor expanded in y around inf 95.5%
associate-*l/99.8%
*-commutative99.8%
Simplified99.8%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* t (/ (- y z) a)))))
(if (<= a -1.46e-52)
t_1
(if (<= a -2.5e-264)
(+ t x)
(if (<= a 4.6e-145)
(- x (* y (/ t z)))
(if (<= a 100.0) (+ t x) t_1))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (t * ((y - z) / a));
double tmp;
if (a <= -1.46e-52) {
tmp = t_1;
} else if (a <= -2.5e-264) {
tmp = t + x;
} else if (a <= 4.6e-145) {
tmp = x - (y * (t / z));
} else if (a <= 100.0) {
tmp = t + x;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: tmp
t_1 = x + (t * ((y - z) / a))
if (a <= (-1.46d-52)) then
tmp = t_1
else if (a <= (-2.5d-264)) then
tmp = t + x
else if (a <= 4.6d-145) then
tmp = x - (y * (t / z))
else if (a <= 100.0d0) then
tmp = t + x
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + (t * ((y - z) / a));
double tmp;
if (a <= -1.46e-52) {
tmp = t_1;
} else if (a <= -2.5e-264) {
tmp = t + x;
} else if (a <= 4.6e-145) {
tmp = x - (y * (t / z));
} else if (a <= 100.0) {
tmp = t + x;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (t * ((y - z) / a)) tmp = 0 if a <= -1.46e-52: tmp = t_1 elif a <= -2.5e-264: tmp = t + x elif a <= 4.6e-145: tmp = x - (y * (t / z)) elif a <= 100.0: tmp = t + x else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(t * Float64(Float64(y - z) / a))) tmp = 0.0 if (a <= -1.46e-52) tmp = t_1; elseif (a <= -2.5e-264) tmp = Float64(t + x); elseif (a <= 4.6e-145) tmp = Float64(x - Float64(y * Float64(t / z))); elseif (a <= 100.0) tmp = Float64(t + x); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + (t * ((y - z) / a)); tmp = 0.0; if (a <= -1.46e-52) tmp = t_1; elseif (a <= -2.5e-264) tmp = t + x; elseif (a <= 4.6e-145) tmp = x - (y * (t / z)); elseif (a <= 100.0) tmp = t + x; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(t * N[(N[(y - z), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -1.46e-52], t$95$1, If[LessEqual[a, -2.5e-264], N[(t + x), $MachinePrecision], If[LessEqual[a, 4.6e-145], N[(x - N[(y * N[(t / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 100.0], N[(t + x), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + t \cdot \frac{y - z}{a}\\
\mathbf{if}\;a \leq -1.46 \cdot 10^{-52}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq -2.5 \cdot 10^{-264}:\\
\;\;\;\;t + x\\
\mathbf{elif}\;a \leq 4.6 \cdot 10^{-145}:\\
\;\;\;\;x - y \cdot \frac{t}{z}\\
\mathbf{elif}\;a \leq 100:\\
\;\;\;\;t + x\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if a < -1.46000000000000003e-52 or 100 < a Initial program 80.4%
associate-/l*95.1%
Simplified95.1%
Taylor expanded in a around inf 75.4%
associate-/l*85.3%
Simplified85.3%
if -1.46000000000000003e-52 < a < -2.5e-264 or 4.60000000000000014e-145 < a < 100Initial program 87.9%
associate-/l*95.3%
Simplified95.3%
Taylor expanded in z around inf 79.5%
if -2.5e-264 < a < 4.60000000000000014e-145Initial program 89.6%
associate-/l*97.3%
Simplified97.3%
Taylor expanded in a around 0 76.4%
mul-1-neg76.4%
associate-/l*81.6%
distribute-lft-neg-in81.6%
div-sub81.6%
sub-neg81.6%
*-inverses81.6%
metadata-eval81.6%
Simplified81.6%
Taylor expanded in y around inf 76.9%
associate-*l/77.2%
associate-*l*77.2%
*-commutative77.2%
mul-1-neg77.2%
distribute-neg-frac277.2%
Simplified77.2%
Final simplification82.6%
(FPCore (x y z t a)
:precision binary64
(if (<= z -1e+109)
(+ t x)
(if (<= z -1.6e-77)
(- x (* y (/ t z)))
(if (<= z 1.12e+95) (+ x (/ (* y t) a)) (+ t x)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -1e+109) {
tmp = t + x;
} else if (z <= -1.6e-77) {
tmp = x - (y * (t / z));
} else if (z <= 1.12e+95) {
tmp = x + ((y * t) / a);
} else {
tmp = t + x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (z <= (-1d+109)) then
tmp = t + x
else if (z <= (-1.6d-77)) then
tmp = x - (y * (t / z))
else if (z <= 1.12d+95) then
tmp = x + ((y * t) / a)
else
tmp = t + x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (z <= -1e+109) {
tmp = t + x;
} else if (z <= -1.6e-77) {
tmp = x - (y * (t / z));
} else if (z <= 1.12e+95) {
tmp = x + ((y * t) / a);
} else {
tmp = t + x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if z <= -1e+109: tmp = t + x elif z <= -1.6e-77: tmp = x - (y * (t / z)) elif z <= 1.12e+95: tmp = x + ((y * t) / a) else: tmp = t + x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (z <= -1e+109) tmp = Float64(t + x); elseif (z <= -1.6e-77) tmp = Float64(x - Float64(y * Float64(t / z))); elseif (z <= 1.12e+95) tmp = Float64(x + Float64(Float64(y * t) / a)); else tmp = Float64(t + x); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (z <= -1e+109) tmp = t + x; elseif (z <= -1.6e-77) tmp = x - (y * (t / z)); elseif (z <= 1.12e+95) tmp = x + ((y * t) / a); else tmp = t + x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[z, -1e+109], N[(t + x), $MachinePrecision], If[LessEqual[z, -1.6e-77], N[(x - N[(y * N[(t / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1.12e+95], N[(x + N[(N[(y * t), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], N[(t + x), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -1 \cdot 10^{+109}:\\
\;\;\;\;t + x\\
\mathbf{elif}\;z \leq -1.6 \cdot 10^{-77}:\\
\;\;\;\;x - y \cdot \frac{t}{z}\\
\mathbf{elif}\;z \leq 1.12 \cdot 10^{+95}:\\
\;\;\;\;x + \frac{y \cdot t}{a}\\
\mathbf{else}:\\
\;\;\;\;t + x\\
\end{array}
\end{array}
if z < -9.99999999999999982e108 or 1.11999999999999999e95 < z Initial program 57.6%
associate-/l*95.7%
Simplified95.7%
Taylor expanded in z around inf 81.9%
if -9.99999999999999982e108 < z < -1.6e-77Initial program 93.7%
associate-/l*99.4%
Simplified99.4%
Taylor expanded in a around 0 73.0%
mul-1-neg73.0%
associate-/l*75.4%
distribute-lft-neg-in75.4%
div-sub75.4%
sub-neg75.4%
*-inverses75.4%
metadata-eval75.4%
Simplified75.4%
Taylor expanded in y around inf 74.1%
associate-*l/74.2%
associate-*l*74.2%
*-commutative74.2%
mul-1-neg74.2%
distribute-neg-frac274.2%
Simplified74.2%
if -1.6e-77 < z < 1.11999999999999999e95Initial program 95.1%
associate-/l*94.2%
Simplified94.2%
Taylor expanded in z around 0 79.1%
Final simplification79.1%
(FPCore (x y z t a) :precision binary64 (if (or (<= z -4.4e-20) (not (<= z 3.6e+59))) (+ x (* z (/ t (- z a)))) (+ x (/ (* y t) (- a z)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -4.4e-20) || !(z <= 3.6e+59)) {
tmp = x + (z * (t / (z - a)));
} else {
tmp = x + ((y * t) / (a - z));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if ((z <= (-4.4d-20)) .or. (.not. (z <= 3.6d+59))) then
tmp = x + (z * (t / (z - a)))
else
tmp = x + ((y * t) / (a - z))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -4.4e-20) || !(z <= 3.6e+59)) {
tmp = x + (z * (t / (z - a)));
} else {
tmp = x + ((y * t) / (a - z));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (z <= -4.4e-20) or not (z <= 3.6e+59): tmp = x + (z * (t / (z - a))) else: tmp = x + ((y * t) / (a - z)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((z <= -4.4e-20) || !(z <= 3.6e+59)) tmp = Float64(x + Float64(z * Float64(t / Float64(z - a)))); else tmp = Float64(x + Float64(Float64(y * t) / Float64(a - z))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((z <= -4.4e-20) || ~((z <= 3.6e+59))) tmp = x + (z * (t / (z - a))); else tmp = x + ((y * t) / (a - z)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[z, -4.4e-20], N[Not[LessEqual[z, 3.6e+59]], $MachinePrecision]], N[(x + N[(z * N[(t / N[(z - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x + N[(N[(y * t), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -4.4 \cdot 10^{-20} \lor \neg \left(z \leq 3.6 \cdot 10^{+59}\right):\\
\;\;\;\;x + z \cdot \frac{t}{z - a}\\
\mathbf{else}:\\
\;\;\;\;x + \frac{y \cdot t}{a - z}\\
\end{array}
\end{array}
if z < -4.39999999999999982e-20 or 3.5999999999999999e59 < z Initial program 68.8%
associate-/l*95.4%
Simplified95.4%
Taylor expanded in y around 0 62.4%
mul-1-neg62.4%
associate-*l/85.8%
distribute-rgt-neg-out85.8%
Simplified85.8%
if -4.39999999999999982e-20 < z < 3.5999999999999999e59Initial program 96.5%
associate-/l*95.5%
Simplified95.5%
Taylor expanded in y around inf 90.2%
Final simplification88.1%
(FPCore (x y z t a) :precision binary64 (if (or (<= z -3.8e+131) (not (<= z 3e+98))) (+ t x) (+ x (* y (/ t (- a z))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -3.8e+131) || !(z <= 3e+98)) {
tmp = t + x;
} else {
tmp = x + (y * (t / (a - z)));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if ((z <= (-3.8d+131)) .or. (.not. (z <= 3d+98))) then
tmp = t + x
else
tmp = x + (y * (t / (a - z)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -3.8e+131) || !(z <= 3e+98)) {
tmp = t + x;
} else {
tmp = x + (y * (t / (a - z)));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (z <= -3.8e+131) or not (z <= 3e+98): tmp = t + x else: tmp = x + (y * (t / (a - z))) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((z <= -3.8e+131) || !(z <= 3e+98)) tmp = Float64(t + x); else tmp = Float64(x + Float64(y * Float64(t / Float64(a - z)))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((z <= -3.8e+131) || ~((z <= 3e+98))) tmp = t + x; else tmp = x + (y * (t / (a - z))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[z, -3.8e+131], N[Not[LessEqual[z, 3e+98]], $MachinePrecision]], N[(t + x), $MachinePrecision], N[(x + N[(y * N[(t / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -3.8 \cdot 10^{+131} \lor \neg \left(z \leq 3 \cdot 10^{+98}\right):\\
\;\;\;\;t + x\\
\mathbf{else}:\\
\;\;\;\;x + y \cdot \frac{t}{a - z}\\
\end{array}
\end{array}
if z < -3.8000000000000004e131 or 3.0000000000000001e98 < z Initial program 59.2%
associate-/l*95.4%
Simplified95.4%
Taylor expanded in z around inf 83.5%
if -3.8000000000000004e131 < z < 3.0000000000000001e98Initial program 93.3%
associate-/l*95.5%
Simplified95.5%
Taylor expanded in y around inf 84.4%
associate-*l/86.2%
*-commutative86.2%
Simplified86.2%
Final simplification85.5%
(FPCore (x y z t a) :precision binary64 (if (or (<= z -3.9e-53) (not (<= z 1.2e+97))) (+ t x) (+ x (/ (* y t) a))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -3.9e-53) || !(z <= 1.2e+97)) {
tmp = t + x;
} else {
tmp = x + ((y * t) / a);
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if ((z <= (-3.9d-53)) .or. (.not. (z <= 1.2d+97))) then
tmp = t + x
else
tmp = x + ((y * t) / a)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -3.9e-53) || !(z <= 1.2e+97)) {
tmp = t + x;
} else {
tmp = x + ((y * t) / a);
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (z <= -3.9e-53) or not (z <= 1.2e+97): tmp = t + x else: tmp = x + ((y * t) / a) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((z <= -3.9e-53) || !(z <= 1.2e+97)) tmp = Float64(t + x); else tmp = Float64(x + Float64(Float64(y * t) / a)); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((z <= -3.9e-53) || ~((z <= 1.2e+97))) tmp = t + x; else tmp = x + ((y * t) / a); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[z, -3.9e-53], N[Not[LessEqual[z, 1.2e+97]], $MachinePrecision]], N[(t + x), $MachinePrecision], N[(x + N[(N[(y * t), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -3.9 \cdot 10^{-53} \lor \neg \left(z \leq 1.2 \cdot 10^{+97}\right):\\
\;\;\;\;t + x\\
\mathbf{else}:\\
\;\;\;\;x + \frac{y \cdot t}{a}\\
\end{array}
\end{array}
if z < -3.9000000000000002e-53 or 1.2e97 < z Initial program 69.4%
associate-/l*96.9%
Simplified96.9%
Taylor expanded in z around inf 76.9%
if -3.9000000000000002e-53 < z < 1.2e97Initial program 95.2%
associate-/l*94.3%
Simplified94.3%
Taylor expanded in z around 0 77.6%
Final simplification77.3%
(FPCore (x y z t a) :precision binary64 (if (or (<= z -1.85e+130) (not (<= z 1.45e+95))) (+ t x) (+ x (* y (/ t a)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -1.85e+130) || !(z <= 1.45e+95)) {
tmp = t + x;
} else {
tmp = x + (y * (t / a));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if ((z <= (-1.85d+130)) .or. (.not. (z <= 1.45d+95))) then
tmp = t + x
else
tmp = x + (y * (t / a))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -1.85e+130) || !(z <= 1.45e+95)) {
tmp = t + x;
} else {
tmp = x + (y * (t / a));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (z <= -1.85e+130) or not (z <= 1.45e+95): tmp = t + x else: tmp = x + (y * (t / a)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((z <= -1.85e+130) || !(z <= 1.45e+95)) tmp = Float64(t + x); else tmp = Float64(x + Float64(y * Float64(t / a))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((z <= -1.85e+130) || ~((z <= 1.45e+95))) tmp = t + x; else tmp = x + (y * (t / a)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[z, -1.85e+130], N[Not[LessEqual[z, 1.45e+95]], $MachinePrecision]], N[(t + x), $MachinePrecision], N[(x + N[(y * N[(t / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -1.85 \cdot 10^{+130} \lor \neg \left(z \leq 1.45 \cdot 10^{+95}\right):\\
\;\;\;\;t + x\\
\mathbf{else}:\\
\;\;\;\;x + y \cdot \frac{t}{a}\\
\end{array}
\end{array}
if z < -1.8500000000000001e130 or 1.45000000000000007e95 < z Initial program 59.2%
associate-/l*95.4%
Simplified95.4%
Taylor expanded in z around inf 83.5%
if -1.8500000000000001e130 < z < 1.45000000000000007e95Initial program 93.3%
associate-/l*95.5%
Simplified95.5%
Taylor expanded in z around 0 72.9%
*-commutative72.9%
associate-/l*74.7%
Simplified74.7%
Final simplification77.2%
(FPCore (x y z t a) :precision binary64 (if (or (<= z -6.4e+122) (not (<= z 1.12e+95))) (+ t x) (+ x (* t (/ y a)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -6.4e+122) || !(z <= 1.12e+95)) {
tmp = t + x;
} else {
tmp = x + (t * (y / a));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if ((z <= (-6.4d+122)) .or. (.not. (z <= 1.12d+95))) then
tmp = t + x
else
tmp = x + (t * (y / a))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -6.4e+122) || !(z <= 1.12e+95)) {
tmp = t + x;
} else {
tmp = x + (t * (y / a));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (z <= -6.4e+122) or not (z <= 1.12e+95): tmp = t + x else: tmp = x + (t * (y / a)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((z <= -6.4e+122) || !(z <= 1.12e+95)) tmp = Float64(t + x); else tmp = Float64(x + Float64(t * Float64(y / a))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((z <= -6.4e+122) || ~((z <= 1.12e+95))) tmp = t + x; else tmp = x + (t * (y / a)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[z, -6.4e+122], N[Not[LessEqual[z, 1.12e+95]], $MachinePrecision]], N[(t + x), $MachinePrecision], N[(x + N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -6.4 \cdot 10^{+122} \lor \neg \left(z \leq 1.12 \cdot 10^{+95}\right):\\
\;\;\;\;t + x\\
\mathbf{else}:\\
\;\;\;\;x + t \cdot \frac{y}{a}\\
\end{array}
\end{array}
if z < -6.40000000000000024e122 or 1.11999999999999999e95 < z Initial program 59.2%
associate-/l*95.4%
Simplified95.4%
Taylor expanded in z around inf 83.5%
if -6.40000000000000024e122 < z < 1.11999999999999999e95Initial program 93.3%
associate-/l*95.5%
Simplified95.5%
Taylor expanded in z around 0 72.9%
associate-/l*74.4%
Simplified74.4%
Final simplification77.0%
(FPCore (x y z t a) :precision binary64 (if (<= a -8.6e+161) x (if (<= a 9.2e+93) (+ t x) x)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -8.6e+161) {
tmp = x;
} else if (a <= 9.2e+93) {
tmp = t + x;
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (a <= (-8.6d+161)) then
tmp = x
else if (a <= 9.2d+93) then
tmp = t + x
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -8.6e+161) {
tmp = x;
} else if (a <= 9.2e+93) {
tmp = t + x;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -8.6e+161: tmp = x elif a <= 9.2e+93: tmp = t + x else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -8.6e+161) tmp = x; elseif (a <= 9.2e+93) tmp = Float64(t + x); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -8.6e+161) tmp = x; elseif (a <= 9.2e+93) tmp = t + x; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -8.6e+161], x, If[LessEqual[a, 9.2e+93], N[(t + x), $MachinePrecision], x]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -8.6 \cdot 10^{+161}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 9.2 \cdot 10^{+93}:\\
\;\;\;\;t + x\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -8.6e161 or 9.2000000000000006e93 < a Initial program 76.9%
associate-/l*93.3%
Simplified93.3%
Taylor expanded in a around inf 76.7%
*-commutative76.7%
associate-/l*89.7%
Simplified89.7%
Taylor expanded in y around 0 66.4%
associate-*r/66.4%
mul-1-neg66.4%
distribute-rgt-neg-out66.4%
associate-/l*75.6%
Simplified75.6%
Taylor expanded in x around inf 65.2%
if -8.6e161 < a < 9.2000000000000006e93Initial program 87.4%
associate-/l*96.6%
Simplified96.6%
Taylor expanded in z around inf 64.0%
Final simplification64.4%
(FPCore (x y z t a) :precision binary64 (+ x (* (- y z) (/ t (- a z)))))
double code(double x, double y, double z, double t, double a) {
return x + ((y - z) * (t / (a - z)));
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
code = x + ((y - z) * (t / (a - z)))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + ((y - z) * (t / (a - z)));
}
def code(x, y, z, t, a): return x + ((y - z) * (t / (a - z)))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(y - z) * Float64(t / Float64(a - z)))) end
function tmp = code(x, y, z, t, a) tmp = x + ((y - z) * (t / (a - z))); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(y - z), $MachinePrecision] * N[(t / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \left(y - z\right) \cdot \frac{t}{a - z}
\end{array}
Initial program 83.7%
associate-/l*95.5%
Simplified95.5%
(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 83.7%
associate-/l*95.5%
Simplified95.5%
Taylor expanded in a around inf 61.5%
*-commutative61.5%
associate-/l*65.9%
Simplified65.9%
Taylor expanded in y around 0 48.1%
associate-*r/48.1%
mul-1-neg48.1%
distribute-rgt-neg-out48.1%
associate-/l*51.3%
Simplified51.3%
Taylor expanded in x around inf 54.2%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* (/ (- y z) (- a z)) t))))
(if (< t -1.0682974490174067e-39)
t_1
(if (< t 3.9110949887586375e-141) (+ x (/ (* (- y z) t) (- a z))) t_1))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (((y - z) / (a - z)) * t);
double tmp;
if (t < -1.0682974490174067e-39) {
tmp = t_1;
} else if (t < 3.9110949887586375e-141) {
tmp = x + (((y - z) * t) / (a - z));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: tmp
t_1 = x + (((y - z) / (a - z)) * t)
if (t < (-1.0682974490174067d-39)) then
tmp = t_1
else if (t < 3.9110949887586375d-141) then
tmp = x + (((y - z) * t) / (a - z))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + (((y - z) / (a - z)) * t);
double tmp;
if (t < -1.0682974490174067e-39) {
tmp = t_1;
} else if (t < 3.9110949887586375e-141) {
tmp = x + (((y - z) * t) / (a - z));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (((y - z) / (a - z)) * t) tmp = 0 if t < -1.0682974490174067e-39: tmp = t_1 elif t < 3.9110949887586375e-141: tmp = x + (((y - z) * t) / (a - z)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(Float64(y - z) / Float64(a - z)) * t)) tmp = 0.0 if (t < -1.0682974490174067e-39) tmp = t_1; elseif (t < 3.9110949887586375e-141) tmp = Float64(x + Float64(Float64(Float64(y - z) * t) / Float64(a - z))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + (((y - z) / (a - z)) * t); tmp = 0.0; if (t < -1.0682974490174067e-39) tmp = t_1; elseif (t < 3.9110949887586375e-141) tmp = x + (((y - z) * t) / (a - z)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision] * t), $MachinePrecision]), $MachinePrecision]}, If[Less[t, -1.0682974490174067e-39], t$95$1, If[Less[t, 3.9110949887586375e-141], N[(x + N[(N[(N[(y - z), $MachinePrecision] * t), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{y - z}{a - z} \cdot t\\
\mathbf{if}\;t < -1.0682974490174067 \cdot 10^{-39}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t < 3.9110949887586375 \cdot 10^{-141}:\\
\;\;\;\;x + \frac{\left(y - z\right) \cdot t}{a - z}\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
herbie shell --seed 2024101
(FPCore (x y z t a)
:name "Graphics.Rendering.Plot.Render.Plot.Axis:renderAxisTick from plot-0.2.3.4, A"
:precision binary64
:alt
(if (< t -1.0682974490174067e-39) (+ x (* (/ (- y z) (- a z)) t)) (if (< t 3.9110949887586375e-141) (+ x (/ (* (- y z) t) (- a z))) (+ x (* (/ (- y z) (- a z)) t))))
(+ x (/ (* (- y z) t) (- a z))))