
(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 20 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 (<= t_1 -5e-288)
(+ x (/ (- y x) (/ (- a t) (- z t))))
(if (<= t_1 0.0)
(+ y (/ (* (- y x) (- a z)) t))
(+ x (* (- z t) (/ (- y x) (- a 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 <= -5e-288) {
tmp = x + ((y - x) / ((a - t) / (z - t)));
} else if (t_1 <= 0.0) {
tmp = y + (((y - x) * (a - z)) / t);
} else {
tmp = x + ((z - t) * ((y - x) / (a - t)));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: tmp
t_1 = x + (((y - x) * (z - t)) / (a - t))
if (t_1 <= (-5d-288)) then
tmp = x + ((y - x) / ((a - t) / (z - t)))
else if (t_1 <= 0.0d0) then
tmp = y + (((y - x) * (a - z)) / t)
else
tmp = x + ((z - t) * ((y - x) / (a - t)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + (((y - x) * (z - t)) / (a - t));
double tmp;
if (t_1 <= -5e-288) {
tmp = x + ((y - x) / ((a - t) / (z - t)));
} else if (t_1 <= 0.0) {
tmp = y + (((y - x) * (a - z)) / t);
} else {
tmp = x + ((z - t) * ((y - x) / (a - t)));
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (((y - x) * (z - t)) / (a - t)) tmp = 0 if t_1 <= -5e-288: tmp = x + ((y - x) / ((a - t) / (z - t))) elif t_1 <= 0.0: tmp = y + (((y - x) * (a - z)) / t) else: tmp = x + ((z - t) * ((y - x) / (a - 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 <= -5e-288) tmp = Float64(x + Float64(Float64(y - x) / Float64(Float64(a - t) / Float64(z - t)))); elseif (t_1 <= 0.0) tmp = Float64(y + Float64(Float64(Float64(y - x) * Float64(a - z)) / t)); else tmp = Float64(x + Float64(Float64(z - t) * Float64(Float64(y - x) / Float64(a - t)))); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + (((y - x) * (z - t)) / (a - t)); tmp = 0.0; if (t_1 <= -5e-288) tmp = x + ((y - x) / ((a - t) / (z - t))); elseif (t_1 <= 0.0) tmp = y + (((y - x) * (a - z)) / t); else tmp = x + ((z - t) * ((y - x) / (a - t))); end tmp_2 = 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[LessEqual[t$95$1, -5e-288], N[(x + N[(N[(y - x), $MachinePrecision] / N[(N[(a - t), $MachinePrecision] / N[(z - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$1, 0.0], N[(y + N[(N[(N[(y - x), $MachinePrecision] * N[(a - z), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision], N[(x + N[(N[(z - t), $MachinePrecision] * N[(N[(y - x), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $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 -5 \cdot 10^{-288}:\\
\;\;\;\;x + \frac{y - x}{\frac{a - t}{z - t}}\\
\mathbf{elif}\;t_1 \leq 0:\\
\;\;\;\;y + \frac{\left(y - x\right) \cdot \left(a - z\right)}{t}\\
\mathbf{else}:\\
\;\;\;\;x + \left(z - t\right) \cdot \frac{y - x}{a - t}\\
\end{array}
\end{array}
if (+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t))) < -5.00000000000000011e-288Initial program 80.4%
associate-/l*90.9%
Simplified90.9%
if -5.00000000000000011e-288 < (+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t))) < 0.0Initial program 4.7%
+-commutative4.7%
*-commutative4.7%
associate-/l*4.3%
associate-/r/4.7%
fma-def4.7%
Simplified4.7%
Taylor expanded in t around -inf 99.7%
if 0.0 < (+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t))) Initial program 70.1%
associate-*l/89.3%
Simplified89.3%
Final simplification90.7%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (/ (* (- y x) (- z t)) (- a t)))))
(if (<= t_1 -5e-288)
(+ x (/ (- y x) (/ (- a t) (- z t))))
(if (<= t_1 0.0)
(+ y (* (- y x) (/ (- a z) t)))
(+ x (* (- z t) (/ (- y x) (- a 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 <= -5e-288) {
tmp = x + ((y - x) / ((a - t) / (z - t)));
} else if (t_1 <= 0.0) {
tmp = y + ((y - x) * ((a - z) / t));
} else {
tmp = x + ((z - t) * ((y - x) / (a - t)));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: tmp
t_1 = x + (((y - x) * (z - t)) / (a - t))
if (t_1 <= (-5d-288)) then
tmp = x + ((y - x) / ((a - t) / (z - t)))
else if (t_1 <= 0.0d0) then
tmp = y + ((y - x) * ((a - z) / t))
else
tmp = x + ((z - t) * ((y - x) / (a - t)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + (((y - x) * (z - t)) / (a - t));
double tmp;
if (t_1 <= -5e-288) {
tmp = x + ((y - x) / ((a - t) / (z - t)));
} else if (t_1 <= 0.0) {
tmp = y + ((y - x) * ((a - z) / t));
} else {
tmp = x + ((z - t) * ((y - x) / (a - t)));
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (((y - x) * (z - t)) / (a - t)) tmp = 0 if t_1 <= -5e-288: tmp = x + ((y - x) / ((a - t) / (z - t))) elif t_1 <= 0.0: tmp = y + ((y - x) * ((a - z) / t)) else: tmp = x + ((z - t) * ((y - x) / (a - 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 <= -5e-288) tmp = Float64(x + Float64(Float64(y - x) / Float64(Float64(a - t) / Float64(z - t)))); elseif (t_1 <= 0.0) tmp = Float64(y + Float64(Float64(y - x) * Float64(Float64(a - z) / t))); else tmp = Float64(x + Float64(Float64(z - t) * Float64(Float64(y - x) / Float64(a - t)))); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + (((y - x) * (z - t)) / (a - t)); tmp = 0.0; if (t_1 <= -5e-288) tmp = x + ((y - x) / ((a - t) / (z - t))); elseif (t_1 <= 0.0) tmp = y + ((y - x) * ((a - z) / t)); else tmp = x + ((z - t) * ((y - x) / (a - t))); end tmp_2 = 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[LessEqual[t$95$1, -5e-288], N[(x + N[(N[(y - x), $MachinePrecision] / N[(N[(a - t), $MachinePrecision] / N[(z - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$1, 0.0], N[(y + N[(N[(y - x), $MachinePrecision] * N[(N[(a - z), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x + N[(N[(z - t), $MachinePrecision] * N[(N[(y - x), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $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 -5 \cdot 10^{-288}:\\
\;\;\;\;x + \frac{y - x}{\frac{a - t}{z - t}}\\
\mathbf{elif}\;t_1 \leq 0:\\
\;\;\;\;y + \left(y - x\right) \cdot \frac{a - z}{t}\\
\mathbf{else}:\\
\;\;\;\;x + \left(z - t\right) \cdot \frac{y - x}{a - t}\\
\end{array}
\end{array}
if (+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t))) < -5.00000000000000011e-288Initial program 80.4%
associate-/l*90.9%
Simplified90.9%
if -5.00000000000000011e-288 < (+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t))) < 0.0Initial program 4.7%
associate-*l/4.1%
Simplified4.1%
associate-/r/4.7%
div-inv3.9%
associate-/r*4.6%
Applied egg-rr4.6%
Taylor expanded in t around inf 99.8%
associate--l+99.8%
associate-*r/99.8%
associate-*r/99.8%
div-sub99.8%
distribute-lft-out--99.8%
distribute-rgt-out--99.7%
associate-*r/99.7%
distribute-rgt-out--99.8%
mul-1-neg99.8%
distribute-rgt-out--99.7%
*-commutative99.7%
associate-*r/92.4%
div-sub92.4%
Simplified99.7%
if 0.0 < (+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t))) Initial program 70.1%
associate-*l/89.3%
Simplified89.3%
Final simplification90.7%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* y (/ (- z t) (- a t)))) (t_2 (+ x (* (- z t) (/ (- y x) a)))))
(if (<= a -3.5e+37)
t_2
(if (<= a -1e-96)
t_1
(if (<= a -1.9e-120)
(/ (* (- y x) z) (- a t))
(if (<= a 2.9e+27) 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 - x) / a));
double tmp;
if (a <= -3.5e+37) {
tmp = t_2;
} else if (a <= -1e-96) {
tmp = t_1;
} else if (a <= -1.9e-120) {
tmp = ((y - x) * z) / (a - t);
} else if (a <= 2.9e+27) {
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 - x) / a))
if (a <= (-3.5d+37)) then
tmp = t_2
else if (a <= (-1d-96)) then
tmp = t_1
else if (a <= (-1.9d-120)) then
tmp = ((y - x) * z) / (a - t)
else if (a <= 2.9d+27) 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 - x) / a));
double tmp;
if (a <= -3.5e+37) {
tmp = t_2;
} else if (a <= -1e-96) {
tmp = t_1;
} else if (a <= -1.9e-120) {
tmp = ((y - x) * z) / (a - t);
} else if (a <= 2.9e+27) {
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 - x) / a)) tmp = 0 if a <= -3.5e+37: tmp = t_2 elif a <= -1e-96: tmp = t_1 elif a <= -1.9e-120: tmp = ((y - x) * z) / (a - t) elif a <= 2.9e+27: 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(Float64(y - x) / a))) tmp = 0.0 if (a <= -3.5e+37) tmp = t_2; elseif (a <= -1e-96) tmp = t_1; elseif (a <= -1.9e-120) tmp = Float64(Float64(Float64(y - x) * z) / Float64(a - t)); elseif (a <= 2.9e+27) 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 - x) / a)); tmp = 0.0; if (a <= -3.5e+37) tmp = t_2; elseif (a <= -1e-96) tmp = t_1; elseif (a <= -1.9e-120) tmp = ((y - x) * z) / (a - t); elseif (a <= 2.9e+27) 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[(N[(y - x), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -3.5e+37], t$95$2, If[LessEqual[a, -1e-96], t$95$1, If[LessEqual[a, -1.9e-120], N[(N[(N[(y - x), $MachinePrecision] * z), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 2.9e+27], 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 - x}{a}\\
\mathbf{if}\;a \leq -3.5 \cdot 10^{+37}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;a \leq -1 \cdot 10^{-96}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq -1.9 \cdot 10^{-120}:\\
\;\;\;\;\frac{\left(y - x\right) \cdot z}{a - t}\\
\mathbf{elif}\;a \leq 2.9 \cdot 10^{+27}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if a < -3.5e37 or 2.9000000000000001e27 < a Initial program 73.2%
associate-*l/91.1%
Simplified91.1%
Taylor expanded in a around inf 85.4%
if -3.5e37 < a < -9.9999999999999991e-97 or -1.8999999999999999e-120 < a < 2.9000000000000001e27Initial program 67.4%
associate-/l*78.1%
Simplified78.1%
Taylor expanded in x around 0 59.8%
associate-*r/69.5%
Simplified69.5%
if -9.9999999999999991e-97 < a < -1.8999999999999999e-120Initial program 71.3%
associate-/l*65.0%
Simplified65.0%
Taylor expanded in z around -inf 80.8%
Final simplification76.9%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ y (* (- y x) (/ (- a z) t))))
(t_2 (+ x (* (- z t) (/ (- y x) a)))))
(if (<= a -6.2e+30)
t_2
(if (<= a 3.6e-55)
t_1
(if (<= a 6e-31)
(+ x (/ z (/ a (- y x))))
(if (<= a 1.6e+27) t_1 t_2))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = y + ((y - x) * ((a - z) / t));
double t_2 = x + ((z - t) * ((y - x) / a));
double tmp;
if (a <= -6.2e+30) {
tmp = t_2;
} else if (a <= 3.6e-55) {
tmp = t_1;
} else if (a <= 6e-31) {
tmp = x + (z / (a / (y - x)));
} else if (a <= 1.6e+27) {
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 + ((y - x) * ((a - z) / t))
t_2 = x + ((z - t) * ((y - x) / a))
if (a <= (-6.2d+30)) then
tmp = t_2
else if (a <= 3.6d-55) then
tmp = t_1
else if (a <= 6d-31) then
tmp = x + (z / (a / (y - x)))
else if (a <= 1.6d+27) 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 + ((y - x) * ((a - z) / t));
double t_2 = x + ((z - t) * ((y - x) / a));
double tmp;
if (a <= -6.2e+30) {
tmp = t_2;
} else if (a <= 3.6e-55) {
tmp = t_1;
} else if (a <= 6e-31) {
tmp = x + (z / (a / (y - x)));
} else if (a <= 1.6e+27) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = y + ((y - x) * ((a - z) / t)) t_2 = x + ((z - t) * ((y - x) / a)) tmp = 0 if a <= -6.2e+30: tmp = t_2 elif a <= 3.6e-55: tmp = t_1 elif a <= 6e-31: tmp = x + (z / (a / (y - x))) elif a <= 1.6e+27: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a) t_1 = Float64(y + Float64(Float64(y - x) * Float64(Float64(a - z) / t))) t_2 = Float64(x + Float64(Float64(z - t) * Float64(Float64(y - x) / a))) tmp = 0.0 if (a <= -6.2e+30) tmp = t_2; elseif (a <= 3.6e-55) tmp = t_1; elseif (a <= 6e-31) tmp = Float64(x + Float64(z / Float64(a / Float64(y - x)))); elseif (a <= 1.6e+27) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = y + ((y - x) * ((a - z) / t)); t_2 = x + ((z - t) * ((y - x) / a)); tmp = 0.0; if (a <= -6.2e+30) tmp = t_2; elseif (a <= 3.6e-55) tmp = t_1; elseif (a <= 6e-31) tmp = x + (z / (a / (y - x))); elseif (a <= 1.6e+27) 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[(y - x), $MachinePrecision] * N[(N[(a - z), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x + N[(N[(z - t), $MachinePrecision] * N[(N[(y - x), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -6.2e+30], t$95$2, If[LessEqual[a, 3.6e-55], t$95$1, If[LessEqual[a, 6e-31], N[(x + N[(z / N[(a / N[(y - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.6e+27], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y + \left(y - x\right) \cdot \frac{a - z}{t}\\
t_2 := x + \left(z - t\right) \cdot \frac{y - x}{a}\\
\mathbf{if}\;a \leq -6.2 \cdot 10^{+30}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;a \leq 3.6 \cdot 10^{-55}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 6 \cdot 10^{-31}:\\
\;\;\;\;x + \frac{z}{\frac{a}{y - x}}\\
\mathbf{elif}\;a \leq 1.6 \cdot 10^{+27}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if a < -6.1999999999999995e30 or 1.60000000000000008e27 < a Initial program 73.4%
associate-*l/91.1%
Simplified91.1%
Taylor expanded in a around inf 85.5%
if -6.1999999999999995e30 < a < 3.6000000000000001e-55 or 5.99999999999999962e-31 < a < 1.60000000000000008e27Initial program 65.8%
associate-*l/72.0%
Simplified72.0%
associate-/r/76.3%
div-inv76.1%
associate-/r*72.0%
Applied egg-rr72.0%
Taylor expanded in t around inf 72.9%
associate--l+72.9%
associate-*r/72.9%
associate-*r/72.9%
div-sub73.7%
distribute-lft-out--73.7%
distribute-rgt-out--73.6%
associate-*r/73.6%
distribute-rgt-out--73.7%
mul-1-neg73.7%
distribute-rgt-out--73.6%
*-commutative73.6%
associate-*r/77.5%
div-sub76.7%
Simplified79.1%
if 3.6000000000000001e-55 < a < 5.99999999999999962e-31Initial program 96.7%
associate-/l*96.7%
Simplified96.7%
Taylor expanded in t around 0 87.4%
associate-/l*87.4%
Simplified87.4%
Final simplification82.2%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (* (- z t) (/ (- y x) a)))))
(if (<= a -9.8e+30)
t_1
(if (<= a 5.5e-55)
(+ y (/ (- x y) (/ t (- z a))))
(if (<= a 2.85e-28)
(+ x (/ z (/ a (- y x))))
(if (<= a 1.6e+27) (+ y (* (- y x) (/ (- a z) t))) t_1))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + ((z - t) * ((y - x) / a));
double tmp;
if (a <= -9.8e+30) {
tmp = t_1;
} else if (a <= 5.5e-55) {
tmp = y + ((x - y) / (t / (z - a)));
} else if (a <= 2.85e-28) {
tmp = x + (z / (a / (y - x)));
} else if (a <= 1.6e+27) {
tmp = y + ((y - x) * ((a - z) / 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 - x) / a))
if (a <= (-9.8d+30)) then
tmp = t_1
else if (a <= 5.5d-55) then
tmp = y + ((x - y) / (t / (z - a)))
else if (a <= 2.85d-28) then
tmp = x + (z / (a / (y - x)))
else if (a <= 1.6d+27) then
tmp = y + ((y - x) * ((a - z) / 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 - x) / a));
double tmp;
if (a <= -9.8e+30) {
tmp = t_1;
} else if (a <= 5.5e-55) {
tmp = y + ((x - y) / (t / (z - a)));
} else if (a <= 2.85e-28) {
tmp = x + (z / (a / (y - x)));
} else if (a <= 1.6e+27) {
tmp = y + ((y - x) * ((a - z) / t));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + ((z - t) * ((y - x) / a)) tmp = 0 if a <= -9.8e+30: tmp = t_1 elif a <= 5.5e-55: tmp = y + ((x - y) / (t / (z - a))) elif a <= 2.85e-28: tmp = x + (z / (a / (y - x))) elif a <= 1.6e+27: tmp = y + ((y - x) * ((a - z) / t)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(z - t) * Float64(Float64(y - x) / a))) tmp = 0.0 if (a <= -9.8e+30) tmp = t_1; elseif (a <= 5.5e-55) tmp = Float64(y + Float64(Float64(x - y) / Float64(t / Float64(z - a)))); elseif (a <= 2.85e-28) tmp = Float64(x + Float64(z / Float64(a / Float64(y - x)))); elseif (a <= 1.6e+27) tmp = Float64(y + Float64(Float64(y - x) * Float64(Float64(a - z) / t))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + ((z - t) * ((y - x) / a)); tmp = 0.0; if (a <= -9.8e+30) tmp = t_1; elseif (a <= 5.5e-55) tmp = y + ((x - y) / (t / (z - a))); elseif (a <= 2.85e-28) tmp = x + (z / (a / (y - x))); elseif (a <= 1.6e+27) tmp = y + ((y - x) * ((a - z) / 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[(N[(y - x), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -9.8e+30], t$95$1, If[LessEqual[a, 5.5e-55], N[(y + N[(N[(x - y), $MachinePrecision] / N[(t / N[(z - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 2.85e-28], N[(x + N[(z / N[(a / N[(y - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.6e+27], N[(y + N[(N[(y - x), $MachinePrecision] * N[(N[(a - z), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \left(z - t\right) \cdot \frac{y - x}{a}\\
\mathbf{if}\;a \leq -9.8 \cdot 10^{+30}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 5.5 \cdot 10^{-55}:\\
\;\;\;\;y + \frac{x - y}{\frac{t}{z - a}}\\
\mathbf{elif}\;a \leq 2.85 \cdot 10^{-28}:\\
\;\;\;\;x + \frac{z}{\frac{a}{y - x}}\\
\mathbf{elif}\;a \leq 1.6 \cdot 10^{+27}:\\
\;\;\;\;y + \left(y - x\right) \cdot \frac{a - z}{t}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if a < -9.79999999999999969e30 or 1.60000000000000008e27 < a Initial program 73.4%
associate-*l/91.1%
Simplified91.1%
Taylor expanded in a around inf 85.5%
if -9.79999999999999969e30 < a < 5.4999999999999999e-55Initial program 67.4%
associate-/l*77.3%
Simplified77.3%
Taylor expanded in t around inf 73.6%
associate--l+73.6%
associate-*r/73.6%
associate-*r/73.6%
div-sub74.4%
distribute-lft-out--74.4%
associate-*r/74.4%
mul-1-neg74.4%
unsub-neg74.4%
distribute-rgt-out--74.4%
associate-/l*80.5%
Simplified80.5%
if 5.4999999999999999e-55 < a < 2.8500000000000002e-28Initial program 96.7%
associate-/l*96.7%
Simplified96.7%
Taylor expanded in t around 0 87.4%
associate-/l*87.4%
Simplified87.4%
if 2.8500000000000002e-28 < a < 1.60000000000000008e27Initial program 47.7%
associate-*l/64.7%
Simplified64.7%
associate-/r/64.9%
div-inv64.5%
associate-/r*64.4%
Applied egg-rr64.4%
Taylor expanded in t around inf 64.9%
associate--l+64.9%
associate-*r/64.9%
associate-*r/64.9%
div-sub64.9%
distribute-lft-out--64.9%
distribute-rgt-out--64.9%
associate-*r/64.9%
distribute-rgt-out--64.9%
mul-1-neg64.9%
distribute-rgt-out--64.9%
*-commutative64.9%
associate-*r/73.6%
div-sub73.6%
Simplified73.8%
Final simplification82.6%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* y (/ (- z t) (- a t)))) (t_2 (+ x (/ (- y x) (/ a z)))))
(if (<= a -2.1e+41)
t_2
(if (<= a -1.2e-96)
t_1
(if (<= a -7.2e-122)
(/ z (/ (- a t) (- y x)))
(if (<= a 2.02e+27) 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) / (a / z));
double tmp;
if (a <= -2.1e+41) {
tmp = t_2;
} else if (a <= -1.2e-96) {
tmp = t_1;
} else if (a <= -7.2e-122) {
tmp = z / ((a - t) / (y - x));
} else if (a <= 2.02e+27) {
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) / (a / z))
if (a <= (-2.1d+41)) then
tmp = t_2
else if (a <= (-1.2d-96)) then
tmp = t_1
else if (a <= (-7.2d-122)) then
tmp = z / ((a - t) / (y - x))
else if (a <= 2.02d+27) 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) / (a / z));
double tmp;
if (a <= -2.1e+41) {
tmp = t_2;
} else if (a <= -1.2e-96) {
tmp = t_1;
} else if (a <= -7.2e-122) {
tmp = z / ((a - t) / (y - x));
} else if (a <= 2.02e+27) {
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) / (a / z)) tmp = 0 if a <= -2.1e+41: tmp = t_2 elif a <= -1.2e-96: tmp = t_1 elif a <= -7.2e-122: tmp = z / ((a - t) / (y - x)) elif a <= 2.02e+27: 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(a / z))) tmp = 0.0 if (a <= -2.1e+41) tmp = t_2; elseif (a <= -1.2e-96) tmp = t_1; elseif (a <= -7.2e-122) tmp = Float64(z / Float64(Float64(a - t) / Float64(y - x))); elseif (a <= 2.02e+27) 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) / (a / z)); tmp = 0.0; if (a <= -2.1e+41) tmp = t_2; elseif (a <= -1.2e-96) tmp = t_1; elseif (a <= -7.2e-122) tmp = z / ((a - t) / (y - x)); elseif (a <= 2.02e+27) 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[(a / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -2.1e+41], t$95$2, If[LessEqual[a, -1.2e-96], t$95$1, If[LessEqual[a, -7.2e-122], N[(z / N[(N[(a - t), $MachinePrecision] / N[(y - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 2.02e+27], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \frac{z - t}{a - t}\\
t_2 := x + \frac{y - x}{\frac{a}{z}}\\
\mathbf{if}\;a \leq -2.1 \cdot 10^{+41}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;a \leq -1.2 \cdot 10^{-96}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq -7.2 \cdot 10^{-122}:\\
\;\;\;\;\frac{z}{\frac{a - t}{y - x}}\\
\mathbf{elif}\;a \leq 2.02 \cdot 10^{+27}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if a < -2.1e41 or 2.02e27 < a Initial program 73.2%
associate-/l*92.2%
Simplified92.2%
Taylor expanded in t around 0 78.5%
if -2.1e41 < a < -1.2000000000000001e-96 or -7.19999999999999989e-122 < a < 2.02e27Initial program 67.4%
associate-/l*78.1%
Simplified78.1%
Taylor expanded in x around 0 59.8%
associate-*r/69.5%
Simplified69.5%
if -1.2000000000000001e-96 < a < -7.19999999999999989e-122Initial program 71.3%
associate-/l*65.0%
Simplified65.0%
Taylor expanded in z around inf 80.8%
div-sub80.8%
associate-*r/80.8%
associate-/l*80.5%
Simplified80.5%
Final simplification73.8%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* y (/ (- z t) (- a t)))) (t_2 (+ x (/ (- y x) (/ a z)))))
(if (<= a -2.4e+41)
t_2
(if (<= a -9.5e-97)
t_1
(if (<= a -3e-118)
(/ (* (- y x) z) (- a t))
(if (<= a 1.35e+27) 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) / (a / z));
double tmp;
if (a <= -2.4e+41) {
tmp = t_2;
} else if (a <= -9.5e-97) {
tmp = t_1;
} else if (a <= -3e-118) {
tmp = ((y - x) * z) / (a - t);
} else if (a <= 1.35e+27) {
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) / (a / z))
if (a <= (-2.4d+41)) then
tmp = t_2
else if (a <= (-9.5d-97)) then
tmp = t_1
else if (a <= (-3d-118)) then
tmp = ((y - x) * z) / (a - t)
else if (a <= 1.35d+27) 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) / (a / z));
double tmp;
if (a <= -2.4e+41) {
tmp = t_2;
} else if (a <= -9.5e-97) {
tmp = t_1;
} else if (a <= -3e-118) {
tmp = ((y - x) * z) / (a - t);
} else if (a <= 1.35e+27) {
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) / (a / z)) tmp = 0 if a <= -2.4e+41: tmp = t_2 elif a <= -9.5e-97: tmp = t_1 elif a <= -3e-118: tmp = ((y - x) * z) / (a - t) elif a <= 1.35e+27: 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(a / z))) tmp = 0.0 if (a <= -2.4e+41) tmp = t_2; elseif (a <= -9.5e-97) tmp = t_1; elseif (a <= -3e-118) tmp = Float64(Float64(Float64(y - x) * z) / Float64(a - t)); elseif (a <= 1.35e+27) 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) / (a / z)); tmp = 0.0; if (a <= -2.4e+41) tmp = t_2; elseif (a <= -9.5e-97) tmp = t_1; elseif (a <= -3e-118) tmp = ((y - x) * z) / (a - t); elseif (a <= 1.35e+27) 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[(a / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -2.4e+41], t$95$2, If[LessEqual[a, -9.5e-97], t$95$1, If[LessEqual[a, -3e-118], N[(N[(N[(y - x), $MachinePrecision] * z), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.35e+27], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \frac{z - t}{a - t}\\
t_2 := x + \frac{y - x}{\frac{a}{z}}\\
\mathbf{if}\;a \leq -2.4 \cdot 10^{+41}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;a \leq -9.5 \cdot 10^{-97}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq -3 \cdot 10^{-118}:\\
\;\;\;\;\frac{\left(y - x\right) \cdot z}{a - t}\\
\mathbf{elif}\;a \leq 1.35 \cdot 10^{+27}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if a < -2.4000000000000002e41 or 1.3499999999999999e27 < a Initial program 73.2%
associate-/l*92.2%
Simplified92.2%
Taylor expanded in t around 0 78.5%
if -2.4000000000000002e41 < a < -9.5000000000000001e-97 or -3.00000000000000018e-118 < a < 1.3499999999999999e27Initial program 67.4%
associate-/l*78.1%
Simplified78.1%
Taylor expanded in x around 0 59.8%
associate-*r/69.5%
Simplified69.5%
if -9.5000000000000001e-97 < a < -3.00000000000000018e-118Initial program 71.3%
associate-/l*65.0%
Simplified65.0%
Taylor expanded in z around -inf 80.8%
Final simplification73.8%
(FPCore (x y z t a)
:precision binary64
(if (<= t -7.5e+189)
(+ y (* (- y x) (/ (- a z) t)))
(if (<= t 6.4e+131)
(+ x (* (- z t) (/ (- y x) (- a t))))
(+ y (/ (- x y) (/ t (- z a)))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (t <= -7.5e+189) {
tmp = y + ((y - x) * ((a - z) / t));
} else if (t <= 6.4e+131) {
tmp = x + ((z - t) * ((y - x) / (a - t)));
} else {
tmp = y + ((x - y) / (t / (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 (t <= (-7.5d+189)) then
tmp = y + ((y - x) * ((a - z) / t))
else if (t <= 6.4d+131) then
tmp = x + ((z - t) * ((y - x) / (a - t)))
else
tmp = y + ((x - y) / (t / (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 (t <= -7.5e+189) {
tmp = y + ((y - x) * ((a - z) / t));
} else if (t <= 6.4e+131) {
tmp = x + ((z - t) * ((y - x) / (a - t)));
} else {
tmp = y + ((x - y) / (t / (z - a)));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if t <= -7.5e+189: tmp = y + ((y - x) * ((a - z) / t)) elif t <= 6.4e+131: tmp = x + ((z - t) * ((y - x) / (a - t))) else: tmp = y + ((x - y) / (t / (z - a))) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (t <= -7.5e+189) tmp = Float64(y + Float64(Float64(y - x) * Float64(Float64(a - z) / t))); elseif (t <= 6.4e+131) tmp = Float64(x + Float64(Float64(z - t) * Float64(Float64(y - x) / Float64(a - t)))); else tmp = Float64(y + Float64(Float64(x - y) / Float64(t / Float64(z - a)))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (t <= -7.5e+189) tmp = y + ((y - x) * ((a - z) / t)); elseif (t <= 6.4e+131) tmp = x + ((z - t) * ((y - x) / (a - t))); else tmp = y + ((x - y) / (t / (z - a))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[t, -7.5e+189], N[(y + N[(N[(y - x), $MachinePrecision] * N[(N[(a - z), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 6.4e+131], N[(x + N[(N[(z - t), $MachinePrecision] * N[(N[(y - x), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y + N[(N[(x - y), $MachinePrecision] / N[(t / N[(z - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -7.5 \cdot 10^{+189}:\\
\;\;\;\;y + \left(y - x\right) \cdot \frac{a - z}{t}\\
\mathbf{elif}\;t \leq 6.4 \cdot 10^{+131}:\\
\;\;\;\;x + \left(z - t\right) \cdot \frac{y - x}{a - t}\\
\mathbf{else}:\\
\;\;\;\;y + \frac{x - y}{\frac{t}{z - a}}\\
\end{array}
\end{array}
if t < -7.49999999999999955e189Initial program 37.4%
associate-*l/48.3%
Simplified48.3%
associate-/r/66.2%
div-inv65.8%
associate-/r*48.2%
Applied egg-rr48.2%
Taylor expanded in t around inf 62.8%
associate--l+62.8%
associate-*r/62.8%
associate-*r/62.8%
div-sub62.8%
distribute-lft-out--62.8%
distribute-rgt-out--62.8%
associate-*r/62.8%
distribute-rgt-out--62.8%
mul-1-neg62.8%
distribute-rgt-out--62.8%
*-commutative62.8%
associate-*r/84.8%
div-sub84.8%
Simplified92.4%
if -7.49999999999999955e189 < t < 6.4000000000000004e131Initial program 78.2%
associate-*l/89.5%
Simplified89.5%
if 6.4000000000000004e131 < t Initial program 36.5%
associate-/l*52.2%
Simplified52.2%
Taylor expanded in t around inf 72.6%
associate--l+72.6%
associate-*r/72.6%
associate-*r/72.6%
div-sub72.6%
distribute-lft-out--72.6%
associate-*r/72.6%
mul-1-neg72.6%
unsub-neg72.6%
distribute-rgt-out--73.0%
associate-/l*91.2%
Simplified91.2%
Final simplification89.9%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (- x (/ t (/ a y)))))
(if (<= a -2.8e+100)
t_1
(if (<= a -2.1e+44)
(* x (/ (- z) (- a t)))
(if (<= a 3.3e+80) (* y (/ (- z t) (- a t))) t_1)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x - (t / (a / y));
double tmp;
if (a <= -2.8e+100) {
tmp = t_1;
} else if (a <= -2.1e+44) {
tmp = x * (-z / (a - t));
} else if (a <= 3.3e+80) {
tmp = y * ((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 - (t / (a / y))
if (a <= (-2.8d+100)) then
tmp = t_1
else if (a <= (-2.1d+44)) then
tmp = x * (-z / (a - t))
else if (a <= 3.3d+80) then
tmp = y * ((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 - (t / (a / y));
double tmp;
if (a <= -2.8e+100) {
tmp = t_1;
} else if (a <= -2.1e+44) {
tmp = x * (-z / (a - t));
} else if (a <= 3.3e+80) {
tmp = y * ((z - t) / (a - t));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x - (t / (a / y)) tmp = 0 if a <= -2.8e+100: tmp = t_1 elif a <= -2.1e+44: tmp = x * (-z / (a - t)) elif a <= 3.3e+80: tmp = y * ((z - t) / (a - t)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x - Float64(t / Float64(a / y))) tmp = 0.0 if (a <= -2.8e+100) tmp = t_1; elseif (a <= -2.1e+44) tmp = Float64(x * Float64(Float64(-z) / Float64(a - t))); elseif (a <= 3.3e+80) tmp = Float64(y * Float64(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 - (t / (a / y)); tmp = 0.0; if (a <= -2.8e+100) tmp = t_1; elseif (a <= -2.1e+44) tmp = x * (-z / (a - t)); elseif (a <= 3.3e+80) tmp = y * ((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[(t / N[(a / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -2.8e+100], t$95$1, If[LessEqual[a, -2.1e+44], N[(x * N[((-z) / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 3.3e+80], N[(y * N[(N[(z - t), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x - \frac{t}{\frac{a}{y}}\\
\mathbf{if}\;a \leq -2.8 \cdot 10^{+100}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq -2.1 \cdot 10^{+44}:\\
\;\;\;\;x \cdot \frac{-z}{a - t}\\
\mathbf{elif}\;a \leq 3.3 \cdot 10^{+80}:\\
\;\;\;\;y \cdot \frac{z - t}{a - t}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if a < -2.7999999999999998e100 or 3.29999999999999991e80 < a Initial program 74.0%
associate-/l*93.5%
Simplified93.5%
Taylor expanded in z around 0 59.8%
mul-1-neg59.8%
unsub-neg59.8%
associate-/l*65.9%
Simplified65.9%
Taylor expanded in a around inf 61.4%
Taylor expanded in y around inf 61.4%
if -2.7999999999999998e100 < a < -2.09999999999999987e44Initial program 64.5%
associate-/l*87.8%
Simplified87.8%
Taylor expanded in z around inf 73.1%
div-sub73.1%
associate-*r/52.6%
associate-/l*72.9%
Simplified72.9%
Taylor expanded in y around 0 46.1%
mul-1-neg46.1%
distribute-neg-frac46.1%
distribute-lft-neg-out46.1%
associate-*r/63.6%
distribute-lft-neg-out63.6%
distribute-rgt-neg-in63.6%
Simplified63.6%
if -2.09999999999999987e44 < a < 3.29999999999999991e80Initial program 68.2%
associate-/l*77.7%
Simplified77.7%
Taylor expanded in x around 0 56.8%
associate-*r/65.6%
Simplified65.6%
Final simplification64.0%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (- x (/ t (/ a y)))))
(if (<= a -1.4e+101)
t_1
(if (<= a -2.2e+26)
(* (- y x) (/ z (- a t)))
(if (<= a 1.05e+81) (* y (/ (- z t) (- a t))) t_1)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x - (t / (a / y));
double tmp;
if (a <= -1.4e+101) {
tmp = t_1;
} else if (a <= -2.2e+26) {
tmp = (y - x) * (z / (a - t));
} else if (a <= 1.05e+81) {
tmp = y * ((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 - (t / (a / y))
if (a <= (-1.4d+101)) then
tmp = t_1
else if (a <= (-2.2d+26)) then
tmp = (y - x) * (z / (a - t))
else if (a <= 1.05d+81) then
tmp = y * ((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 - (t / (a / y));
double tmp;
if (a <= -1.4e+101) {
tmp = t_1;
} else if (a <= -2.2e+26) {
tmp = (y - x) * (z / (a - t));
} else if (a <= 1.05e+81) {
tmp = y * ((z - t) / (a - t));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x - (t / (a / y)) tmp = 0 if a <= -1.4e+101: tmp = t_1 elif a <= -2.2e+26: tmp = (y - x) * (z / (a - t)) elif a <= 1.05e+81: tmp = y * ((z - t) / (a - t)) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(x - Float64(t / Float64(a / y))) tmp = 0.0 if (a <= -1.4e+101) tmp = t_1; elseif (a <= -2.2e+26) tmp = Float64(Float64(y - x) * Float64(z / Float64(a - t))); elseif (a <= 1.05e+81) tmp = Float64(y * Float64(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 - (t / (a / y)); tmp = 0.0; if (a <= -1.4e+101) tmp = t_1; elseif (a <= -2.2e+26) tmp = (y - x) * (z / (a - t)); elseif (a <= 1.05e+81) tmp = y * ((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[(t / N[(a / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -1.4e+101], t$95$1, If[LessEqual[a, -2.2e+26], N[(N[(y - x), $MachinePrecision] * N[(z / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.05e+81], N[(y * N[(N[(z - t), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x - \frac{t}{\frac{a}{y}}\\
\mathbf{if}\;a \leq -1.4 \cdot 10^{+101}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq -2.2 \cdot 10^{+26}:\\
\;\;\;\;\left(y - x\right) \cdot \frac{z}{a - t}\\
\mathbf{elif}\;a \leq 1.05 \cdot 10^{+81}:\\
\;\;\;\;y \cdot \frac{z - t}{a - t}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if a < -1.39999999999999991e101 or 1.0499999999999999e81 < a Initial program 74.0%
associate-/l*93.5%
Simplified93.5%
Taylor expanded in z around 0 59.8%
mul-1-neg59.8%
unsub-neg59.8%
associate-/l*65.9%
Simplified65.9%
Taylor expanded in a around inf 61.4%
Taylor expanded in y around inf 61.4%
if -1.39999999999999991e101 < a < -2.20000000000000007e26Initial program 68.4%
associate-/l*89.0%
Simplified89.0%
Taylor expanded in z around inf 76.1%
div-sub76.1%
associate-*r/57.9%
associate-/l*75.9%
Simplified75.9%
associate-/r/75.9%
Applied egg-rr75.9%
if -2.20000000000000007e26 < a < 1.0499999999999999e81Initial program 67.8%
associate-/l*77.4%
Simplified77.4%
Taylor expanded in x around 0 56.8%
associate-*r/65.7%
Simplified65.7%
Final simplification64.9%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* y (/ (- t) (- a t)))))
(if (<= t -1.52e+88)
t_1
(if (<= t -5e-175)
(- x (/ t (/ a y)))
(if (<= t 1.4e+33) (* (- y x) (/ z a)) t_1)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = y * (-t / (a - t));
double tmp;
if (t <= -1.52e+88) {
tmp = t_1;
} else if (t <= -5e-175) {
tmp = x - (t / (a / y));
} else if (t <= 1.4e+33) {
tmp = (y - x) * (z / a);
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: tmp
t_1 = y * (-t / (a - t))
if (t <= (-1.52d+88)) then
tmp = t_1
else if (t <= (-5d-175)) then
tmp = x - (t / (a / y))
else if (t <= 1.4d+33) then
tmp = (y - x) * (z / a)
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = y * (-t / (a - t));
double tmp;
if (t <= -1.52e+88) {
tmp = t_1;
} else if (t <= -5e-175) {
tmp = x - (t / (a / y));
} else if (t <= 1.4e+33) {
tmp = (y - x) * (z / a);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = y * (-t / (a - t)) tmp = 0 if t <= -1.52e+88: tmp = t_1 elif t <= -5e-175: tmp = x - (t / (a / y)) elif t <= 1.4e+33: tmp = (y - x) * (z / a) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(y * Float64(Float64(-t) / Float64(a - t))) tmp = 0.0 if (t <= -1.52e+88) tmp = t_1; elseif (t <= -5e-175) tmp = Float64(x - Float64(t / Float64(a / y))); elseif (t <= 1.4e+33) tmp = Float64(Float64(y - x) * Float64(z / a)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = y * (-t / (a - t)); tmp = 0.0; if (t <= -1.52e+88) tmp = t_1; elseif (t <= -5e-175) tmp = x - (t / (a / y)); elseif (t <= 1.4e+33) tmp = (y - x) * (z / a); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(y * N[((-t) / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -1.52e+88], t$95$1, If[LessEqual[t, -5e-175], N[(x - N[(t / N[(a / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.4e+33], N[(N[(y - x), $MachinePrecision] * N[(z / a), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \frac{-t}{a - t}\\
\mathbf{if}\;t \leq -1.52 \cdot 10^{+88}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq -5 \cdot 10^{-175}:\\
\;\;\;\;x - \frac{t}{\frac{a}{y}}\\
\mathbf{elif}\;t \leq 1.4 \cdot 10^{+33}:\\
\;\;\;\;\left(y - x\right) \cdot \frac{z}{a}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if t < -1.52000000000000004e88 or 1.4e33 < t Initial program 39.3%
associate-/l*65.9%
Simplified65.9%
Taylor expanded in z around 0 24.9%
mul-1-neg24.9%
unsub-neg24.9%
associate-/l*37.0%
Simplified37.0%
Taylor expanded in x around 0 34.3%
mul-1-neg34.3%
associate-*l/49.8%
*-commutative49.8%
distribute-rgt-neg-in49.8%
distribute-frac-neg49.8%
Simplified49.8%
if -1.52000000000000004e88 < t < -5e-175Initial program 86.0%
associate-/l*92.6%
Simplified92.6%
Taylor expanded in z around 0 53.9%
mul-1-neg53.9%
unsub-neg53.9%
associate-/l*59.3%
Simplified59.3%
Taylor expanded in a around inf 48.3%
Taylor expanded in y around inf 46.9%
if -5e-175 < t < 1.4e33Initial program 84.9%
associate-/l*93.3%
Simplified93.3%
Taylor expanded in z around inf 55.1%
div-sub56.2%
associate-*r/52.6%
associate-/l*56.2%
Simplified56.2%
associate-/r/59.5%
Applied egg-rr59.5%
Taylor expanded in a around inf 52.1%
Final simplification49.9%
(FPCore (x y z t a) :precision binary64 (if (<= a -9.5e+73) x (if (<= a 4e-114) y (if (<= a 4e+79) (* y (/ z (- a t))) x))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -9.5e+73) {
tmp = x;
} else if (a <= 4e-114) {
tmp = y;
} else if (a <= 4e+79) {
tmp = y * (z / (a - 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 <= (-9.5d+73)) then
tmp = x
else if (a <= 4d-114) then
tmp = y
else if (a <= 4d+79) then
tmp = y * (z / (a - 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 <= -9.5e+73) {
tmp = x;
} else if (a <= 4e-114) {
tmp = y;
} else if (a <= 4e+79) {
tmp = y * (z / (a - t));
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -9.5e+73: tmp = x elif a <= 4e-114: tmp = y elif a <= 4e+79: tmp = y * (z / (a - t)) else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -9.5e+73) tmp = x; elseif (a <= 4e-114) tmp = y; elseif (a <= 4e+79) tmp = Float64(y * Float64(z / Float64(a - t))); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -9.5e+73) tmp = x; elseif (a <= 4e-114) tmp = y; elseif (a <= 4e+79) tmp = y * (z / (a - t)); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -9.5e+73], x, If[LessEqual[a, 4e-114], y, If[LessEqual[a, 4e+79], N[(y * N[(z / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], x]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -9.5 \cdot 10^{+73}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 4 \cdot 10^{-114}:\\
\;\;\;\;y\\
\mathbf{elif}\;a \leq 4 \cdot 10^{+79}:\\
\;\;\;\;y \cdot \frac{z}{a - t}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -9.4999999999999996e73 or 3.99999999999999987e79 < a Initial program 74.0%
associate-/l*93.3%
Simplified93.3%
Taylor expanded in a around inf 47.4%
if -9.4999999999999996e73 < a < 4.0000000000000002e-114Initial program 66.6%
associate-/l*76.7%
Simplified76.7%
Taylor expanded in t around inf 37.5%
if 4.0000000000000002e-114 < a < 3.99999999999999987e79Initial program 70.3%
associate-/l*81.7%
Simplified81.7%
Taylor expanded in z around inf 58.1%
div-sub58.1%
associate-*r/53.4%
associate-/l*58.3%
Simplified58.3%
Taylor expanded in y around inf 36.6%
associate-/l*41.7%
Simplified41.7%
div-inv41.6%
clear-num41.6%
Applied egg-rr41.6%
Final simplification42.0%
(FPCore (x y z t a) :precision binary64 (if (<= t -4.2e+59) y (if (<= t -5e-41) x (if (<= t 1.24e+33) (* (- y x) (/ z a)) y))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (t <= -4.2e+59) {
tmp = y;
} else if (t <= -5e-41) {
tmp = x;
} else if (t <= 1.24e+33) {
tmp = (y - x) * (z / a);
} 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 <= (-4.2d+59)) then
tmp = y
else if (t <= (-5d-41)) then
tmp = x
else if (t <= 1.24d+33) then
tmp = (y - x) * (z / a)
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 <= -4.2e+59) {
tmp = y;
} else if (t <= -5e-41) {
tmp = x;
} else if (t <= 1.24e+33) {
tmp = (y - x) * (z / a);
} else {
tmp = y;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if t <= -4.2e+59: tmp = y elif t <= -5e-41: tmp = x elif t <= 1.24e+33: tmp = (y - x) * (z / a) else: tmp = y return tmp
function code(x, y, z, t, a) tmp = 0.0 if (t <= -4.2e+59) tmp = y; elseif (t <= -5e-41) tmp = x; elseif (t <= 1.24e+33) tmp = Float64(Float64(y - x) * Float64(z / a)); else tmp = y; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (t <= -4.2e+59) tmp = y; elseif (t <= -5e-41) tmp = x; elseif (t <= 1.24e+33) tmp = (y - x) * (z / a); else tmp = y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[t, -4.2e+59], y, If[LessEqual[t, -5e-41], x, If[LessEqual[t, 1.24e+33], N[(N[(y - x), $MachinePrecision] * N[(z / a), $MachinePrecision]), $MachinePrecision], y]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -4.2 \cdot 10^{+59}:\\
\;\;\;\;y\\
\mathbf{elif}\;t \leq -5 \cdot 10^{-41}:\\
\;\;\;\;x\\
\mathbf{elif}\;t \leq 1.24 \cdot 10^{+33}:\\
\;\;\;\;\left(y - x\right) \cdot \frac{z}{a}\\
\mathbf{else}:\\
\;\;\;\;y\\
\end{array}
\end{array}
if t < -4.19999999999999968e59 or 1.23999999999999997e33 < t Initial program 40.3%
associate-/l*68.1%
Simplified68.1%
Taylor expanded in t around inf 46.1%
if -4.19999999999999968e59 < t < -4.9999999999999996e-41Initial program 91.4%
associate-/l*93.3%
Simplified93.3%
Taylor expanded in a around inf 45.4%
if -4.9999999999999996e-41 < t < 1.23999999999999997e33Initial program 85.6%
associate-/l*92.7%
Simplified92.7%
Taylor expanded in z around inf 53.0%
div-sub54.5%
associate-*r/50.4%
associate-/l*54.5%
Simplified54.5%
associate-/r/56.2%
Applied egg-rr56.2%
Taylor expanded in a around inf 47.0%
Final simplification46.5%
(FPCore (x y z t a)
:precision binary64
(if (<= t -1.45e+51)
y
(if (<= t -3e-44)
(+ x (/ (* x t) a))
(if (<= t 4.9e+32) (* (- y x) (/ z a)) y))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (t <= -1.45e+51) {
tmp = y;
} else if (t <= -3e-44) {
tmp = x + ((x * t) / a);
} else if (t <= 4.9e+32) {
tmp = (y - x) * (z / a);
} 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.45d+51)) then
tmp = y
else if (t <= (-3d-44)) then
tmp = x + ((x * t) / a)
else if (t <= 4.9d+32) then
tmp = (y - x) * (z / a)
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.45e+51) {
tmp = y;
} else if (t <= -3e-44) {
tmp = x + ((x * t) / a);
} else if (t <= 4.9e+32) {
tmp = (y - x) * (z / a);
} else {
tmp = y;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if t <= -1.45e+51: tmp = y elif t <= -3e-44: tmp = x + ((x * t) / a) elif t <= 4.9e+32: tmp = (y - x) * (z / a) else: tmp = y return tmp
function code(x, y, z, t, a) tmp = 0.0 if (t <= -1.45e+51) tmp = y; elseif (t <= -3e-44) tmp = Float64(x + Float64(Float64(x * t) / a)); elseif (t <= 4.9e+32) tmp = Float64(Float64(y - x) * Float64(z / a)); else tmp = y; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (t <= -1.45e+51) tmp = y; elseif (t <= -3e-44) tmp = x + ((x * t) / a); elseif (t <= 4.9e+32) tmp = (y - x) * (z / a); else tmp = y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[t, -1.45e+51], y, If[LessEqual[t, -3e-44], N[(x + N[(N[(x * t), $MachinePrecision] / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 4.9e+32], N[(N[(y - x), $MachinePrecision] * N[(z / a), $MachinePrecision]), $MachinePrecision], y]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -1.45 \cdot 10^{+51}:\\
\;\;\;\;y\\
\mathbf{elif}\;t \leq -3 \cdot 10^{-44}:\\
\;\;\;\;x + \frac{x \cdot t}{a}\\
\mathbf{elif}\;t \leq 4.9 \cdot 10^{+32}:\\
\;\;\;\;\left(y - x\right) \cdot \frac{z}{a}\\
\mathbf{else}:\\
\;\;\;\;y\\
\end{array}
\end{array}
if t < -1.4499999999999999e51 or 4.9000000000000001e32 < t Initial program 41.2%
associate-/l*69.2%
Simplified69.2%
Taylor expanded in t around inf 45.8%
if -1.4499999999999999e51 < t < -3.0000000000000002e-44Initial program 94.5%
associate-/l*92.3%
Simplified92.3%
Taylor expanded in z around 0 67.0%
mul-1-neg67.0%
unsub-neg67.0%
associate-/l*67.0%
Simplified67.0%
Taylor expanded in x around inf 42.3%
sub-neg42.3%
mul-1-neg42.3%
remove-double-neg42.3%
Simplified42.3%
Taylor expanded in t around 0 46.6%
if -3.0000000000000002e-44 < t < 4.9000000000000001e32Initial program 85.6%
associate-/l*92.7%
Simplified92.7%
Taylor expanded in z around inf 53.0%
div-sub54.5%
associate-*r/50.4%
associate-/l*54.5%
Simplified54.5%
associate-/r/56.2%
Applied egg-rr56.2%
Taylor expanded in a around inf 47.0%
Final simplification46.5%
(FPCore (x y z t a)
:precision binary64
(if (<= t -8.5e+138)
y
(if (<= t -7e-174)
(- x (/ t (/ a y)))
(if (<= t 2.3e+32) (* (- y x) (/ z a)) y))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (t <= -8.5e+138) {
tmp = y;
} else if (t <= -7e-174) {
tmp = x - (t / (a / y));
} else if (t <= 2.3e+32) {
tmp = (y - x) * (z / a);
} 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 <= (-8.5d+138)) then
tmp = y
else if (t <= (-7d-174)) then
tmp = x - (t / (a / y))
else if (t <= 2.3d+32) then
tmp = (y - x) * (z / a)
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 <= -8.5e+138) {
tmp = y;
} else if (t <= -7e-174) {
tmp = x - (t / (a / y));
} else if (t <= 2.3e+32) {
tmp = (y - x) * (z / a);
} else {
tmp = y;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if t <= -8.5e+138: tmp = y elif t <= -7e-174: tmp = x - (t / (a / y)) elif t <= 2.3e+32: tmp = (y - x) * (z / a) else: tmp = y return tmp
function code(x, y, z, t, a) tmp = 0.0 if (t <= -8.5e+138) tmp = y; elseif (t <= -7e-174) tmp = Float64(x - Float64(t / Float64(a / y))); elseif (t <= 2.3e+32) tmp = Float64(Float64(y - x) * Float64(z / a)); else tmp = y; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (t <= -8.5e+138) tmp = y; elseif (t <= -7e-174) tmp = x - (t / (a / y)); elseif (t <= 2.3e+32) tmp = (y - x) * (z / a); else tmp = y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[t, -8.5e+138], y, If[LessEqual[t, -7e-174], N[(x - N[(t / N[(a / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 2.3e+32], N[(N[(y - x), $MachinePrecision] * N[(z / a), $MachinePrecision]), $MachinePrecision], y]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -8.5 \cdot 10^{+138}:\\
\;\;\;\;y\\
\mathbf{elif}\;t \leq -7 \cdot 10^{-174}:\\
\;\;\;\;x - \frac{t}{\frac{a}{y}}\\
\mathbf{elif}\;t \leq 2.3 \cdot 10^{+32}:\\
\;\;\;\;\left(y - x\right) \cdot \frac{z}{a}\\
\mathbf{else}:\\
\;\;\;\;y\\
\end{array}
\end{array}
if t < -8.5000000000000006e138 or 2.3e32 < t Initial program 39.7%
associate-/l*64.6%
Simplified64.6%
Taylor expanded in t around inf 49.5%
if -8.5000000000000006e138 < t < -6.99999999999999975e-174Initial program 80.3%
associate-/l*90.9%
Simplified90.9%
Taylor expanded in z around 0 49.4%
mul-1-neg49.4%
unsub-neg49.4%
associate-/l*59.0%
Simplified59.0%
Taylor expanded in a around inf 46.7%
Taylor expanded in y around inf 45.5%
if -6.99999999999999975e-174 < t < 2.3e32Initial program 84.9%
associate-/l*93.3%
Simplified93.3%
Taylor expanded in z around inf 55.1%
div-sub56.2%
associate-*r/52.6%
associate-/l*56.2%
Simplified56.2%
associate-/r/59.5%
Applied egg-rr59.5%
Taylor expanded in a around inf 52.1%
Final simplification49.3%
(FPCore (x y z t a) :precision binary64 (if (or (<= a -1.5e+41) (not (<= a 2.85e+27))) (+ x (/ z (/ a (- y x)))) (* y (/ (- z t) (- a t)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a <= -1.5e+41) || !(a <= 2.85e+27)) {
tmp = x + (z / (a / (y - x)));
} else {
tmp = y * ((z - t) / (a - t));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if ((a <= (-1.5d+41)) .or. (.not. (a <= 2.85d+27))) then
tmp = x + (z / (a / (y - x)))
else
tmp = y * ((z - t) / (a - t))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a <= -1.5e+41) || !(a <= 2.85e+27)) {
tmp = x + (z / (a / (y - x)));
} else {
tmp = y * ((z - t) / (a - t));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (a <= -1.5e+41) or not (a <= 2.85e+27): tmp = x + (z / (a / (y - x))) else: tmp = y * ((z - t) / (a - t)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((a <= -1.5e+41) || !(a <= 2.85e+27)) tmp = Float64(x + Float64(z / Float64(a / Float64(y - x)))); else tmp = Float64(y * Float64(Float64(z - t) / Float64(a - t))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((a <= -1.5e+41) || ~((a <= 2.85e+27))) tmp = x + (z / (a / (y - x))); else tmp = y * ((z - t) / (a - t)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[a, -1.5e+41], N[Not[LessEqual[a, 2.85e+27]], $MachinePrecision]], N[(x + N[(z / N[(a / N[(y - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y * N[(N[(z - t), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -1.5 \cdot 10^{+41} \lor \neg \left(a \leq 2.85 \cdot 10^{+27}\right):\\
\;\;\;\;x + \frac{z}{\frac{a}{y - x}}\\
\mathbf{else}:\\
\;\;\;\;y \cdot \frac{z - t}{a - t}\\
\end{array}
\end{array}
if a < -1.4999999999999999e41 or 2.85000000000000002e27 < a Initial program 73.2%
associate-/l*92.2%
Simplified92.2%
Taylor expanded in t around 0 64.4%
associate-/l*76.8%
Simplified76.8%
if -1.4999999999999999e41 < a < 2.85000000000000002e27Initial program 67.6%
associate-/l*77.4%
Simplified77.4%
Taylor expanded in x around 0 57.7%
associate-*r/66.9%
Simplified66.9%
Final simplification71.3%
(FPCore (x y z t a) :precision binary64 (if (or (<= a -1.75e+40) (not (<= a 7.6e+27))) (+ x (/ (- y x) (/ a z))) (* y (/ (- z t) (- a t)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a <= -1.75e+40) || !(a <= 7.6e+27)) {
tmp = x + ((y - x) / (a / z));
} else {
tmp = y * ((z - t) / (a - t));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if ((a <= (-1.75d+40)) .or. (.not. (a <= 7.6d+27))) then
tmp = x + ((y - x) / (a / z))
else
tmp = y * ((z - t) / (a - t))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a <= -1.75e+40) || !(a <= 7.6e+27)) {
tmp = x + ((y - x) / (a / z));
} else {
tmp = y * ((z - t) / (a - t));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (a <= -1.75e+40) or not (a <= 7.6e+27): tmp = x + ((y - x) / (a / z)) else: tmp = y * ((z - t) / (a - t)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((a <= -1.75e+40) || !(a <= 7.6e+27)) tmp = Float64(x + Float64(Float64(y - x) / Float64(a / z))); else tmp = Float64(y * Float64(Float64(z - t) / Float64(a - t))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((a <= -1.75e+40) || ~((a <= 7.6e+27))) tmp = x + ((y - x) / (a / z)); else tmp = y * ((z - t) / (a - t)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[a, -1.75e+40], N[Not[LessEqual[a, 7.6e+27]], $MachinePrecision]], N[(x + N[(N[(y - x), $MachinePrecision] / N[(a / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y * N[(N[(z - t), $MachinePrecision] / N[(a - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -1.75 \cdot 10^{+40} \lor \neg \left(a \leq 7.6 \cdot 10^{+27}\right):\\
\;\;\;\;x + \frac{y - x}{\frac{a}{z}}\\
\mathbf{else}:\\
\;\;\;\;y \cdot \frac{z - t}{a - t}\\
\end{array}
\end{array}
if a < -1.75e40 or 7.60000000000000043e27 < a Initial program 73.2%
associate-/l*92.2%
Simplified92.2%
Taylor expanded in t around 0 78.5%
if -1.75e40 < a < 7.60000000000000043e27Initial program 67.6%
associate-/l*77.4%
Simplified77.4%
Taylor expanded in x around 0 57.7%
associate-*r/66.9%
Simplified66.9%
Final simplification72.0%
(FPCore (x y z t a) :precision binary64 (if (<= t -4.9e+58) y (if (<= t -8.2e-249) x (if (<= t 3.4e-20) (/ y (/ a z)) y))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (t <= -4.9e+58) {
tmp = y;
} else if (t <= -8.2e-249) {
tmp = x;
} else if (t <= 3.4e-20) {
tmp = y / (a / 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 <= (-4.9d+58)) then
tmp = y
else if (t <= (-8.2d-249)) then
tmp = x
else if (t <= 3.4d-20) then
tmp = y / (a / 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 <= -4.9e+58) {
tmp = y;
} else if (t <= -8.2e-249) {
tmp = x;
} else if (t <= 3.4e-20) {
tmp = y / (a / z);
} else {
tmp = y;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if t <= -4.9e+58: tmp = y elif t <= -8.2e-249: tmp = x elif t <= 3.4e-20: tmp = y / (a / z) else: tmp = y return tmp
function code(x, y, z, t, a) tmp = 0.0 if (t <= -4.9e+58) tmp = y; elseif (t <= -8.2e-249) tmp = x; elseif (t <= 3.4e-20) tmp = Float64(y / Float64(a / z)); else tmp = y; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (t <= -4.9e+58) tmp = y; elseif (t <= -8.2e-249) tmp = x; elseif (t <= 3.4e-20) tmp = y / (a / z); else tmp = y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[t, -4.9e+58], y, If[LessEqual[t, -8.2e-249], x, If[LessEqual[t, 3.4e-20], N[(y / N[(a / z), $MachinePrecision]), $MachinePrecision], y]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -4.9 \cdot 10^{+58}:\\
\;\;\;\;y\\
\mathbf{elif}\;t \leq -8.2 \cdot 10^{-249}:\\
\;\;\;\;x\\
\mathbf{elif}\;t \leq 3.4 \cdot 10^{-20}:\\
\;\;\;\;\frac{y}{\frac{a}{z}}\\
\mathbf{else}:\\
\;\;\;\;y\\
\end{array}
\end{array}
if t < -4.90000000000000018e58 or 3.3999999999999997e-20 < t Initial program 41.6%
associate-/l*69.1%
Simplified69.1%
Taylor expanded in t around inf 44.1%
if -4.90000000000000018e58 < t < -8.20000000000000007e-249Initial program 91.7%
associate-/l*93.9%
Simplified93.9%
Taylor expanded in a around inf 36.9%
if -8.20000000000000007e-249 < t < 3.3999999999999997e-20Initial program 86.3%
associate-/l*94.3%
Simplified94.3%
Taylor expanded in z around inf 57.0%
div-sub57.0%
associate-*r/53.1%
associate-/l*57.0%
Simplified57.0%
Taylor expanded in y around inf 39.3%
associate-/l*43.9%
Simplified43.9%
Taylor expanded in a around inf 36.5%
associate-/l*39.9%
Simplified39.9%
Final simplification40.6%
(FPCore (x y z t a) :precision binary64 (if (<= a -9.5e+73) x (if (<= a 1.22e+28) y x)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -9.5e+73) {
tmp = x;
} else if (a <= 1.22e+28) {
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 <= (-9.5d+73)) then
tmp = x
else if (a <= 1.22d+28) 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 <= -9.5e+73) {
tmp = x;
} else if (a <= 1.22e+28) {
tmp = y;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -9.5e+73: tmp = x elif a <= 1.22e+28: tmp = y else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -9.5e+73) tmp = x; elseif (a <= 1.22e+28) tmp = y; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -9.5e+73) tmp = x; elseif (a <= 1.22e+28) tmp = y; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -9.5e+73], x, If[LessEqual[a, 1.22e+28], y, x]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -9.5 \cdot 10^{+73}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 1.22 \cdot 10^{+28}:\\
\;\;\;\;y\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -9.4999999999999996e73 or 1.2199999999999999e28 < a Initial program 74.5%
associate-/l*92.7%
Simplified92.7%
Taylor expanded in a around inf 45.9%
if -9.4999999999999996e73 < a < 1.2199999999999999e28Initial program 66.7%
associate-/l*77.5%
Simplified77.5%
Taylor expanded in t around inf 35.7%
Final simplification40.1%
(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 70.1%
associate-/l*84.0%
Simplified84.0%
Taylor expanded in a around inf 23.4%
Final simplification23.4%
(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 2023336
(FPCore (x y z t a)
:name "Graphics.Rendering.Chart.Axis.Types:linMap from Chart-1.5.3"
:precision binary64
:herbie-target
(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))))