
(FPCore (x y z t a) :precision binary64 (+ x (/ (* (- y z) (- t x)) (- a z))))
double code(double x, double y, double z, double t, double a) {
return x + (((y - z) * (t - x)) / (a - z));
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
code = x + (((y - z) * (t - x)) / (a - z))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + (((y - z) * (t - x)) / (a - z));
}
def code(x, y, z, t, a): return x + (((y - z) * (t - x)) / (a - z))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(Float64(y - z) * Float64(t - x)) / Float64(a - z))) end
function tmp = code(x, y, z, t, a) tmp = x + (((y - z) * (t - x)) / (a - z)); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(N[(y - z), $MachinePrecision] * N[(t - x), $MachinePrecision]), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 16 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a) :precision binary64 (+ x (/ (* (- y z) (- t x)) (- a z))))
double code(double x, double y, double z, double t, double a) {
return x + (((y - z) * (t - x)) / (a - z));
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
code = x + (((y - z) * (t - x)) / (a - z))
end function
public static double code(double x, double y, double z, double t, double a) {
return x + (((y - z) * (t - x)) / (a - z));
}
def code(x, y, z, t, a): return x + (((y - z) * (t - x)) / (a - z))
function code(x, y, z, t, a) return Float64(x + Float64(Float64(Float64(y - z) * Float64(t - x)) / Float64(a - z))) end
function tmp = code(x, y, z, t, a) tmp = x + (((y - z) * (t - x)) / (a - z)); end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(N[(y - z), $MachinePrecision] * N[(t - x), $MachinePrecision]), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z}
\end{array}
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (/ (* (- y z) (- t x)) (- a z)))))
(if (<= t_1 -2e-296)
(+ x (/ (- t x) (/ (- a z) (- y z))))
(if (<= t_1 0.0)
(+ t (/ (* (- y a) (- x t)) z))
(+ x (* (- t x) (/ (- y z) (- a z))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (((y - z) * (t - x)) / (a - z));
double tmp;
if (t_1 <= -2e-296) {
tmp = x + ((t - x) / ((a - z) / (y - z)));
} else if (t_1 <= 0.0) {
tmp = t + (((y - a) * (x - t)) / z);
} else {
tmp = x + ((t - x) * ((y - z) / (a - z)));
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: tmp
t_1 = x + (((y - z) * (t - x)) / (a - z))
if (t_1 <= (-2d-296)) then
tmp = x + ((t - x) / ((a - z) / (y - z)))
else if (t_1 <= 0.0d0) then
tmp = t + (((y - a) * (x - t)) / z)
else
tmp = x + ((t - x) * ((y - z) / (a - z)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + (((y - z) * (t - x)) / (a - z));
double tmp;
if (t_1 <= -2e-296) {
tmp = x + ((t - x) / ((a - z) / (y - z)));
} else if (t_1 <= 0.0) {
tmp = t + (((y - a) * (x - t)) / z);
} else {
tmp = x + ((t - x) * ((y - z) / (a - z)));
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (((y - z) * (t - x)) / (a - z)) tmp = 0 if t_1 <= -2e-296: tmp = x + ((t - x) / ((a - z) / (y - z))) elif t_1 <= 0.0: tmp = t + (((y - a) * (x - t)) / z) else: tmp = x + ((t - x) * ((y - z) / (a - z))) return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(Float64(y - z) * Float64(t - x)) / Float64(a - z))) tmp = 0.0 if (t_1 <= -2e-296) tmp = Float64(x + Float64(Float64(t - x) / Float64(Float64(a - z) / Float64(y - z)))); elseif (t_1 <= 0.0) tmp = Float64(t + Float64(Float64(Float64(y - a) * Float64(x - t)) / z)); else tmp = Float64(x + Float64(Float64(t - x) * Float64(Float64(y - z) / Float64(a - z)))); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + (((y - z) * (t - x)) / (a - z)); tmp = 0.0; if (t_1 <= -2e-296) tmp = x + ((t - x) / ((a - z) / (y - z))); elseif (t_1 <= 0.0) tmp = t + (((y - a) * (x - t)) / z); else tmp = x + ((t - x) * ((y - z) / (a - z))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(N[(y - z), $MachinePrecision] * N[(t - x), $MachinePrecision]), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, -2e-296], N[(x + N[(N[(t - x), $MachinePrecision] / N[(N[(a - z), $MachinePrecision] / N[(y - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$1, 0.0], N[(t + N[(N[(N[(y - a), $MachinePrecision] * N[(x - t), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], N[(x + N[(N[(t - x), $MachinePrecision] * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z}\\
\mathbf{if}\;t_1 \leq -2 \cdot 10^{-296}:\\
\;\;\;\;x + \frac{t - x}{\frac{a - z}{y - z}}\\
\mathbf{elif}\;t_1 \leq 0:\\
\;\;\;\;t + \frac{\left(y - a\right) \cdot \left(x - t\right)}{z}\\
\mathbf{else}:\\
\;\;\;\;x + \left(t - x\right) \cdot \frac{y - z}{a - z}\\
\end{array}
\end{array}
if (+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z))) < -2e-296Initial program 77.8%
associate-*l/92.6%
Simplified92.6%
*-commutative92.6%
clear-num92.5%
un-div-inv92.7%
Applied egg-rr92.7%
if -2e-296 < (+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z))) < 0.0Initial program 4.8%
associate-*l/9.1%
Simplified9.1%
Taylor expanded in z around inf 99.7%
+-commutative99.7%
associate--l+99.7%
associate-*r/99.7%
associate-*r/99.7%
div-sub99.7%
distribute-lft-out--99.7%
associate-*r/99.7%
mul-1-neg99.7%
unsub-neg99.7%
distribute-rgt-out--99.7%
Simplified99.7%
if 0.0 < (+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z))) Initial program 70.0%
associate-*l/89.4%
Simplified89.4%
Final simplification91.6%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ x (/ (* (- y z) (- t x)) (- a z)))))
(if (or (<= t_1 -2e-296) (not (<= t_1 0.0)))
(+ x (* (- t x) (/ (- y z) (- a z))))
(+ t (/ (* (- y a) (- x t)) z)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = x + (((y - z) * (t - x)) / (a - z));
double tmp;
if ((t_1 <= -2e-296) || !(t_1 <= 0.0)) {
tmp = x + ((t - x) * ((y - z) / (a - z)));
} else {
tmp = t + (((y - a) * (x - t)) / 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) :: t_1
real(8) :: tmp
t_1 = x + (((y - z) * (t - x)) / (a - z))
if ((t_1 <= (-2d-296)) .or. (.not. (t_1 <= 0.0d0))) then
tmp = x + ((t - x) * ((y - z) / (a - z)))
else
tmp = t + (((y - a) * (x - t)) / z)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = x + (((y - z) * (t - x)) / (a - z));
double tmp;
if ((t_1 <= -2e-296) || !(t_1 <= 0.0)) {
tmp = x + ((t - x) * ((y - z) / (a - z)));
} else {
tmp = t + (((y - a) * (x - t)) / z);
}
return tmp;
}
def code(x, y, z, t, a): t_1 = x + (((y - z) * (t - x)) / (a - z)) tmp = 0 if (t_1 <= -2e-296) or not (t_1 <= 0.0): tmp = x + ((t - x) * ((y - z) / (a - z))) else: tmp = t + (((y - a) * (x - t)) / z) return tmp
function code(x, y, z, t, a) t_1 = Float64(x + Float64(Float64(Float64(y - z) * Float64(t - x)) / Float64(a - z))) tmp = 0.0 if ((t_1 <= -2e-296) || !(t_1 <= 0.0)) tmp = Float64(x + Float64(Float64(t - x) * Float64(Float64(y - z) / Float64(a - z)))); else tmp = Float64(t + Float64(Float64(Float64(y - a) * Float64(x - t)) / z)); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = x + (((y - z) * (t - x)) / (a - z)); tmp = 0.0; if ((t_1 <= -2e-296) || ~((t_1 <= 0.0))) tmp = x + ((t - x) * ((y - z) / (a - z))); else tmp = t + (((y - a) * (x - t)) / z); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(x + N[(N[(N[(y - z), $MachinePrecision] * N[(t - x), $MachinePrecision]), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Or[LessEqual[t$95$1, -2e-296], N[Not[LessEqual[t$95$1, 0.0]], $MachinePrecision]], N[(x + N[(N[(t - x), $MachinePrecision] * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(t + N[(N[(N[(y - a), $MachinePrecision] * N[(x - t), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x + \frac{\left(y - z\right) \cdot \left(t - x\right)}{a - z}\\
\mathbf{if}\;t_1 \leq -2 \cdot 10^{-296} \lor \neg \left(t_1 \leq 0\right):\\
\;\;\;\;x + \left(t - x\right) \cdot \frac{y - z}{a - z}\\
\mathbf{else}:\\
\;\;\;\;t + \frac{\left(y - a\right) \cdot \left(x - t\right)}{z}\\
\end{array}
\end{array}
if (+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z))) < -2e-296 or 0.0 < (+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z))) Initial program 73.5%
associate-*l/90.8%
Simplified90.8%
if -2e-296 < (+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z))) < 0.0Initial program 4.8%
associate-*l/9.1%
Simplified9.1%
Taylor expanded in z around inf 99.7%
+-commutative99.7%
associate--l+99.7%
associate-*r/99.7%
associate-*r/99.7%
div-sub99.7%
distribute-lft-out--99.7%
associate-*r/99.7%
mul-1-neg99.7%
unsub-neg99.7%
distribute-rgt-out--99.7%
Simplified99.7%
Final simplification91.6%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (- 1.0 (/ y z)))))
(if (<= a -5e-15)
x
(if (<= a 1.35e-211)
t_1
(if (<= a 1.4e-167)
(* x (/ y z))
(if (<= a 1.1e+37)
t_1
(if (<= a 4e+60)
(/ t (/ a (- y z)))
(if (<= a 3.4e+87) t_1 x))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t * (1.0 - (y / z));
double tmp;
if (a <= -5e-15) {
tmp = x;
} else if (a <= 1.35e-211) {
tmp = t_1;
} else if (a <= 1.4e-167) {
tmp = x * (y / z);
} else if (a <= 1.1e+37) {
tmp = t_1;
} else if (a <= 4e+60) {
tmp = t / (a / (y - z));
} else if (a <= 3.4e+87) {
tmp = t_1;
} 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) :: t_1
real(8) :: tmp
t_1 = t * (1.0d0 - (y / z))
if (a <= (-5d-15)) then
tmp = x
else if (a <= 1.35d-211) then
tmp = t_1
else if (a <= 1.4d-167) then
tmp = x * (y / z)
else if (a <= 1.1d+37) then
tmp = t_1
else if (a <= 4d+60) then
tmp = t / (a / (y - z))
else if (a <= 3.4d+87) then
tmp = t_1
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = t * (1.0 - (y / z));
double tmp;
if (a <= -5e-15) {
tmp = x;
} else if (a <= 1.35e-211) {
tmp = t_1;
} else if (a <= 1.4e-167) {
tmp = x * (y / z);
} else if (a <= 1.1e+37) {
tmp = t_1;
} else if (a <= 4e+60) {
tmp = t / (a / (y - z));
} else if (a <= 3.4e+87) {
tmp = t_1;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t * (1.0 - (y / z)) tmp = 0 if a <= -5e-15: tmp = x elif a <= 1.35e-211: tmp = t_1 elif a <= 1.4e-167: tmp = x * (y / z) elif a <= 1.1e+37: tmp = t_1 elif a <= 4e+60: tmp = t / (a / (y - z)) elif a <= 3.4e+87: tmp = t_1 else: tmp = x return tmp
function code(x, y, z, t, a) t_1 = Float64(t * Float64(1.0 - Float64(y / z))) tmp = 0.0 if (a <= -5e-15) tmp = x; elseif (a <= 1.35e-211) tmp = t_1; elseif (a <= 1.4e-167) tmp = Float64(x * Float64(y / z)); elseif (a <= 1.1e+37) tmp = t_1; elseif (a <= 4e+60) tmp = Float64(t / Float64(a / Float64(y - z))); elseif (a <= 3.4e+87) tmp = t_1; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t * (1.0 - (y / z)); tmp = 0.0; if (a <= -5e-15) tmp = x; elseif (a <= 1.35e-211) tmp = t_1; elseif (a <= 1.4e-167) tmp = x * (y / z); elseif (a <= 1.1e+37) tmp = t_1; elseif (a <= 4e+60) tmp = t / (a / (y - z)); elseif (a <= 3.4e+87) tmp = t_1; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t * N[(1.0 - N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -5e-15], x, If[LessEqual[a, 1.35e-211], t$95$1, If[LessEqual[a, 1.4e-167], N[(x * N[(y / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.1e+37], t$95$1, If[LessEqual[a, 4e+60], N[(t / N[(a / N[(y - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 3.4e+87], t$95$1, x]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(1 - \frac{y}{z}\right)\\
\mathbf{if}\;a \leq -5 \cdot 10^{-15}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 1.35 \cdot 10^{-211}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 1.4 \cdot 10^{-167}:\\
\;\;\;\;x \cdot \frac{y}{z}\\
\mathbf{elif}\;a \leq 1.1 \cdot 10^{+37}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 4 \cdot 10^{+60}:\\
\;\;\;\;\frac{t}{\frac{a}{y - z}}\\
\mathbf{elif}\;a \leq 3.4 \cdot 10^{+87}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -4.99999999999999999e-15 or 3.4000000000000002e87 < a Initial program 64.1%
associate-*l/91.7%
Simplified91.7%
Taylor expanded in a around inf 49.2%
if -4.99999999999999999e-15 < a < 1.35e-211 or 1.39999999999999993e-167 < a < 1.1e37 or 3.9999999999999998e60 < a < 3.4000000000000002e87Initial program 69.8%
associate-*l/78.1%
Simplified78.1%
Taylor expanded in a around 0 46.8%
+-commutative46.8%
mul-1-neg46.8%
unsub-neg46.8%
associate-/l*52.0%
Simplified52.0%
Taylor expanded in t around inf 53.2%
if 1.35e-211 < a < 1.39999999999999993e-167Initial program 61.4%
associate-*l/70.9%
Simplified70.9%
Taylor expanded in z around inf 80.5%
Taylor expanded in x around inf 70.9%
Taylor expanded in y around inf 70.9%
if 1.1e37 < a < 3.9999999999999998e60Initial program 87.4%
associate-*l/87.0%
Simplified87.0%
Taylor expanded in x around 0 59.8%
Taylor expanded in a around inf 59.9%
associate-/l*60.1%
Simplified60.1%
Final simplification52.4%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (- 1.0 (/ y z)))))
(if (<= x -5.8e+81)
(* x (/ (- y a) z))
(if (<= x -1.3e-261)
(/ (- t) (/ (- a z) z))
(if (<= x -5.8e-294)
(* t (/ y a))
(if (<= x 4.25e-274)
t_1
(if (<= x 5.8e-235)
(/ (* (- y z) t) a)
(if (<= x 3e-61) t_1 x))))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t * (1.0 - (y / z));
double tmp;
if (x <= -5.8e+81) {
tmp = x * ((y - a) / z);
} else if (x <= -1.3e-261) {
tmp = -t / ((a - z) / z);
} else if (x <= -5.8e-294) {
tmp = t * (y / a);
} else if (x <= 4.25e-274) {
tmp = t_1;
} else if (x <= 5.8e-235) {
tmp = ((y - z) * t) / a;
} else if (x <= 3e-61) {
tmp = t_1;
} 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) :: t_1
real(8) :: tmp
t_1 = t * (1.0d0 - (y / z))
if (x <= (-5.8d+81)) then
tmp = x * ((y - a) / z)
else if (x <= (-1.3d-261)) then
tmp = -t / ((a - z) / z)
else if (x <= (-5.8d-294)) then
tmp = t * (y / a)
else if (x <= 4.25d-274) then
tmp = t_1
else if (x <= 5.8d-235) then
tmp = ((y - z) * t) / a
else if (x <= 3d-61) then
tmp = t_1
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = t * (1.0 - (y / z));
double tmp;
if (x <= -5.8e+81) {
tmp = x * ((y - a) / z);
} else if (x <= -1.3e-261) {
tmp = -t / ((a - z) / z);
} else if (x <= -5.8e-294) {
tmp = t * (y / a);
} else if (x <= 4.25e-274) {
tmp = t_1;
} else if (x <= 5.8e-235) {
tmp = ((y - z) * t) / a;
} else if (x <= 3e-61) {
tmp = t_1;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t * (1.0 - (y / z)) tmp = 0 if x <= -5.8e+81: tmp = x * ((y - a) / z) elif x <= -1.3e-261: tmp = -t / ((a - z) / z) elif x <= -5.8e-294: tmp = t * (y / a) elif x <= 4.25e-274: tmp = t_1 elif x <= 5.8e-235: tmp = ((y - z) * t) / a elif x <= 3e-61: tmp = t_1 else: tmp = x return tmp
function code(x, y, z, t, a) t_1 = Float64(t * Float64(1.0 - Float64(y / z))) tmp = 0.0 if (x <= -5.8e+81) tmp = Float64(x * Float64(Float64(y - a) / z)); elseif (x <= -1.3e-261) tmp = Float64(Float64(-t) / Float64(Float64(a - z) / z)); elseif (x <= -5.8e-294) tmp = Float64(t * Float64(y / a)); elseif (x <= 4.25e-274) tmp = t_1; elseif (x <= 5.8e-235) tmp = Float64(Float64(Float64(y - z) * t) / a); elseif (x <= 3e-61) tmp = t_1; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t * (1.0 - (y / z)); tmp = 0.0; if (x <= -5.8e+81) tmp = x * ((y - a) / z); elseif (x <= -1.3e-261) tmp = -t / ((a - z) / z); elseif (x <= -5.8e-294) tmp = t * (y / a); elseif (x <= 4.25e-274) tmp = t_1; elseif (x <= 5.8e-235) tmp = ((y - z) * t) / a; elseif (x <= 3e-61) tmp = t_1; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t * N[(1.0 - N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -5.8e+81], N[(x * N[(N[(y - a), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -1.3e-261], N[((-t) / N[(N[(a - z), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -5.8e-294], N[(t * N[(y / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 4.25e-274], t$95$1, If[LessEqual[x, 5.8e-235], N[(N[(N[(y - z), $MachinePrecision] * t), $MachinePrecision] / a), $MachinePrecision], If[LessEqual[x, 3e-61], t$95$1, x]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(1 - \frac{y}{z}\right)\\
\mathbf{if}\;x \leq -5.8 \cdot 10^{+81}:\\
\;\;\;\;x \cdot \frac{y - a}{z}\\
\mathbf{elif}\;x \leq -1.3 \cdot 10^{-261}:\\
\;\;\;\;\frac{-t}{\frac{a - z}{z}}\\
\mathbf{elif}\;x \leq -5.8 \cdot 10^{-294}:\\
\;\;\;\;t \cdot \frac{y}{a}\\
\mathbf{elif}\;x \leq 4.25 \cdot 10^{-274}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;x \leq 5.8 \cdot 10^{-235}:\\
\;\;\;\;\frac{\left(y - z\right) \cdot t}{a}\\
\mathbf{elif}\;x \leq 3 \cdot 10^{-61}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if x < -5.7999999999999999e81Initial program 52.5%
associate-*l/70.3%
Simplified70.3%
Taylor expanded in z around inf 49.4%
Taylor expanded in x around inf 55.1%
Taylor expanded in y around 0 55.1%
mul-1-neg55.1%
distribute-frac-neg55.1%
+-commutative55.1%
distribute-frac-neg55.1%
sub-neg55.1%
div-sub55.2%
Simplified55.2%
if -5.7999999999999999e81 < x < -1.3000000000000001e-261Initial program 76.3%
associate-*l/86.2%
Simplified86.2%
Taylor expanded in x around 0 51.4%
Taylor expanded in y around 0 39.5%
mul-1-neg39.5%
associate-/l*49.2%
Simplified49.2%
if -1.3000000000000001e-261 < x < -5.8000000000000001e-294Initial program 74.2%
associate-*l/99.7%
Simplified99.7%
Taylor expanded in x around 0 66.2%
Taylor expanded in z around 0 48.6%
associate-/l*65.9%
Simplified65.9%
associate-/r/65.9%
Applied egg-rr65.9%
if -5.8000000000000001e-294 < x < 4.24999999999999989e-274 or 5.80000000000000018e-235 < x < 3.00000000000000012e-61Initial program 73.7%
associate-*l/91.7%
Simplified91.7%
Taylor expanded in a around 0 48.2%
+-commutative48.2%
mul-1-neg48.2%
unsub-neg48.2%
associate-/l*51.1%
Simplified51.1%
Taylor expanded in t around inf 57.2%
if 4.24999999999999989e-274 < x < 5.80000000000000018e-235Initial program 99.1%
associate-*l/86.1%
Simplified86.1%
Taylor expanded in x around 0 73.4%
Taylor expanded in a around inf 73.4%
if 3.00000000000000012e-61 < x Initial program 62.3%
associate-*l/83.5%
Simplified83.5%
Taylor expanded in a around inf 38.9%
Final simplification50.6%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (- t (/ y (/ (- z) x)))))
(if (<= a -1.65e+103)
x
(if (<= a 3.4e+17)
t_1
(if (<= a 2.8e+58) (/ t (/ a (- y z))) (if (<= a 2.8e+86) t_1 x))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t - (y / (-z / x));
double tmp;
if (a <= -1.65e+103) {
tmp = x;
} else if (a <= 3.4e+17) {
tmp = t_1;
} else if (a <= 2.8e+58) {
tmp = t / (a / (y - z));
} else if (a <= 2.8e+86) {
tmp = t_1;
} 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) :: t_1
real(8) :: tmp
t_1 = t - (y / (-z / x))
if (a <= (-1.65d+103)) then
tmp = x
else if (a <= 3.4d+17) then
tmp = t_1
else if (a <= 2.8d+58) then
tmp = t / (a / (y - z))
else if (a <= 2.8d+86) then
tmp = t_1
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = t - (y / (-z / x));
double tmp;
if (a <= -1.65e+103) {
tmp = x;
} else if (a <= 3.4e+17) {
tmp = t_1;
} else if (a <= 2.8e+58) {
tmp = t / (a / (y - z));
} else if (a <= 2.8e+86) {
tmp = t_1;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t - (y / (-z / x)) tmp = 0 if a <= -1.65e+103: tmp = x elif a <= 3.4e+17: tmp = t_1 elif a <= 2.8e+58: tmp = t / (a / (y - z)) elif a <= 2.8e+86: tmp = t_1 else: tmp = x return tmp
function code(x, y, z, t, a) t_1 = Float64(t - Float64(y / Float64(Float64(-z) / x))) tmp = 0.0 if (a <= -1.65e+103) tmp = x; elseif (a <= 3.4e+17) tmp = t_1; elseif (a <= 2.8e+58) tmp = Float64(t / Float64(a / Float64(y - z))); elseif (a <= 2.8e+86) tmp = t_1; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t - (y / (-z / x)); tmp = 0.0; if (a <= -1.65e+103) tmp = x; elseif (a <= 3.4e+17) tmp = t_1; elseif (a <= 2.8e+58) tmp = t / (a / (y - z)); elseif (a <= 2.8e+86) tmp = t_1; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t - N[(y / N[((-z) / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -1.65e+103], x, If[LessEqual[a, 3.4e+17], t$95$1, If[LessEqual[a, 2.8e+58], N[(t / N[(a / N[(y - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 2.8e+86], t$95$1, x]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t - \frac{y}{\frac{-z}{x}}\\
\mathbf{if}\;a \leq -1.65 \cdot 10^{+103}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 3.4 \cdot 10^{+17}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 2.8 \cdot 10^{+58}:\\
\;\;\;\;\frac{t}{\frac{a}{y - z}}\\
\mathbf{elif}\;a \leq 2.8 \cdot 10^{+86}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -1.65000000000000004e103 or 2.80000000000000004e86 < a Initial program 61.7%
associate-*l/94.9%
Simplified94.9%
Taylor expanded in a around inf 54.3%
if -1.65000000000000004e103 < a < 3.4e17 or 2.7999999999999998e58 < a < 2.80000000000000004e86Initial program 69.2%
associate-*l/77.6%
Simplified77.6%
Taylor expanded in z around inf 64.1%
Taylor expanded in a around 0 62.1%
+-commutative62.1%
mul-1-neg62.1%
associate-/l*67.0%
unsub-neg67.0%
Simplified67.0%
Taylor expanded in t around 0 60.4%
mul-1-neg60.4%
distribute-neg-frac60.4%
Simplified60.4%
if 3.4e17 < a < 2.7999999999999998e58Initial program 86.2%
associate-*l/85.4%
Simplified85.4%
Taylor expanded in x around 0 63.6%
Taylor expanded in a around inf 48.5%
associate-/l*48.5%
Simplified48.5%
Final simplification57.7%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* t (- 1.0 (/ y z)))))
(if (<= a -8e-12)
x
(if (<= a 8.5e-212)
t_1
(if (<= a 1.4e-167) (* x (/ y z)) (if (<= a 5e+82) t_1 x))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t * (1.0 - (y / z));
double tmp;
if (a <= -8e-12) {
tmp = x;
} else if (a <= 8.5e-212) {
tmp = t_1;
} else if (a <= 1.4e-167) {
tmp = x * (y / z);
} else if (a <= 5e+82) {
tmp = t_1;
} 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) :: t_1
real(8) :: tmp
t_1 = t * (1.0d0 - (y / z))
if (a <= (-8d-12)) then
tmp = x
else if (a <= 8.5d-212) then
tmp = t_1
else if (a <= 1.4d-167) then
tmp = x * (y / z)
else if (a <= 5d+82) then
tmp = t_1
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = t * (1.0 - (y / z));
double tmp;
if (a <= -8e-12) {
tmp = x;
} else if (a <= 8.5e-212) {
tmp = t_1;
} else if (a <= 1.4e-167) {
tmp = x * (y / z);
} else if (a <= 5e+82) {
tmp = t_1;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t * (1.0 - (y / z)) tmp = 0 if a <= -8e-12: tmp = x elif a <= 8.5e-212: tmp = t_1 elif a <= 1.4e-167: tmp = x * (y / z) elif a <= 5e+82: tmp = t_1 else: tmp = x return tmp
function code(x, y, z, t, a) t_1 = Float64(t * Float64(1.0 - Float64(y / z))) tmp = 0.0 if (a <= -8e-12) tmp = x; elseif (a <= 8.5e-212) tmp = t_1; elseif (a <= 1.4e-167) tmp = Float64(x * Float64(y / z)); elseif (a <= 5e+82) tmp = t_1; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t * (1.0 - (y / z)); tmp = 0.0; if (a <= -8e-12) tmp = x; elseif (a <= 8.5e-212) tmp = t_1; elseif (a <= 1.4e-167) tmp = x * (y / z); elseif (a <= 5e+82) tmp = t_1; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t * N[(1.0 - N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -8e-12], x, If[LessEqual[a, 8.5e-212], t$95$1, If[LessEqual[a, 1.4e-167], N[(x * N[(y / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 5e+82], t$95$1, x]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(1 - \frac{y}{z}\right)\\
\mathbf{if}\;a \leq -8 \cdot 10^{-12}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 8.5 \cdot 10^{-212}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 1.4 \cdot 10^{-167}:\\
\;\;\;\;x \cdot \frac{y}{z}\\
\mathbf{elif}\;a \leq 5 \cdot 10^{+82}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -7.99999999999999984e-12 or 5.00000000000000015e82 < a Initial program 64.1%
associate-*l/91.7%
Simplified91.7%
Taylor expanded in a around inf 49.2%
if -7.99999999999999984e-12 < a < 8.5000000000000002e-212 or 1.39999999999999993e-167 < a < 5.00000000000000015e82Initial program 70.8%
associate-*l/78.6%
Simplified78.6%
Taylor expanded in a around 0 44.3%
+-commutative44.3%
mul-1-neg44.3%
unsub-neg44.3%
associate-/l*49.2%
Simplified49.2%
Taylor expanded in t around inf 50.3%
if 8.5000000000000002e-212 < a < 1.39999999999999993e-167Initial program 61.4%
associate-*l/70.9%
Simplified70.9%
Taylor expanded in z around inf 80.5%
Taylor expanded in x around inf 70.9%
Taylor expanded in y around inf 70.9%
Final simplification50.7%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* y (/ (- t x) (- a z)))))
(if (<= x -1.25e+43)
t_1
(if (<= x 2.6e+27)
(* t (/ (- y z) (- a z)))
(if (<= x 3.75e+118) t_1 x)))))
double code(double x, double y, double z, double t, double a) {
double t_1 = y * ((t - x) / (a - z));
double tmp;
if (x <= -1.25e+43) {
tmp = t_1;
} else if (x <= 2.6e+27) {
tmp = t * ((y - z) / (a - z));
} else if (x <= 3.75e+118) {
tmp = t_1;
} 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) :: t_1
real(8) :: tmp
t_1 = y * ((t - x) / (a - z))
if (x <= (-1.25d+43)) then
tmp = t_1
else if (x <= 2.6d+27) then
tmp = t * ((y - z) / (a - z))
else if (x <= 3.75d+118) then
tmp = t_1
else
tmp = x
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 - x) / (a - z));
double tmp;
if (x <= -1.25e+43) {
tmp = t_1;
} else if (x <= 2.6e+27) {
tmp = t * ((y - z) / (a - z));
} else if (x <= 3.75e+118) {
tmp = t_1;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = y * ((t - x) / (a - z)) tmp = 0 if x <= -1.25e+43: tmp = t_1 elif x <= 2.6e+27: tmp = t * ((y - z) / (a - z)) elif x <= 3.75e+118: tmp = t_1 else: tmp = x return tmp
function code(x, y, z, t, a) t_1 = Float64(y * Float64(Float64(t - x) / Float64(a - z))) tmp = 0.0 if (x <= -1.25e+43) tmp = t_1; elseif (x <= 2.6e+27) tmp = Float64(t * Float64(Float64(y - z) / Float64(a - z))); elseif (x <= 3.75e+118) tmp = t_1; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = y * ((t - x) / (a - z)); tmp = 0.0; if (x <= -1.25e+43) tmp = t_1; elseif (x <= 2.6e+27) tmp = t * ((y - z) / (a - z)); elseif (x <= 3.75e+118) tmp = t_1; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(y * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -1.25e+43], t$95$1, If[LessEqual[x, 2.6e+27], N[(t * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 3.75e+118], t$95$1, x]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \frac{t - x}{a - z}\\
\mathbf{if}\;x \leq -1.25 \cdot 10^{+43}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;x \leq 2.6 \cdot 10^{+27}:\\
\;\;\;\;t \cdot \frac{y - z}{a - z}\\
\mathbf{elif}\;x \leq 3.75 \cdot 10^{+118}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if x < -1.2500000000000001e43 or 2.60000000000000009e27 < x < 3.75000000000000001e118Initial program 57.2%
associate-*l/75.6%
Simplified75.6%
Taylor expanded in y around inf 54.5%
div-sub57.1%
*-commutative57.1%
Simplified57.1%
if -1.2500000000000001e43 < x < 2.60000000000000009e27Initial program 78.2%
associate-*l/89.9%
Simplified89.9%
Taylor expanded in x around 0 55.7%
associate-*r/68.8%
Simplified68.8%
if 3.75000000000000001e118 < x Initial program 49.0%
associate-*l/78.3%
Simplified78.3%
Taylor expanded in a around inf 46.7%
Final simplification62.1%
(FPCore (x y z t a) :precision binary64 (if (or (<= z -4.5e+133) (not (<= z 3.2e-57))) (- t (/ y (/ (- z) x))) (+ x (/ y (/ a (- t x))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -4.5e+133) || !(z <= 3.2e-57)) {
tmp = t - (y / (-z / x));
} else {
tmp = x + (y / (a / (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 <= (-4.5d+133)) .or. (.not. (z <= 3.2d-57))) then
tmp = t - (y / (-z / x))
else
tmp = x + (y / (a / (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 <= -4.5e+133) || !(z <= 3.2e-57)) {
tmp = t - (y / (-z / x));
} else {
tmp = x + (y / (a / (t - x)));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (z <= -4.5e+133) or not (z <= 3.2e-57): tmp = t - (y / (-z / x)) else: tmp = x + (y / (a / (t - x))) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((z <= -4.5e+133) || !(z <= 3.2e-57)) tmp = Float64(t - Float64(y / Float64(Float64(-z) / x))); else tmp = Float64(x + Float64(y / Float64(a / Float64(t - x)))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((z <= -4.5e+133) || ~((z <= 3.2e-57))) tmp = t - (y / (-z / x)); else tmp = x + (y / (a / (t - x))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[z, -4.5e+133], N[Not[LessEqual[z, 3.2e-57]], $MachinePrecision]], N[(t - N[(y / N[((-z) / x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x + N[(y / N[(a / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -4.5 \cdot 10^{+133} \lor \neg \left(z \leq 3.2 \cdot 10^{-57}\right):\\
\;\;\;\;t - \frac{y}{\frac{-z}{x}}\\
\mathbf{else}:\\
\;\;\;\;x + \frac{y}{\frac{a}{t - x}}\\
\end{array}
\end{array}
if z < -4.49999999999999985e133 or 3.2000000000000001e-57 < z Initial program 49.1%
associate-*l/71.7%
Simplified71.7%
Taylor expanded in z around inf 62.7%
Taylor expanded in a around 0 58.8%
+-commutative58.8%
mul-1-neg58.8%
associate-/l*70.1%
unsub-neg70.1%
Simplified70.1%
Taylor expanded in t around 0 67.3%
mul-1-neg67.3%
distribute-neg-frac67.3%
Simplified67.3%
if -4.49999999999999985e133 < z < 3.2000000000000001e-57Initial program 79.7%
associate-*l/91.7%
Simplified91.7%
Taylor expanded in z around 0 67.3%
+-commutative67.3%
associate-/l*77.0%
Simplified77.0%
Final simplification73.2%
(FPCore (x y z t a) :precision binary64 (if (or (<= z -5.8e+63) (not (<= z 1.2e-61))) (- t (/ y (/ z (- t x)))) (+ x (/ y (/ a (- t x))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((z <= -5.8e+63) || !(z <= 1.2e-61)) {
tmp = t - (y / (z / (t - x)));
} else {
tmp = x + (y / (a / (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 <= (-5.8d+63)) .or. (.not. (z <= 1.2d-61))) then
tmp = t - (y / (z / (t - x)))
else
tmp = x + (y / (a / (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 <= -5.8e+63) || !(z <= 1.2e-61)) {
tmp = t - (y / (z / (t - x)));
} else {
tmp = x + (y / (a / (t - x)));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (z <= -5.8e+63) or not (z <= 1.2e-61): tmp = t - (y / (z / (t - x))) else: tmp = x + (y / (a / (t - x))) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((z <= -5.8e+63) || !(z <= 1.2e-61)) tmp = Float64(t - Float64(y / Float64(z / Float64(t - x)))); else tmp = Float64(x + Float64(y / Float64(a / Float64(t - x)))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((z <= -5.8e+63) || ~((z <= 1.2e-61))) tmp = t - (y / (z / (t - x))); else tmp = x + (y / (a / (t - x))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[z, -5.8e+63], N[Not[LessEqual[z, 1.2e-61]], $MachinePrecision]], N[(t - N[(y / N[(z / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x + N[(y / N[(a / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -5.8 \cdot 10^{+63} \lor \neg \left(z \leq 1.2 \cdot 10^{-61}\right):\\
\;\;\;\;t - \frac{y}{\frac{z}{t - x}}\\
\mathbf{else}:\\
\;\;\;\;x + \frac{y}{\frac{a}{t - x}}\\
\end{array}
\end{array}
if z < -5.7999999999999999e63 or 1.2e-61 < z Initial program 48.5%
associate-*l/70.8%
Simplified70.8%
Taylor expanded in z around inf 61.7%
Taylor expanded in a around 0 56.3%
+-commutative56.3%
mul-1-neg56.3%
associate-/l*67.0%
unsub-neg67.0%
Simplified67.0%
if -5.7999999999999999e63 < z < 1.2e-61Initial program 83.2%
associate-*l/94.4%
Simplified94.4%
Taylor expanded in z around 0 70.2%
+-commutative70.2%
associate-/l*80.9%
Simplified80.9%
Final simplification74.7%
(FPCore (x y z t a) :precision binary64 (if (<= x -4e+87) (* x (/ (- y a) z)) (if (<= x 2.55e+115) (* t (/ (- y z) (- a z))) x)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (x <= -4e+87) {
tmp = x * ((y - a) / z);
} else if (x <= 2.55e+115) {
tmp = t * ((y - z) / (a - z));
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (x <= (-4d+87)) then
tmp = x * ((y - a) / z)
else if (x <= 2.55d+115) then
tmp = t * ((y - z) / (a - z))
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (x <= -4e+87) {
tmp = x * ((y - a) / z);
} else if (x <= 2.55e+115) {
tmp = t * ((y - z) / (a - z));
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if x <= -4e+87: tmp = x * ((y - a) / z) elif x <= 2.55e+115: tmp = t * ((y - z) / (a - z)) else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (x <= -4e+87) tmp = Float64(x * Float64(Float64(y - a) / z)); elseif (x <= 2.55e+115) tmp = Float64(t * Float64(Float64(y - z) / Float64(a - z))); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (x <= -4e+87) tmp = x * ((y - a) / z); elseif (x <= 2.55e+115) tmp = t * ((y - z) / (a - z)); else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[x, -4e+87], N[(x * N[(N[(y - a), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 2.55e+115], N[(t * N[(N[(y - z), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], x]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -4 \cdot 10^{+87}:\\
\;\;\;\;x \cdot \frac{y - a}{z}\\
\mathbf{elif}\;x \leq 2.55 \cdot 10^{+115}:\\
\;\;\;\;t \cdot \frac{y - z}{a - z}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if x < -3.9999999999999998e87Initial program 52.5%
associate-*l/70.3%
Simplified70.3%
Taylor expanded in z around inf 49.4%
Taylor expanded in x around inf 55.1%
Taylor expanded in y around 0 55.1%
mul-1-neg55.1%
distribute-frac-neg55.1%
+-commutative55.1%
distribute-frac-neg55.1%
sub-neg55.1%
div-sub55.2%
Simplified55.2%
if -3.9999999999999998e87 < x < 2.5499999999999998e115Initial program 76.4%
associate-*l/89.3%
Simplified89.3%
Taylor expanded in x around 0 52.0%
associate-*r/64.3%
Simplified64.3%
if 2.5499999999999998e115 < x Initial program 49.0%
associate-*l/78.3%
Simplified78.3%
Taylor expanded in a around inf 46.7%
Final simplification59.9%
(FPCore (x y z t a)
:precision binary64
(if (<= x -1.26e+85)
(* y (/ x z))
(if (<= x -2.7e-259)
t
(if (<= x 2.25e-201) (* y (/ t a)) (if (<= x 1.2e-61) t x)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (x <= -1.26e+85) {
tmp = y * (x / z);
} else if (x <= -2.7e-259) {
tmp = t;
} else if (x <= 2.25e-201) {
tmp = y * (t / a);
} else if (x <= 1.2e-61) {
tmp = t;
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (x <= (-1.26d+85)) then
tmp = y * (x / z)
else if (x <= (-2.7d-259)) then
tmp = t
else if (x <= 2.25d-201) then
tmp = y * (t / a)
else if (x <= 1.2d-61) then
tmp = t
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (x <= -1.26e+85) {
tmp = y * (x / z);
} else if (x <= -2.7e-259) {
tmp = t;
} else if (x <= 2.25e-201) {
tmp = y * (t / a);
} else if (x <= 1.2e-61) {
tmp = t;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if x <= -1.26e+85: tmp = y * (x / z) elif x <= -2.7e-259: tmp = t elif x <= 2.25e-201: tmp = y * (t / a) elif x <= 1.2e-61: tmp = t else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (x <= -1.26e+85) tmp = Float64(y * Float64(x / z)); elseif (x <= -2.7e-259) tmp = t; elseif (x <= 2.25e-201) tmp = Float64(y * Float64(t / a)); elseif (x <= 1.2e-61) tmp = t; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (x <= -1.26e+85) tmp = y * (x / z); elseif (x <= -2.7e-259) tmp = t; elseif (x <= 2.25e-201) tmp = y * (t / a); elseif (x <= 1.2e-61) tmp = t; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[x, -1.26e+85], N[(y * N[(x / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -2.7e-259], t, If[LessEqual[x, 2.25e-201], N[(y * N[(t / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 1.2e-61], t, x]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -1.26 \cdot 10^{+85}:\\
\;\;\;\;y \cdot \frac{x}{z}\\
\mathbf{elif}\;x \leq -2.7 \cdot 10^{-259}:\\
\;\;\;\;t\\
\mathbf{elif}\;x \leq 2.25 \cdot 10^{-201}:\\
\;\;\;\;y \cdot \frac{t}{a}\\
\mathbf{elif}\;x \leq 1.2 \cdot 10^{-61}:\\
\;\;\;\;t\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if x < -1.26000000000000003e85Initial program 52.5%
associate-*l/70.3%
Simplified70.3%
Taylor expanded in z around inf 49.4%
Taylor expanded in x around inf 55.1%
Taylor expanded in y around inf 42.4%
*-rgt-identity42.4%
*-commutative42.4%
times-frac42.7%
/-rgt-identity42.7%
Simplified42.7%
if -1.26000000000000003e85 < x < -2.69999999999999984e-259 or 2.2500000000000001e-201 < x < 1.2e-61Initial program 74.9%
associate-*l/87.0%
Simplified87.0%
Taylor expanded in z around inf 42.8%
if -2.69999999999999984e-259 < x < 2.2500000000000001e-201Initial program 79.7%
associate-*l/94.6%
Simplified94.6%
Taylor expanded in x around 0 59.1%
Taylor expanded in z around 0 33.4%
associate-/l*42.6%
Simplified42.6%
associate-/r/40.1%
Applied egg-rr40.1%
Taylor expanded in y around 0 33.4%
*-commutative33.4%
associate-*l/42.5%
Simplified42.5%
if 1.2e-61 < x Initial program 62.3%
associate-*l/83.5%
Simplified83.5%
Taylor expanded in a around inf 38.9%
Final simplification41.7%
(FPCore (x y z t a)
:precision binary64
(if (<= x -8.5e+81)
(* x (/ y z))
(if (<= x -1.95e-258)
t
(if (<= x 1.25e-192) (* y (/ t a)) (if (<= x 1.5e-61) t x)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (x <= -8.5e+81) {
tmp = x * (y / z);
} else if (x <= -1.95e-258) {
tmp = t;
} else if (x <= 1.25e-192) {
tmp = y * (t / a);
} else if (x <= 1.5e-61) {
tmp = t;
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (x <= (-8.5d+81)) then
tmp = x * (y / z)
else if (x <= (-1.95d-258)) then
tmp = t
else if (x <= 1.25d-192) then
tmp = y * (t / a)
else if (x <= 1.5d-61) then
tmp = t
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (x <= -8.5e+81) {
tmp = x * (y / z);
} else if (x <= -1.95e-258) {
tmp = t;
} else if (x <= 1.25e-192) {
tmp = y * (t / a);
} else if (x <= 1.5e-61) {
tmp = t;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if x <= -8.5e+81: tmp = x * (y / z) elif x <= -1.95e-258: tmp = t elif x <= 1.25e-192: tmp = y * (t / a) elif x <= 1.5e-61: tmp = t else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (x <= -8.5e+81) tmp = Float64(x * Float64(y / z)); elseif (x <= -1.95e-258) tmp = t; elseif (x <= 1.25e-192) tmp = Float64(y * Float64(t / a)); elseif (x <= 1.5e-61) tmp = t; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (x <= -8.5e+81) tmp = x * (y / z); elseif (x <= -1.95e-258) tmp = t; elseif (x <= 1.25e-192) tmp = y * (t / a); elseif (x <= 1.5e-61) tmp = t; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[x, -8.5e+81], N[(x * N[(y / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -1.95e-258], t, If[LessEqual[x, 1.25e-192], N[(y * N[(t / a), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 1.5e-61], t, x]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -8.5 \cdot 10^{+81}:\\
\;\;\;\;x \cdot \frac{y}{z}\\
\mathbf{elif}\;x \leq -1.95 \cdot 10^{-258}:\\
\;\;\;\;t\\
\mathbf{elif}\;x \leq 1.25 \cdot 10^{-192}:\\
\;\;\;\;y \cdot \frac{t}{a}\\
\mathbf{elif}\;x \leq 1.5 \cdot 10^{-61}:\\
\;\;\;\;t\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if x < -8.49999999999999986e81Initial program 52.5%
associate-*l/70.3%
Simplified70.3%
Taylor expanded in z around inf 49.4%
Taylor expanded in x around inf 55.1%
Taylor expanded in y around inf 48.0%
if -8.49999999999999986e81 < x < -1.95000000000000002e-258 or 1.25e-192 < x < 1.50000000000000006e-61Initial program 74.9%
associate-*l/87.0%
Simplified87.0%
Taylor expanded in z around inf 42.8%
if -1.95000000000000002e-258 < x < 1.25e-192Initial program 79.7%
associate-*l/94.6%
Simplified94.6%
Taylor expanded in x around 0 59.1%
Taylor expanded in z around 0 33.4%
associate-/l*42.6%
Simplified42.6%
associate-/r/40.1%
Applied egg-rr40.1%
Taylor expanded in y around 0 33.4%
*-commutative33.4%
associate-*l/42.5%
Simplified42.5%
if 1.50000000000000006e-61 < x Initial program 62.3%
associate-*l/83.5%
Simplified83.5%
Taylor expanded in a around inf 38.9%
Final simplification42.8%
(FPCore (x y z t a)
:precision binary64
(if (<= x -1.18e+83)
(* x (/ y z))
(if (<= x -4.4e-261)
t
(if (<= x 8.5e-197) (/ y (/ a t)) (if (<= x 1.25e-62) t x)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (x <= -1.18e+83) {
tmp = x * (y / z);
} else if (x <= -4.4e-261) {
tmp = t;
} else if (x <= 8.5e-197) {
tmp = y / (a / t);
} else if (x <= 1.25e-62) {
tmp = t;
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (x <= (-1.18d+83)) then
tmp = x * (y / z)
else if (x <= (-4.4d-261)) then
tmp = t
else if (x <= 8.5d-197) then
tmp = y / (a / t)
else if (x <= 1.25d-62) then
tmp = t
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (x <= -1.18e+83) {
tmp = x * (y / z);
} else if (x <= -4.4e-261) {
tmp = t;
} else if (x <= 8.5e-197) {
tmp = y / (a / t);
} else if (x <= 1.25e-62) {
tmp = t;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if x <= -1.18e+83: tmp = x * (y / z) elif x <= -4.4e-261: tmp = t elif x <= 8.5e-197: tmp = y / (a / t) elif x <= 1.25e-62: tmp = t else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (x <= -1.18e+83) tmp = Float64(x * Float64(y / z)); elseif (x <= -4.4e-261) tmp = t; elseif (x <= 8.5e-197) tmp = Float64(y / Float64(a / t)); elseif (x <= 1.25e-62) tmp = t; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (x <= -1.18e+83) tmp = x * (y / z); elseif (x <= -4.4e-261) tmp = t; elseif (x <= 8.5e-197) tmp = y / (a / t); elseif (x <= 1.25e-62) tmp = t; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[x, -1.18e+83], N[(x * N[(y / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -4.4e-261], t, If[LessEqual[x, 8.5e-197], N[(y / N[(a / t), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 1.25e-62], t, x]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -1.18 \cdot 10^{+83}:\\
\;\;\;\;x \cdot \frac{y}{z}\\
\mathbf{elif}\;x \leq -4.4 \cdot 10^{-261}:\\
\;\;\;\;t\\
\mathbf{elif}\;x \leq 8.5 \cdot 10^{-197}:\\
\;\;\;\;\frac{y}{\frac{a}{t}}\\
\mathbf{elif}\;x \leq 1.25 \cdot 10^{-62}:\\
\;\;\;\;t\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if x < -1.1799999999999999e83Initial program 52.5%
associate-*l/70.3%
Simplified70.3%
Taylor expanded in z around inf 49.4%
Taylor expanded in x around inf 55.1%
Taylor expanded in y around inf 48.0%
if -1.1799999999999999e83 < x < -4.4000000000000003e-261 or 8.5e-197 < x < 1.25e-62Initial program 74.9%
associate-*l/87.0%
Simplified87.0%
Taylor expanded in z around inf 42.8%
if -4.4000000000000003e-261 < x < 8.5e-197Initial program 79.7%
associate-*l/94.6%
Simplified94.6%
Taylor expanded in x around 0 59.1%
Taylor expanded in z around 0 33.4%
associate-/l*42.6%
Simplified42.6%
if 1.25e-62 < x Initial program 62.3%
associate-*l/83.5%
Simplified83.5%
Taylor expanded in a around inf 38.9%
Final simplification42.8%
(FPCore (x y z t a) :precision binary64 (if (<= x -2e+80) (* y (/ x z)) (if (<= x 1.2e-61) t x)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (x <= -2e+80) {
tmp = y * (x / z);
} else if (x <= 1.2e-61) {
tmp = t;
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (x <= (-2d+80)) then
tmp = y * (x / z)
else if (x <= 1.2d-61) then
tmp = t
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (x <= -2e+80) {
tmp = y * (x / z);
} else if (x <= 1.2e-61) {
tmp = t;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if x <= -2e+80: tmp = y * (x / z) elif x <= 1.2e-61: tmp = t else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (x <= -2e+80) tmp = Float64(y * Float64(x / z)); elseif (x <= 1.2e-61) tmp = t; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (x <= -2e+80) tmp = y * (x / z); elseif (x <= 1.2e-61) tmp = t; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[x, -2e+80], N[(y * N[(x / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 1.2e-61], t, x]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -2 \cdot 10^{+80}:\\
\;\;\;\;y \cdot \frac{x}{z}\\
\mathbf{elif}\;x \leq 1.2 \cdot 10^{-61}:\\
\;\;\;\;t\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if x < -2e80Initial program 52.5%
associate-*l/70.3%
Simplified70.3%
Taylor expanded in z around inf 49.4%
Taylor expanded in x around inf 55.1%
Taylor expanded in y around inf 42.4%
*-rgt-identity42.4%
*-commutative42.4%
times-frac42.7%
/-rgt-identity42.7%
Simplified42.7%
if -2e80 < x < 1.2e-61Initial program 76.4%
associate-*l/89.3%
Simplified89.3%
Taylor expanded in z around inf 38.8%
if 1.2e-61 < x Initial program 62.3%
associate-*l/83.5%
Simplified83.5%
Taylor expanded in a around inf 38.9%
Final simplification39.6%
(FPCore (x y z t a) :precision binary64 (if (<= a -2.5e-12) x (if (<= a 1.04e+82) t x)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -2.5e-12) {
tmp = x;
} else if (a <= 1.04e+82) {
tmp = t;
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (a <= (-2.5d-12)) then
tmp = x
else if (a <= 1.04d+82) then
tmp = t
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (a <= -2.5e-12) {
tmp = x;
} else if (a <= 1.04e+82) {
tmp = t;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if a <= -2.5e-12: tmp = x elif a <= 1.04e+82: tmp = t else: tmp = x return tmp
function code(x, y, z, t, a) tmp = 0.0 if (a <= -2.5e-12) tmp = x; elseif (a <= 1.04e+82) tmp = t; else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (a <= -2.5e-12) tmp = x; elseif (a <= 1.04e+82) tmp = t; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[a, -2.5e-12], x, If[LessEqual[a, 1.04e+82], t, x]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -2.5 \cdot 10^{-12}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 1.04 \cdot 10^{+82}:\\
\;\;\;\;t\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
if a < -2.49999999999999985e-12 or 1.03999999999999997e82 < a Initial program 64.1%
associate-*l/91.7%
Simplified91.7%
Taylor expanded in a around inf 49.2%
if -2.49999999999999985e-12 < a < 1.03999999999999997e82Initial program 70.2%
associate-*l/78.1%
Simplified78.1%
Taylor expanded in z around inf 35.2%
Final simplification41.1%
(FPCore (x y z t a) :precision binary64 t)
double code(double x, double y, double z, double t, double a) {
return t;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
code = t
end function
public static double code(double x, double y, double z, double t, double a) {
return t;
}
def code(x, y, z, t, a): return t
function code(x, y, z, t, a) return t end
function tmp = code(x, y, z, t, a) tmp = t; end
code[x_, y_, z_, t_, a_] := t
\begin{array}{l}
\\
t
\end{array}
Initial program 67.6%
associate-*l/83.8%
Simplified83.8%
Taylor expanded in z around inf 25.4%
Final simplification25.4%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (- t (* (/ y z) (- t x)))))
(if (< z -1.2536131056095036e+188)
t_1
(if (< z 4.446702369113811e+64)
(+ x (/ (- y z) (/ (- a z) (- t x))))
t_1))))
double code(double x, double y, double z, double t, double a) {
double t_1 = t - ((y / z) * (t - x));
double tmp;
if (z < -1.2536131056095036e+188) {
tmp = t_1;
} else if (z < 4.446702369113811e+64) {
tmp = x + ((y - z) / ((a - z) / (t - x)));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: t_1
real(8) :: tmp
t_1 = t - ((y / z) * (t - x))
if (z < (-1.2536131056095036d+188)) then
tmp = t_1
else if (z < 4.446702369113811d+64) then
tmp = x + ((y - z) / ((a - z) / (t - x)))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = t - ((y / z) * (t - x));
double tmp;
if (z < -1.2536131056095036e+188) {
tmp = t_1;
} else if (z < 4.446702369113811e+64) {
tmp = x + ((y - z) / ((a - z) / (t - x)));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = t - ((y / z) * (t - x)) tmp = 0 if z < -1.2536131056095036e+188: tmp = t_1 elif z < 4.446702369113811e+64: tmp = x + ((y - z) / ((a - z) / (t - x))) else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(t - Float64(Float64(y / z) * Float64(t - x))) tmp = 0.0 if (z < -1.2536131056095036e+188) tmp = t_1; elseif (z < 4.446702369113811e+64) tmp = Float64(x + Float64(Float64(y - z) / Float64(Float64(a - z) / Float64(t - x)))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = t - ((y / z) * (t - x)); tmp = 0.0; if (z < -1.2536131056095036e+188) tmp = t_1; elseif (z < 4.446702369113811e+64) tmp = x + ((y - z) / ((a - z) / (t - x))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(t - N[(N[(y / z), $MachinePrecision] * N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Less[z, -1.2536131056095036e+188], t$95$1, If[Less[z, 4.446702369113811e+64], N[(x + N[(N[(y - z), $MachinePrecision] / N[(N[(a - z), $MachinePrecision] / N[(t - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t - \frac{y}{z} \cdot \left(t - x\right)\\
\mathbf{if}\;z < -1.2536131056095036 \cdot 10^{+188}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z < 4.446702369113811 \cdot 10^{+64}:\\
\;\;\;\;x + \frac{y - z}{\frac{a - z}{t - x}}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
herbie shell --seed 2023279
(FPCore (x y z t a)
:name "Graphics.Rendering.Chart.Axis.Types:invLinMap from Chart-1.5.3"
:precision binary64
:herbie-target
(if (< z -1.2536131056095036e+188) (- t (* (/ y z) (- t x))) (if (< z 4.446702369113811e+64) (+ x (/ (- y z) (/ (- a z) (- t x)))) (- t (* (/ y z) (- t x)))))
(+ x (/ (* (- y z) (- t x)) (- a z))))