
(FPCore (x y z t a b c i j k) :precision binary64 (- (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) (* (* j 27.0) k)))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
return (((((((x * 18.0) * y) * z) * t) - ((a * 4.0) * t)) + (b * c)) - ((x * 4.0) * i)) - ((j * 27.0) * k);
}
real(8) function code(x, y, z, t, a, b, c, i, j, k)
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), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
code = (((((((x * 18.0d0) * y) * z) * t) - ((a * 4.0d0) * t)) + (b * c)) - ((x * 4.0d0) * i)) - ((j * 27.0d0) * k)
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
return (((((((x * 18.0) * y) * z) * t) - ((a * 4.0) * t)) + (b * c)) - ((x * 4.0) * i)) - ((j * 27.0) * k);
}
def code(x, y, z, t, a, b, c, i, j, k): return (((((((x * 18.0) * y) * z) * t) - ((a * 4.0) * t)) + (b * c)) - ((x * 4.0) * i)) - ((j * 27.0) * k)
function code(x, y, z, t, a, b, c, i, j, k) return Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(x * 18.0) * y) * z) * t) - Float64(Float64(a * 4.0) * t)) + Float64(b * c)) - Float64(Float64(x * 4.0) * i)) - Float64(Float64(j * 27.0) * k)) end
function tmp = code(x, y, z, t, a, b, c, i, j, k) tmp = (((((((x * 18.0) * y) * z) * t) - ((a * 4.0) * t)) + (b * c)) - ((x * 4.0) * i)) - ((j * 27.0) * k); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := N[(N[(N[(N[(N[(N[(N[(N[(x * 18.0), $MachinePrecision] * y), $MachinePrecision] * z), $MachinePrecision] * t), $MachinePrecision] - N[(N[(a * 4.0), $MachinePrecision] * t), $MachinePrecision]), $MachinePrecision] + N[(b * c), $MachinePrecision]), $MachinePrecision] - N[(N[(x * 4.0), $MachinePrecision] * i), $MachinePrecision]), $MachinePrecision] - N[(N[(j * 27.0), $MachinePrecision] * k), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 24 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a b c i j k) :precision binary64 (- (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) (* (* j 27.0) k)))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
return (((((((x * 18.0) * y) * z) * t) - ((a * 4.0) * t)) + (b * c)) - ((x * 4.0) * i)) - ((j * 27.0) * k);
}
real(8) function code(x, y, z, t, a, b, c, i, j, k)
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), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
code = (((((((x * 18.0d0) * y) * z) * t) - ((a * 4.0d0) * t)) + (b * c)) - ((x * 4.0d0) * i)) - ((j * 27.0d0) * k)
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
return (((((((x * 18.0) * y) * z) * t) - ((a * 4.0) * t)) + (b * c)) - ((x * 4.0) * i)) - ((j * 27.0) * k);
}
def code(x, y, z, t, a, b, c, i, j, k): return (((((((x * 18.0) * y) * z) * t) - ((a * 4.0) * t)) + (b * c)) - ((x * 4.0) * i)) - ((j * 27.0) * k)
function code(x, y, z, t, a, b, c, i, j, k) return Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(x * 18.0) * y) * z) * t) - Float64(Float64(a * 4.0) * t)) + Float64(b * c)) - Float64(Float64(x * 4.0) * i)) - Float64(Float64(j * 27.0) * k)) end
function tmp = code(x, y, z, t, a, b, c, i, j, k) tmp = (((((((x * 18.0) * y) * z) * t) - ((a * 4.0) * t)) + (b * c)) - ((x * 4.0) * i)) - ((j * 27.0) * k); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := N[(N[(N[(N[(N[(N[(N[(N[(x * 18.0), $MachinePrecision] * y), $MachinePrecision] * z), $MachinePrecision] * t), $MachinePrecision] - N[(N[(a * 4.0), $MachinePrecision] * t), $MachinePrecision]), $MachinePrecision] + N[(b * c), $MachinePrecision]), $MachinePrecision] - N[(N[(x * 4.0), $MachinePrecision] * i), $MachinePrecision]), $MachinePrecision] - N[(N[(j * 27.0), $MachinePrecision] * k), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k
\end{array}
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1
(-
(+ (- (* (* (* (* x 18.0) y) z) t) (* t (* a 4.0))) (* b c))
(* (* x 4.0) i)))
(t_2 (* k (* j -27.0)))
(t_3
(fma
x
(fma 18.0 (* t (* y z)) (* i -4.0))
(fma t (* a -4.0) (fma b c t_2)))))
(if (<= t_1 (- INFINITY))
t_3
(if (<= t_1 4e+300)
(- t_1 (* k (* j 27.0)))
(if (<= t_1 INFINITY)
t_3
(- t_2 (* x (+ (* 4.0 i) (* -18.0 (* y (* z t)))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = ((((((x * 18.0) * y) * z) * t) - (t * (a * 4.0))) + (b * c)) - ((x * 4.0) * i);
double t_2 = k * (j * -27.0);
double t_3 = fma(x, fma(18.0, (t * (y * z)), (i * -4.0)), fma(t, (a * -4.0), fma(b, c, t_2)));
double tmp;
if (t_1 <= -((double) INFINITY)) {
tmp = t_3;
} else if (t_1 <= 4e+300) {
tmp = t_1 - (k * (j * 27.0));
} else if (t_1 <= ((double) INFINITY)) {
tmp = t_3;
} else {
tmp = t_2 - (x * ((4.0 * i) + (-18.0 * (y * (z * t)))));
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k) t_1 = Float64(Float64(Float64(Float64(Float64(Float64(Float64(x * 18.0) * y) * z) * t) - Float64(t * Float64(a * 4.0))) + Float64(b * c)) - Float64(Float64(x * 4.0) * i)) t_2 = Float64(k * Float64(j * -27.0)) t_3 = fma(x, fma(18.0, Float64(t * Float64(y * z)), Float64(i * -4.0)), fma(t, Float64(a * -4.0), fma(b, c, t_2))) tmp = 0.0 if (t_1 <= Float64(-Inf)) tmp = t_3; elseif (t_1 <= 4e+300) tmp = Float64(t_1 - Float64(k * Float64(j * 27.0))); elseif (t_1 <= Inf) tmp = t_3; else tmp = Float64(t_2 - Float64(x * Float64(Float64(4.0 * i) + Float64(-18.0 * Float64(y * Float64(z * t)))))); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := Block[{t$95$1 = N[(N[(N[(N[(N[(N[(N[(x * 18.0), $MachinePrecision] * y), $MachinePrecision] * z), $MachinePrecision] * t), $MachinePrecision] - N[(t * N[(a * 4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(b * c), $MachinePrecision]), $MachinePrecision] - N[(N[(x * 4.0), $MachinePrecision] * i), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(k * N[(j * -27.0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(x * N[(18.0 * N[(t * N[(y * z), $MachinePrecision]), $MachinePrecision] + N[(i * -4.0), $MachinePrecision]), $MachinePrecision] + N[(t * N[(a * -4.0), $MachinePrecision] + N[(b * c + t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, (-Infinity)], t$95$3, If[LessEqual[t$95$1, 4e+300], N[(t$95$1 - N[(k * N[(j * 27.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$1, Infinity], t$95$3, N[(t$95$2 - N[(x * N[(N[(4.0 * i), $MachinePrecision] + N[(-18.0 * N[(y * N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - t \cdot \left(a \cdot 4\right)\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\\
t_2 := k \cdot \left(j \cdot -27\right)\\
t_3 := \mathsf{fma}\left(x, \mathsf{fma}\left(18, t \cdot \left(y \cdot z\right), i \cdot -4\right), \mathsf{fma}\left(t, a \cdot -4, \mathsf{fma}\left(b, c, t_2\right)\right)\right)\\
\mathbf{if}\;t_1 \leq -\infty:\\
\;\;\;\;t_3\\
\mathbf{elif}\;t_1 \leq 4 \cdot 10^{+300}:\\
\;\;\;\;t_1 - k \cdot \left(j \cdot 27\right)\\
\mathbf{elif}\;t_1 \leq \infty:\\
\;\;\;\;t_3\\
\mathbf{else}:\\
\;\;\;\;t_2 - x \cdot \left(4 \cdot i + -18 \cdot \left(y \cdot \left(z \cdot t\right)\right)\right)\\
\end{array}
\end{array}
if (-.f64 (+.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 x 18) y) z) t) (*.f64 (*.f64 a 4) t)) (*.f64 b c)) (*.f64 (*.f64 x 4) i)) < -inf.0 or 4.0000000000000002e300 < (-.f64 (+.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 x 18) y) z) t) (*.f64 (*.f64 a 4) t)) (*.f64 b c)) (*.f64 (*.f64 x 4) i)) < +inf.0Initial program 79.6%
sub-neg79.6%
+-commutative79.6%
sub-neg79.6%
associate-+l+79.6%
associate-+r+79.6%
associate--l+79.6%
+-commutative79.6%
sub-neg79.6%
Simplified96.1%
if -inf.0 < (-.f64 (+.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 x 18) y) z) t) (*.f64 (*.f64 a 4) t)) (*.f64 b c)) (*.f64 (*.f64 x 4) i)) < 4.0000000000000002e300Initial program 99.8%
if +inf.0 < (-.f64 (+.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 x 18) y) z) t) (*.f64 (*.f64 a 4) t)) (*.f64 b c)) (*.f64 (*.f64 x 4) i)) Initial program 0.0%
sub-neg0.0%
*-commutative0.0%
distribute-rgt-neg-in0.0%
Simplified34.6%
Taylor expanded in x around -inf 80.9%
Final simplification96.4%
(FPCore (x y z t a b c i j k)
:precision binary64
(if (<= y -2.8e+224)
(-
(- (+ (* b c) (* 18.0 (* y (* t (* x z))))) (* 4.0 (* t a)))
(* k (* j 27.0)))
(fma
j
(* k -27.0)
(fma x (* i -4.0) (fma t (fma x (* 18.0 (* y z)) (* a -4.0)) (* b c))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double tmp;
if (y <= -2.8e+224) {
tmp = (((b * c) + (18.0 * (y * (t * (x * z))))) - (4.0 * (t * a))) - (k * (j * 27.0));
} else {
tmp = fma(j, (k * -27.0), fma(x, (i * -4.0), fma(t, fma(x, (18.0 * (y * z)), (a * -4.0)), (b * c))));
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k) tmp = 0.0 if (y <= -2.8e+224) tmp = Float64(Float64(Float64(Float64(b * c) + Float64(18.0 * Float64(y * Float64(t * Float64(x * z))))) - Float64(4.0 * Float64(t * a))) - Float64(k * Float64(j * 27.0))); else tmp = fma(j, Float64(k * -27.0), fma(x, Float64(i * -4.0), fma(t, fma(x, Float64(18.0 * Float64(y * z)), Float64(a * -4.0)), Float64(b * c)))); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := If[LessEqual[y, -2.8e+224], N[(N[(N[(N[(b * c), $MachinePrecision] + N[(18.0 * N[(y * N[(t * N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(4.0 * N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(k * N[(j * 27.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(j * N[(k * -27.0), $MachinePrecision] + N[(x * N[(i * -4.0), $MachinePrecision] + N[(t * N[(x * N[(18.0 * N[(y * z), $MachinePrecision]), $MachinePrecision] + N[(a * -4.0), $MachinePrecision]), $MachinePrecision] + N[(b * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -2.8 \cdot 10^{+224}:\\
\;\;\;\;\left(\left(b \cdot c + 18 \cdot \left(y \cdot \left(t \cdot \left(x \cdot z\right)\right)\right)\right) - 4 \cdot \left(t \cdot a\right)\right) - k \cdot \left(j \cdot 27\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(j, k \cdot -27, \mathsf{fma}\left(x, i \cdot -4, \mathsf{fma}\left(t, \mathsf{fma}\left(x, 18 \cdot \left(y \cdot z\right), a \cdot -4\right), b \cdot c\right)\right)\right)\\
\end{array}
\end{array}
if y < -2.80000000000000008e224Initial program 51.1%
Taylor expanded in i around 0 78.5%
if -2.80000000000000008e224 < y Initial program 83.8%
sub-neg83.8%
+-commutative83.8%
associate-*l*83.8%
distribute-rgt-neg-in83.8%
fma-def84.6%
*-commutative84.6%
distribute-rgt-neg-in84.6%
metadata-eval84.6%
sub-neg84.6%
+-commutative84.6%
associate-*l*84.6%
distribute-rgt-neg-in84.6%
Simplified89.6%
Final simplification88.8%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1
(-
(-
(+ (- (* (* (* (* x 18.0) y) z) t) (* t (* a 4.0))) (* b c))
(* (* x 4.0) i))
(* k (* j 27.0)))))
(if (<= t_1 INFINITY)
t_1
(- (* k (* j -27.0)) (* x (+ (* 4.0 i) (* -18.0 (* y (* z t)))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = (((((((x * 18.0) * y) * z) * t) - (t * (a * 4.0))) + (b * c)) - ((x * 4.0) * i)) - (k * (j * 27.0));
double tmp;
if (t_1 <= ((double) INFINITY)) {
tmp = t_1;
} else {
tmp = (k * (j * -27.0)) - (x * ((4.0 * i) + (-18.0 * (y * (z * t)))));
}
return tmp;
}
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = (((((((x * 18.0) * y) * z) * t) - (t * (a * 4.0))) + (b * c)) - ((x * 4.0) * i)) - (k * (j * 27.0));
double tmp;
if (t_1 <= Double.POSITIVE_INFINITY) {
tmp = t_1;
} else {
tmp = (k * (j * -27.0)) - (x * ((4.0 * i) + (-18.0 * (y * (z * t)))));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = (((((((x * 18.0) * y) * z) * t) - (t * (a * 4.0))) + (b * c)) - ((x * 4.0) * i)) - (k * (j * 27.0)) tmp = 0 if t_1 <= math.inf: tmp = t_1 else: tmp = (k * (j * -27.0)) - (x * ((4.0 * i) + (-18.0 * (y * (z * t))))) return tmp
function code(x, y, z, t, a, b, c, i, j, k) t_1 = Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(x * 18.0) * y) * z) * t) - Float64(t * Float64(a * 4.0))) + Float64(b * c)) - Float64(Float64(x * 4.0) * i)) - Float64(k * Float64(j * 27.0))) tmp = 0.0 if (t_1 <= Inf) tmp = t_1; else tmp = Float64(Float64(k * Float64(j * -27.0)) - Float64(x * Float64(Float64(4.0 * i) + Float64(-18.0 * Float64(y * Float64(z * t)))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k) t_1 = (((((((x * 18.0) * y) * z) * t) - (t * (a * 4.0))) + (b * c)) - ((x * 4.0) * i)) - (k * (j * 27.0)); tmp = 0.0; if (t_1 <= Inf) tmp = t_1; else tmp = (k * (j * -27.0)) - (x * ((4.0 * i) + (-18.0 * (y * (z * t))))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := Block[{t$95$1 = N[(N[(N[(N[(N[(N[(N[(N[(x * 18.0), $MachinePrecision] * y), $MachinePrecision] * z), $MachinePrecision] * t), $MachinePrecision] - N[(t * N[(a * 4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(b * c), $MachinePrecision]), $MachinePrecision] - N[(N[(x * 4.0), $MachinePrecision] * i), $MachinePrecision]), $MachinePrecision] - N[(k * N[(j * 27.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, Infinity], t$95$1, N[(N[(k * N[(j * -27.0), $MachinePrecision]), $MachinePrecision] - N[(x * N[(N[(4.0 * i), $MachinePrecision] + N[(-18.0 * N[(y * N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - t \cdot \left(a \cdot 4\right)\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - k \cdot \left(j \cdot 27\right)\\
\mathbf{if}\;t_1 \leq \infty:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;k \cdot \left(j \cdot -27\right) - x \cdot \left(4 \cdot i + -18 \cdot \left(y \cdot \left(z \cdot t\right)\right)\right)\\
\end{array}
\end{array}
if (-.f64 (-.f64 (+.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 x 18) y) z) t) (*.f64 (*.f64 a 4) t)) (*.f64 b c)) (*.f64 (*.f64 x 4) i)) (*.f64 (*.f64 j 27) k)) < +inf.0Initial program 93.9%
if +inf.0 < (-.f64 (-.f64 (+.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 x 18) y) z) t) (*.f64 (*.f64 a 4) t)) (*.f64 b c)) (*.f64 (*.f64 x 4) i)) (*.f64 (*.f64 j 27) k)) Initial program 0.0%
sub-neg0.0%
*-commutative0.0%
distribute-rgt-neg-in0.0%
Simplified26.5%
Taylor expanded in x around -inf 67.7%
Final simplification90.5%
(FPCore (x y z t a b c i j k)
:precision binary64
(if (or (<= x -1.65e+124) (not (<= x 3.6e+102)))
(- (* k (* j -27.0)) (* x (+ (* 4.0 i) (* -18.0 (* y (* z t))))))
(-
(+ (* b c) (* t (- (* 18.0 (* y (* x z))) (* a 4.0))))
(* 27.0 (* k j)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double tmp;
if ((x <= -1.65e+124) || !(x <= 3.6e+102)) {
tmp = (k * (j * -27.0)) - (x * ((4.0 * i) + (-18.0 * (y * (z * t)))));
} else {
tmp = ((b * c) + (t * ((18.0 * (y * (x * z))) - (a * 4.0)))) - (27.0 * (k * j));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k)
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), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8) :: tmp
if ((x <= (-1.65d+124)) .or. (.not. (x <= 3.6d+102))) then
tmp = (k * (j * (-27.0d0))) - (x * ((4.0d0 * i) + ((-18.0d0) * (y * (z * t)))))
else
tmp = ((b * c) + (t * ((18.0d0 * (y * (x * z))) - (a * 4.0d0)))) - (27.0d0 * (k * j))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double tmp;
if ((x <= -1.65e+124) || !(x <= 3.6e+102)) {
tmp = (k * (j * -27.0)) - (x * ((4.0 * i) + (-18.0 * (y * (z * t)))));
} else {
tmp = ((b * c) + (t * ((18.0 * (y * (x * z))) - (a * 4.0)))) - (27.0 * (k * j));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): tmp = 0 if (x <= -1.65e+124) or not (x <= 3.6e+102): tmp = (k * (j * -27.0)) - (x * ((4.0 * i) + (-18.0 * (y * (z * t))))) else: tmp = ((b * c) + (t * ((18.0 * (y * (x * z))) - (a * 4.0)))) - (27.0 * (k * j)) return tmp
function code(x, y, z, t, a, b, c, i, j, k) tmp = 0.0 if ((x <= -1.65e+124) || !(x <= 3.6e+102)) tmp = Float64(Float64(k * Float64(j * -27.0)) - Float64(x * Float64(Float64(4.0 * i) + Float64(-18.0 * Float64(y * Float64(z * t)))))); else tmp = Float64(Float64(Float64(b * c) + Float64(t * Float64(Float64(18.0 * Float64(y * Float64(x * z))) - Float64(a * 4.0)))) - Float64(27.0 * Float64(k * j))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k) tmp = 0.0; if ((x <= -1.65e+124) || ~((x <= 3.6e+102))) tmp = (k * (j * -27.0)) - (x * ((4.0 * i) + (-18.0 * (y * (z * t))))); else tmp = ((b * c) + (t * ((18.0 * (y * (x * z))) - (a * 4.0)))) - (27.0 * (k * j)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := If[Or[LessEqual[x, -1.65e+124], N[Not[LessEqual[x, 3.6e+102]], $MachinePrecision]], N[(N[(k * N[(j * -27.0), $MachinePrecision]), $MachinePrecision] - N[(x * N[(N[(4.0 * i), $MachinePrecision] + N[(-18.0 * N[(y * N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[(b * c), $MachinePrecision] + N[(t * N[(N[(18.0 * N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(a * 4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -1.65 \cdot 10^{+124} \lor \neg \left(x \leq 3.6 \cdot 10^{+102}\right):\\
\;\;\;\;k \cdot \left(j \cdot -27\right) - x \cdot \left(4 \cdot i + -18 \cdot \left(y \cdot \left(z \cdot t\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(b \cdot c + t \cdot \left(18 \cdot \left(y \cdot \left(x \cdot z\right)\right) - a \cdot 4\right)\right) - 27 \cdot \left(k \cdot j\right)\\
\end{array}
\end{array}
if x < -1.65000000000000007e124 or 3.6000000000000002e102 < x Initial program 61.9%
sub-neg61.9%
*-commutative61.9%
distribute-rgt-neg-in61.9%
Simplified74.9%
Taylor expanded in x around -inf 86.9%
if -1.65000000000000007e124 < x < 3.6000000000000002e102Initial program 92.1%
sub-neg92.1%
associate-+l-92.1%
sub-neg92.1%
sub-neg92.1%
distribute-rgt-out--93.3%
associate-*l*88.1%
distribute-lft-neg-in88.1%
cancel-sign-sub88.1%
associate-*l*88.1%
associate-*l*88.1%
Simplified88.1%
Taylor expanded in i around 0 91.0%
Final simplification89.6%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (* -4.0 (* t a)))
(t_2 (+ (* b c) (* t (- (* 18.0 (* y (* x z))) (* a 4.0)))))
(t_3 (* 27.0 (* k j))))
(if (<= t -1.05e+160)
t_2
(if (<= t -2.15e+136)
(+ t_1 (* -27.0 (* k j)))
(if (<= t -4.2e+80)
(- (+ (* b c) t_1) t_3)
(if (<= t 1.9e-43) (- (* b c) (+ t_3 (* 4.0 (* x i)))) t_2))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = -4.0 * (t * a);
double t_2 = (b * c) + (t * ((18.0 * (y * (x * z))) - (a * 4.0)));
double t_3 = 27.0 * (k * j);
double tmp;
if (t <= -1.05e+160) {
tmp = t_2;
} else if (t <= -2.15e+136) {
tmp = t_1 + (-27.0 * (k * j));
} else if (t <= -4.2e+80) {
tmp = ((b * c) + t_1) - t_3;
} else if (t <= 1.9e-43) {
tmp = (b * c) - (t_3 + (4.0 * (x * i)));
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k)
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), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = (-4.0d0) * (t * a)
t_2 = (b * c) + (t * ((18.0d0 * (y * (x * z))) - (a * 4.0d0)))
t_3 = 27.0d0 * (k * j)
if (t <= (-1.05d+160)) then
tmp = t_2
else if (t <= (-2.15d+136)) then
tmp = t_1 + ((-27.0d0) * (k * j))
else if (t <= (-4.2d+80)) then
tmp = ((b * c) + t_1) - t_3
else if (t <= 1.9d-43) then
tmp = (b * c) - (t_3 + (4.0d0 * (x * i)))
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 b, double c, double i, double j, double k) {
double t_1 = -4.0 * (t * a);
double t_2 = (b * c) + (t * ((18.0 * (y * (x * z))) - (a * 4.0)));
double t_3 = 27.0 * (k * j);
double tmp;
if (t <= -1.05e+160) {
tmp = t_2;
} else if (t <= -2.15e+136) {
tmp = t_1 + (-27.0 * (k * j));
} else if (t <= -4.2e+80) {
tmp = ((b * c) + t_1) - t_3;
} else if (t <= 1.9e-43) {
tmp = (b * c) - (t_3 + (4.0 * (x * i)));
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = -4.0 * (t * a) t_2 = (b * c) + (t * ((18.0 * (y * (x * z))) - (a * 4.0))) t_3 = 27.0 * (k * j) tmp = 0 if t <= -1.05e+160: tmp = t_2 elif t <= -2.15e+136: tmp = t_1 + (-27.0 * (k * j)) elif t <= -4.2e+80: tmp = ((b * c) + t_1) - t_3 elif t <= 1.9e-43: tmp = (b * c) - (t_3 + (4.0 * (x * i))) else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j, k) t_1 = Float64(-4.0 * Float64(t * a)) t_2 = Float64(Float64(b * c) + Float64(t * Float64(Float64(18.0 * Float64(y * Float64(x * z))) - Float64(a * 4.0)))) t_3 = Float64(27.0 * Float64(k * j)) tmp = 0.0 if (t <= -1.05e+160) tmp = t_2; elseif (t <= -2.15e+136) tmp = Float64(t_1 + Float64(-27.0 * Float64(k * j))); elseif (t <= -4.2e+80) tmp = Float64(Float64(Float64(b * c) + t_1) - t_3); elseif (t <= 1.9e-43) tmp = Float64(Float64(b * c) - Float64(t_3 + Float64(4.0 * Float64(x * i)))); else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k) t_1 = -4.0 * (t * a); t_2 = (b * c) + (t * ((18.0 * (y * (x * z))) - (a * 4.0))); t_3 = 27.0 * (k * j); tmp = 0.0; if (t <= -1.05e+160) tmp = t_2; elseif (t <= -2.15e+136) tmp = t_1 + (-27.0 * (k * j)); elseif (t <= -4.2e+80) tmp = ((b * c) + t_1) - t_3; elseif (t <= 1.9e-43) tmp = (b * c) - (t_3 + (4.0 * (x * i))); else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := Block[{t$95$1 = N[(-4.0 * N[(t * a), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(b * c), $MachinePrecision] + N[(t * N[(N[(18.0 * N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(a * 4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -1.05e+160], t$95$2, If[LessEqual[t, -2.15e+136], N[(t$95$1 + N[(-27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, -4.2e+80], N[(N[(N[(b * c), $MachinePrecision] + t$95$1), $MachinePrecision] - t$95$3), $MachinePrecision], If[LessEqual[t, 1.9e-43], N[(N[(b * c), $MachinePrecision] - N[(t$95$3 + N[(4.0 * N[(x * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := -4 \cdot \left(t \cdot a\right)\\
t_2 := b \cdot c + t \cdot \left(18 \cdot \left(y \cdot \left(x \cdot z\right)\right) - a \cdot 4\right)\\
t_3 := 27 \cdot \left(k \cdot j\right)\\
\mathbf{if}\;t \leq -1.05 \cdot 10^{+160}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;t \leq -2.15 \cdot 10^{+136}:\\
\;\;\;\;t_1 + -27 \cdot \left(k \cdot j\right)\\
\mathbf{elif}\;t \leq -4.2 \cdot 10^{+80}:\\
\;\;\;\;\left(b \cdot c + t_1\right) - t_3\\
\mathbf{elif}\;t \leq 1.9 \cdot 10^{-43}:\\
\;\;\;\;b \cdot c - \left(t_3 + 4 \cdot \left(x \cdot i\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if t < -1.04999999999999998e160 or 1.89999999999999985e-43 < t Initial program 80.9%
sub-neg80.9%
associate-+l-80.9%
sub-neg80.9%
sub-neg80.9%
distribute-rgt-out--85.0%
associate-*l*84.3%
distribute-lft-neg-in84.3%
cancel-sign-sub84.3%
associate-*l*84.3%
associate-*l*84.3%
Simplified84.3%
Taylor expanded in i around 0 90.1%
Taylor expanded in k around 0 77.3%
if -1.04999999999999998e160 < t < -2.1499999999999999e136Initial program 40.0%
sub-neg40.0%
+-commutative40.0%
associate-*l*40.0%
distribute-rgt-neg-in40.0%
fma-def40.0%
*-commutative40.0%
distribute-rgt-neg-in40.0%
metadata-eval40.0%
sub-neg40.0%
+-commutative40.0%
associate-*l*40.0%
distribute-rgt-neg-in40.0%
Simplified40.0%
Taylor expanded in b around 0 100.0%
Taylor expanded in x around 0 100.0%
if -2.1499999999999999e136 < t < -4.20000000000000003e80Initial program 99.9%
sub-neg99.9%
associate-+l-99.9%
sub-neg99.9%
sub-neg99.9%
distribute-rgt-out--99.9%
associate-*l*95.3%
distribute-lft-neg-in95.3%
cancel-sign-sub95.3%
associate-*l*95.3%
associate-*l*95.3%
Simplified95.3%
Taylor expanded in x around 0 74.6%
if -4.20000000000000003e80 < t < 1.89999999999999985e-43Initial program 80.8%
sub-neg80.8%
associate-+l-80.8%
sub-neg80.8%
sub-neg80.8%
distribute-rgt-out--80.8%
associate-*l*82.5%
distribute-lft-neg-in82.5%
cancel-sign-sub82.5%
associate-*l*82.5%
associate-*l*82.5%
Simplified82.5%
Taylor expanded in t around 0 80.6%
Final simplification79.0%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (* 27.0 (* k j)))
(t_2 (* x (- (* 18.0 (* y (* z t))) (* 4.0 i)))))
(if (<= x -6.4e+106)
t_2
(if (<= x 1.32e-31)
(- (+ (* b c) (* -4.0 (* t a))) t_1)
(if (<= x 1.3e+87)
(- (+ (* b c) (* 18.0 (* y (* t (* x z))))) t_1)
t_2)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = 27.0 * (k * j);
double t_2 = x * ((18.0 * (y * (z * t))) - (4.0 * i));
double tmp;
if (x <= -6.4e+106) {
tmp = t_2;
} else if (x <= 1.32e-31) {
tmp = ((b * c) + (-4.0 * (t * a))) - t_1;
} else if (x <= 1.3e+87) {
tmp = ((b * c) + (18.0 * (y * (t * (x * z))))) - t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k)
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), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = 27.0d0 * (k * j)
t_2 = x * ((18.0d0 * (y * (z * t))) - (4.0d0 * i))
if (x <= (-6.4d+106)) then
tmp = t_2
else if (x <= 1.32d-31) then
tmp = ((b * c) + ((-4.0d0) * (t * a))) - t_1
else if (x <= 1.3d+87) then
tmp = ((b * c) + (18.0d0 * (y * (t * (x * z))))) - t_1
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = 27.0 * (k * j);
double t_2 = x * ((18.0 * (y * (z * t))) - (4.0 * i));
double tmp;
if (x <= -6.4e+106) {
tmp = t_2;
} else if (x <= 1.32e-31) {
tmp = ((b * c) + (-4.0 * (t * a))) - t_1;
} else if (x <= 1.3e+87) {
tmp = ((b * c) + (18.0 * (y * (t * (x * z))))) - t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = 27.0 * (k * j) t_2 = x * ((18.0 * (y * (z * t))) - (4.0 * i)) tmp = 0 if x <= -6.4e+106: tmp = t_2 elif x <= 1.32e-31: tmp = ((b * c) + (-4.0 * (t * a))) - t_1 elif x <= 1.3e+87: tmp = ((b * c) + (18.0 * (y * (t * (x * z))))) - t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j, k) t_1 = Float64(27.0 * Float64(k * j)) t_2 = Float64(x * Float64(Float64(18.0 * Float64(y * Float64(z * t))) - Float64(4.0 * i))) tmp = 0.0 if (x <= -6.4e+106) tmp = t_2; elseif (x <= 1.32e-31) tmp = Float64(Float64(Float64(b * c) + Float64(-4.0 * Float64(t * a))) - t_1); elseif (x <= 1.3e+87) tmp = Float64(Float64(Float64(b * c) + Float64(18.0 * Float64(y * Float64(t * Float64(x * z))))) - t_1); else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k) t_1 = 27.0 * (k * j); t_2 = x * ((18.0 * (y * (z * t))) - (4.0 * i)); tmp = 0.0; if (x <= -6.4e+106) tmp = t_2; elseif (x <= 1.32e-31) tmp = ((b * c) + (-4.0 * (t * a))) - t_1; elseif (x <= 1.3e+87) tmp = ((b * c) + (18.0 * (y * (t * (x * z))))) - t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := Block[{t$95$1 = N[(27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x * N[(N[(18.0 * N[(y * N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(4.0 * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -6.4e+106], t$95$2, If[LessEqual[x, 1.32e-31], N[(N[(N[(b * c), $MachinePrecision] + N[(-4.0 * N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - t$95$1), $MachinePrecision], If[LessEqual[x, 1.3e+87], N[(N[(N[(b * c), $MachinePrecision] + N[(18.0 * N[(y * N[(t * N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - t$95$1), $MachinePrecision], t$95$2]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 27 \cdot \left(k \cdot j\right)\\
t_2 := x \cdot \left(18 \cdot \left(y \cdot \left(z \cdot t\right)\right) - 4 \cdot i\right)\\
\mathbf{if}\;x \leq -6.4 \cdot 10^{+106}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;x \leq 1.32 \cdot 10^{-31}:\\
\;\;\;\;\left(b \cdot c + -4 \cdot \left(t \cdot a\right)\right) - t_1\\
\mathbf{elif}\;x \leq 1.3 \cdot 10^{+87}:\\
\;\;\;\;\left(b \cdot c + 18 \cdot \left(y \cdot \left(t \cdot \left(x \cdot z\right)\right)\right)\right) - t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if x < -6.3999999999999996e106 or 1.29999999999999999e87 < x Initial program 63.5%
sub-neg63.5%
associate-+l-63.5%
sub-neg63.5%
sub-neg63.5%
distribute-rgt-out--66.7%
associate-*l*76.0%
distribute-lft-neg-in76.0%
cancel-sign-sub76.0%
associate-*l*76.0%
associate-*l*76.0%
Simplified76.0%
Taylor expanded in x around inf 75.0%
if -6.3999999999999996e106 < x < 1.3200000000000001e-31Initial program 93.0%
sub-neg93.0%
associate-+l-93.0%
sub-neg93.0%
sub-neg93.0%
distribute-rgt-out--94.5%
associate-*l*87.2%
distribute-lft-neg-in87.2%
cancel-sign-sub87.2%
associate-*l*87.2%
associate-*l*87.2%
Simplified87.2%
Taylor expanded in x around 0 80.4%
if 1.3200000000000001e-31 < x < 1.29999999999999999e87Initial program 87.1%
sub-neg87.1%
associate-+l-87.1%
sub-neg87.1%
sub-neg87.1%
distribute-rgt-out--87.1%
associate-*l*90.1%
distribute-lft-neg-in90.1%
cancel-sign-sub90.1%
associate-*l*90.1%
associate-*l*90.2%
Simplified90.2%
Taylor expanded in i around 0 90.3%
Taylor expanded in y around inf 87.1%
Final simplification79.2%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (* 27.0 (* k j)))
(t_2
(- (* k (* j -27.0)) (* x (+ (* 4.0 i) (* -18.0 (* y (* z t))))))))
(if (<= x -8.5e+20)
t_2
(if (<= x 3.8e-33)
(- (+ (* b c) (* -4.0 (* t a))) t_1)
(if (<= x 3.9e+67)
(- (+ (* b c) (* 18.0 (* y (* t (* x z))))) t_1)
t_2)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = 27.0 * (k * j);
double t_2 = (k * (j * -27.0)) - (x * ((4.0 * i) + (-18.0 * (y * (z * t)))));
double tmp;
if (x <= -8.5e+20) {
tmp = t_2;
} else if (x <= 3.8e-33) {
tmp = ((b * c) + (-4.0 * (t * a))) - t_1;
} else if (x <= 3.9e+67) {
tmp = ((b * c) + (18.0 * (y * (t * (x * z))))) - t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k)
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), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = 27.0d0 * (k * j)
t_2 = (k * (j * (-27.0d0))) - (x * ((4.0d0 * i) + ((-18.0d0) * (y * (z * t)))))
if (x <= (-8.5d+20)) then
tmp = t_2
else if (x <= 3.8d-33) then
tmp = ((b * c) + ((-4.0d0) * (t * a))) - t_1
else if (x <= 3.9d+67) then
tmp = ((b * c) + (18.0d0 * (y * (t * (x * z))))) - t_1
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = 27.0 * (k * j);
double t_2 = (k * (j * -27.0)) - (x * ((4.0 * i) + (-18.0 * (y * (z * t)))));
double tmp;
if (x <= -8.5e+20) {
tmp = t_2;
} else if (x <= 3.8e-33) {
tmp = ((b * c) + (-4.0 * (t * a))) - t_1;
} else if (x <= 3.9e+67) {
tmp = ((b * c) + (18.0 * (y * (t * (x * z))))) - t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = 27.0 * (k * j) t_2 = (k * (j * -27.0)) - (x * ((4.0 * i) + (-18.0 * (y * (z * t))))) tmp = 0 if x <= -8.5e+20: tmp = t_2 elif x <= 3.8e-33: tmp = ((b * c) + (-4.0 * (t * a))) - t_1 elif x <= 3.9e+67: tmp = ((b * c) + (18.0 * (y * (t * (x * z))))) - t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j, k) t_1 = Float64(27.0 * Float64(k * j)) t_2 = Float64(Float64(k * Float64(j * -27.0)) - Float64(x * Float64(Float64(4.0 * i) + Float64(-18.0 * Float64(y * Float64(z * t)))))) tmp = 0.0 if (x <= -8.5e+20) tmp = t_2; elseif (x <= 3.8e-33) tmp = Float64(Float64(Float64(b * c) + Float64(-4.0 * Float64(t * a))) - t_1); elseif (x <= 3.9e+67) tmp = Float64(Float64(Float64(b * c) + Float64(18.0 * Float64(y * Float64(t * Float64(x * z))))) - t_1); else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k) t_1 = 27.0 * (k * j); t_2 = (k * (j * -27.0)) - (x * ((4.0 * i) + (-18.0 * (y * (z * t))))); tmp = 0.0; if (x <= -8.5e+20) tmp = t_2; elseif (x <= 3.8e-33) tmp = ((b * c) + (-4.0 * (t * a))) - t_1; elseif (x <= 3.9e+67) tmp = ((b * c) + (18.0 * (y * (t * (x * z))))) - t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := Block[{t$95$1 = N[(27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(k * N[(j * -27.0), $MachinePrecision]), $MachinePrecision] - N[(x * N[(N[(4.0 * i), $MachinePrecision] + N[(-18.0 * N[(y * N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -8.5e+20], t$95$2, If[LessEqual[x, 3.8e-33], N[(N[(N[(b * c), $MachinePrecision] + N[(-4.0 * N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - t$95$1), $MachinePrecision], If[LessEqual[x, 3.9e+67], N[(N[(N[(b * c), $MachinePrecision] + N[(18.0 * N[(y * N[(t * N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - t$95$1), $MachinePrecision], t$95$2]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 27 \cdot \left(k \cdot j\right)\\
t_2 := k \cdot \left(j \cdot -27\right) - x \cdot \left(4 \cdot i + -18 \cdot \left(y \cdot \left(z \cdot t\right)\right)\right)\\
\mathbf{if}\;x \leq -8.5 \cdot 10^{+20}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;x \leq 3.8 \cdot 10^{-33}:\\
\;\;\;\;\left(b \cdot c + -4 \cdot \left(t \cdot a\right)\right) - t_1\\
\mathbf{elif}\;x \leq 3.9 \cdot 10^{+67}:\\
\;\;\;\;\left(b \cdot c + 18 \cdot \left(y \cdot \left(t \cdot \left(x \cdot z\right)\right)\right)\right) - t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if x < -8.5e20 or 3.90000000000000007e67 < x Initial program 68.4%
sub-neg68.4%
*-commutative68.4%
distribute-rgt-neg-in68.4%
Simplified78.6%
Taylor expanded in x around -inf 84.6%
if -8.5e20 < x < 3.79999999999999994e-33Initial program 93.8%
sub-neg93.8%
associate-+l-93.8%
sub-neg93.8%
sub-neg93.8%
distribute-rgt-out--95.5%
associate-*l*87.2%
distribute-lft-neg-in87.2%
cancel-sign-sub87.2%
associate-*l*87.2%
associate-*l*87.2%
Simplified87.2%
Taylor expanded in x around 0 81.9%
if 3.79999999999999994e-33 < x < 3.90000000000000007e67Initial program 84.7%
sub-neg84.7%
associate-+l-84.7%
sub-neg84.7%
sub-neg84.7%
distribute-rgt-out--84.7%
associate-*l*88.2%
distribute-lft-neg-in88.2%
cancel-sign-sub88.2%
associate-*l*88.2%
associate-*l*88.3%
Simplified88.3%
Taylor expanded in i around 0 88.4%
Taylor expanded in y around inf 88.5%
Final simplification83.8%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (* 18.0 (* (* x z) (* y t)))))
(if (<= j -3.8e+170)
(* k (* j -27.0))
(if (<= j -1.15e-75)
t_1
(if (<= j -1.25e-256)
(* b c)
(if (<= j 6.8e-251)
t_1
(if (<= j 1.46e-174)
(* b c)
(if (<= j 1.8e-138)
(* i (* x -4.0))
(if (<= j 1.85e-6) t_1 (* -27.0 (* k j)))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = 18.0 * ((x * z) * (y * t));
double tmp;
if (j <= -3.8e+170) {
tmp = k * (j * -27.0);
} else if (j <= -1.15e-75) {
tmp = t_1;
} else if (j <= -1.25e-256) {
tmp = b * c;
} else if (j <= 6.8e-251) {
tmp = t_1;
} else if (j <= 1.46e-174) {
tmp = b * c;
} else if (j <= 1.8e-138) {
tmp = i * (x * -4.0);
} else if (j <= 1.85e-6) {
tmp = t_1;
} else {
tmp = -27.0 * (k * j);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k)
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), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = 18.0d0 * ((x * z) * (y * t))
if (j <= (-3.8d+170)) then
tmp = k * (j * (-27.0d0))
else if (j <= (-1.15d-75)) then
tmp = t_1
else if (j <= (-1.25d-256)) then
tmp = b * c
else if (j <= 6.8d-251) then
tmp = t_1
else if (j <= 1.46d-174) then
tmp = b * c
else if (j <= 1.8d-138) then
tmp = i * (x * (-4.0d0))
else if (j <= 1.85d-6) then
tmp = t_1
else
tmp = (-27.0d0) * (k * j)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = 18.0 * ((x * z) * (y * t));
double tmp;
if (j <= -3.8e+170) {
tmp = k * (j * -27.0);
} else if (j <= -1.15e-75) {
tmp = t_1;
} else if (j <= -1.25e-256) {
tmp = b * c;
} else if (j <= 6.8e-251) {
tmp = t_1;
} else if (j <= 1.46e-174) {
tmp = b * c;
} else if (j <= 1.8e-138) {
tmp = i * (x * -4.0);
} else if (j <= 1.85e-6) {
tmp = t_1;
} else {
tmp = -27.0 * (k * j);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = 18.0 * ((x * z) * (y * t)) tmp = 0 if j <= -3.8e+170: tmp = k * (j * -27.0) elif j <= -1.15e-75: tmp = t_1 elif j <= -1.25e-256: tmp = b * c elif j <= 6.8e-251: tmp = t_1 elif j <= 1.46e-174: tmp = b * c elif j <= 1.8e-138: tmp = i * (x * -4.0) elif j <= 1.85e-6: tmp = t_1 else: tmp = -27.0 * (k * j) return tmp
function code(x, y, z, t, a, b, c, i, j, k) t_1 = Float64(18.0 * Float64(Float64(x * z) * Float64(y * t))) tmp = 0.0 if (j <= -3.8e+170) tmp = Float64(k * Float64(j * -27.0)); elseif (j <= -1.15e-75) tmp = t_1; elseif (j <= -1.25e-256) tmp = Float64(b * c); elseif (j <= 6.8e-251) tmp = t_1; elseif (j <= 1.46e-174) tmp = Float64(b * c); elseif (j <= 1.8e-138) tmp = Float64(i * Float64(x * -4.0)); elseif (j <= 1.85e-6) tmp = t_1; else tmp = Float64(-27.0 * Float64(k * j)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k) t_1 = 18.0 * ((x * z) * (y * t)); tmp = 0.0; if (j <= -3.8e+170) tmp = k * (j * -27.0); elseif (j <= -1.15e-75) tmp = t_1; elseif (j <= -1.25e-256) tmp = b * c; elseif (j <= 6.8e-251) tmp = t_1; elseif (j <= 1.46e-174) tmp = b * c; elseif (j <= 1.8e-138) tmp = i * (x * -4.0); elseif (j <= 1.85e-6) tmp = t_1; else tmp = -27.0 * (k * j); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := Block[{t$95$1 = N[(18.0 * N[(N[(x * z), $MachinePrecision] * N[(y * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -3.8e+170], N[(k * N[(j * -27.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -1.15e-75], t$95$1, If[LessEqual[j, -1.25e-256], N[(b * c), $MachinePrecision], If[LessEqual[j, 6.8e-251], t$95$1, If[LessEqual[j, 1.46e-174], N[(b * c), $MachinePrecision], If[LessEqual[j, 1.8e-138], N[(i * N[(x * -4.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.85e-6], t$95$1, N[(-27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 18 \cdot \left(\left(x \cdot z\right) \cdot \left(y \cdot t\right)\right)\\
\mathbf{if}\;j \leq -3.8 \cdot 10^{+170}:\\
\;\;\;\;k \cdot \left(j \cdot -27\right)\\
\mathbf{elif}\;j \leq -1.15 \cdot 10^{-75}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq -1.25 \cdot 10^{-256}:\\
\;\;\;\;b \cdot c\\
\mathbf{elif}\;j \leq 6.8 \cdot 10^{-251}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq 1.46 \cdot 10^{-174}:\\
\;\;\;\;b \cdot c\\
\mathbf{elif}\;j \leq 1.8 \cdot 10^{-138}:\\
\;\;\;\;i \cdot \left(x \cdot -4\right)\\
\mathbf{elif}\;j \leq 1.85 \cdot 10^{-6}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;-27 \cdot \left(k \cdot j\right)\\
\end{array}
\end{array}
if j < -3.7999999999999998e170Initial program 81.6%
sub-neg81.6%
+-commutative81.6%
sub-neg81.6%
associate-+l+81.6%
associate-+r+81.6%
associate--l+81.6%
+-commutative81.6%
sub-neg81.6%
Simplified86.8%
Taylor expanded in k around inf 69.0%
associate-*r*69.0%
*-commutative69.0%
associate-*r*69.0%
Simplified69.0%
if -3.7999999999999998e170 < j < -1.15e-75 or -1.25e-256 < j < 6.80000000000000034e-251 or 1.80000000000000009e-138 < j < 1.8500000000000001e-6Initial program 81.2%
sub-neg81.2%
+-commutative81.2%
sub-neg81.2%
associate-+l+81.2%
associate-+r+81.2%
associate--l+81.2%
+-commutative81.2%
sub-neg81.2%
Simplified87.4%
Taylor expanded in y around inf 32.9%
associate-*r*34.1%
*-commutative34.1%
associate-*l*31.5%
Simplified31.5%
Taylor expanded in y around 0 32.9%
associate-*r*33.9%
Simplified33.9%
if -1.15e-75 < j < -1.25e-256 or 6.80000000000000034e-251 < j < 1.4600000000000001e-174Initial program 85.2%
sub-neg85.2%
+-commutative85.2%
sub-neg85.2%
associate-+l+85.2%
associate-+r+85.2%
associate--l+85.2%
+-commutative85.2%
sub-neg85.2%
Simplified87.9%
Taylor expanded in b around inf 33.6%
if 1.4600000000000001e-174 < j < 1.80000000000000009e-138Initial program 90.4%
sub-neg90.4%
+-commutative90.4%
sub-neg90.4%
associate-+l+90.4%
associate-+r+90.4%
associate--l+90.4%
+-commutative90.4%
sub-neg90.4%
Simplified90.7%
Taylor expanded in i around inf 40.8%
*-commutative40.8%
associate-*r*40.8%
*-commutative40.8%
Simplified40.8%
if 1.8500000000000001e-6 < j Initial program 78.5%
sub-neg78.5%
+-commutative78.5%
sub-neg78.5%
associate-+l+78.5%
associate-+r+78.5%
associate--l+78.5%
+-commutative78.5%
sub-neg78.5%
Simplified91.7%
Taylor expanded in k around inf 37.5%
Final simplification40.4%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (- (* b c) (* 27.0 (* k j))))
(t_2 (* -27.0 (* k j)))
(t_3 (+ (* -4.0 (* t a)) t_2)))
(if (<= c -1.1e-100)
t_1
(if (<= c 1e-275)
t_3
(if (<= c 9.5e-262)
(* 18.0 (* (* x z) (* y t)))
(if (<= c 8.1e-230)
t_3
(if (<= c 3.7e-169)
(* 18.0 (* y (* t (* x z))))
(if (<= c 2.5e+140) (+ t_2 (* -4.0 (* x i))) t_1))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = (b * c) - (27.0 * (k * j));
double t_2 = -27.0 * (k * j);
double t_3 = (-4.0 * (t * a)) + t_2;
double tmp;
if (c <= -1.1e-100) {
tmp = t_1;
} else if (c <= 1e-275) {
tmp = t_3;
} else if (c <= 9.5e-262) {
tmp = 18.0 * ((x * z) * (y * t));
} else if (c <= 8.1e-230) {
tmp = t_3;
} else if (c <= 3.7e-169) {
tmp = 18.0 * (y * (t * (x * z)));
} else if (c <= 2.5e+140) {
tmp = t_2 + (-4.0 * (x * i));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k)
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), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = (b * c) - (27.0d0 * (k * j))
t_2 = (-27.0d0) * (k * j)
t_3 = ((-4.0d0) * (t * a)) + t_2
if (c <= (-1.1d-100)) then
tmp = t_1
else if (c <= 1d-275) then
tmp = t_3
else if (c <= 9.5d-262) then
tmp = 18.0d0 * ((x * z) * (y * t))
else if (c <= 8.1d-230) then
tmp = t_3
else if (c <= 3.7d-169) then
tmp = 18.0d0 * (y * (t * (x * z)))
else if (c <= 2.5d+140) then
tmp = t_2 + ((-4.0d0) * (x * i))
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 b, double c, double i, double j, double k) {
double t_1 = (b * c) - (27.0 * (k * j));
double t_2 = -27.0 * (k * j);
double t_3 = (-4.0 * (t * a)) + t_2;
double tmp;
if (c <= -1.1e-100) {
tmp = t_1;
} else if (c <= 1e-275) {
tmp = t_3;
} else if (c <= 9.5e-262) {
tmp = 18.0 * ((x * z) * (y * t));
} else if (c <= 8.1e-230) {
tmp = t_3;
} else if (c <= 3.7e-169) {
tmp = 18.0 * (y * (t * (x * z)));
} else if (c <= 2.5e+140) {
tmp = t_2 + (-4.0 * (x * i));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = (b * c) - (27.0 * (k * j)) t_2 = -27.0 * (k * j) t_3 = (-4.0 * (t * a)) + t_2 tmp = 0 if c <= -1.1e-100: tmp = t_1 elif c <= 1e-275: tmp = t_3 elif c <= 9.5e-262: tmp = 18.0 * ((x * z) * (y * t)) elif c <= 8.1e-230: tmp = t_3 elif c <= 3.7e-169: tmp = 18.0 * (y * (t * (x * z))) elif c <= 2.5e+140: tmp = t_2 + (-4.0 * (x * i)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j, k) t_1 = Float64(Float64(b * c) - Float64(27.0 * Float64(k * j))) t_2 = Float64(-27.0 * Float64(k * j)) t_3 = Float64(Float64(-4.0 * Float64(t * a)) + t_2) tmp = 0.0 if (c <= -1.1e-100) tmp = t_1; elseif (c <= 1e-275) tmp = t_3; elseif (c <= 9.5e-262) tmp = Float64(18.0 * Float64(Float64(x * z) * Float64(y * t))); elseif (c <= 8.1e-230) tmp = t_3; elseif (c <= 3.7e-169) tmp = Float64(18.0 * Float64(y * Float64(t * Float64(x * z)))); elseif (c <= 2.5e+140) tmp = Float64(t_2 + Float64(-4.0 * Float64(x * i))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k) t_1 = (b * c) - (27.0 * (k * j)); t_2 = -27.0 * (k * j); t_3 = (-4.0 * (t * a)) + t_2; tmp = 0.0; if (c <= -1.1e-100) tmp = t_1; elseif (c <= 1e-275) tmp = t_3; elseif (c <= 9.5e-262) tmp = 18.0 * ((x * z) * (y * t)); elseif (c <= 8.1e-230) tmp = t_3; elseif (c <= 3.7e-169) tmp = 18.0 * (y * (t * (x * z))); elseif (c <= 2.5e+140) tmp = t_2 + (-4.0 * (x * i)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := Block[{t$95$1 = N[(N[(b * c), $MachinePrecision] - N[(27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(-27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(-4.0 * N[(t * a), $MachinePrecision]), $MachinePrecision] + t$95$2), $MachinePrecision]}, If[LessEqual[c, -1.1e-100], t$95$1, If[LessEqual[c, 1e-275], t$95$3, If[LessEqual[c, 9.5e-262], N[(18.0 * N[(N[(x * z), $MachinePrecision] * N[(y * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 8.1e-230], t$95$3, If[LessEqual[c, 3.7e-169], N[(18.0 * N[(y * N[(t * N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 2.5e+140], N[(t$95$2 + N[(-4.0 * N[(x * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot c - 27 \cdot \left(k \cdot j\right)\\
t_2 := -27 \cdot \left(k \cdot j\right)\\
t_3 := -4 \cdot \left(t \cdot a\right) + t_2\\
\mathbf{if}\;c \leq -1.1 \cdot 10^{-100}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;c \leq 10^{-275}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;c \leq 9.5 \cdot 10^{-262}:\\
\;\;\;\;18 \cdot \left(\left(x \cdot z\right) \cdot \left(y \cdot t\right)\right)\\
\mathbf{elif}\;c \leq 8.1 \cdot 10^{-230}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;c \leq 3.7 \cdot 10^{-169}:\\
\;\;\;\;18 \cdot \left(y \cdot \left(t \cdot \left(x \cdot z\right)\right)\right)\\
\mathbf{elif}\;c \leq 2.5 \cdot 10^{+140}:\\
\;\;\;\;t_2 + -4 \cdot \left(x \cdot i\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if c < -1.09999999999999995e-100 or 2.50000000000000004e140 < c Initial program 77.9%
sub-neg77.9%
associate-+l-77.9%
sub-neg77.9%
sub-neg77.9%
distribute-rgt-out--79.5%
associate-*l*79.5%
distribute-lft-neg-in79.5%
cancel-sign-sub79.5%
associate-*l*79.5%
associate-*l*79.5%
Simplified79.5%
Taylor expanded in i around 0 78.9%
Taylor expanded in c around inf 59.2%
if -1.09999999999999995e-100 < c < 9.99999999999999934e-276 or 9.4999999999999999e-262 < c < 8.0999999999999999e-230Initial program 83.6%
sub-neg83.6%
+-commutative83.6%
associate-*l*83.7%
distribute-rgt-neg-in83.7%
fma-def85.2%
*-commutative85.2%
distribute-rgt-neg-in85.2%
metadata-eval85.2%
sub-neg85.2%
+-commutative85.2%
associate-*l*85.2%
distribute-rgt-neg-in85.2%
Simplified91.2%
Taylor expanded in b around 0 88.5%
Taylor expanded in x around 0 51.3%
if 9.99999999999999934e-276 < c < 9.4999999999999999e-262Initial program 100.0%
sub-neg100.0%
+-commutative100.0%
sub-neg100.0%
associate-+l+100.0%
associate-+r+100.0%
associate--l+100.0%
+-commutative100.0%
sub-neg100.0%
Simplified99.6%
Taylor expanded in y around inf 52.3%
associate-*r*75.3%
*-commutative75.3%
associate-*l*52.3%
Simplified52.3%
Taylor expanded in y around 0 52.3%
associate-*r*52.1%
Simplified52.1%
if 8.0999999999999999e-230 < c < 3.6999999999999997e-169Initial program 83.2%
sub-neg83.2%
+-commutative83.2%
sub-neg83.2%
associate-+l+83.2%
associate-+r+83.2%
associate--l+83.2%
+-commutative83.2%
sub-neg83.2%
Simplified92.5%
Taylor expanded in y around inf 51.2%
if 3.6999999999999997e-169 < c < 2.50000000000000004e140Initial program 85.8%
sub-neg85.8%
+-commutative85.8%
associate-*l*85.8%
distribute-rgt-neg-in85.8%
fma-def85.8%
*-commutative85.8%
distribute-rgt-neg-in85.8%
metadata-eval85.8%
sub-neg85.8%
+-commutative85.8%
associate-*l*85.8%
distribute-rgt-neg-in85.8%
Simplified93.9%
Taylor expanded in b around 0 83.7%
Taylor expanded in t around 0 53.2%
Final simplification55.6%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (- (* b c) (* 27.0 (* k j))))
(t_2 (* x (- (* 18.0 (* y (* z t))) (* 4.0 i)))))
(if (<= x -8.6e+107)
t_2
(if (<= x -2.15e-271)
t_1
(if (<= x 1.02e-12)
(+ (* -4.0 (* t a)) (* -27.0 (* k j)))
(if (or (<= x 2.1e+42) (not (<= x 1.66e+105))) t_2 t_1))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = (b * c) - (27.0 * (k * j));
double t_2 = x * ((18.0 * (y * (z * t))) - (4.0 * i));
double tmp;
if (x <= -8.6e+107) {
tmp = t_2;
} else if (x <= -2.15e-271) {
tmp = t_1;
} else if (x <= 1.02e-12) {
tmp = (-4.0 * (t * a)) + (-27.0 * (k * j));
} else if ((x <= 2.1e+42) || !(x <= 1.66e+105)) {
tmp = t_2;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k)
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), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = (b * c) - (27.0d0 * (k * j))
t_2 = x * ((18.0d0 * (y * (z * t))) - (4.0d0 * i))
if (x <= (-8.6d+107)) then
tmp = t_2
else if (x <= (-2.15d-271)) then
tmp = t_1
else if (x <= 1.02d-12) then
tmp = ((-4.0d0) * (t * a)) + ((-27.0d0) * (k * j))
else if ((x <= 2.1d+42) .or. (.not. (x <= 1.66d+105))) then
tmp = t_2
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 b, double c, double i, double j, double k) {
double t_1 = (b * c) - (27.0 * (k * j));
double t_2 = x * ((18.0 * (y * (z * t))) - (4.0 * i));
double tmp;
if (x <= -8.6e+107) {
tmp = t_2;
} else if (x <= -2.15e-271) {
tmp = t_1;
} else if (x <= 1.02e-12) {
tmp = (-4.0 * (t * a)) + (-27.0 * (k * j));
} else if ((x <= 2.1e+42) || !(x <= 1.66e+105)) {
tmp = t_2;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = (b * c) - (27.0 * (k * j)) t_2 = x * ((18.0 * (y * (z * t))) - (4.0 * i)) tmp = 0 if x <= -8.6e+107: tmp = t_2 elif x <= -2.15e-271: tmp = t_1 elif x <= 1.02e-12: tmp = (-4.0 * (t * a)) + (-27.0 * (k * j)) elif (x <= 2.1e+42) or not (x <= 1.66e+105): tmp = t_2 else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j, k) t_1 = Float64(Float64(b * c) - Float64(27.0 * Float64(k * j))) t_2 = Float64(x * Float64(Float64(18.0 * Float64(y * Float64(z * t))) - Float64(4.0 * i))) tmp = 0.0 if (x <= -8.6e+107) tmp = t_2; elseif (x <= -2.15e-271) tmp = t_1; elseif (x <= 1.02e-12) tmp = Float64(Float64(-4.0 * Float64(t * a)) + Float64(-27.0 * Float64(k * j))); elseif ((x <= 2.1e+42) || !(x <= 1.66e+105)) tmp = t_2; else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k) t_1 = (b * c) - (27.0 * (k * j)); t_2 = x * ((18.0 * (y * (z * t))) - (4.0 * i)); tmp = 0.0; if (x <= -8.6e+107) tmp = t_2; elseif (x <= -2.15e-271) tmp = t_1; elseif (x <= 1.02e-12) tmp = (-4.0 * (t * a)) + (-27.0 * (k * j)); elseif ((x <= 2.1e+42) || ~((x <= 1.66e+105))) tmp = t_2; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := Block[{t$95$1 = N[(N[(b * c), $MachinePrecision] - N[(27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x * N[(N[(18.0 * N[(y * N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(4.0 * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -8.6e+107], t$95$2, If[LessEqual[x, -2.15e-271], t$95$1, If[LessEqual[x, 1.02e-12], N[(N[(-4.0 * N[(t * a), $MachinePrecision]), $MachinePrecision] + N[(-27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[x, 2.1e+42], N[Not[LessEqual[x, 1.66e+105]], $MachinePrecision]], t$95$2, t$95$1]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot c - 27 \cdot \left(k \cdot j\right)\\
t_2 := x \cdot \left(18 \cdot \left(y \cdot \left(z \cdot t\right)\right) - 4 \cdot i\right)\\
\mathbf{if}\;x \leq -8.6 \cdot 10^{+107}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;x \leq -2.15 \cdot 10^{-271}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;x \leq 1.02 \cdot 10^{-12}:\\
\;\;\;\;-4 \cdot \left(t \cdot a\right) + -27 \cdot \left(k \cdot j\right)\\
\mathbf{elif}\;x \leq 2.1 \cdot 10^{+42} \lor \neg \left(x \leq 1.66 \cdot 10^{+105}\right):\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if x < -8.5999999999999999e107 or 1.02e-12 < x < 2.09999999999999995e42 or 1.66000000000000004e105 < x Initial program 67.3%
sub-neg67.3%
associate-+l-67.3%
sub-neg67.3%
sub-neg67.3%
distribute-rgt-out--70.2%
associate-*l*77.5%
distribute-lft-neg-in77.5%
cancel-sign-sub77.5%
associate-*l*77.5%
associate-*l*77.5%
Simplified77.5%
Taylor expanded in x around inf 76.7%
if -8.5999999999999999e107 < x < -2.15e-271 or 2.09999999999999995e42 < x < 1.66000000000000004e105Initial program 88.6%
sub-neg88.6%
associate-+l-88.6%
sub-neg88.6%
sub-neg88.6%
distribute-rgt-out--89.8%
associate-*l*88.6%
distribute-lft-neg-in88.6%
cancel-sign-sub88.6%
associate-*l*88.6%
associate-*l*88.6%
Simplified88.6%
Taylor expanded in i around 0 93.7%
Taylor expanded in c around inf 67.3%
if -2.15e-271 < x < 1.02e-12Initial program 94.3%
sub-neg94.3%
+-commutative94.3%
associate-*l*94.3%
distribute-rgt-neg-in94.3%
fma-def94.3%
*-commutative94.3%
distribute-rgt-neg-in94.3%
metadata-eval94.3%
sub-neg94.3%
+-commutative94.3%
associate-*l*94.3%
distribute-rgt-neg-in94.3%
Simplified87.8%
Taylor expanded in b around 0 78.7%
Taylor expanded in x around 0 61.5%
Final simplification69.5%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (- (* b c) (* 27.0 (* k j))))
(t_2 (* t (+ (* 18.0 (* y (* x z))) (* a -4.0)))))
(if (<= t -2.8e+199)
t_2
(if (<= t -1.52e+106)
t_1
(if (<= t -2.3e+27)
t_2
(if (<= t -1.55e-283)
t_1
(if (<= t 4.5e-44) (+ (* -27.0 (* k j)) (* -4.0 (* x i))) t_2)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = (b * c) - (27.0 * (k * j));
double t_2 = t * ((18.0 * (y * (x * z))) + (a * -4.0));
double tmp;
if (t <= -2.8e+199) {
tmp = t_2;
} else if (t <= -1.52e+106) {
tmp = t_1;
} else if (t <= -2.3e+27) {
tmp = t_2;
} else if (t <= -1.55e-283) {
tmp = t_1;
} else if (t <= 4.5e-44) {
tmp = (-27.0 * (k * j)) + (-4.0 * (x * i));
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k)
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), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = (b * c) - (27.0d0 * (k * j))
t_2 = t * ((18.0d0 * (y * (x * z))) + (a * (-4.0d0)))
if (t <= (-2.8d+199)) then
tmp = t_2
else if (t <= (-1.52d+106)) then
tmp = t_1
else if (t <= (-2.3d+27)) then
tmp = t_2
else if (t <= (-1.55d-283)) then
tmp = t_1
else if (t <= 4.5d-44) then
tmp = ((-27.0d0) * (k * j)) + ((-4.0d0) * (x * i))
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 b, double c, double i, double j, double k) {
double t_1 = (b * c) - (27.0 * (k * j));
double t_2 = t * ((18.0 * (y * (x * z))) + (a * -4.0));
double tmp;
if (t <= -2.8e+199) {
tmp = t_2;
} else if (t <= -1.52e+106) {
tmp = t_1;
} else if (t <= -2.3e+27) {
tmp = t_2;
} else if (t <= -1.55e-283) {
tmp = t_1;
} else if (t <= 4.5e-44) {
tmp = (-27.0 * (k * j)) + (-4.0 * (x * i));
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = (b * c) - (27.0 * (k * j)) t_2 = t * ((18.0 * (y * (x * z))) + (a * -4.0)) tmp = 0 if t <= -2.8e+199: tmp = t_2 elif t <= -1.52e+106: tmp = t_1 elif t <= -2.3e+27: tmp = t_2 elif t <= -1.55e-283: tmp = t_1 elif t <= 4.5e-44: tmp = (-27.0 * (k * j)) + (-4.0 * (x * i)) else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j, k) t_1 = Float64(Float64(b * c) - Float64(27.0 * Float64(k * j))) t_2 = Float64(t * Float64(Float64(18.0 * Float64(y * Float64(x * z))) + Float64(a * -4.0))) tmp = 0.0 if (t <= -2.8e+199) tmp = t_2; elseif (t <= -1.52e+106) tmp = t_1; elseif (t <= -2.3e+27) tmp = t_2; elseif (t <= -1.55e-283) tmp = t_1; elseif (t <= 4.5e-44) tmp = Float64(Float64(-27.0 * Float64(k * j)) + Float64(-4.0 * Float64(x * i))); else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k) t_1 = (b * c) - (27.0 * (k * j)); t_2 = t * ((18.0 * (y * (x * z))) + (a * -4.0)); tmp = 0.0; if (t <= -2.8e+199) tmp = t_2; elseif (t <= -1.52e+106) tmp = t_1; elseif (t <= -2.3e+27) tmp = t_2; elseif (t <= -1.55e-283) tmp = t_1; elseif (t <= 4.5e-44) tmp = (-27.0 * (k * j)) + (-4.0 * (x * i)); else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := Block[{t$95$1 = N[(N[(b * c), $MachinePrecision] - N[(27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t * N[(N[(18.0 * N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a * -4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -2.8e+199], t$95$2, If[LessEqual[t, -1.52e+106], t$95$1, If[LessEqual[t, -2.3e+27], t$95$2, If[LessEqual[t, -1.55e-283], t$95$1, If[LessEqual[t, 4.5e-44], N[(N[(-27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision] + N[(-4.0 * N[(x * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot c - 27 \cdot \left(k \cdot j\right)\\
t_2 := t \cdot \left(18 \cdot \left(y \cdot \left(x \cdot z\right)\right) + a \cdot -4\right)\\
\mathbf{if}\;t \leq -2.8 \cdot 10^{+199}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;t \leq -1.52 \cdot 10^{+106}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq -2.3 \cdot 10^{+27}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;t \leq -1.55 \cdot 10^{-283}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq 4.5 \cdot 10^{-44}:\\
\;\;\;\;-27 \cdot \left(k \cdot j\right) + -4 \cdot \left(x \cdot i\right)\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if t < -2.8000000000000001e199 or -1.52e106 < t < -2.3000000000000001e27 or 4.4999999999999999e-44 < t Initial program 83.4%
sub-neg83.4%
+-commutative83.4%
sub-neg83.4%
associate-+l+83.4%
associate-+r+83.4%
associate--l+83.4%
+-commutative83.4%
sub-neg83.4%
Simplified83.5%
Taylor expanded in t around inf 65.7%
if -2.8000000000000001e199 < t < -1.52e106 or -2.3000000000000001e27 < t < -1.55000000000000002e-283Initial program 82.9%
sub-neg82.9%
associate-+l-82.9%
sub-neg82.9%
sub-neg82.9%
distribute-rgt-out--82.9%
associate-*l*84.3%
distribute-lft-neg-in84.3%
cancel-sign-sub84.3%
associate-*l*84.3%
associate-*l*84.3%
Simplified84.3%
Taylor expanded in i around 0 80.2%
Taylor expanded in c around inf 67.4%
if -1.55000000000000002e-283 < t < 4.4999999999999999e-44Initial program 75.2%
sub-neg75.2%
+-commutative75.2%
associate-*l*75.2%
distribute-rgt-neg-in75.2%
fma-def75.2%
*-commutative75.2%
distribute-rgt-neg-in75.2%
metadata-eval75.2%
sub-neg75.2%
+-commutative75.2%
associate-*l*75.2%
distribute-rgt-neg-in75.2%
Simplified84.1%
Taylor expanded in b around 0 71.7%
Taylor expanded in t around 0 62.9%
Final simplification65.6%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (+ (* -4.0 (* t a)) (* -27.0 (* k j))))
(t_2 (* x (- (* 18.0 (* y (* z t))) (* 4.0 i)))))
(if (<= x -4e+106)
t_2
(if (<= x -5.8e-270)
(- (* b c) (* 27.0 (* k j)))
(if (<= x 6.2e-28)
t_1
(if (<= x 3.7e+56)
(+ (* b c) (* 18.0 (* y (* t (* x z)))))
(if (<= x 2.3e+105) t_1 t_2)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = (-4.0 * (t * a)) + (-27.0 * (k * j));
double t_2 = x * ((18.0 * (y * (z * t))) - (4.0 * i));
double tmp;
if (x <= -4e+106) {
tmp = t_2;
} else if (x <= -5.8e-270) {
tmp = (b * c) - (27.0 * (k * j));
} else if (x <= 6.2e-28) {
tmp = t_1;
} else if (x <= 3.7e+56) {
tmp = (b * c) + (18.0 * (y * (t * (x * z))));
} else if (x <= 2.3e+105) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k)
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), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = ((-4.0d0) * (t * a)) + ((-27.0d0) * (k * j))
t_2 = x * ((18.0d0 * (y * (z * t))) - (4.0d0 * i))
if (x <= (-4d+106)) then
tmp = t_2
else if (x <= (-5.8d-270)) then
tmp = (b * c) - (27.0d0 * (k * j))
else if (x <= 6.2d-28) then
tmp = t_1
else if (x <= 3.7d+56) then
tmp = (b * c) + (18.0d0 * (y * (t * (x * z))))
else if (x <= 2.3d+105) then
tmp = t_1
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = (-4.0 * (t * a)) + (-27.0 * (k * j));
double t_2 = x * ((18.0 * (y * (z * t))) - (4.0 * i));
double tmp;
if (x <= -4e+106) {
tmp = t_2;
} else if (x <= -5.8e-270) {
tmp = (b * c) - (27.0 * (k * j));
} else if (x <= 6.2e-28) {
tmp = t_1;
} else if (x <= 3.7e+56) {
tmp = (b * c) + (18.0 * (y * (t * (x * z))));
} else if (x <= 2.3e+105) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = (-4.0 * (t * a)) + (-27.0 * (k * j)) t_2 = x * ((18.0 * (y * (z * t))) - (4.0 * i)) tmp = 0 if x <= -4e+106: tmp = t_2 elif x <= -5.8e-270: tmp = (b * c) - (27.0 * (k * j)) elif x <= 6.2e-28: tmp = t_1 elif x <= 3.7e+56: tmp = (b * c) + (18.0 * (y * (t * (x * z)))) elif x <= 2.3e+105: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j, k) t_1 = Float64(Float64(-4.0 * Float64(t * a)) + Float64(-27.0 * Float64(k * j))) t_2 = Float64(x * Float64(Float64(18.0 * Float64(y * Float64(z * t))) - Float64(4.0 * i))) tmp = 0.0 if (x <= -4e+106) tmp = t_2; elseif (x <= -5.8e-270) tmp = Float64(Float64(b * c) - Float64(27.0 * Float64(k * j))); elseif (x <= 6.2e-28) tmp = t_1; elseif (x <= 3.7e+56) tmp = Float64(Float64(b * c) + Float64(18.0 * Float64(y * Float64(t * Float64(x * z))))); elseif (x <= 2.3e+105) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k) t_1 = (-4.0 * (t * a)) + (-27.0 * (k * j)); t_2 = x * ((18.0 * (y * (z * t))) - (4.0 * i)); tmp = 0.0; if (x <= -4e+106) tmp = t_2; elseif (x <= -5.8e-270) tmp = (b * c) - (27.0 * (k * j)); elseif (x <= 6.2e-28) tmp = t_1; elseif (x <= 3.7e+56) tmp = (b * c) + (18.0 * (y * (t * (x * z)))); elseif (x <= 2.3e+105) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := Block[{t$95$1 = N[(N[(-4.0 * N[(t * a), $MachinePrecision]), $MachinePrecision] + N[(-27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x * N[(N[(18.0 * N[(y * N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(4.0 * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -4e+106], t$95$2, If[LessEqual[x, -5.8e-270], N[(N[(b * c), $MachinePrecision] - N[(27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 6.2e-28], t$95$1, If[LessEqual[x, 3.7e+56], N[(N[(b * c), $MachinePrecision] + N[(18.0 * N[(y * N[(t * N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 2.3e+105], t$95$1, t$95$2]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := -4 \cdot \left(t \cdot a\right) + -27 \cdot \left(k \cdot j\right)\\
t_2 := x \cdot \left(18 \cdot \left(y \cdot \left(z \cdot t\right)\right) - 4 \cdot i\right)\\
\mathbf{if}\;x \leq -4 \cdot 10^{+106}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;x \leq -5.8 \cdot 10^{-270}:\\
\;\;\;\;b \cdot c - 27 \cdot \left(k \cdot j\right)\\
\mathbf{elif}\;x \leq 6.2 \cdot 10^{-28}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;x \leq 3.7 \cdot 10^{+56}:\\
\;\;\;\;b \cdot c + 18 \cdot \left(y \cdot \left(t \cdot \left(x \cdot z\right)\right)\right)\\
\mathbf{elif}\;x \leq 2.3 \cdot 10^{+105}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if x < -4.00000000000000036e106 or 2.2999999999999998e105 < x Initial program 63.0%
sub-neg63.0%
associate-+l-63.0%
sub-neg63.0%
sub-neg63.0%
distribute-rgt-out--66.4%
associate-*l*74.9%
distribute-lft-neg-in74.9%
cancel-sign-sub74.9%
associate-*l*74.9%
associate-*l*74.9%
Simplified74.9%
Taylor expanded in x around inf 77.1%
if -4.00000000000000036e106 < x < -5.79999999999999965e-270Initial program 91.9%
sub-neg91.9%
associate-+l-91.9%
sub-neg91.9%
sub-neg91.9%
distribute-rgt-out--93.5%
associate-*l*88.9%
distribute-lft-neg-in88.9%
cancel-sign-sub88.9%
associate-*l*88.9%
associate-*l*88.9%
Simplified88.9%
Taylor expanded in i around 0 92.1%
Taylor expanded in c around inf 66.6%
if -5.79999999999999965e-270 < x < 6.19999999999999984e-28 or 3.69999999999999997e56 < x < 2.2999999999999998e105Initial program 91.4%
sub-neg91.4%
+-commutative91.4%
associate-*l*91.4%
distribute-rgt-neg-in91.4%
fma-def91.4%
*-commutative91.4%
distribute-rgt-neg-in91.4%
metadata-eval91.4%
sub-neg91.4%
+-commutative91.4%
associate-*l*91.4%
distribute-rgt-neg-in91.4%
Simplified88.1%
Taylor expanded in b around 0 80.1%
Taylor expanded in x around 0 63.9%
if 6.19999999999999984e-28 < x < 3.69999999999999997e56Initial program 90.3%
Taylor expanded in i around 0 85.6%
Taylor expanded in a around 0 85.7%
Taylor expanded in j around 0 72.5%
Final simplification69.9%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (- (+ (* b c) (* -4.0 (* t a))) (* 27.0 (* k j))))
(t_2 (* x (- (* 18.0 (* y (* z t))) (* 4.0 i)))))
(if (<= x -6.2e+106)
t_2
(if (<= x 6e-27)
t_1
(if (<= x 2.7e+27)
(+ (* b c) (* 18.0 (* y (* t (* x z)))))
(if (<= x 2.45e+107) t_1 t_2))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = ((b * c) + (-4.0 * (t * a))) - (27.0 * (k * j));
double t_2 = x * ((18.0 * (y * (z * t))) - (4.0 * i));
double tmp;
if (x <= -6.2e+106) {
tmp = t_2;
} else if (x <= 6e-27) {
tmp = t_1;
} else if (x <= 2.7e+27) {
tmp = (b * c) + (18.0 * (y * (t * (x * z))));
} else if (x <= 2.45e+107) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k)
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), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = ((b * c) + ((-4.0d0) * (t * a))) - (27.0d0 * (k * j))
t_2 = x * ((18.0d0 * (y * (z * t))) - (4.0d0 * i))
if (x <= (-6.2d+106)) then
tmp = t_2
else if (x <= 6d-27) then
tmp = t_1
else if (x <= 2.7d+27) then
tmp = (b * c) + (18.0d0 * (y * (t * (x * z))))
else if (x <= 2.45d+107) then
tmp = t_1
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = ((b * c) + (-4.0 * (t * a))) - (27.0 * (k * j));
double t_2 = x * ((18.0 * (y * (z * t))) - (4.0 * i));
double tmp;
if (x <= -6.2e+106) {
tmp = t_2;
} else if (x <= 6e-27) {
tmp = t_1;
} else if (x <= 2.7e+27) {
tmp = (b * c) + (18.0 * (y * (t * (x * z))));
} else if (x <= 2.45e+107) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = ((b * c) + (-4.0 * (t * a))) - (27.0 * (k * j)) t_2 = x * ((18.0 * (y * (z * t))) - (4.0 * i)) tmp = 0 if x <= -6.2e+106: tmp = t_2 elif x <= 6e-27: tmp = t_1 elif x <= 2.7e+27: tmp = (b * c) + (18.0 * (y * (t * (x * z)))) elif x <= 2.45e+107: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j, k) t_1 = Float64(Float64(Float64(b * c) + Float64(-4.0 * Float64(t * a))) - Float64(27.0 * Float64(k * j))) t_2 = Float64(x * Float64(Float64(18.0 * Float64(y * Float64(z * t))) - Float64(4.0 * i))) tmp = 0.0 if (x <= -6.2e+106) tmp = t_2; elseif (x <= 6e-27) tmp = t_1; elseif (x <= 2.7e+27) tmp = Float64(Float64(b * c) + Float64(18.0 * Float64(y * Float64(t * Float64(x * z))))); elseif (x <= 2.45e+107) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k) t_1 = ((b * c) + (-4.0 * (t * a))) - (27.0 * (k * j)); t_2 = x * ((18.0 * (y * (z * t))) - (4.0 * i)); tmp = 0.0; if (x <= -6.2e+106) tmp = t_2; elseif (x <= 6e-27) tmp = t_1; elseif (x <= 2.7e+27) tmp = (b * c) + (18.0 * (y * (t * (x * z)))); elseif (x <= 2.45e+107) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := Block[{t$95$1 = N[(N[(N[(b * c), $MachinePrecision] + N[(-4.0 * N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x * N[(N[(18.0 * N[(y * N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(4.0 * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -6.2e+106], t$95$2, If[LessEqual[x, 6e-27], t$95$1, If[LessEqual[x, 2.7e+27], N[(N[(b * c), $MachinePrecision] + N[(18.0 * N[(y * N[(t * N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 2.45e+107], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(b \cdot c + -4 \cdot \left(t \cdot a\right)\right) - 27 \cdot \left(k \cdot j\right)\\
t_2 := x \cdot \left(18 \cdot \left(y \cdot \left(z \cdot t\right)\right) - 4 \cdot i\right)\\
\mathbf{if}\;x \leq -6.2 \cdot 10^{+106}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;x \leq 6 \cdot 10^{-27}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;x \leq 2.7 \cdot 10^{+27}:\\
\;\;\;\;b \cdot c + 18 \cdot \left(y \cdot \left(t \cdot \left(x \cdot z\right)\right)\right)\\
\mathbf{elif}\;x \leq 2.45 \cdot 10^{+107}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if x < -6.1999999999999999e106 or 2.4500000000000001e107 < x Initial program 63.0%
sub-neg63.0%
associate-+l-63.0%
sub-neg63.0%
sub-neg63.0%
distribute-rgt-out--66.4%
associate-*l*74.9%
distribute-lft-neg-in74.9%
cancel-sign-sub74.9%
associate-*l*74.9%
associate-*l*74.9%
Simplified74.9%
Taylor expanded in x around inf 77.1%
if -6.1999999999999999e106 < x < 6.0000000000000002e-27 or 2.6999999999999997e27 < x < 2.4500000000000001e107Initial program 91.4%
sub-neg91.4%
associate-+l-91.4%
sub-neg91.4%
sub-neg91.4%
distribute-rgt-out--92.7%
associate-*l*87.7%
distribute-lft-neg-in87.7%
cancel-sign-sub87.7%
associate-*l*87.7%
associate-*l*87.7%
Simplified87.7%
Taylor expanded in x around 0 81.3%
if 6.0000000000000002e-27 < x < 2.6999999999999997e27Initial program 92.2%
Taylor expanded in i around 0 84.6%
Taylor expanded in a around 0 84.7%
Taylor expanded in j around 0 78.1%
Final simplification79.7%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (* x (- (* 18.0 (* y (* z t))) (* 4.0 i)))))
(if (<= x -1.1e+107)
t_1
(if (<= x 7.6e-27)
(- (+ (* b c) (* -4.0 (* t a))) (* 27.0 (* k j)))
(if (<= x 3e+36)
(+ (* b c) (* 18.0 (* y (* t (* x z)))))
(if (<= x 5.8e+105)
(- (- (* b c) (* 4.0 (* t a))) (* k (* j 27.0)))
t_1))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = x * ((18.0 * (y * (z * t))) - (4.0 * i));
double tmp;
if (x <= -1.1e+107) {
tmp = t_1;
} else if (x <= 7.6e-27) {
tmp = ((b * c) + (-4.0 * (t * a))) - (27.0 * (k * j));
} else if (x <= 3e+36) {
tmp = (b * c) + (18.0 * (y * (t * (x * z))));
} else if (x <= 5.8e+105) {
tmp = ((b * c) - (4.0 * (t * a))) - (k * (j * 27.0));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k)
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), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = x * ((18.0d0 * (y * (z * t))) - (4.0d0 * i))
if (x <= (-1.1d+107)) then
tmp = t_1
else if (x <= 7.6d-27) then
tmp = ((b * c) + ((-4.0d0) * (t * a))) - (27.0d0 * (k * j))
else if (x <= 3d+36) then
tmp = (b * c) + (18.0d0 * (y * (t * (x * z))))
else if (x <= 5.8d+105) then
tmp = ((b * c) - (4.0d0 * (t * a))) - (k * (j * 27.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 b, double c, double i, double j, double k) {
double t_1 = x * ((18.0 * (y * (z * t))) - (4.0 * i));
double tmp;
if (x <= -1.1e+107) {
tmp = t_1;
} else if (x <= 7.6e-27) {
tmp = ((b * c) + (-4.0 * (t * a))) - (27.0 * (k * j));
} else if (x <= 3e+36) {
tmp = (b * c) + (18.0 * (y * (t * (x * z))));
} else if (x <= 5.8e+105) {
tmp = ((b * c) - (4.0 * (t * a))) - (k * (j * 27.0));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = x * ((18.0 * (y * (z * t))) - (4.0 * i)) tmp = 0 if x <= -1.1e+107: tmp = t_1 elif x <= 7.6e-27: tmp = ((b * c) + (-4.0 * (t * a))) - (27.0 * (k * j)) elif x <= 3e+36: tmp = (b * c) + (18.0 * (y * (t * (x * z)))) elif x <= 5.8e+105: tmp = ((b * c) - (4.0 * (t * a))) - (k * (j * 27.0)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j, k) t_1 = Float64(x * Float64(Float64(18.0 * Float64(y * Float64(z * t))) - Float64(4.0 * i))) tmp = 0.0 if (x <= -1.1e+107) tmp = t_1; elseif (x <= 7.6e-27) tmp = Float64(Float64(Float64(b * c) + Float64(-4.0 * Float64(t * a))) - Float64(27.0 * Float64(k * j))); elseif (x <= 3e+36) tmp = Float64(Float64(b * c) + Float64(18.0 * Float64(y * Float64(t * Float64(x * z))))); elseif (x <= 5.8e+105) tmp = Float64(Float64(Float64(b * c) - Float64(4.0 * Float64(t * a))) - Float64(k * Float64(j * 27.0))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k) t_1 = x * ((18.0 * (y * (z * t))) - (4.0 * i)); tmp = 0.0; if (x <= -1.1e+107) tmp = t_1; elseif (x <= 7.6e-27) tmp = ((b * c) + (-4.0 * (t * a))) - (27.0 * (k * j)); elseif (x <= 3e+36) tmp = (b * c) + (18.0 * (y * (t * (x * z)))); elseif (x <= 5.8e+105) tmp = ((b * c) - (4.0 * (t * a))) - (k * (j * 27.0)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := Block[{t$95$1 = N[(x * N[(N[(18.0 * N[(y * N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(4.0 * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -1.1e+107], t$95$1, If[LessEqual[x, 7.6e-27], N[(N[(N[(b * c), $MachinePrecision] + N[(-4.0 * N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 3e+36], N[(N[(b * c), $MachinePrecision] + N[(18.0 * N[(y * N[(t * N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 5.8e+105], N[(N[(N[(b * c), $MachinePrecision] - N[(4.0 * N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(k * N[(j * 27.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(18 \cdot \left(y \cdot \left(z \cdot t\right)\right) - 4 \cdot i\right)\\
\mathbf{if}\;x \leq -1.1 \cdot 10^{+107}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;x \leq 7.6 \cdot 10^{-27}:\\
\;\;\;\;\left(b \cdot c + -4 \cdot \left(t \cdot a\right)\right) - 27 \cdot \left(k \cdot j\right)\\
\mathbf{elif}\;x \leq 3 \cdot 10^{+36}:\\
\;\;\;\;b \cdot c + 18 \cdot \left(y \cdot \left(t \cdot \left(x \cdot z\right)\right)\right)\\
\mathbf{elif}\;x \leq 5.8 \cdot 10^{+105}:\\
\;\;\;\;\left(b \cdot c - 4 \cdot \left(t \cdot a\right)\right) - k \cdot \left(j \cdot 27\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if x < -1.1e107 or 5.8000000000000002e105 < x Initial program 63.0%
sub-neg63.0%
associate-+l-63.0%
sub-neg63.0%
sub-neg63.0%
distribute-rgt-out--66.4%
associate-*l*74.9%
distribute-lft-neg-in74.9%
cancel-sign-sub74.9%
associate-*l*74.9%
associate-*l*74.9%
Simplified74.9%
Taylor expanded in x around inf 77.1%
if -1.1e107 < x < 7.60000000000000001e-27Initial program 93.1%
sub-neg93.1%
associate-+l-93.1%
sub-neg93.1%
sub-neg93.1%
distribute-rgt-out--94.6%
associate-*l*87.4%
distribute-lft-neg-in87.4%
cancel-sign-sub87.4%
associate-*l*87.4%
associate-*l*87.4%
Simplified87.4%
Taylor expanded in x around 0 80.7%
if 7.60000000000000001e-27 < x < 3e36Initial program 93.8%
Taylor expanded in i around 0 82.2%
Taylor expanded in a around 0 82.3%
Taylor expanded in j around 0 71.7%
if 3e36 < x < 5.8000000000000002e105Initial program 75.3%
Taylor expanded in i around 0 93.7%
Taylor expanded in y around 0 94.3%
Final simplification79.7%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (* 18.0 (* y (* t (* x z))))))
(if (<= j -1.25e+38)
(* k (* j -27.0))
(if (<= j -5.8e-75)
t_1
(if (<= j -9.5e-256)
(* b c)
(if (<= j 3.4e-252)
t_1
(if (<= j 1.4e-175)
(* b c)
(if (<= j 0.00025) t_1 (* -27.0 (* k j))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = 18.0 * (y * (t * (x * z)));
double tmp;
if (j <= -1.25e+38) {
tmp = k * (j * -27.0);
} else if (j <= -5.8e-75) {
tmp = t_1;
} else if (j <= -9.5e-256) {
tmp = b * c;
} else if (j <= 3.4e-252) {
tmp = t_1;
} else if (j <= 1.4e-175) {
tmp = b * c;
} else if (j <= 0.00025) {
tmp = t_1;
} else {
tmp = -27.0 * (k * j);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k)
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), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = 18.0d0 * (y * (t * (x * z)))
if (j <= (-1.25d+38)) then
tmp = k * (j * (-27.0d0))
else if (j <= (-5.8d-75)) then
tmp = t_1
else if (j <= (-9.5d-256)) then
tmp = b * c
else if (j <= 3.4d-252) then
tmp = t_1
else if (j <= 1.4d-175) then
tmp = b * c
else if (j <= 0.00025d0) then
tmp = t_1
else
tmp = (-27.0d0) * (k * j)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = 18.0 * (y * (t * (x * z)));
double tmp;
if (j <= -1.25e+38) {
tmp = k * (j * -27.0);
} else if (j <= -5.8e-75) {
tmp = t_1;
} else if (j <= -9.5e-256) {
tmp = b * c;
} else if (j <= 3.4e-252) {
tmp = t_1;
} else if (j <= 1.4e-175) {
tmp = b * c;
} else if (j <= 0.00025) {
tmp = t_1;
} else {
tmp = -27.0 * (k * j);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = 18.0 * (y * (t * (x * z))) tmp = 0 if j <= -1.25e+38: tmp = k * (j * -27.0) elif j <= -5.8e-75: tmp = t_1 elif j <= -9.5e-256: tmp = b * c elif j <= 3.4e-252: tmp = t_1 elif j <= 1.4e-175: tmp = b * c elif j <= 0.00025: tmp = t_1 else: tmp = -27.0 * (k * j) return tmp
function code(x, y, z, t, a, b, c, i, j, k) t_1 = Float64(18.0 * Float64(y * Float64(t * Float64(x * z)))) tmp = 0.0 if (j <= -1.25e+38) tmp = Float64(k * Float64(j * -27.0)); elseif (j <= -5.8e-75) tmp = t_1; elseif (j <= -9.5e-256) tmp = Float64(b * c); elseif (j <= 3.4e-252) tmp = t_1; elseif (j <= 1.4e-175) tmp = Float64(b * c); elseif (j <= 0.00025) tmp = t_1; else tmp = Float64(-27.0 * Float64(k * j)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k) t_1 = 18.0 * (y * (t * (x * z))); tmp = 0.0; if (j <= -1.25e+38) tmp = k * (j * -27.0); elseif (j <= -5.8e-75) tmp = t_1; elseif (j <= -9.5e-256) tmp = b * c; elseif (j <= 3.4e-252) tmp = t_1; elseif (j <= 1.4e-175) tmp = b * c; elseif (j <= 0.00025) tmp = t_1; else tmp = -27.0 * (k * j); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := Block[{t$95$1 = N[(18.0 * N[(y * N[(t * N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -1.25e+38], N[(k * N[(j * -27.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -5.8e-75], t$95$1, If[LessEqual[j, -9.5e-256], N[(b * c), $MachinePrecision], If[LessEqual[j, 3.4e-252], t$95$1, If[LessEqual[j, 1.4e-175], N[(b * c), $MachinePrecision], If[LessEqual[j, 0.00025], t$95$1, N[(-27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 18 \cdot \left(y \cdot \left(t \cdot \left(x \cdot z\right)\right)\right)\\
\mathbf{if}\;j \leq -1.25 \cdot 10^{+38}:\\
\;\;\;\;k \cdot \left(j \cdot -27\right)\\
\mathbf{elif}\;j \leq -5.8 \cdot 10^{-75}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq -9.5 \cdot 10^{-256}:\\
\;\;\;\;b \cdot c\\
\mathbf{elif}\;j \leq 3.4 \cdot 10^{-252}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq 1.4 \cdot 10^{-175}:\\
\;\;\;\;b \cdot c\\
\mathbf{elif}\;j \leq 0.00025:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;-27 \cdot \left(k \cdot j\right)\\
\end{array}
\end{array}
if j < -1.24999999999999992e38Initial program 77.9%
sub-neg77.9%
+-commutative77.9%
sub-neg77.9%
associate-+l+77.9%
associate-+r+77.9%
associate--l+77.9%
+-commutative77.9%
sub-neg77.9%
Simplified87.0%
Taylor expanded in k around inf 58.9%
associate-*r*59.0%
*-commutative59.0%
associate-*r*59.0%
Simplified59.0%
if -1.24999999999999992e38 < j < -5.8000000000000003e-75 or -9.5e-256 < j < 3.4e-252 or 1.4e-175 < j < 2.5000000000000001e-4Initial program 84.4%
sub-neg84.4%
+-commutative84.4%
sub-neg84.4%
associate-+l+84.4%
associate-+r+84.4%
associate--l+84.4%
+-commutative84.4%
sub-neg84.4%
Simplified87.7%
Taylor expanded in y around inf 30.7%
if -5.8000000000000003e-75 < j < -9.5e-256 or 3.4e-252 < j < 1.4e-175Initial program 85.2%
sub-neg85.2%
+-commutative85.2%
sub-neg85.2%
associate-+l+85.2%
associate-+r+85.2%
associate--l+85.2%
+-commutative85.2%
sub-neg85.2%
Simplified87.9%
Taylor expanded in b around inf 33.6%
if 2.5000000000000001e-4 < j Initial program 78.5%
sub-neg78.5%
+-commutative78.5%
sub-neg78.5%
associate-+l+78.5%
associate-+r+78.5%
associate--l+78.5%
+-commutative78.5%
sub-neg78.5%
Simplified91.7%
Taylor expanded in k around inf 37.5%
Final simplification39.1%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (* 18.0 (* (* x z) (* y t)))))
(if (<= j -3.6e+166)
(* k (* j -27.0))
(if (<= j -5.4e-75)
t_1
(if (<= j -6e-257)
(* b c)
(if (<= j 1.2e-251)
(* x (* 18.0 (* y (* z t))))
(if (<= j 4.3e-175)
(* b c)
(if (<= j 0.024) t_1 (* -27.0 (* k j))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = 18.0 * ((x * z) * (y * t));
double tmp;
if (j <= -3.6e+166) {
tmp = k * (j * -27.0);
} else if (j <= -5.4e-75) {
tmp = t_1;
} else if (j <= -6e-257) {
tmp = b * c;
} else if (j <= 1.2e-251) {
tmp = x * (18.0 * (y * (z * t)));
} else if (j <= 4.3e-175) {
tmp = b * c;
} else if (j <= 0.024) {
tmp = t_1;
} else {
tmp = -27.0 * (k * j);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k)
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), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = 18.0d0 * ((x * z) * (y * t))
if (j <= (-3.6d+166)) then
tmp = k * (j * (-27.0d0))
else if (j <= (-5.4d-75)) then
tmp = t_1
else if (j <= (-6d-257)) then
tmp = b * c
else if (j <= 1.2d-251) then
tmp = x * (18.0d0 * (y * (z * t)))
else if (j <= 4.3d-175) then
tmp = b * c
else if (j <= 0.024d0) then
tmp = t_1
else
tmp = (-27.0d0) * (k * j)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = 18.0 * ((x * z) * (y * t));
double tmp;
if (j <= -3.6e+166) {
tmp = k * (j * -27.0);
} else if (j <= -5.4e-75) {
tmp = t_1;
} else if (j <= -6e-257) {
tmp = b * c;
} else if (j <= 1.2e-251) {
tmp = x * (18.0 * (y * (z * t)));
} else if (j <= 4.3e-175) {
tmp = b * c;
} else if (j <= 0.024) {
tmp = t_1;
} else {
tmp = -27.0 * (k * j);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = 18.0 * ((x * z) * (y * t)) tmp = 0 if j <= -3.6e+166: tmp = k * (j * -27.0) elif j <= -5.4e-75: tmp = t_1 elif j <= -6e-257: tmp = b * c elif j <= 1.2e-251: tmp = x * (18.0 * (y * (z * t))) elif j <= 4.3e-175: tmp = b * c elif j <= 0.024: tmp = t_1 else: tmp = -27.0 * (k * j) return tmp
function code(x, y, z, t, a, b, c, i, j, k) t_1 = Float64(18.0 * Float64(Float64(x * z) * Float64(y * t))) tmp = 0.0 if (j <= -3.6e+166) tmp = Float64(k * Float64(j * -27.0)); elseif (j <= -5.4e-75) tmp = t_1; elseif (j <= -6e-257) tmp = Float64(b * c); elseif (j <= 1.2e-251) tmp = Float64(x * Float64(18.0 * Float64(y * Float64(z * t)))); elseif (j <= 4.3e-175) tmp = Float64(b * c); elseif (j <= 0.024) tmp = t_1; else tmp = Float64(-27.0 * Float64(k * j)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k) t_1 = 18.0 * ((x * z) * (y * t)); tmp = 0.0; if (j <= -3.6e+166) tmp = k * (j * -27.0); elseif (j <= -5.4e-75) tmp = t_1; elseif (j <= -6e-257) tmp = b * c; elseif (j <= 1.2e-251) tmp = x * (18.0 * (y * (z * t))); elseif (j <= 4.3e-175) tmp = b * c; elseif (j <= 0.024) tmp = t_1; else tmp = -27.0 * (k * j); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := Block[{t$95$1 = N[(18.0 * N[(N[(x * z), $MachinePrecision] * N[(y * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -3.6e+166], N[(k * N[(j * -27.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -5.4e-75], t$95$1, If[LessEqual[j, -6e-257], N[(b * c), $MachinePrecision], If[LessEqual[j, 1.2e-251], N[(x * N[(18.0 * N[(y * N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 4.3e-175], N[(b * c), $MachinePrecision], If[LessEqual[j, 0.024], t$95$1, N[(-27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 18 \cdot \left(\left(x \cdot z\right) \cdot \left(y \cdot t\right)\right)\\
\mathbf{if}\;j \leq -3.6 \cdot 10^{+166}:\\
\;\;\;\;k \cdot \left(j \cdot -27\right)\\
\mathbf{elif}\;j \leq -5.4 \cdot 10^{-75}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq -6 \cdot 10^{-257}:\\
\;\;\;\;b \cdot c\\
\mathbf{elif}\;j \leq 1.2 \cdot 10^{-251}:\\
\;\;\;\;x \cdot \left(18 \cdot \left(y \cdot \left(z \cdot t\right)\right)\right)\\
\mathbf{elif}\;j \leq 4.3 \cdot 10^{-175}:\\
\;\;\;\;b \cdot c\\
\mathbf{elif}\;j \leq 0.024:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;-27 \cdot \left(k \cdot j\right)\\
\end{array}
\end{array}
if j < -3.5999999999999997e166Initial program 81.6%
sub-neg81.6%
+-commutative81.6%
sub-neg81.6%
associate-+l+81.6%
associate-+r+81.6%
associate--l+81.6%
+-commutative81.6%
sub-neg81.6%
Simplified86.8%
Taylor expanded in k around inf 69.0%
associate-*r*69.0%
*-commutative69.0%
associate-*r*69.0%
Simplified69.0%
if -3.5999999999999997e166 < j < -5.3999999999999996e-75 or 4.29999999999999998e-175 < j < 0.024Initial program 82.4%
sub-neg82.4%
+-commutative82.4%
sub-neg82.4%
associate-+l+82.4%
associate-+r+82.4%
associate--l+82.4%
+-commutative82.4%
sub-neg82.4%
Simplified88.2%
Taylor expanded in y around inf 29.2%
associate-*r*31.6%
*-commutative31.6%
associate-*l*27.6%
Simplified27.6%
Taylor expanded in y around 0 29.2%
associate-*r*31.4%
Simplified31.4%
if -5.3999999999999996e-75 < j < -5.9999999999999999e-257 or 1.19999999999999998e-251 < j < 4.29999999999999998e-175Initial program 85.2%
sub-neg85.2%
+-commutative85.2%
sub-neg85.2%
associate-+l+85.2%
associate-+r+85.2%
associate--l+85.2%
+-commutative85.2%
sub-neg85.2%
Simplified87.9%
Taylor expanded in b around inf 33.6%
if -5.9999999999999999e-257 < j < 1.19999999999999998e-251Initial program 80.7%
sub-neg80.7%
associate-+l-80.7%
sub-neg80.7%
sub-neg80.7%
distribute-rgt-out--80.7%
associate-*l*76.4%
distribute-lft-neg-in76.4%
cancel-sign-sub76.4%
associate-*l*76.4%
associate-*l*76.4%
Simplified76.4%
Taylor expanded in x around inf 51.8%
Taylor expanded in y around inf 29.2%
if 0.024 < j Initial program 78.5%
sub-neg78.5%
+-commutative78.5%
sub-neg78.5%
associate-+l+78.5%
associate-+r+78.5%
associate--l+78.5%
+-commutative78.5%
sub-neg78.5%
Simplified91.7%
Taylor expanded in k around inf 37.5%
Final simplification38.9%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (* 18.0 (* (* x z) (* y t)))))
(if (<= j -2.5e+165)
(* k (* j -27.0))
(if (<= j -7.8e-76)
t_1
(if (<= j -1.06e-256)
(* b c)
(if (<= j 2.5e-250)
(* x (* 18.0 (* z (* y t))))
(if (<= j 1.4e-175)
(* b c)
(if (<= j 0.024) t_1 (* -27.0 (* k j))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = 18.0 * ((x * z) * (y * t));
double tmp;
if (j <= -2.5e+165) {
tmp = k * (j * -27.0);
} else if (j <= -7.8e-76) {
tmp = t_1;
} else if (j <= -1.06e-256) {
tmp = b * c;
} else if (j <= 2.5e-250) {
tmp = x * (18.0 * (z * (y * t)));
} else if (j <= 1.4e-175) {
tmp = b * c;
} else if (j <= 0.024) {
tmp = t_1;
} else {
tmp = -27.0 * (k * j);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k)
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), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = 18.0d0 * ((x * z) * (y * t))
if (j <= (-2.5d+165)) then
tmp = k * (j * (-27.0d0))
else if (j <= (-7.8d-76)) then
tmp = t_1
else if (j <= (-1.06d-256)) then
tmp = b * c
else if (j <= 2.5d-250) then
tmp = x * (18.0d0 * (z * (y * t)))
else if (j <= 1.4d-175) then
tmp = b * c
else if (j <= 0.024d0) then
tmp = t_1
else
tmp = (-27.0d0) * (k * j)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = 18.0 * ((x * z) * (y * t));
double tmp;
if (j <= -2.5e+165) {
tmp = k * (j * -27.0);
} else if (j <= -7.8e-76) {
tmp = t_1;
} else if (j <= -1.06e-256) {
tmp = b * c;
} else if (j <= 2.5e-250) {
tmp = x * (18.0 * (z * (y * t)));
} else if (j <= 1.4e-175) {
tmp = b * c;
} else if (j <= 0.024) {
tmp = t_1;
} else {
tmp = -27.0 * (k * j);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = 18.0 * ((x * z) * (y * t)) tmp = 0 if j <= -2.5e+165: tmp = k * (j * -27.0) elif j <= -7.8e-76: tmp = t_1 elif j <= -1.06e-256: tmp = b * c elif j <= 2.5e-250: tmp = x * (18.0 * (z * (y * t))) elif j <= 1.4e-175: tmp = b * c elif j <= 0.024: tmp = t_1 else: tmp = -27.0 * (k * j) return tmp
function code(x, y, z, t, a, b, c, i, j, k) t_1 = Float64(18.0 * Float64(Float64(x * z) * Float64(y * t))) tmp = 0.0 if (j <= -2.5e+165) tmp = Float64(k * Float64(j * -27.0)); elseif (j <= -7.8e-76) tmp = t_1; elseif (j <= -1.06e-256) tmp = Float64(b * c); elseif (j <= 2.5e-250) tmp = Float64(x * Float64(18.0 * Float64(z * Float64(y * t)))); elseif (j <= 1.4e-175) tmp = Float64(b * c); elseif (j <= 0.024) tmp = t_1; else tmp = Float64(-27.0 * Float64(k * j)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k) t_1 = 18.0 * ((x * z) * (y * t)); tmp = 0.0; if (j <= -2.5e+165) tmp = k * (j * -27.0); elseif (j <= -7.8e-76) tmp = t_1; elseif (j <= -1.06e-256) tmp = b * c; elseif (j <= 2.5e-250) tmp = x * (18.0 * (z * (y * t))); elseif (j <= 1.4e-175) tmp = b * c; elseif (j <= 0.024) tmp = t_1; else tmp = -27.0 * (k * j); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := Block[{t$95$1 = N[(18.0 * N[(N[(x * z), $MachinePrecision] * N[(y * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -2.5e+165], N[(k * N[(j * -27.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -7.8e-76], t$95$1, If[LessEqual[j, -1.06e-256], N[(b * c), $MachinePrecision], If[LessEqual[j, 2.5e-250], N[(x * N[(18.0 * N[(z * N[(y * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.4e-175], N[(b * c), $MachinePrecision], If[LessEqual[j, 0.024], t$95$1, N[(-27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 18 \cdot \left(\left(x \cdot z\right) \cdot \left(y \cdot t\right)\right)\\
\mathbf{if}\;j \leq -2.5 \cdot 10^{+165}:\\
\;\;\;\;k \cdot \left(j \cdot -27\right)\\
\mathbf{elif}\;j \leq -7.8 \cdot 10^{-76}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq -1.06 \cdot 10^{-256}:\\
\;\;\;\;b \cdot c\\
\mathbf{elif}\;j \leq 2.5 \cdot 10^{-250}:\\
\;\;\;\;x \cdot \left(18 \cdot \left(z \cdot \left(y \cdot t\right)\right)\right)\\
\mathbf{elif}\;j \leq 1.4 \cdot 10^{-175}:\\
\;\;\;\;b \cdot c\\
\mathbf{elif}\;j \leq 0.024:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;-27 \cdot \left(k \cdot j\right)\\
\end{array}
\end{array}
if j < -2.49999999999999985e165Initial program 81.6%
sub-neg81.6%
+-commutative81.6%
sub-neg81.6%
associate-+l+81.6%
associate-+r+81.6%
associate--l+81.6%
+-commutative81.6%
sub-neg81.6%
Simplified86.8%
Taylor expanded in k around inf 69.0%
associate-*r*69.0%
*-commutative69.0%
associate-*r*69.0%
Simplified69.0%
if -2.49999999999999985e165 < j < -7.8000000000000005e-76 or 1.4e-175 < j < 0.024Initial program 82.4%
sub-neg82.4%
+-commutative82.4%
sub-neg82.4%
associate-+l+82.4%
associate-+r+82.4%
associate--l+82.4%
+-commutative82.4%
sub-neg82.4%
Simplified88.2%
Taylor expanded in y around inf 29.2%
associate-*r*31.6%
*-commutative31.6%
associate-*l*27.6%
Simplified27.6%
Taylor expanded in y around 0 29.2%
associate-*r*31.4%
Simplified31.4%
if -7.8000000000000005e-76 < j < -1.06e-256 or 2.50000000000000013e-250 < j < 1.4e-175Initial program 85.2%
sub-neg85.2%
+-commutative85.2%
sub-neg85.2%
associate-+l+85.2%
associate-+r+85.2%
associate--l+85.2%
+-commutative85.2%
sub-neg85.2%
Simplified87.9%
Taylor expanded in b around inf 33.6%
if -1.06e-256 < j < 2.50000000000000013e-250Initial program 80.7%
sub-neg80.7%
associate-+l-80.7%
sub-neg80.7%
sub-neg80.7%
distribute-rgt-out--80.7%
associate-*l*76.4%
distribute-lft-neg-in76.4%
cancel-sign-sub76.4%
associate-*l*76.4%
associate-*l*76.4%
Simplified76.4%
Taylor expanded in x around inf 51.8%
Taylor expanded in y around inf 29.2%
associate-*r*29.2%
Simplified29.2%
if 0.024 < j Initial program 78.5%
sub-neg78.5%
+-commutative78.5%
sub-neg78.5%
associate-+l+78.5%
associate-+r+78.5%
associate--l+78.5%
+-commutative78.5%
sub-neg78.5%
Simplified91.7%
Taylor expanded in k around inf 37.5%
Final simplification38.9%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (- (* b c) (* 27.0 (* k j))))
(t_2 (+ (* -4.0 (* t a)) (* -27.0 (* k j))))
(t_3 (* x (* 18.0 (* y (* z t))))))
(if (<= z -1.45e-55)
t_3
(if (<= z 6.5e-71)
t_2
(if (<= z 1.9e-12)
t_1
(if (<= z 1.05e+122) t_2 (if (<= z 2.7e+204) t_1 t_3)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = (b * c) - (27.0 * (k * j));
double t_2 = (-4.0 * (t * a)) + (-27.0 * (k * j));
double t_3 = x * (18.0 * (y * (z * t)));
double tmp;
if (z <= -1.45e-55) {
tmp = t_3;
} else if (z <= 6.5e-71) {
tmp = t_2;
} else if (z <= 1.9e-12) {
tmp = t_1;
} else if (z <= 1.05e+122) {
tmp = t_2;
} else if (z <= 2.7e+204) {
tmp = t_1;
} else {
tmp = t_3;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k)
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), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = (b * c) - (27.0d0 * (k * j))
t_2 = ((-4.0d0) * (t * a)) + ((-27.0d0) * (k * j))
t_3 = x * (18.0d0 * (y * (z * t)))
if (z <= (-1.45d-55)) then
tmp = t_3
else if (z <= 6.5d-71) then
tmp = t_2
else if (z <= 1.9d-12) then
tmp = t_1
else if (z <= 1.05d+122) then
tmp = t_2
else if (z <= 2.7d+204) then
tmp = t_1
else
tmp = t_3
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = (b * c) - (27.0 * (k * j));
double t_2 = (-4.0 * (t * a)) + (-27.0 * (k * j));
double t_3 = x * (18.0 * (y * (z * t)));
double tmp;
if (z <= -1.45e-55) {
tmp = t_3;
} else if (z <= 6.5e-71) {
tmp = t_2;
} else if (z <= 1.9e-12) {
tmp = t_1;
} else if (z <= 1.05e+122) {
tmp = t_2;
} else if (z <= 2.7e+204) {
tmp = t_1;
} else {
tmp = t_3;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = (b * c) - (27.0 * (k * j)) t_2 = (-4.0 * (t * a)) + (-27.0 * (k * j)) t_3 = x * (18.0 * (y * (z * t))) tmp = 0 if z <= -1.45e-55: tmp = t_3 elif z <= 6.5e-71: tmp = t_2 elif z <= 1.9e-12: tmp = t_1 elif z <= 1.05e+122: tmp = t_2 elif z <= 2.7e+204: tmp = t_1 else: tmp = t_3 return tmp
function code(x, y, z, t, a, b, c, i, j, k) t_1 = Float64(Float64(b * c) - Float64(27.0 * Float64(k * j))) t_2 = Float64(Float64(-4.0 * Float64(t * a)) + Float64(-27.0 * Float64(k * j))) t_3 = Float64(x * Float64(18.0 * Float64(y * Float64(z * t)))) tmp = 0.0 if (z <= -1.45e-55) tmp = t_3; elseif (z <= 6.5e-71) tmp = t_2; elseif (z <= 1.9e-12) tmp = t_1; elseif (z <= 1.05e+122) tmp = t_2; elseif (z <= 2.7e+204) tmp = t_1; else tmp = t_3; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k) t_1 = (b * c) - (27.0 * (k * j)); t_2 = (-4.0 * (t * a)) + (-27.0 * (k * j)); t_3 = x * (18.0 * (y * (z * t))); tmp = 0.0; if (z <= -1.45e-55) tmp = t_3; elseif (z <= 6.5e-71) tmp = t_2; elseif (z <= 1.9e-12) tmp = t_1; elseif (z <= 1.05e+122) tmp = t_2; elseif (z <= 2.7e+204) tmp = t_1; else tmp = t_3; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := Block[{t$95$1 = N[(N[(b * c), $MachinePrecision] - N[(27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(-4.0 * N[(t * a), $MachinePrecision]), $MachinePrecision] + N[(-27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(x * N[(18.0 * N[(y * N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -1.45e-55], t$95$3, If[LessEqual[z, 6.5e-71], t$95$2, If[LessEqual[z, 1.9e-12], t$95$1, If[LessEqual[z, 1.05e+122], t$95$2, If[LessEqual[z, 2.7e+204], t$95$1, t$95$3]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot c - 27 \cdot \left(k \cdot j\right)\\
t_2 := -4 \cdot \left(t \cdot a\right) + -27 \cdot \left(k \cdot j\right)\\
t_3 := x \cdot \left(18 \cdot \left(y \cdot \left(z \cdot t\right)\right)\right)\\
\mathbf{if}\;z \leq -1.45 \cdot 10^{-55}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;z \leq 6.5 \cdot 10^{-71}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;z \leq 1.9 \cdot 10^{-12}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq 1.05 \cdot 10^{+122}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;z \leq 2.7 \cdot 10^{+204}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_3\\
\end{array}
\end{array}
if z < -1.45e-55 or 2.6999999999999999e204 < z Initial program 75.9%
sub-neg75.9%
associate-+l-75.9%
sub-neg75.9%
sub-neg75.9%
distribute-rgt-out--80.8%
associate-*l*76.1%
distribute-lft-neg-in76.1%
cancel-sign-sub76.1%
associate-*l*76.1%
associate-*l*76.1%
Simplified76.1%
Taylor expanded in x around inf 59.2%
Taylor expanded in y around inf 52.6%
if -1.45e-55 < z < 6.50000000000000005e-71 or 1.89999999999999998e-12 < z < 1.05000000000000008e122Initial program 84.4%
sub-neg84.4%
+-commutative84.4%
associate-*l*84.4%
distribute-rgt-neg-in84.4%
fma-def84.4%
*-commutative84.4%
distribute-rgt-neg-in84.4%
metadata-eval84.4%
sub-neg84.4%
+-commutative84.4%
associate-*l*84.4%
distribute-rgt-neg-in84.4%
Simplified92.5%
Taylor expanded in b around 0 75.4%
Taylor expanded in x around 0 46.7%
if 6.50000000000000005e-71 < z < 1.89999999999999998e-12 or 1.05000000000000008e122 < z < 2.6999999999999999e204Initial program 88.0%
sub-neg88.0%
associate-+l-88.0%
sub-neg88.0%
sub-neg88.0%
distribute-rgt-out--87.9%
associate-*l*79.1%
distribute-lft-neg-in79.1%
cancel-sign-sub79.1%
associate-*l*79.1%
associate-*l*79.1%
Simplified79.1%
Taylor expanded in i around 0 82.4%
Taylor expanded in c around inf 58.9%
Final simplification50.7%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (* 27.0 (* k j))))
(if (or (<= y -6.2e+170) (not (<= y 5.8e-87)))
(- (* 18.0 (* y (* t (* x z)))) t_1)
(- (* b c) (+ t_1 (* 4.0 (* x i)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = 27.0 * (k * j);
double tmp;
if ((y <= -6.2e+170) || !(y <= 5.8e-87)) {
tmp = (18.0 * (y * (t * (x * z)))) - t_1;
} else {
tmp = (b * c) - (t_1 + (4.0 * (x * i)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k)
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), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = 27.0d0 * (k * j)
if ((y <= (-6.2d+170)) .or. (.not. (y <= 5.8d-87))) then
tmp = (18.0d0 * (y * (t * (x * z)))) - t_1
else
tmp = (b * c) - (t_1 + (4.0d0 * (x * i)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = 27.0 * (k * j);
double tmp;
if ((y <= -6.2e+170) || !(y <= 5.8e-87)) {
tmp = (18.0 * (y * (t * (x * z)))) - t_1;
} else {
tmp = (b * c) - (t_1 + (4.0 * (x * i)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = 27.0 * (k * j) tmp = 0 if (y <= -6.2e+170) or not (y <= 5.8e-87): tmp = (18.0 * (y * (t * (x * z)))) - t_1 else: tmp = (b * c) - (t_1 + (4.0 * (x * i))) return tmp
function code(x, y, z, t, a, b, c, i, j, k) t_1 = Float64(27.0 * Float64(k * j)) tmp = 0.0 if ((y <= -6.2e+170) || !(y <= 5.8e-87)) tmp = Float64(Float64(18.0 * Float64(y * Float64(t * Float64(x * z)))) - t_1); else tmp = Float64(Float64(b * c) - Float64(t_1 + Float64(4.0 * Float64(x * i)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k) t_1 = 27.0 * (k * j); tmp = 0.0; if ((y <= -6.2e+170) || ~((y <= 5.8e-87))) tmp = (18.0 * (y * (t * (x * z)))) - t_1; else tmp = (b * c) - (t_1 + (4.0 * (x * i))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := Block[{t$95$1 = N[(27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]}, If[Or[LessEqual[y, -6.2e+170], N[Not[LessEqual[y, 5.8e-87]], $MachinePrecision]], N[(N[(18.0 * N[(y * N[(t * N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - t$95$1), $MachinePrecision], N[(N[(b * c), $MachinePrecision] - N[(t$95$1 + N[(4.0 * N[(x * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 27 \cdot \left(k \cdot j\right)\\
\mathbf{if}\;y \leq -6.2 \cdot 10^{+170} \lor \neg \left(y \leq 5.8 \cdot 10^{-87}\right):\\
\;\;\;\;18 \cdot \left(y \cdot \left(t \cdot \left(x \cdot z\right)\right)\right) - t_1\\
\mathbf{else}:\\
\;\;\;\;b \cdot c - \left(t_1 + 4 \cdot \left(x \cdot i\right)\right)\\
\end{array}
\end{array}
if y < -6.2e170 or 5.7999999999999998e-87 < y Initial program 78.3%
Taylor expanded in i around 0 82.8%
Taylor expanded in a around 0 78.6%
Taylor expanded in c around 0 63.2%
if -6.2e170 < y < 5.7999999999999998e-87Initial program 84.0%
sub-neg84.0%
associate-+l-84.0%
sub-neg84.0%
sub-neg84.0%
distribute-rgt-out--85.4%
associate-*l*87.4%
distribute-lft-neg-in87.4%
cancel-sign-sub87.4%
associate-*l*87.4%
associate-*l*87.4%
Simplified87.4%
Taylor expanded in t around 0 62.2%
Final simplification62.7%
(FPCore (x y z t a b c i j k) :precision binary64 (if (or (<= z -3.5e-62) (not (<= z 4.35e+201))) (* x (* 18.0 (* y (* z t)))) (- (* b c) (* 27.0 (* k j)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double tmp;
if ((z <= -3.5e-62) || !(z <= 4.35e+201)) {
tmp = x * (18.0 * (y * (z * t)));
} else {
tmp = (b * c) - (27.0 * (k * j));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k)
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), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8) :: tmp
if ((z <= (-3.5d-62)) .or. (.not. (z <= 4.35d+201))) then
tmp = x * (18.0d0 * (y * (z * t)))
else
tmp = (b * c) - (27.0d0 * (k * j))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double tmp;
if ((z <= -3.5e-62) || !(z <= 4.35e+201)) {
tmp = x * (18.0 * (y * (z * t)));
} else {
tmp = (b * c) - (27.0 * (k * j));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): tmp = 0 if (z <= -3.5e-62) or not (z <= 4.35e+201): tmp = x * (18.0 * (y * (z * t))) else: tmp = (b * c) - (27.0 * (k * j)) return tmp
function code(x, y, z, t, a, b, c, i, j, k) tmp = 0.0 if ((z <= -3.5e-62) || !(z <= 4.35e+201)) tmp = Float64(x * Float64(18.0 * Float64(y * Float64(z * t)))); else tmp = Float64(Float64(b * c) - Float64(27.0 * Float64(k * j))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k) tmp = 0.0; if ((z <= -3.5e-62) || ~((z <= 4.35e+201))) tmp = x * (18.0 * (y * (z * t))); else tmp = (b * c) - (27.0 * (k * j)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := If[Or[LessEqual[z, -3.5e-62], N[Not[LessEqual[z, 4.35e+201]], $MachinePrecision]], N[(x * N[(18.0 * N[(y * N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(b * c), $MachinePrecision] - N[(27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -3.5 \cdot 10^{-62} \lor \neg \left(z \leq 4.35 \cdot 10^{+201}\right):\\
\;\;\;\;x \cdot \left(18 \cdot \left(y \cdot \left(z \cdot t\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;b \cdot c - 27 \cdot \left(k \cdot j\right)\\
\end{array}
\end{array}
if z < -3.5000000000000001e-62 or 4.35000000000000023e201 < z Initial program 76.6%
sub-neg76.6%
associate-+l-76.6%
sub-neg76.6%
sub-neg76.6%
distribute-rgt-out--81.3%
associate-*l*76.8%
distribute-lft-neg-in76.8%
cancel-sign-sub76.8%
associate-*l*76.8%
associate-*l*76.7%
Simplified76.7%
Taylor expanded in x around inf 59.5%
Taylor expanded in y around inf 53.0%
if -3.5000000000000001e-62 < z < 4.35000000000000023e201Initial program 84.9%
sub-neg84.9%
associate-+l-84.9%
sub-neg84.9%
sub-neg84.9%
distribute-rgt-out--84.9%
associate-*l*88.2%
distribute-lft-neg-in88.2%
cancel-sign-sub88.2%
associate-*l*88.2%
associate-*l*88.2%
Simplified88.2%
Taylor expanded in i around 0 78.1%
Taylor expanded in c around inf 55.1%
Final simplification54.3%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (* -27.0 (* k j))))
(if (<= j -1.45e+44)
t_1
(if (<= j 7e-175) (* b c) (if (<= j 3.5e-10) (* -4.0 (* t a)) t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = -27.0 * (k * j);
double tmp;
if (j <= -1.45e+44) {
tmp = t_1;
} else if (j <= 7e-175) {
tmp = b * c;
} else if (j <= 3.5e-10) {
tmp = -4.0 * (t * a);
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k)
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), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = (-27.0d0) * (k * j)
if (j <= (-1.45d+44)) then
tmp = t_1
else if (j <= 7d-175) then
tmp = b * c
else if (j <= 3.5d-10) then
tmp = (-4.0d0) * (t * a)
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = -27.0 * (k * j);
double tmp;
if (j <= -1.45e+44) {
tmp = t_1;
} else if (j <= 7e-175) {
tmp = b * c;
} else if (j <= 3.5e-10) {
tmp = -4.0 * (t * a);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = -27.0 * (k * j) tmp = 0 if j <= -1.45e+44: tmp = t_1 elif j <= 7e-175: tmp = b * c elif j <= 3.5e-10: tmp = -4.0 * (t * a) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j, k) t_1 = Float64(-27.0 * Float64(k * j)) tmp = 0.0 if (j <= -1.45e+44) tmp = t_1; elseif (j <= 7e-175) tmp = Float64(b * c); elseif (j <= 3.5e-10) tmp = Float64(-4.0 * Float64(t * a)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k) t_1 = -27.0 * (k * j); tmp = 0.0; if (j <= -1.45e+44) tmp = t_1; elseif (j <= 7e-175) tmp = b * c; elseif (j <= 3.5e-10) tmp = -4.0 * (t * a); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := Block[{t$95$1 = N[(-27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -1.45e+44], t$95$1, If[LessEqual[j, 7e-175], N[(b * c), $MachinePrecision], If[LessEqual[j, 3.5e-10], N[(-4.0 * N[(t * a), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := -27 \cdot \left(k \cdot j\right)\\
\mathbf{if}\;j \leq -1.45 \cdot 10^{+44}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq 7 \cdot 10^{-175}:\\
\;\;\;\;b \cdot c\\
\mathbf{elif}\;j \leq 3.5 \cdot 10^{-10}:\\
\;\;\;\;-4 \cdot \left(t \cdot a\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if j < -1.4500000000000001e44 or 3.4999999999999998e-10 < j Initial program 79.2%
sub-neg79.2%
+-commutative79.2%
sub-neg79.2%
associate-+l+79.2%
associate-+r+79.2%
associate--l+79.2%
+-commutative79.2%
sub-neg79.2%
Simplified89.8%
Taylor expanded in k around inf 46.8%
if -1.4500000000000001e44 < j < 6.99999999999999997e-175Initial program 82.9%
sub-neg82.9%
+-commutative82.9%
sub-neg82.9%
associate-+l+82.9%
associate-+r+82.9%
associate--l+82.9%
+-commutative82.9%
sub-neg82.9%
Simplified87.8%
Taylor expanded in b around inf 33.9%
if 6.99999999999999997e-175 < j < 3.4999999999999998e-10Initial program 85.3%
sub-neg85.3%
+-commutative85.3%
sub-neg85.3%
associate-+l+85.3%
associate-+r+85.3%
associate--l+85.3%
+-commutative85.3%
sub-neg85.3%
Simplified87.6%
Taylor expanded in a around inf 21.3%
Final simplification38.0%
(FPCore (x y z t a b c i j k)
:precision binary64
(if (<= j -4.1e+47)
(* k (* j -27.0))
(if (<= j 3.25e-174)
(* b c)
(if (<= j 5.5e-11) (* -4.0 (* t a)) (* -27.0 (* k j))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double tmp;
if (j <= -4.1e+47) {
tmp = k * (j * -27.0);
} else if (j <= 3.25e-174) {
tmp = b * c;
} else if (j <= 5.5e-11) {
tmp = -4.0 * (t * a);
} else {
tmp = -27.0 * (k * j);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k)
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), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8) :: tmp
if (j <= (-4.1d+47)) then
tmp = k * (j * (-27.0d0))
else if (j <= 3.25d-174) then
tmp = b * c
else if (j <= 5.5d-11) then
tmp = (-4.0d0) * (t * a)
else
tmp = (-27.0d0) * (k * j)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double tmp;
if (j <= -4.1e+47) {
tmp = k * (j * -27.0);
} else if (j <= 3.25e-174) {
tmp = b * c;
} else if (j <= 5.5e-11) {
tmp = -4.0 * (t * a);
} else {
tmp = -27.0 * (k * j);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): tmp = 0 if j <= -4.1e+47: tmp = k * (j * -27.0) elif j <= 3.25e-174: tmp = b * c elif j <= 5.5e-11: tmp = -4.0 * (t * a) else: tmp = -27.0 * (k * j) return tmp
function code(x, y, z, t, a, b, c, i, j, k) tmp = 0.0 if (j <= -4.1e+47) tmp = Float64(k * Float64(j * -27.0)); elseif (j <= 3.25e-174) tmp = Float64(b * c); elseif (j <= 5.5e-11) tmp = Float64(-4.0 * Float64(t * a)); else tmp = Float64(-27.0 * Float64(k * j)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k) tmp = 0.0; if (j <= -4.1e+47) tmp = k * (j * -27.0); elseif (j <= 3.25e-174) tmp = b * c; elseif (j <= 5.5e-11) tmp = -4.0 * (t * a); else tmp = -27.0 * (k * j); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := If[LessEqual[j, -4.1e+47], N[(k * N[(j * -27.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 3.25e-174], N[(b * c), $MachinePrecision], If[LessEqual[j, 5.5e-11], N[(-4.0 * N[(t * a), $MachinePrecision]), $MachinePrecision], N[(-27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;j \leq -4.1 \cdot 10^{+47}:\\
\;\;\;\;k \cdot \left(j \cdot -27\right)\\
\mathbf{elif}\;j \leq 3.25 \cdot 10^{-174}:\\
\;\;\;\;b \cdot c\\
\mathbf{elif}\;j \leq 5.5 \cdot 10^{-11}:\\
\;\;\;\;-4 \cdot \left(t \cdot a\right)\\
\mathbf{else}:\\
\;\;\;\;-27 \cdot \left(k \cdot j\right)\\
\end{array}
\end{array}
if j < -4.1000000000000001e47Initial program 80.8%
sub-neg80.8%
+-commutative80.8%
sub-neg80.8%
associate-+l+80.8%
associate-+r+80.8%
associate--l+80.8%
+-commutative80.8%
sub-neg80.8%
Simplified86.5%
Taylor expanded in k around inf 60.4%
associate-*r*60.4%
*-commutative60.4%
associate-*r*60.4%
Simplified60.4%
if -4.1000000000000001e47 < j < 3.25000000000000004e-174Initial program 82.9%
sub-neg82.9%
+-commutative82.9%
sub-neg82.9%
associate-+l+82.9%
associate-+r+82.9%
associate--l+82.9%
+-commutative82.9%
sub-neg82.9%
Simplified87.8%
Taylor expanded in b around inf 33.9%
if 3.25000000000000004e-174 < j < 5.49999999999999975e-11Initial program 85.3%
sub-neg85.3%
+-commutative85.3%
sub-neg85.3%
associate-+l+85.3%
associate-+r+85.3%
associate--l+85.3%
+-commutative85.3%
sub-neg85.3%
Simplified87.6%
Taylor expanded in a around inf 21.3%
if 5.49999999999999975e-11 < j Initial program 78.1%
sub-neg78.1%
+-commutative78.1%
sub-neg78.1%
associate-+l+78.1%
associate-+r+78.1%
associate--l+78.1%
+-commutative78.1%
sub-neg78.1%
Simplified92.0%
Taylor expanded in k around inf 37.5%
Final simplification38.0%
(FPCore (x y z t a b c i j k) :precision binary64 (if (or (<= j -1.25e+42) (not (<= j 2.8e-10))) (* -27.0 (* k j)) (* b c)))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double tmp;
if ((j <= -1.25e+42) || !(j <= 2.8e-10)) {
tmp = -27.0 * (k * j);
} else {
tmp = b * c;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k)
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), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8) :: tmp
if ((j <= (-1.25d+42)) .or. (.not. (j <= 2.8d-10))) then
tmp = (-27.0d0) * (k * j)
else
tmp = b * c
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double tmp;
if ((j <= -1.25e+42) || !(j <= 2.8e-10)) {
tmp = -27.0 * (k * j);
} else {
tmp = b * c;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): tmp = 0 if (j <= -1.25e+42) or not (j <= 2.8e-10): tmp = -27.0 * (k * j) else: tmp = b * c return tmp
function code(x, y, z, t, a, b, c, i, j, k) tmp = 0.0 if ((j <= -1.25e+42) || !(j <= 2.8e-10)) tmp = Float64(-27.0 * Float64(k * j)); else tmp = Float64(b * c); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k) tmp = 0.0; if ((j <= -1.25e+42) || ~((j <= 2.8e-10))) tmp = -27.0 * (k * j); else tmp = b * c; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := If[Or[LessEqual[j, -1.25e+42], N[Not[LessEqual[j, 2.8e-10]], $MachinePrecision]], N[(-27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision], N[(b * c), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;j \leq -1.25 \cdot 10^{+42} \lor \neg \left(j \leq 2.8 \cdot 10^{-10}\right):\\
\;\;\;\;-27 \cdot \left(k \cdot j\right)\\
\mathbf{else}:\\
\;\;\;\;b \cdot c\\
\end{array}
\end{array}
if j < -1.25000000000000002e42 or 2.80000000000000015e-10 < j Initial program 79.2%
sub-neg79.2%
+-commutative79.2%
sub-neg79.2%
associate-+l+79.2%
associate-+r+79.2%
associate--l+79.2%
+-commutative79.2%
sub-neg79.2%
Simplified89.8%
Taylor expanded in k around inf 46.8%
if -1.25000000000000002e42 < j < 2.80000000000000015e-10Initial program 83.7%
sub-neg83.7%
+-commutative83.7%
sub-neg83.7%
associate-+l+83.7%
associate-+r+83.7%
associate--l+83.7%
+-commutative83.7%
sub-neg83.7%
Simplified87.7%
Taylor expanded in b around inf 31.2%
Final simplification39.0%
(FPCore (x y z t a b c i j k) :precision binary64 (* b c))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
return b * c;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k)
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), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
code = b * c
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
return b * c;
}
def code(x, y, z, t, a, b, c, i, j, k): return b * c
function code(x, y, z, t, a, b, c, i, j, k) return Float64(b * c) end
function tmp = code(x, y, z, t, a, b, c, i, j, k) tmp = b * c; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := N[(b * c), $MachinePrecision]
\begin{array}{l}
\\
b \cdot c
\end{array}
Initial program 81.5%
sub-neg81.5%
+-commutative81.5%
sub-neg81.5%
associate-+l+81.5%
associate-+r+81.5%
associate--l+81.5%
+-commutative81.5%
sub-neg81.5%
Simplified88.7%
Taylor expanded in b around inf 23.3%
Final simplification23.3%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (* (+ (* a t) (* i x)) 4.0))
(t_2
(-
(- (* (* 18.0 t) (* (* x y) z)) t_1)
(- (* (* k j) 27.0) (* c b)))))
(if (< t -1.6210815397541398e-69)
t_2
(if (< t 165.68027943805222)
(+ (- (* (* 18.0 y) (* x (* z t))) t_1) (- (* c b) (* 27.0 (* k j))))
t_2))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = ((a * t) + (i * x)) * 4.0;
double t_2 = (((18.0 * t) * ((x * y) * z)) - t_1) - (((k * j) * 27.0) - (c * b));
double tmp;
if (t < -1.6210815397541398e-69) {
tmp = t_2;
} else if (t < 165.68027943805222) {
tmp = (((18.0 * y) * (x * (z * t))) - t_1) + ((c * b) - (27.0 * (k * j)));
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k)
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), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = ((a * t) + (i * x)) * 4.0d0
t_2 = (((18.0d0 * t) * ((x * y) * z)) - t_1) - (((k * j) * 27.0d0) - (c * b))
if (t < (-1.6210815397541398d-69)) then
tmp = t_2
else if (t < 165.68027943805222d0) then
tmp = (((18.0d0 * y) * (x * (z * t))) - t_1) + ((c * b) - (27.0d0 * (k * j)))
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 b, double c, double i, double j, double k) {
double t_1 = ((a * t) + (i * x)) * 4.0;
double t_2 = (((18.0 * t) * ((x * y) * z)) - t_1) - (((k * j) * 27.0) - (c * b));
double tmp;
if (t < -1.6210815397541398e-69) {
tmp = t_2;
} else if (t < 165.68027943805222) {
tmp = (((18.0 * y) * (x * (z * t))) - t_1) + ((c * b) - (27.0 * (k * j)));
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = ((a * t) + (i * x)) * 4.0 t_2 = (((18.0 * t) * ((x * y) * z)) - t_1) - (((k * j) * 27.0) - (c * b)) tmp = 0 if t < -1.6210815397541398e-69: tmp = t_2 elif t < 165.68027943805222: tmp = (((18.0 * y) * (x * (z * t))) - t_1) + ((c * b) - (27.0 * (k * j))) else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j, k) t_1 = Float64(Float64(Float64(a * t) + Float64(i * x)) * 4.0) t_2 = Float64(Float64(Float64(Float64(18.0 * t) * Float64(Float64(x * y) * z)) - t_1) - Float64(Float64(Float64(k * j) * 27.0) - Float64(c * b))) tmp = 0.0 if (t < -1.6210815397541398e-69) tmp = t_2; elseif (t < 165.68027943805222) tmp = Float64(Float64(Float64(Float64(18.0 * y) * Float64(x * Float64(z * t))) - t_1) + Float64(Float64(c * b) - Float64(27.0 * Float64(k * j)))); else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k) t_1 = ((a * t) + (i * x)) * 4.0; t_2 = (((18.0 * t) * ((x * y) * z)) - t_1) - (((k * j) * 27.0) - (c * b)); tmp = 0.0; if (t < -1.6210815397541398e-69) tmp = t_2; elseif (t < 165.68027943805222) tmp = (((18.0 * y) * (x * (z * t))) - t_1) + ((c * b) - (27.0 * (k * j))); else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := Block[{t$95$1 = N[(N[(N[(a * t), $MachinePrecision] + N[(i * x), $MachinePrecision]), $MachinePrecision] * 4.0), $MachinePrecision]}, Block[{t$95$2 = N[(N[(N[(N[(18.0 * t), $MachinePrecision] * N[(N[(x * y), $MachinePrecision] * z), $MachinePrecision]), $MachinePrecision] - t$95$1), $MachinePrecision] - N[(N[(N[(k * j), $MachinePrecision] * 27.0), $MachinePrecision] - N[(c * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Less[t, -1.6210815397541398e-69], t$95$2, If[Less[t, 165.68027943805222], N[(N[(N[(N[(18.0 * y), $MachinePrecision] * N[(x * N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - t$95$1), $MachinePrecision] + N[(N[(c * b), $MachinePrecision] - N[(27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$2]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(a \cdot t + i \cdot x\right) \cdot 4\\
t_2 := \left(\left(18 \cdot t\right) \cdot \left(\left(x \cdot y\right) \cdot z\right) - t_1\right) - \left(\left(k \cdot j\right) \cdot 27 - c \cdot b\right)\\
\mathbf{if}\;t < -1.6210815397541398 \cdot 10^{-69}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;t < 165.68027943805222:\\
\;\;\;\;\left(\left(18 \cdot y\right) \cdot \left(x \cdot \left(z \cdot t\right)\right) - t_1\right) + \left(c \cdot b - 27 \cdot \left(k \cdot j\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
herbie shell --seed 2023174
(FPCore (x y z t a b c i j k)
:name "Diagrams.Solve.Polynomial:cubForm from diagrams-solve-0.1, E"
:precision binary64
:herbie-target
(if (< t -1.6210815397541398e-69) (- (- (* (* 18.0 t) (* (* x y) z)) (* (+ (* a t) (* i x)) 4.0)) (- (* (* k j) 27.0) (* c b))) (if (< t 165.68027943805222) (+ (- (* (* 18.0 y) (* x (* z t))) (* (+ (* a t) (* i x)) 4.0)) (- (* c b) (* 27.0 (* k j)))) (- (- (* (* 18.0 t) (* (* x y) z)) (* (+ (* a t) (* i x)) 4.0)) (- (* (* k j) 27.0) (* c b)))))
(- (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) (* (* j 27.0) k)))