
(FPCore (x y z t a) :precision binary64 (+ (/ (* 60.0 (- x y)) (- z t)) (* a 120.0)))
double code(double x, double y, double z, double t, double a) {
return ((60.0 * (x - y)) / (z - t)) + (a * 120.0);
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
code = ((60.0d0 * (x - y)) / (z - t)) + (a * 120.0d0)
end function
public static double code(double x, double y, double z, double t, double a) {
return ((60.0 * (x - y)) / (z - t)) + (a * 120.0);
}
def code(x, y, z, t, a): return ((60.0 * (x - y)) / (z - t)) + (a * 120.0)
function code(x, y, z, t, a) return Float64(Float64(Float64(60.0 * Float64(x - y)) / Float64(z - t)) + Float64(a * 120.0)) end
function tmp = code(x, y, z, t, a) tmp = ((60.0 * (x - y)) / (z - t)) + (a * 120.0); end
code[x_, y_, z_, t_, a_] := N[(N[(N[(60.0 * N[(x - y), $MachinePrecision]), $MachinePrecision] / N[(z - t), $MachinePrecision]), $MachinePrecision] + N[(a * 120.0), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{60 \cdot \left(x - y\right)}{z - t} + a \cdot 120
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 19 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a) :precision binary64 (+ (/ (* 60.0 (- x y)) (- z t)) (* a 120.0)))
double code(double x, double y, double z, double t, double a) {
return ((60.0 * (x - y)) / (z - t)) + (a * 120.0);
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
code = ((60.0d0 * (x - y)) / (z - t)) + (a * 120.0d0)
end function
public static double code(double x, double y, double z, double t, double a) {
return ((60.0 * (x - y)) / (z - t)) + (a * 120.0);
}
def code(x, y, z, t, a): return ((60.0 * (x - y)) / (z - t)) + (a * 120.0)
function code(x, y, z, t, a) return Float64(Float64(Float64(60.0 * Float64(x - y)) / Float64(z - t)) + Float64(a * 120.0)) end
function tmp = code(x, y, z, t, a) tmp = ((60.0 * (x - y)) / (z - t)) + (a * 120.0); end
code[x_, y_, z_, t_, a_] := N[(N[(N[(60.0 * N[(x - y), $MachinePrecision]), $MachinePrecision] / N[(z - t), $MachinePrecision]), $MachinePrecision] + N[(a * 120.0), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{60 \cdot \left(x - y\right)}{z - t} + a \cdot 120
\end{array}
(FPCore (x y z t a) :precision binary64 (+ (/ 60.0 (/ (- z t) (- x y))) (* a 120.0)))
double code(double x, double y, double z, double t, double a) {
return (60.0 / ((z - t) / (x - y))) + (a * 120.0);
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
code = (60.0d0 / ((z - t) / (x - y))) + (a * 120.0d0)
end function
public static double code(double x, double y, double z, double t, double a) {
return (60.0 / ((z - t) / (x - y))) + (a * 120.0);
}
def code(x, y, z, t, a): return (60.0 / ((z - t) / (x - y))) + (a * 120.0)
function code(x, y, z, t, a) return Float64(Float64(60.0 / Float64(Float64(z - t) / Float64(x - y))) + Float64(a * 120.0)) end
function tmp = code(x, y, z, t, a) tmp = (60.0 / ((z - t) / (x - y))) + (a * 120.0); end
code[x_, y_, z_, t_, a_] := N[(N[(60.0 / N[(N[(z - t), $MachinePrecision] / N[(x - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a * 120.0), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{60}{\frac{z - t}{x - y}} + a \cdot 120
\end{array}
Initial program 99.4%
associate-/l*99.8%
Simplified99.8%
clear-num99.7%
un-div-inv99.8%
Applied egg-rr99.8%
Final simplification99.8%
(FPCore (x y z t a)
:precision binary64
(if (<= (* a 120.0) -5e+37)
(+ (* a 120.0) (* -60.0 (/ x t)))
(if (or (<= (* a 120.0) -2e-59)
(and (not (<= (* a 120.0) -4e-95)) (<= (* a 120.0) 1000.0)))
(* (- x y) (/ -60.0 (- t z)))
(* a 120.0))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a * 120.0) <= -5e+37) {
tmp = (a * 120.0) + (-60.0 * (x / t));
} else if (((a * 120.0) <= -2e-59) || (!((a * 120.0) <= -4e-95) && ((a * 120.0) <= 1000.0))) {
tmp = (x - y) * (-60.0 / (t - z));
} else {
tmp = a * 120.0;
}
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 * 120.0d0) <= (-5d+37)) then
tmp = (a * 120.0d0) + ((-60.0d0) * (x / t))
else if (((a * 120.0d0) <= (-2d-59)) .or. (.not. ((a * 120.0d0) <= (-4d-95))) .and. ((a * 120.0d0) <= 1000.0d0)) then
tmp = (x - y) * ((-60.0d0) / (t - z))
else
tmp = a * 120.0d0
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a * 120.0) <= -5e+37) {
tmp = (a * 120.0) + (-60.0 * (x / t));
} else if (((a * 120.0) <= -2e-59) || (!((a * 120.0) <= -4e-95) && ((a * 120.0) <= 1000.0))) {
tmp = (x - y) * (-60.0 / (t - z));
} else {
tmp = a * 120.0;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (a * 120.0) <= -5e+37: tmp = (a * 120.0) + (-60.0 * (x / t)) elif ((a * 120.0) <= -2e-59) or (not ((a * 120.0) <= -4e-95) and ((a * 120.0) <= 1000.0)): tmp = (x - y) * (-60.0 / (t - z)) else: tmp = a * 120.0 return tmp
function code(x, y, z, t, a) tmp = 0.0 if (Float64(a * 120.0) <= -5e+37) tmp = Float64(Float64(a * 120.0) + Float64(-60.0 * Float64(x / t))); elseif ((Float64(a * 120.0) <= -2e-59) || (!(Float64(a * 120.0) <= -4e-95) && (Float64(a * 120.0) <= 1000.0))) tmp = Float64(Float64(x - y) * Float64(-60.0 / Float64(t - z))); else tmp = Float64(a * 120.0); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((a * 120.0) <= -5e+37) tmp = (a * 120.0) + (-60.0 * (x / t)); elseif (((a * 120.0) <= -2e-59) || (~(((a * 120.0) <= -4e-95)) && ((a * 120.0) <= 1000.0))) tmp = (x - y) * (-60.0 / (t - z)); else tmp = a * 120.0; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[N[(a * 120.0), $MachinePrecision], -5e+37], N[(N[(a * 120.0), $MachinePrecision] + N[(-60.0 * N[(x / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[N[(a * 120.0), $MachinePrecision], -2e-59], And[N[Not[LessEqual[N[(a * 120.0), $MachinePrecision], -4e-95]], $MachinePrecision], LessEqual[N[(a * 120.0), $MachinePrecision], 1000.0]]], N[(N[(x - y), $MachinePrecision] * N[(-60.0 / N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(a * 120.0), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \cdot 120 \leq -5 \cdot 10^{+37}:\\
\;\;\;\;a \cdot 120 + -60 \cdot \frac{x}{t}\\
\mathbf{elif}\;a \cdot 120 \leq -2 \cdot 10^{-59} \lor \neg \left(a \cdot 120 \leq -4 \cdot 10^{-95}\right) \land a \cdot 120 \leq 1000:\\
\;\;\;\;\left(x - y\right) \cdot \frac{-60}{t - z}\\
\mathbf{else}:\\
\;\;\;\;a \cdot 120\\
\end{array}
\end{array}
if (*.f64 a #s(literal 120 binary64)) < -4.99999999999999989e37Initial program 97.7%
associate-/l*99.8%
Simplified99.8%
Taylor expanded in z around 0 85.3%
Taylor expanded in x around inf 79.7%
if -4.99999999999999989e37 < (*.f64 a #s(literal 120 binary64)) < -2.0000000000000001e-59 or -3.99999999999999996e-95 < (*.f64 a #s(literal 120 binary64)) < 1e3Initial program 99.7%
*-commutative99.7%
associate-/l*99.7%
fma-define99.7%
sub-neg99.7%
+-commutative99.7%
neg-sub099.7%
associate-+l-99.7%
sub0-neg99.7%
distribute-frac-neg299.7%
distribute-neg-frac99.7%
metadata-eval99.7%
Simplified99.7%
Taylor expanded in a around 0 77.7%
associate-*r/77.8%
*-commutative77.8%
associate-*r/77.8%
Simplified77.8%
if -2.0000000000000001e-59 < (*.f64 a #s(literal 120 binary64)) < -3.99999999999999996e-95 or 1e3 < (*.f64 a #s(literal 120 binary64)) Initial program 100.0%
associate-/l*100.0%
Simplified100.0%
Taylor expanded in z around inf 80.9%
Final simplification79.0%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* (- x y) (/ -60.0 (- t z)))))
(if (<= (* a 120.0) -5e+37)
(+ (* a 120.0) (* -60.0 (/ x t)))
(if (<= (* a 120.0) -2e-58)
t_1
(if (<= (* a 120.0) -4e-95)
(+ (* a 120.0) (* 60.0 (/ y t)))
(if (<= (* a 120.0) 1000.0) t_1 (* a 120.0)))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = (x - y) * (-60.0 / (t - z));
double tmp;
if ((a * 120.0) <= -5e+37) {
tmp = (a * 120.0) + (-60.0 * (x / t));
} else if ((a * 120.0) <= -2e-58) {
tmp = t_1;
} else if ((a * 120.0) <= -4e-95) {
tmp = (a * 120.0) + (60.0 * (y / t));
} else if ((a * 120.0) <= 1000.0) {
tmp = t_1;
} else {
tmp = a * 120.0;
}
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) * ((-60.0d0) / (t - z))
if ((a * 120.0d0) <= (-5d+37)) then
tmp = (a * 120.0d0) + ((-60.0d0) * (x / t))
else if ((a * 120.0d0) <= (-2d-58)) then
tmp = t_1
else if ((a * 120.0d0) <= (-4d-95)) then
tmp = (a * 120.0d0) + (60.0d0 * (y / t))
else if ((a * 120.0d0) <= 1000.0d0) then
tmp = t_1
else
tmp = a * 120.0d0
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) * (-60.0 / (t - z));
double tmp;
if ((a * 120.0) <= -5e+37) {
tmp = (a * 120.0) + (-60.0 * (x / t));
} else if ((a * 120.0) <= -2e-58) {
tmp = t_1;
} else if ((a * 120.0) <= -4e-95) {
tmp = (a * 120.0) + (60.0 * (y / t));
} else if ((a * 120.0) <= 1000.0) {
tmp = t_1;
} else {
tmp = a * 120.0;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = (x - y) * (-60.0 / (t - z)) tmp = 0 if (a * 120.0) <= -5e+37: tmp = (a * 120.0) + (-60.0 * (x / t)) elif (a * 120.0) <= -2e-58: tmp = t_1 elif (a * 120.0) <= -4e-95: tmp = (a * 120.0) + (60.0 * (y / t)) elif (a * 120.0) <= 1000.0: tmp = t_1 else: tmp = a * 120.0 return tmp
function code(x, y, z, t, a) t_1 = Float64(Float64(x - y) * Float64(-60.0 / Float64(t - z))) tmp = 0.0 if (Float64(a * 120.0) <= -5e+37) tmp = Float64(Float64(a * 120.0) + Float64(-60.0 * Float64(x / t))); elseif (Float64(a * 120.0) <= -2e-58) tmp = t_1; elseif (Float64(a * 120.0) <= -4e-95) tmp = Float64(Float64(a * 120.0) + Float64(60.0 * Float64(y / t))); elseif (Float64(a * 120.0) <= 1000.0) tmp = t_1; else tmp = Float64(a * 120.0); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = (x - y) * (-60.0 / (t - z)); tmp = 0.0; if ((a * 120.0) <= -5e+37) tmp = (a * 120.0) + (-60.0 * (x / t)); elseif ((a * 120.0) <= -2e-58) tmp = t_1; elseif ((a * 120.0) <= -4e-95) tmp = (a * 120.0) + (60.0 * (y / t)); elseif ((a * 120.0) <= 1000.0) tmp = t_1; else tmp = a * 120.0; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(N[(x - y), $MachinePrecision] * N[(-60.0 / N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(a * 120.0), $MachinePrecision], -5e+37], N[(N[(a * 120.0), $MachinePrecision] + N[(-60.0 * N[(x / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(a * 120.0), $MachinePrecision], -2e-58], t$95$1, If[LessEqual[N[(a * 120.0), $MachinePrecision], -4e-95], N[(N[(a * 120.0), $MachinePrecision] + N[(60.0 * N[(y / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(a * 120.0), $MachinePrecision], 1000.0], t$95$1, N[(a * 120.0), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(x - y\right) \cdot \frac{-60}{t - z}\\
\mathbf{if}\;a \cdot 120 \leq -5 \cdot 10^{+37}:\\
\;\;\;\;a \cdot 120 + -60 \cdot \frac{x}{t}\\
\mathbf{elif}\;a \cdot 120 \leq -2 \cdot 10^{-58}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \cdot 120 \leq -4 \cdot 10^{-95}:\\
\;\;\;\;a \cdot 120 + 60 \cdot \frac{y}{t}\\
\mathbf{elif}\;a \cdot 120 \leq 1000:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;a \cdot 120\\
\end{array}
\end{array}
if (*.f64 a #s(literal 120 binary64)) < -4.99999999999999989e37Initial program 97.7%
associate-/l*99.8%
Simplified99.8%
Taylor expanded in z around 0 85.3%
Taylor expanded in x around inf 79.7%
if -4.99999999999999989e37 < (*.f64 a #s(literal 120 binary64)) < -2.0000000000000001e-58 or -3.99999999999999996e-95 < (*.f64 a #s(literal 120 binary64)) < 1e3Initial program 99.7%
*-commutative99.7%
associate-/l*99.7%
fma-define99.7%
sub-neg99.7%
+-commutative99.7%
neg-sub099.7%
associate-+l-99.7%
sub0-neg99.7%
distribute-frac-neg299.7%
distribute-neg-frac99.7%
metadata-eval99.7%
Simplified99.7%
Taylor expanded in a around 0 77.5%
associate-*r/77.6%
*-commutative77.6%
associate-*r/77.6%
Simplified77.6%
if -2.0000000000000001e-58 < (*.f64 a #s(literal 120 binary64)) < -3.99999999999999996e-95Initial program 99.8%
associate-/l*100.0%
Simplified100.0%
Taylor expanded in z around 0 79.4%
Taylor expanded in x around 0 88.1%
if 1e3 < (*.f64 a #s(literal 120 binary64)) Initial program 100.0%
associate-/l*100.0%
Simplified100.0%
Taylor expanded in z around inf 80.4%
Final simplification79.1%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* (- x y) (/ -60.0 (- t z)))))
(if (<= (* a 120.0) -5e+37)
(+ (* a 120.0) (/ (* x -60.0) t))
(if (<= (* a 120.0) -2e-58)
t_1
(if (<= (* a 120.0) -4e-95)
(+ (* a 120.0) (* 60.0 (/ y t)))
(if (<= (* a 120.0) 1000.0) t_1 (* a 120.0)))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = (x - y) * (-60.0 / (t - z));
double tmp;
if ((a * 120.0) <= -5e+37) {
tmp = (a * 120.0) + ((x * -60.0) / t);
} else if ((a * 120.0) <= -2e-58) {
tmp = t_1;
} else if ((a * 120.0) <= -4e-95) {
tmp = (a * 120.0) + (60.0 * (y / t));
} else if ((a * 120.0) <= 1000.0) {
tmp = t_1;
} else {
tmp = a * 120.0;
}
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) * ((-60.0d0) / (t - z))
if ((a * 120.0d0) <= (-5d+37)) then
tmp = (a * 120.0d0) + ((x * (-60.0d0)) / t)
else if ((a * 120.0d0) <= (-2d-58)) then
tmp = t_1
else if ((a * 120.0d0) <= (-4d-95)) then
tmp = (a * 120.0d0) + (60.0d0 * (y / t))
else if ((a * 120.0d0) <= 1000.0d0) then
tmp = t_1
else
tmp = a * 120.0d0
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) * (-60.0 / (t - z));
double tmp;
if ((a * 120.0) <= -5e+37) {
tmp = (a * 120.0) + ((x * -60.0) / t);
} else if ((a * 120.0) <= -2e-58) {
tmp = t_1;
} else if ((a * 120.0) <= -4e-95) {
tmp = (a * 120.0) + (60.0 * (y / t));
} else if ((a * 120.0) <= 1000.0) {
tmp = t_1;
} else {
tmp = a * 120.0;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = (x - y) * (-60.0 / (t - z)) tmp = 0 if (a * 120.0) <= -5e+37: tmp = (a * 120.0) + ((x * -60.0) / t) elif (a * 120.0) <= -2e-58: tmp = t_1 elif (a * 120.0) <= -4e-95: tmp = (a * 120.0) + (60.0 * (y / t)) elif (a * 120.0) <= 1000.0: tmp = t_1 else: tmp = a * 120.0 return tmp
function code(x, y, z, t, a) t_1 = Float64(Float64(x - y) * Float64(-60.0 / Float64(t - z))) tmp = 0.0 if (Float64(a * 120.0) <= -5e+37) tmp = Float64(Float64(a * 120.0) + Float64(Float64(x * -60.0) / t)); elseif (Float64(a * 120.0) <= -2e-58) tmp = t_1; elseif (Float64(a * 120.0) <= -4e-95) tmp = Float64(Float64(a * 120.0) + Float64(60.0 * Float64(y / t))); elseif (Float64(a * 120.0) <= 1000.0) tmp = t_1; else tmp = Float64(a * 120.0); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = (x - y) * (-60.0 / (t - z)); tmp = 0.0; if ((a * 120.0) <= -5e+37) tmp = (a * 120.0) + ((x * -60.0) / t); elseif ((a * 120.0) <= -2e-58) tmp = t_1; elseif ((a * 120.0) <= -4e-95) tmp = (a * 120.0) + (60.0 * (y / t)); elseif ((a * 120.0) <= 1000.0) tmp = t_1; else tmp = a * 120.0; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(N[(x - y), $MachinePrecision] * N[(-60.0 / N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(a * 120.0), $MachinePrecision], -5e+37], N[(N[(a * 120.0), $MachinePrecision] + N[(N[(x * -60.0), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(a * 120.0), $MachinePrecision], -2e-58], t$95$1, If[LessEqual[N[(a * 120.0), $MachinePrecision], -4e-95], N[(N[(a * 120.0), $MachinePrecision] + N[(60.0 * N[(y / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(a * 120.0), $MachinePrecision], 1000.0], t$95$1, N[(a * 120.0), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(x - y\right) \cdot \frac{-60}{t - z}\\
\mathbf{if}\;a \cdot 120 \leq -5 \cdot 10^{+37}:\\
\;\;\;\;a \cdot 120 + \frac{x \cdot -60}{t}\\
\mathbf{elif}\;a \cdot 120 \leq -2 \cdot 10^{-58}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \cdot 120 \leq -4 \cdot 10^{-95}:\\
\;\;\;\;a \cdot 120 + 60 \cdot \frac{y}{t}\\
\mathbf{elif}\;a \cdot 120 \leq 1000:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;a \cdot 120\\
\end{array}
\end{array}
if (*.f64 a #s(literal 120 binary64)) < -4.99999999999999989e37Initial program 97.7%
associate-/l*99.8%
Simplified99.8%
Taylor expanded in x around inf 85.9%
associate-*r/86.0%
Simplified86.0%
Taylor expanded in z around 0 79.7%
associate-*r/79.7%
Simplified79.7%
if -4.99999999999999989e37 < (*.f64 a #s(literal 120 binary64)) < -2.0000000000000001e-58 or -3.99999999999999996e-95 < (*.f64 a #s(literal 120 binary64)) < 1e3Initial program 99.7%
*-commutative99.7%
associate-/l*99.7%
fma-define99.7%
sub-neg99.7%
+-commutative99.7%
neg-sub099.7%
associate-+l-99.7%
sub0-neg99.7%
distribute-frac-neg299.7%
distribute-neg-frac99.7%
metadata-eval99.7%
Simplified99.7%
Taylor expanded in a around 0 77.5%
associate-*r/77.6%
*-commutative77.6%
associate-*r/77.6%
Simplified77.6%
if -2.0000000000000001e-58 < (*.f64 a #s(literal 120 binary64)) < -3.99999999999999996e-95Initial program 99.8%
associate-/l*100.0%
Simplified100.0%
Taylor expanded in z around 0 79.4%
Taylor expanded in x around 0 88.1%
if 1e3 < (*.f64 a #s(literal 120 binary64)) Initial program 100.0%
associate-/l*100.0%
Simplified100.0%
Taylor expanded in z around inf 80.4%
Final simplification79.1%
(FPCore (x y z t a)
:precision binary64
(if (<= (* a 120.0) -5e+37)
(+ (* a 120.0) (/ (* x -60.0) t))
(if (<= (* a 120.0) -2e-58)
(* (- x y) (/ -60.0 (- t z)))
(if (<= (* a 120.0) -4e-95)
(+ (* a 120.0) (* 60.0 (/ y t)))
(if (<= (* a 120.0) 1000.0)
(/ -60.0 (/ (- t z) (- x y)))
(* a 120.0))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a * 120.0) <= -5e+37) {
tmp = (a * 120.0) + ((x * -60.0) / t);
} else if ((a * 120.0) <= -2e-58) {
tmp = (x - y) * (-60.0 / (t - z));
} else if ((a * 120.0) <= -4e-95) {
tmp = (a * 120.0) + (60.0 * (y / t));
} else if ((a * 120.0) <= 1000.0) {
tmp = -60.0 / ((t - z) / (x - y));
} else {
tmp = a * 120.0;
}
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 * 120.0d0) <= (-5d+37)) then
tmp = (a * 120.0d0) + ((x * (-60.0d0)) / t)
else if ((a * 120.0d0) <= (-2d-58)) then
tmp = (x - y) * ((-60.0d0) / (t - z))
else if ((a * 120.0d0) <= (-4d-95)) then
tmp = (a * 120.0d0) + (60.0d0 * (y / t))
else if ((a * 120.0d0) <= 1000.0d0) then
tmp = (-60.0d0) / ((t - z) / (x - y))
else
tmp = a * 120.0d0
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a * 120.0) <= -5e+37) {
tmp = (a * 120.0) + ((x * -60.0) / t);
} else if ((a * 120.0) <= -2e-58) {
tmp = (x - y) * (-60.0 / (t - z));
} else if ((a * 120.0) <= -4e-95) {
tmp = (a * 120.0) + (60.0 * (y / t));
} else if ((a * 120.0) <= 1000.0) {
tmp = -60.0 / ((t - z) / (x - y));
} else {
tmp = a * 120.0;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (a * 120.0) <= -5e+37: tmp = (a * 120.0) + ((x * -60.0) / t) elif (a * 120.0) <= -2e-58: tmp = (x - y) * (-60.0 / (t - z)) elif (a * 120.0) <= -4e-95: tmp = (a * 120.0) + (60.0 * (y / t)) elif (a * 120.0) <= 1000.0: tmp = -60.0 / ((t - z) / (x - y)) else: tmp = a * 120.0 return tmp
function code(x, y, z, t, a) tmp = 0.0 if (Float64(a * 120.0) <= -5e+37) tmp = Float64(Float64(a * 120.0) + Float64(Float64(x * -60.0) / t)); elseif (Float64(a * 120.0) <= -2e-58) tmp = Float64(Float64(x - y) * Float64(-60.0 / Float64(t - z))); elseif (Float64(a * 120.0) <= -4e-95) tmp = Float64(Float64(a * 120.0) + Float64(60.0 * Float64(y / t))); elseif (Float64(a * 120.0) <= 1000.0) tmp = Float64(-60.0 / Float64(Float64(t - z) / Float64(x - y))); else tmp = Float64(a * 120.0); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((a * 120.0) <= -5e+37) tmp = (a * 120.0) + ((x * -60.0) / t); elseif ((a * 120.0) <= -2e-58) tmp = (x - y) * (-60.0 / (t - z)); elseif ((a * 120.0) <= -4e-95) tmp = (a * 120.0) + (60.0 * (y / t)); elseif ((a * 120.0) <= 1000.0) tmp = -60.0 / ((t - z) / (x - y)); else tmp = a * 120.0; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[N[(a * 120.0), $MachinePrecision], -5e+37], N[(N[(a * 120.0), $MachinePrecision] + N[(N[(x * -60.0), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(a * 120.0), $MachinePrecision], -2e-58], N[(N[(x - y), $MachinePrecision] * N[(-60.0 / N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(a * 120.0), $MachinePrecision], -4e-95], N[(N[(a * 120.0), $MachinePrecision] + N[(60.0 * N[(y / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(a * 120.0), $MachinePrecision], 1000.0], N[(-60.0 / N[(N[(t - z), $MachinePrecision] / N[(x - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(a * 120.0), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \cdot 120 \leq -5 \cdot 10^{+37}:\\
\;\;\;\;a \cdot 120 + \frac{x \cdot -60}{t}\\
\mathbf{elif}\;a \cdot 120 \leq -2 \cdot 10^{-58}:\\
\;\;\;\;\left(x - y\right) \cdot \frac{-60}{t - z}\\
\mathbf{elif}\;a \cdot 120 \leq -4 \cdot 10^{-95}:\\
\;\;\;\;a \cdot 120 + 60 \cdot \frac{y}{t}\\
\mathbf{elif}\;a \cdot 120 \leq 1000:\\
\;\;\;\;\frac{-60}{\frac{t - z}{x - y}}\\
\mathbf{else}:\\
\;\;\;\;a \cdot 120\\
\end{array}
\end{array}
if (*.f64 a #s(literal 120 binary64)) < -4.99999999999999989e37Initial program 97.7%
associate-/l*99.8%
Simplified99.8%
Taylor expanded in x around inf 85.9%
associate-*r/86.0%
Simplified86.0%
Taylor expanded in z around 0 79.7%
associate-*r/79.7%
Simplified79.7%
if -4.99999999999999989e37 < (*.f64 a #s(literal 120 binary64)) < -2.0000000000000001e-58Initial program 99.7%
*-commutative99.7%
associate-/l*99.8%
fma-define99.8%
sub-neg99.8%
+-commutative99.8%
neg-sub099.8%
associate-+l-99.8%
sub0-neg99.8%
distribute-frac-neg299.8%
distribute-neg-frac99.8%
metadata-eval99.8%
Simplified99.8%
Taylor expanded in a around 0 65.4%
associate-*r/65.5%
*-commutative65.5%
associate-*r/65.6%
Simplified65.6%
if -2.0000000000000001e-58 < (*.f64 a #s(literal 120 binary64)) < -3.99999999999999996e-95Initial program 99.8%
associate-/l*100.0%
Simplified100.0%
Taylor expanded in z around 0 79.4%
Taylor expanded in x around 0 88.1%
if -3.99999999999999996e-95 < (*.f64 a #s(literal 120 binary64)) < 1e3Initial program 99.6%
*-commutative99.6%
associate-/l*99.6%
fma-define99.6%
sub-neg99.6%
+-commutative99.6%
neg-sub099.6%
associate-+l-99.6%
sub0-neg99.6%
distribute-frac-neg299.6%
distribute-neg-frac99.6%
metadata-eval99.6%
Simplified99.6%
Taylor expanded in a around 0 81.2%
clear-num81.2%
un-div-inv81.3%
Applied egg-rr81.3%
if 1e3 < (*.f64 a #s(literal 120 binary64)) Initial program 100.0%
associate-/l*100.0%
Simplified100.0%
Taylor expanded in z around inf 80.4%
Final simplification79.1%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (+ (* 60.0 (/ x z)) (* a 120.0)))
(t_2 (+ (* -60.0 (/ (- x y) t)) (* a 120.0)))
(t_3 (* (- x y) (/ -60.0 (- t z)))))
(if (<= t -1.26e-85)
t_2
(if (<= t -5.6e-187)
t_1
(if (<= t 3.8e-285)
t_3
(if (<= t 4.5e-218) t_1 (if (<= t 7.5e-55) t_3 t_2)))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = (60.0 * (x / z)) + (a * 120.0);
double t_2 = (-60.0 * ((x - y) / t)) + (a * 120.0);
double t_3 = (x - y) * (-60.0 / (t - z));
double tmp;
if (t <= -1.26e-85) {
tmp = t_2;
} else if (t <= -5.6e-187) {
tmp = t_1;
} else if (t <= 3.8e-285) {
tmp = t_3;
} else if (t <= 4.5e-218) {
tmp = t_1;
} else if (t <= 7.5e-55) {
tmp = t_3;
} 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) :: t_3
real(8) :: tmp
t_1 = (60.0d0 * (x / z)) + (a * 120.0d0)
t_2 = ((-60.0d0) * ((x - y) / t)) + (a * 120.0d0)
t_3 = (x - y) * ((-60.0d0) / (t - z))
if (t <= (-1.26d-85)) then
tmp = t_2
else if (t <= (-5.6d-187)) then
tmp = t_1
else if (t <= 3.8d-285) then
tmp = t_3
else if (t <= 4.5d-218) then
tmp = t_1
else if (t <= 7.5d-55) then
tmp = t_3
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 = (60.0 * (x / z)) + (a * 120.0);
double t_2 = (-60.0 * ((x - y) / t)) + (a * 120.0);
double t_3 = (x - y) * (-60.0 / (t - z));
double tmp;
if (t <= -1.26e-85) {
tmp = t_2;
} else if (t <= -5.6e-187) {
tmp = t_1;
} else if (t <= 3.8e-285) {
tmp = t_3;
} else if (t <= 4.5e-218) {
tmp = t_1;
} else if (t <= 7.5e-55) {
tmp = t_3;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = (60.0 * (x / z)) + (a * 120.0) t_2 = (-60.0 * ((x - y) / t)) + (a * 120.0) t_3 = (x - y) * (-60.0 / (t - z)) tmp = 0 if t <= -1.26e-85: tmp = t_2 elif t <= -5.6e-187: tmp = t_1 elif t <= 3.8e-285: tmp = t_3 elif t <= 4.5e-218: tmp = t_1 elif t <= 7.5e-55: tmp = t_3 else: tmp = t_2 return tmp
function code(x, y, z, t, a) t_1 = Float64(Float64(60.0 * Float64(x / z)) + Float64(a * 120.0)) t_2 = Float64(Float64(-60.0 * Float64(Float64(x - y) / t)) + Float64(a * 120.0)) t_3 = Float64(Float64(x - y) * Float64(-60.0 / Float64(t - z))) tmp = 0.0 if (t <= -1.26e-85) tmp = t_2; elseif (t <= -5.6e-187) tmp = t_1; elseif (t <= 3.8e-285) tmp = t_3; elseif (t <= 4.5e-218) tmp = t_1; elseif (t <= 7.5e-55) tmp = t_3; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = (60.0 * (x / z)) + (a * 120.0); t_2 = (-60.0 * ((x - y) / t)) + (a * 120.0); t_3 = (x - y) * (-60.0 / (t - z)); tmp = 0.0; if (t <= -1.26e-85) tmp = t_2; elseif (t <= -5.6e-187) tmp = t_1; elseif (t <= 3.8e-285) tmp = t_3; elseif (t <= 4.5e-218) tmp = t_1; elseif (t <= 7.5e-55) tmp = t_3; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(N[(60.0 * N[(x / z), $MachinePrecision]), $MachinePrecision] + N[(a * 120.0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(-60.0 * N[(N[(x - y), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision] + N[(a * 120.0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(x - y), $MachinePrecision] * N[(-60.0 / N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -1.26e-85], t$95$2, If[LessEqual[t, -5.6e-187], t$95$1, If[LessEqual[t, 3.8e-285], t$95$3, If[LessEqual[t, 4.5e-218], t$95$1, If[LessEqual[t, 7.5e-55], t$95$3, t$95$2]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 60 \cdot \frac{x}{z} + a \cdot 120\\
t_2 := -60 \cdot \frac{x - y}{t} + a \cdot 120\\
t_3 := \left(x - y\right) \cdot \frac{-60}{t - z}\\
\mathbf{if}\;t \leq -1.26 \cdot 10^{-85}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;t \leq -5.6 \cdot 10^{-187}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq 3.8 \cdot 10^{-285}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;t \leq 4.5 \cdot 10^{-218}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq 7.5 \cdot 10^{-55}:\\
\;\;\;\;t\_3\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if t < -1.26e-85 or 7.50000000000000023e-55 < t Initial program 99.1%
associate-/l*99.7%
Simplified99.7%
Taylor expanded in z around 0 84.1%
if -1.26e-85 < t < -5.6e-187 or 3.8000000000000002e-285 < t < 4.49999999999999977e-218Initial program 99.9%
associate-/l*99.9%
Simplified99.9%
Taylor expanded in x around inf 78.4%
associate-*r/78.4%
Simplified78.4%
Taylor expanded in z around inf 78.5%
if -5.6e-187 < t < 3.8000000000000002e-285 or 4.49999999999999977e-218 < t < 7.50000000000000023e-55Initial program 99.7%
*-commutative99.7%
associate-/l*99.9%
fma-define99.9%
sub-neg99.9%
+-commutative99.9%
neg-sub099.9%
associate-+l-99.9%
sub0-neg99.9%
distribute-frac-neg299.9%
distribute-neg-frac99.9%
metadata-eval99.9%
Simplified99.9%
Taylor expanded in a around 0 80.4%
associate-*r/80.5%
*-commutative80.5%
associate-*r/80.6%
Simplified80.6%
Final simplification82.3%
(FPCore (x y z t a)
:precision binary64
(if (or (<= a -5.2)
(not (or (<= a -2.7e-76) (and (not (<= a -3.4e-97)) (<= a 1850.0)))))
(* a 120.0)
(* -60.0 (/ (- x y) (- t z)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a <= -5.2) || !((a <= -2.7e-76) || (!(a <= -3.4e-97) && (a <= 1850.0)))) {
tmp = a * 120.0;
} else {
tmp = -60.0 * ((x - y) / (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) :: tmp
if ((a <= (-5.2d0)) .or. (.not. (a <= (-2.7d-76)) .or. (.not. (a <= (-3.4d-97))) .and. (a <= 1850.0d0))) then
tmp = a * 120.0d0
else
tmp = (-60.0d0) * ((x - y) / (t - z))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a <= -5.2) || !((a <= -2.7e-76) || (!(a <= -3.4e-97) && (a <= 1850.0)))) {
tmp = a * 120.0;
} else {
tmp = -60.0 * ((x - y) / (t - z));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (a <= -5.2) or not ((a <= -2.7e-76) or (not (a <= -3.4e-97) and (a <= 1850.0))): tmp = a * 120.0 else: tmp = -60.0 * ((x - y) / (t - z)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((a <= -5.2) || !((a <= -2.7e-76) || (!(a <= -3.4e-97) && (a <= 1850.0)))) tmp = Float64(a * 120.0); else tmp = Float64(-60.0 * Float64(Float64(x - y) / Float64(t - z))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((a <= -5.2) || ~(((a <= -2.7e-76) || (~((a <= -3.4e-97)) && (a <= 1850.0))))) tmp = a * 120.0; else tmp = -60.0 * ((x - y) / (t - z)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[a, -5.2], N[Not[Or[LessEqual[a, -2.7e-76], And[N[Not[LessEqual[a, -3.4e-97]], $MachinePrecision], LessEqual[a, 1850.0]]]], $MachinePrecision]], N[(a * 120.0), $MachinePrecision], N[(-60.0 * N[(N[(x - y), $MachinePrecision] / N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -5.2 \lor \neg \left(a \leq -2.7 \cdot 10^{-76} \lor \neg \left(a \leq -3.4 \cdot 10^{-97}\right) \land a \leq 1850\right):\\
\;\;\;\;a \cdot 120\\
\mathbf{else}:\\
\;\;\;\;-60 \cdot \frac{x - y}{t - z}\\
\end{array}
\end{array}
if a < -5.20000000000000018 or -2.7e-76 < a < -3.3999999999999999e-97 or 1850 < a Initial program 99.1%
associate-/l*99.9%
Simplified99.9%
Taylor expanded in z around inf 77.5%
if -5.20000000000000018 < a < -2.7e-76 or -3.3999999999999999e-97 < a < 1850Initial program 99.7%
*-commutative99.7%
associate-/l*99.7%
fma-define99.7%
sub-neg99.7%
+-commutative99.7%
neg-sub099.7%
associate-+l-99.7%
sub0-neg99.7%
distribute-frac-neg299.7%
distribute-neg-frac99.7%
metadata-eval99.7%
Simplified99.7%
Taylor expanded in a around 0 79.1%
Final simplification78.3%
(FPCore (x y z t a)
:precision binary64
(if (or (<= a -53.0)
(not
(or (<= a -1.75e-76)
(and (not (<= a -3.4e-97)) (<= a 330000000.0)))))
(* a 120.0)
(* (- x y) (/ -60.0 (- t z)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a <= -53.0) || !((a <= -1.75e-76) || (!(a <= -3.4e-97) && (a <= 330000000.0)))) {
tmp = a * 120.0;
} else {
tmp = (x - y) * (-60.0 / (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) :: tmp
if ((a <= (-53.0d0)) .or. (.not. (a <= (-1.75d-76)) .or. (.not. (a <= (-3.4d-97))) .and. (a <= 330000000.0d0))) then
tmp = a * 120.0d0
else
tmp = (x - y) * ((-60.0d0) / (t - z))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((a <= -53.0) || !((a <= -1.75e-76) || (!(a <= -3.4e-97) && (a <= 330000000.0)))) {
tmp = a * 120.0;
} else {
tmp = (x - y) * (-60.0 / (t - z));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (a <= -53.0) or not ((a <= -1.75e-76) or (not (a <= -3.4e-97) and (a <= 330000000.0))): tmp = a * 120.0 else: tmp = (x - y) * (-60.0 / (t - z)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((a <= -53.0) || !((a <= -1.75e-76) || (!(a <= -3.4e-97) && (a <= 330000000.0)))) tmp = Float64(a * 120.0); else tmp = Float64(Float64(x - y) * Float64(-60.0 / Float64(t - z))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((a <= -53.0) || ~(((a <= -1.75e-76) || (~((a <= -3.4e-97)) && (a <= 330000000.0))))) tmp = a * 120.0; else tmp = (x - y) * (-60.0 / (t - z)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[a, -53.0], N[Not[Or[LessEqual[a, -1.75e-76], And[N[Not[LessEqual[a, -3.4e-97]], $MachinePrecision], LessEqual[a, 330000000.0]]]], $MachinePrecision]], N[(a * 120.0), $MachinePrecision], N[(N[(x - y), $MachinePrecision] * N[(-60.0 / N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -53 \lor \neg \left(a \leq -1.75 \cdot 10^{-76} \lor \neg \left(a \leq -3.4 \cdot 10^{-97}\right) \land a \leq 330000000\right):\\
\;\;\;\;a \cdot 120\\
\mathbf{else}:\\
\;\;\;\;\left(x - y\right) \cdot \frac{-60}{t - z}\\
\end{array}
\end{array}
if a < -53 or -1.74999999999999999e-76 < a < -3.3999999999999999e-97 or 3.3e8 < a Initial program 99.1%
associate-/l*99.9%
Simplified99.9%
Taylor expanded in z around inf 77.5%
if -53 < a < -1.74999999999999999e-76 or -3.3999999999999999e-97 < a < 3.3e8Initial program 99.7%
*-commutative99.7%
associate-/l*99.7%
fma-define99.7%
sub-neg99.7%
+-commutative99.7%
neg-sub099.7%
associate-+l-99.7%
sub0-neg99.7%
distribute-frac-neg299.7%
distribute-neg-frac99.7%
metadata-eval99.7%
Simplified99.7%
Taylor expanded in a around 0 79.1%
associate-*r/79.2%
*-commutative79.2%
associate-*r/79.2%
Simplified79.2%
Final simplification78.3%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* -60.0 (/ (- x y) t))))
(if (<= a -2.2e-112)
(* a 120.0)
(if (<= a 2e-287)
t_1
(if (<= a 9.5e-190)
(* -60.0 (/ x (- t z)))
(if (<= a 1e-60) t_1 (* a 120.0)))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = -60.0 * ((x - y) / t);
double tmp;
if (a <= -2.2e-112) {
tmp = a * 120.0;
} else if (a <= 2e-287) {
tmp = t_1;
} else if (a <= 9.5e-190) {
tmp = -60.0 * (x / (t - z));
} else if (a <= 1e-60) {
tmp = t_1;
} else {
tmp = a * 120.0;
}
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 = (-60.0d0) * ((x - y) / t)
if (a <= (-2.2d-112)) then
tmp = a * 120.0d0
else if (a <= 2d-287) then
tmp = t_1
else if (a <= 9.5d-190) then
tmp = (-60.0d0) * (x / (t - z))
else if (a <= 1d-60) then
tmp = t_1
else
tmp = a * 120.0d0
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double t_1 = -60.0 * ((x - y) / t);
double tmp;
if (a <= -2.2e-112) {
tmp = a * 120.0;
} else if (a <= 2e-287) {
tmp = t_1;
} else if (a <= 9.5e-190) {
tmp = -60.0 * (x / (t - z));
} else if (a <= 1e-60) {
tmp = t_1;
} else {
tmp = a * 120.0;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = -60.0 * ((x - y) / t) tmp = 0 if a <= -2.2e-112: tmp = a * 120.0 elif a <= 2e-287: tmp = t_1 elif a <= 9.5e-190: tmp = -60.0 * (x / (t - z)) elif a <= 1e-60: tmp = t_1 else: tmp = a * 120.0 return tmp
function code(x, y, z, t, a) t_1 = Float64(-60.0 * Float64(Float64(x - y) / t)) tmp = 0.0 if (a <= -2.2e-112) tmp = Float64(a * 120.0); elseif (a <= 2e-287) tmp = t_1; elseif (a <= 9.5e-190) tmp = Float64(-60.0 * Float64(x / Float64(t - z))); elseif (a <= 1e-60) tmp = t_1; else tmp = Float64(a * 120.0); end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = -60.0 * ((x - y) / t); tmp = 0.0; if (a <= -2.2e-112) tmp = a * 120.0; elseif (a <= 2e-287) tmp = t_1; elseif (a <= 9.5e-190) tmp = -60.0 * (x / (t - z)); elseif (a <= 1e-60) tmp = t_1; else tmp = a * 120.0; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(-60.0 * N[(N[(x - y), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -2.2e-112], N[(a * 120.0), $MachinePrecision], If[LessEqual[a, 2e-287], t$95$1, If[LessEqual[a, 9.5e-190], N[(-60.0 * N[(x / N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1e-60], t$95$1, N[(a * 120.0), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := -60 \cdot \frac{x - y}{t}\\
\mathbf{if}\;a \leq -2.2 \cdot 10^{-112}:\\
\;\;\;\;a \cdot 120\\
\mathbf{elif}\;a \leq 2 \cdot 10^{-287}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;a \leq 9.5 \cdot 10^{-190}:\\
\;\;\;\;-60 \cdot \frac{x}{t - z}\\
\mathbf{elif}\;a \leq 10^{-60}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;a \cdot 120\\
\end{array}
\end{array}
if a < -2.20000000000000021e-112 or 9.9999999999999997e-61 < a Initial program 99.3%
associate-/l*99.8%
Simplified99.8%
Taylor expanded in z around inf 67.5%
if -2.20000000000000021e-112 < a < 2.00000000000000004e-287 or 9.50000000000000055e-190 < a < 9.9999999999999997e-61Initial program 99.7%
*-commutative99.7%
associate-/l*99.6%
fma-define99.6%
sub-neg99.6%
+-commutative99.6%
neg-sub099.6%
associate-+l-99.6%
sub0-neg99.6%
distribute-frac-neg299.6%
distribute-neg-frac99.6%
metadata-eval99.6%
Simplified99.6%
Taylor expanded in a around 0 84.8%
Taylor expanded in t around inf 52.3%
if 2.00000000000000004e-287 < a < 9.50000000000000055e-190Initial program 99.6%
*-commutative99.6%
associate-/l*99.5%
fma-define99.5%
sub-neg99.5%
+-commutative99.5%
neg-sub099.5%
associate-+l-99.5%
sub0-neg99.5%
distribute-frac-neg299.5%
distribute-neg-frac99.5%
metadata-eval99.5%
Simplified99.5%
Taylor expanded in x around inf 60.9%
Final simplification62.9%
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (* 60.0 (/ y (- t z)))))
(if (<= y -4e+127)
t_1
(if (<= y 2.6e-221)
(* a 120.0)
(if (<= y 1e-187)
(* -60.0 (/ x (- t z)))
(if (<= y 2.35e+82) (* a 120.0) t_1))))))
double code(double x, double y, double z, double t, double a) {
double t_1 = 60.0 * (y / (t - z));
double tmp;
if (y <= -4e+127) {
tmp = t_1;
} else if (y <= 2.6e-221) {
tmp = a * 120.0;
} else if (y <= 1e-187) {
tmp = -60.0 * (x / (t - z));
} else if (y <= 2.35e+82) {
tmp = a * 120.0;
} 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 = 60.0d0 * (y / (t - z))
if (y <= (-4d+127)) then
tmp = t_1
else if (y <= 2.6d-221) then
tmp = a * 120.0d0
else if (y <= 1d-187) then
tmp = (-60.0d0) * (x / (t - z))
else if (y <= 2.35d+82) then
tmp = a * 120.0d0
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 = 60.0 * (y / (t - z));
double tmp;
if (y <= -4e+127) {
tmp = t_1;
} else if (y <= 2.6e-221) {
tmp = a * 120.0;
} else if (y <= 1e-187) {
tmp = -60.0 * (x / (t - z));
} else if (y <= 2.35e+82) {
tmp = a * 120.0;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a): t_1 = 60.0 * (y / (t - z)) tmp = 0 if y <= -4e+127: tmp = t_1 elif y <= 2.6e-221: tmp = a * 120.0 elif y <= 1e-187: tmp = -60.0 * (x / (t - z)) elif y <= 2.35e+82: tmp = a * 120.0 else: tmp = t_1 return tmp
function code(x, y, z, t, a) t_1 = Float64(60.0 * Float64(y / Float64(t - z))) tmp = 0.0 if (y <= -4e+127) tmp = t_1; elseif (y <= 2.6e-221) tmp = Float64(a * 120.0); elseif (y <= 1e-187) tmp = Float64(-60.0 * Float64(x / Float64(t - z))); elseif (y <= 2.35e+82) tmp = Float64(a * 120.0); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a) t_1 = 60.0 * (y / (t - z)); tmp = 0.0; if (y <= -4e+127) tmp = t_1; elseif (y <= 2.6e-221) tmp = a * 120.0; elseif (y <= 1e-187) tmp = -60.0 * (x / (t - z)); elseif (y <= 2.35e+82) tmp = a * 120.0; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(60.0 * N[(y / N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -4e+127], t$95$1, If[LessEqual[y, 2.6e-221], N[(a * 120.0), $MachinePrecision], If[LessEqual[y, 1e-187], N[(-60.0 * N[(x / N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.35e+82], N[(a * 120.0), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 60 \cdot \frac{y}{t - z}\\
\mathbf{if}\;y \leq -4 \cdot 10^{+127}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y \leq 2.6 \cdot 10^{-221}:\\
\;\;\;\;a \cdot 120\\
\mathbf{elif}\;y \leq 10^{-187}:\\
\;\;\;\;-60 \cdot \frac{x}{t - z}\\
\mathbf{elif}\;y \leq 2.35 \cdot 10^{+82}:\\
\;\;\;\;a \cdot 120\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y < -3.99999999999999982e127 or 2.35e82 < y Initial program 98.5%
*-commutative98.5%
associate-/l*99.7%
fma-define99.7%
sub-neg99.7%
+-commutative99.7%
neg-sub099.7%
associate-+l-99.7%
sub0-neg99.7%
distribute-frac-neg299.7%
distribute-neg-frac99.7%
metadata-eval99.7%
Simplified99.7%
Taylor expanded in y around inf 63.7%
if -3.99999999999999982e127 < y < 2.6000000000000002e-221 or 1e-187 < y < 2.35e82Initial program 99.9%
associate-/l*99.8%
Simplified99.8%
Taylor expanded in z around inf 64.9%
if 2.6000000000000002e-221 < y < 1e-187Initial program 99.8%
*-commutative99.8%
associate-/l*99.8%
fma-define99.8%
sub-neg99.8%
+-commutative99.8%
neg-sub099.8%
associate-+l-99.8%
sub0-neg99.8%
distribute-frac-neg299.8%
distribute-neg-frac99.8%
metadata-eval99.8%
Simplified99.8%
Taylor expanded in x around inf 86.8%
Final simplification65.1%
(FPCore (x y z t a)
:precision binary64
(if (<= y -2e+122)
(/ 60.0 (/ (- t z) y))
(if (<= y 4.4e-221)
(* a 120.0)
(if (<= y 1e-187)
(* -60.0 (/ x (- t z)))
(if (<= y 9.5e+80) (* a 120.0) (* 60.0 (/ y (- t z))))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (y <= -2e+122) {
tmp = 60.0 / ((t - z) / y);
} else if (y <= 4.4e-221) {
tmp = a * 120.0;
} else if (y <= 1e-187) {
tmp = -60.0 * (x / (t - z));
} else if (y <= 9.5e+80) {
tmp = a * 120.0;
} else {
tmp = 60.0 * (y / (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) :: tmp
if (y <= (-2d+122)) then
tmp = 60.0d0 / ((t - z) / y)
else if (y <= 4.4d-221) then
tmp = a * 120.0d0
else if (y <= 1d-187) then
tmp = (-60.0d0) * (x / (t - z))
else if (y <= 9.5d+80) then
tmp = a * 120.0d0
else
tmp = 60.0d0 * (y / (t - z))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (y <= -2e+122) {
tmp = 60.0 / ((t - z) / y);
} else if (y <= 4.4e-221) {
tmp = a * 120.0;
} else if (y <= 1e-187) {
tmp = -60.0 * (x / (t - z));
} else if (y <= 9.5e+80) {
tmp = a * 120.0;
} else {
tmp = 60.0 * (y / (t - z));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if y <= -2e+122: tmp = 60.0 / ((t - z) / y) elif y <= 4.4e-221: tmp = a * 120.0 elif y <= 1e-187: tmp = -60.0 * (x / (t - z)) elif y <= 9.5e+80: tmp = a * 120.0 else: tmp = 60.0 * (y / (t - z)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (y <= -2e+122) tmp = Float64(60.0 / Float64(Float64(t - z) / y)); elseif (y <= 4.4e-221) tmp = Float64(a * 120.0); elseif (y <= 1e-187) tmp = Float64(-60.0 * Float64(x / Float64(t - z))); elseif (y <= 9.5e+80) tmp = Float64(a * 120.0); else tmp = Float64(60.0 * Float64(y / Float64(t - z))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (y <= -2e+122) tmp = 60.0 / ((t - z) / y); elseif (y <= 4.4e-221) tmp = a * 120.0; elseif (y <= 1e-187) tmp = -60.0 * (x / (t - z)); elseif (y <= 9.5e+80) tmp = a * 120.0; else tmp = 60.0 * (y / (t - z)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[y, -2e+122], N[(60.0 / N[(N[(t - z), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 4.4e-221], N[(a * 120.0), $MachinePrecision], If[LessEqual[y, 1e-187], N[(-60.0 * N[(x / N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 9.5e+80], N[(a * 120.0), $MachinePrecision], N[(60.0 * N[(y / N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -2 \cdot 10^{+122}:\\
\;\;\;\;\frac{60}{\frac{t - z}{y}}\\
\mathbf{elif}\;y \leq 4.4 \cdot 10^{-221}:\\
\;\;\;\;a \cdot 120\\
\mathbf{elif}\;y \leq 10^{-187}:\\
\;\;\;\;-60 \cdot \frac{x}{t - z}\\
\mathbf{elif}\;y \leq 9.5 \cdot 10^{+80}:\\
\;\;\;\;a \cdot 120\\
\mathbf{else}:\\
\;\;\;\;60 \cdot \frac{y}{t - z}\\
\end{array}
\end{array}
if y < -2.00000000000000003e122Initial program 99.7%
*-commutative99.7%
associate-/l*99.8%
fma-define99.8%
sub-neg99.8%
+-commutative99.8%
neg-sub099.8%
associate-+l-99.8%
sub0-neg99.8%
distribute-frac-neg299.8%
distribute-neg-frac99.8%
metadata-eval99.8%
Simplified99.8%
Taylor expanded in y around inf 71.7%
clear-num71.7%
un-div-inv71.8%
Applied egg-rr71.8%
if -2.00000000000000003e122 < y < 4.40000000000000003e-221 or 1e-187 < y < 9.499999999999999e80Initial program 99.9%
associate-/l*99.8%
Simplified99.8%
Taylor expanded in z around inf 64.9%
if 4.40000000000000003e-221 < y < 1e-187Initial program 99.8%
*-commutative99.8%
associate-/l*99.8%
fma-define99.8%
sub-neg99.8%
+-commutative99.8%
neg-sub099.8%
associate-+l-99.8%
sub0-neg99.8%
distribute-frac-neg299.8%
distribute-neg-frac99.8%
metadata-eval99.8%
Simplified99.8%
Taylor expanded in x around inf 86.8%
if 9.499999999999999e80 < y Initial program 97.9%
*-commutative97.9%
associate-/l*99.6%
fma-define99.6%
sub-neg99.6%
+-commutative99.6%
neg-sub099.6%
associate-+l-99.6%
sub0-neg99.6%
distribute-frac-neg299.6%
distribute-neg-frac99.6%
metadata-eval99.6%
Simplified99.6%
Taylor expanded in y around inf 59.4%
Final simplification65.1%
(FPCore (x y z t a)
:precision binary64
(if (<= y -1.45e+127)
(* (- x y) (/ -60.0 (- t z)))
(if (<= y 1.1e+122)
(+ (/ (* 60.0 x) (- z t)) (* a 120.0))
(/ -60.0 (/ (- t z) (- x y))))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (y <= -1.45e+127) {
tmp = (x - y) * (-60.0 / (t - z));
} else if (y <= 1.1e+122) {
tmp = ((60.0 * x) / (z - t)) + (a * 120.0);
} else {
tmp = -60.0 / ((t - z) / (x - 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 (y <= (-1.45d+127)) then
tmp = (x - y) * ((-60.0d0) / (t - z))
else if (y <= 1.1d+122) then
tmp = ((60.0d0 * x) / (z - t)) + (a * 120.0d0)
else
tmp = (-60.0d0) / ((t - z) / (x - y))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (y <= -1.45e+127) {
tmp = (x - y) * (-60.0 / (t - z));
} else if (y <= 1.1e+122) {
tmp = ((60.0 * x) / (z - t)) + (a * 120.0);
} else {
tmp = -60.0 / ((t - z) / (x - y));
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if y <= -1.45e+127: tmp = (x - y) * (-60.0 / (t - z)) elif y <= 1.1e+122: tmp = ((60.0 * x) / (z - t)) + (a * 120.0) else: tmp = -60.0 / ((t - z) / (x - y)) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (y <= -1.45e+127) tmp = Float64(Float64(x - y) * Float64(-60.0 / Float64(t - z))); elseif (y <= 1.1e+122) tmp = Float64(Float64(Float64(60.0 * x) / Float64(z - t)) + Float64(a * 120.0)); else tmp = Float64(-60.0 / Float64(Float64(t - z) / Float64(x - y))); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (y <= -1.45e+127) tmp = (x - y) * (-60.0 / (t - z)); elseif (y <= 1.1e+122) tmp = ((60.0 * x) / (z - t)) + (a * 120.0); else tmp = -60.0 / ((t - z) / (x - y)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[y, -1.45e+127], N[(N[(x - y), $MachinePrecision] * N[(-60.0 / N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.1e+122], N[(N[(N[(60.0 * x), $MachinePrecision] / N[(z - t), $MachinePrecision]), $MachinePrecision] + N[(a * 120.0), $MachinePrecision]), $MachinePrecision], N[(-60.0 / N[(N[(t - z), $MachinePrecision] / N[(x - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -1.45 \cdot 10^{+127}:\\
\;\;\;\;\left(x - y\right) \cdot \frac{-60}{t - z}\\
\mathbf{elif}\;y \leq 1.1 \cdot 10^{+122}:\\
\;\;\;\;\frac{60 \cdot x}{z - t} + a \cdot 120\\
\mathbf{else}:\\
\;\;\;\;\frac{-60}{\frac{t - z}{x - y}}\\
\end{array}
\end{array}
if y < -1.4500000000000001e127Initial program 99.7%
*-commutative99.7%
associate-/l*99.8%
fma-define99.8%
sub-neg99.8%
+-commutative99.8%
neg-sub099.8%
associate-+l-99.8%
sub0-neg99.8%
distribute-frac-neg299.8%
distribute-neg-frac99.8%
metadata-eval99.8%
Simplified99.8%
Taylor expanded in a around 0 84.0%
associate-*r/84.1%
*-commutative84.1%
associate-*r/84.2%
Simplified84.2%
if -1.4500000000000001e127 < y < 1.1e122Initial program 99.8%
associate-/l*99.8%
Simplified99.8%
Taylor expanded in x around inf 87.4%
associate-*r/87.4%
Simplified87.4%
if 1.1e122 < y Initial program 97.5%
*-commutative97.5%
associate-/l*99.6%
fma-define99.6%
sub-neg99.6%
+-commutative99.6%
neg-sub099.6%
associate-+l-99.6%
sub0-neg99.6%
distribute-frac-neg299.6%
distribute-neg-frac99.6%
metadata-eval99.6%
Simplified99.6%
Taylor expanded in a around 0 73.5%
clear-num73.4%
un-div-inv73.5%
Applied egg-rr73.5%
Final simplification84.4%
(FPCore (x y z t a) :precision binary64 (if (or (<= x -5.8e+184) (and (not (<= x 2.8e+137)) (<= x 1.38e+281))) (* -60.0 (/ x t)) (* a 120.0)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((x <= -5.8e+184) || (!(x <= 2.8e+137) && (x <= 1.38e+281))) {
tmp = -60.0 * (x / t);
} else {
tmp = a * 120.0;
}
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 <= (-5.8d+184)) .or. (.not. (x <= 2.8d+137)) .and. (x <= 1.38d+281)) then
tmp = (-60.0d0) * (x / t)
else
tmp = a * 120.0d0
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((x <= -5.8e+184) || (!(x <= 2.8e+137) && (x <= 1.38e+281))) {
tmp = -60.0 * (x / t);
} else {
tmp = a * 120.0;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (x <= -5.8e+184) or (not (x <= 2.8e+137) and (x <= 1.38e+281)): tmp = -60.0 * (x / t) else: tmp = a * 120.0 return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((x <= -5.8e+184) || (!(x <= 2.8e+137) && (x <= 1.38e+281))) tmp = Float64(-60.0 * Float64(x / t)); else tmp = Float64(a * 120.0); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((x <= -5.8e+184) || (~((x <= 2.8e+137)) && (x <= 1.38e+281))) tmp = -60.0 * (x / t); else tmp = a * 120.0; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[x, -5.8e+184], And[N[Not[LessEqual[x, 2.8e+137]], $MachinePrecision], LessEqual[x, 1.38e+281]]], N[(-60.0 * N[(x / t), $MachinePrecision]), $MachinePrecision], N[(a * 120.0), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -5.8 \cdot 10^{+184} \lor \neg \left(x \leq 2.8 \cdot 10^{+137}\right) \land x \leq 1.38 \cdot 10^{+281}:\\
\;\;\;\;-60 \cdot \frac{x}{t}\\
\mathbf{else}:\\
\;\;\;\;a \cdot 120\\
\end{array}
\end{array}
if x < -5.7999999999999998e184 or 2.80000000000000001e137 < x < 1.38000000000000008e281Initial program 99.8%
*-commutative99.8%
associate-/l*99.6%
fma-define99.6%
sub-neg99.6%
+-commutative99.6%
neg-sub099.6%
associate-+l-99.6%
sub0-neg99.6%
distribute-frac-neg299.6%
distribute-neg-frac99.6%
metadata-eval99.6%
Simplified99.6%
Taylor expanded in a around 0 84.1%
Taylor expanded in t around inf 56.4%
Taylor expanded in x around inf 52.3%
if -5.7999999999999998e184 < x < 2.80000000000000001e137 or 1.38000000000000008e281 < x Initial program 99.3%
associate-/l*99.8%
Simplified99.8%
Taylor expanded in z around inf 57.0%
Final simplification56.2%
(FPCore (x y z t a) :precision binary64 (if (or (<= x -8.2e+160) (not (<= x 1.04e+116))) (* -60.0 (/ x (- t z))) (* a 120.0)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((x <= -8.2e+160) || !(x <= 1.04e+116)) {
tmp = -60.0 * (x / (t - z));
} else {
tmp = a * 120.0;
}
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.2d+160)) .or. (.not. (x <= 1.04d+116))) then
tmp = (-60.0d0) * (x / (t - z))
else
tmp = a * 120.0d0
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.2e+160) || !(x <= 1.04e+116)) {
tmp = -60.0 * (x / (t - z));
} else {
tmp = a * 120.0;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (x <= -8.2e+160) or not (x <= 1.04e+116): tmp = -60.0 * (x / (t - z)) else: tmp = a * 120.0 return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((x <= -8.2e+160) || !(x <= 1.04e+116)) tmp = Float64(-60.0 * Float64(x / Float64(t - z))); else tmp = Float64(a * 120.0); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((x <= -8.2e+160) || ~((x <= 1.04e+116))) tmp = -60.0 * (x / (t - z)); else tmp = a * 120.0; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[x, -8.2e+160], N[Not[LessEqual[x, 1.04e+116]], $MachinePrecision]], N[(-60.0 * N[(x / N[(t - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(a * 120.0), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -8.2 \cdot 10^{+160} \lor \neg \left(x \leq 1.04 \cdot 10^{+116}\right):\\
\;\;\;\;-60 \cdot \frac{x}{t - z}\\
\mathbf{else}:\\
\;\;\;\;a \cdot 120\\
\end{array}
\end{array}
if x < -8.19999999999999996e160 or 1.04e116 < x Initial program 99.8%
*-commutative99.8%
associate-/l*99.6%
fma-define99.6%
sub-neg99.6%
+-commutative99.6%
neg-sub099.6%
associate-+l-99.6%
sub0-neg99.6%
distribute-frac-neg299.6%
distribute-neg-frac99.6%
metadata-eval99.6%
Simplified99.6%
Taylor expanded in x around inf 68.4%
if -8.19999999999999996e160 < x < 1.04e116Initial program 99.3%
associate-/l*99.8%
Simplified99.8%
Taylor expanded in z around inf 58.5%
Final simplification60.8%
(FPCore (x y z t a) :precision binary64 (if (or (<= y -2.8e+213) (not (<= y 3e+122))) (* -60.0 (/ y z)) (* a 120.0)))
double code(double x, double y, double z, double t, double a) {
double tmp;
if ((y <= -2.8e+213) || !(y <= 3e+122)) {
tmp = -60.0 * (y / z);
} else {
tmp = a * 120.0;
}
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 ((y <= (-2.8d+213)) .or. (.not. (y <= 3d+122))) then
tmp = (-60.0d0) * (y / z)
else
tmp = a * 120.0d0
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if ((y <= -2.8e+213) || !(y <= 3e+122)) {
tmp = -60.0 * (y / z);
} else {
tmp = a * 120.0;
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if (y <= -2.8e+213) or not (y <= 3e+122): tmp = -60.0 * (y / z) else: tmp = a * 120.0 return tmp
function code(x, y, z, t, a) tmp = 0.0 if ((y <= -2.8e+213) || !(y <= 3e+122)) tmp = Float64(-60.0 * Float64(y / z)); else tmp = Float64(a * 120.0); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if ((y <= -2.8e+213) || ~((y <= 3e+122))) tmp = -60.0 * (y / z); else tmp = a * 120.0; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[Or[LessEqual[y, -2.8e+213], N[Not[LessEqual[y, 3e+122]], $MachinePrecision]], N[(-60.0 * N[(y / z), $MachinePrecision]), $MachinePrecision], N[(a * 120.0), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -2.8 \cdot 10^{+213} \lor \neg \left(y \leq 3 \cdot 10^{+122}\right):\\
\;\;\;\;-60 \cdot \frac{y}{z}\\
\mathbf{else}:\\
\;\;\;\;a \cdot 120\\
\end{array}
\end{array}
if y < -2.7999999999999999e213 or 2.99999999999999986e122 < y Initial program 98.1%
*-commutative98.1%
associate-/l*99.7%
fma-define99.7%
sub-neg99.7%
+-commutative99.7%
neg-sub099.7%
associate-+l-99.7%
sub0-neg99.7%
distribute-frac-neg299.7%
distribute-neg-frac99.7%
metadata-eval99.7%
Simplified99.7%
Taylor expanded in y around inf 70.0%
Taylor expanded in t around 0 50.3%
if -2.7999999999999999e213 < y < 2.99999999999999986e122Initial program 99.8%
associate-/l*99.8%
Simplified99.8%
Taylor expanded in z around inf 58.8%
Final simplification56.6%
(FPCore (x y z t a) :precision binary64 (if (<= y -7e+204) (* 60.0 (/ y t)) (if (<= y 3.4e+121) (* a 120.0) (* -60.0 (/ y z)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (y <= -7e+204) {
tmp = 60.0 * (y / t);
} else if (y <= 3.4e+121) {
tmp = a * 120.0;
} else {
tmp = -60.0 * (y / z);
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (y <= (-7d+204)) then
tmp = 60.0d0 * (y / t)
else if (y <= 3.4d+121) then
tmp = a * 120.0d0
else
tmp = (-60.0d0) * (y / z)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (y <= -7e+204) {
tmp = 60.0 * (y / t);
} else if (y <= 3.4e+121) {
tmp = a * 120.0;
} else {
tmp = -60.0 * (y / z);
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if y <= -7e+204: tmp = 60.0 * (y / t) elif y <= 3.4e+121: tmp = a * 120.0 else: tmp = -60.0 * (y / z) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (y <= -7e+204) tmp = Float64(60.0 * Float64(y / t)); elseif (y <= 3.4e+121) tmp = Float64(a * 120.0); else tmp = Float64(-60.0 * Float64(y / z)); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (y <= -7e+204) tmp = 60.0 * (y / t); elseif (y <= 3.4e+121) tmp = a * 120.0; else tmp = -60.0 * (y / z); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[y, -7e+204], N[(60.0 * N[(y / t), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 3.4e+121], N[(a * 120.0), $MachinePrecision], N[(-60.0 * N[(y / z), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -7 \cdot 10^{+204}:\\
\;\;\;\;60 \cdot \frac{y}{t}\\
\mathbf{elif}\;y \leq 3.4 \cdot 10^{+121}:\\
\;\;\;\;a \cdot 120\\
\mathbf{else}:\\
\;\;\;\;-60 \cdot \frac{y}{z}\\
\end{array}
\end{array}
if y < -6.99999999999999978e204Initial program 99.7%
*-commutative99.7%
associate-/l*99.8%
fma-define99.8%
sub-neg99.8%
+-commutative99.8%
neg-sub099.8%
associate-+l-99.8%
sub0-neg99.8%
distribute-frac-neg299.8%
distribute-neg-frac99.8%
metadata-eval99.8%
Simplified99.8%
Taylor expanded in y around inf 90.2%
Taylor expanded in t around inf 51.7%
if -6.99999999999999978e204 < y < 3.4000000000000001e121Initial program 99.9%
associate-/l*99.8%
Simplified99.8%
Taylor expanded in z around inf 59.7%
if 3.4000000000000001e121 < y Initial program 97.5%
*-commutative97.5%
associate-/l*99.6%
fma-define99.6%
sub-neg99.6%
+-commutative99.6%
neg-sub099.6%
associate-+l-99.6%
sub0-neg99.6%
distribute-frac-neg299.6%
distribute-neg-frac99.6%
metadata-eval99.6%
Simplified99.6%
Taylor expanded in y around inf 63.5%
Taylor expanded in t around 0 48.7%
Final simplification57.0%
(FPCore (x y z t a) :precision binary64 (if (<= y -7e+204) (* 60.0 (/ y t)) (if (<= y 2.5e+122) (* a 120.0) (* y (/ -60.0 z)))))
double code(double x, double y, double z, double t, double a) {
double tmp;
if (y <= -7e+204) {
tmp = 60.0 * (y / t);
} else if (y <= 2.5e+122) {
tmp = a * 120.0;
} else {
tmp = y * (-60.0 / z);
}
return tmp;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8) :: tmp
if (y <= (-7d+204)) then
tmp = 60.0d0 * (y / t)
else if (y <= 2.5d+122) then
tmp = a * 120.0d0
else
tmp = y * ((-60.0d0) / z)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a) {
double tmp;
if (y <= -7e+204) {
tmp = 60.0 * (y / t);
} else if (y <= 2.5e+122) {
tmp = a * 120.0;
} else {
tmp = y * (-60.0 / z);
}
return tmp;
}
def code(x, y, z, t, a): tmp = 0 if y <= -7e+204: tmp = 60.0 * (y / t) elif y <= 2.5e+122: tmp = a * 120.0 else: tmp = y * (-60.0 / z) return tmp
function code(x, y, z, t, a) tmp = 0.0 if (y <= -7e+204) tmp = Float64(60.0 * Float64(y / t)); elseif (y <= 2.5e+122) tmp = Float64(a * 120.0); else tmp = Float64(y * Float64(-60.0 / z)); end return tmp end
function tmp_2 = code(x, y, z, t, a) tmp = 0.0; if (y <= -7e+204) tmp = 60.0 * (y / t); elseif (y <= 2.5e+122) tmp = a * 120.0; else tmp = y * (-60.0 / z); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_] := If[LessEqual[y, -7e+204], N[(60.0 * N[(y / t), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 2.5e+122], N[(a * 120.0), $MachinePrecision], N[(y * N[(-60.0 / z), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -7 \cdot 10^{+204}:\\
\;\;\;\;60 \cdot \frac{y}{t}\\
\mathbf{elif}\;y \leq 2.5 \cdot 10^{+122}:\\
\;\;\;\;a \cdot 120\\
\mathbf{else}:\\
\;\;\;\;y \cdot \frac{-60}{z}\\
\end{array}
\end{array}
if y < -6.99999999999999978e204Initial program 99.7%
*-commutative99.7%
associate-/l*99.8%
fma-define99.8%
sub-neg99.8%
+-commutative99.8%
neg-sub099.8%
associate-+l-99.8%
sub0-neg99.8%
distribute-frac-neg299.8%
distribute-neg-frac99.8%
metadata-eval99.8%
Simplified99.8%
Taylor expanded in y around inf 90.2%
Taylor expanded in t around inf 51.7%
if -6.99999999999999978e204 < y < 2.49999999999999994e122Initial program 99.9%
associate-/l*99.8%
Simplified99.8%
Taylor expanded in z around inf 59.7%
if 2.49999999999999994e122 < y Initial program 97.5%
*-commutative97.5%
associate-/l*99.6%
fma-define99.6%
sub-neg99.6%
+-commutative99.6%
neg-sub099.6%
associate-+l-99.6%
sub0-neg99.6%
distribute-frac-neg299.6%
distribute-neg-frac99.6%
metadata-eval99.6%
Simplified99.6%
Taylor expanded in y around inf 63.5%
Taylor expanded in t around 0 48.7%
associate-*r/48.6%
clear-num48.6%
*-commutative48.6%
Applied egg-rr48.6%
associate-/r/48.6%
*-commutative48.6%
associate-*r*48.7%
metadata-eval48.7%
distribute-rgt-neg-in48.7%
*-commutative48.7%
associate-*r/48.7%
metadata-eval48.7%
distribute-neg-frac48.7%
metadata-eval48.7%
Simplified48.7%
Final simplification57.0%
(FPCore (x y z t a) :precision binary64 (+ (* 60.0 (/ (- x y) (- z t))) (* a 120.0)))
double code(double x, double y, double z, double t, double a) {
return (60.0 * ((x - y) / (z - t))) + (a * 120.0);
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
code = (60.0d0 * ((x - y) / (z - t))) + (a * 120.0d0)
end function
public static double code(double x, double y, double z, double t, double a) {
return (60.0 * ((x - y) / (z - t))) + (a * 120.0);
}
def code(x, y, z, t, a): return (60.0 * ((x - y) / (z - t))) + (a * 120.0)
function code(x, y, z, t, a) return Float64(Float64(60.0 * Float64(Float64(x - y) / Float64(z - t))) + Float64(a * 120.0)) end
function tmp = code(x, y, z, t, a) tmp = (60.0 * ((x - y) / (z - t))) + (a * 120.0); end
code[x_, y_, z_, t_, a_] := N[(N[(60.0 * N[(N[(x - y), $MachinePrecision] / N[(z - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a * 120.0), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
60 \cdot \frac{x - y}{z - t} + a \cdot 120
\end{array}
Initial program 99.4%
associate-/l*99.8%
Simplified99.8%
Final simplification99.8%
(FPCore (x y z t a) :precision binary64 (* a 120.0))
double code(double x, double y, double z, double t, double a) {
return a * 120.0;
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
code = a * 120.0d0
end function
public static double code(double x, double y, double z, double t, double a) {
return a * 120.0;
}
def code(x, y, z, t, a): return a * 120.0
function code(x, y, z, t, a) return Float64(a * 120.0) end
function tmp = code(x, y, z, t, a) tmp = a * 120.0; end
code[x_, y_, z_, t_, a_] := N[(a * 120.0), $MachinePrecision]
\begin{array}{l}
\\
a \cdot 120
\end{array}
Initial program 99.4%
associate-/l*99.8%
Simplified99.8%
Taylor expanded in z around inf 50.2%
Final simplification50.2%
(FPCore (x y z t a) :precision binary64 (+ (/ 60.0 (/ (- z t) (- x y))) (* a 120.0)))
double code(double x, double y, double z, double t, double a) {
return (60.0 / ((z - t) / (x - y))) + (a * 120.0);
}
real(8) function code(x, y, z, t, a)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
code = (60.0d0 / ((z - t) / (x - y))) + (a * 120.0d0)
end function
public static double code(double x, double y, double z, double t, double a) {
return (60.0 / ((z - t) / (x - y))) + (a * 120.0);
}
def code(x, y, z, t, a): return (60.0 / ((z - t) / (x - y))) + (a * 120.0)
function code(x, y, z, t, a) return Float64(Float64(60.0 / Float64(Float64(z - t) / Float64(x - y))) + Float64(a * 120.0)) end
function tmp = code(x, y, z, t, a) tmp = (60.0 / ((z - t) / (x - y))) + (a * 120.0); end
code[x_, y_, z_, t_, a_] := N[(N[(60.0 / N[(N[(z - t), $MachinePrecision] / N[(x - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a * 120.0), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{60}{\frac{z - t}{x - y}} + a \cdot 120
\end{array}
herbie shell --seed 2024095
(FPCore (x y z t a)
:name "Data.Colour.RGB:hslsv from colour-2.3.3, B"
:precision binary64
:alt
(+ (/ 60.0 (/ (- z t) (- x y))) (* a 120.0))
(+ (/ (* 60.0 (- x y)) (- z t)) (* a 120.0)))