
(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
(if (<= i -7.5e-212)
(fma
x
(fma 18.0 (* t (* y z)) (* i -4.0))
(fma t (* -4.0 a) (fma b c (* k (* j -27.0)))))
(fma
j
(* k -27.0)
(fma x (* i -4.0) (fma t (fma x (* 18.0 (* y z)) (* -4.0 a)) (* 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 (i <= -7.5e-212) {
tmp = fma(x, fma(18.0, (t * (y * z)), (i * -4.0)), fma(t, (-4.0 * a), fma(b, c, (k * (j * -27.0)))));
} else {
tmp = fma(j, (k * -27.0), fma(x, (i * -4.0), fma(t, fma(x, (18.0 * (y * z)), (-4.0 * a)), (b * c))));
}
return tmp;
}
function code(x, y, z, t, a, b, c, i, j, k) tmp = 0.0 if (i <= -7.5e-212) tmp = fma(x, fma(18.0, Float64(t * Float64(y * z)), Float64(i * -4.0)), fma(t, Float64(-4.0 * a), fma(b, c, 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(-4.0 * a)), Float64(b * c)))); end return tmp end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := If[LessEqual[i, -7.5e-212], N[(x * N[(18.0 * N[(t * N[(y * z), $MachinePrecision]), $MachinePrecision] + N[(i * -4.0), $MachinePrecision]), $MachinePrecision] + N[(t * N[(-4.0 * a), $MachinePrecision] + N[(b * c + N[(k * N[(j * -27.0), $MachinePrecision]), $MachinePrecision]), $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[(-4.0 * a), $MachinePrecision]), $MachinePrecision] + N[(b * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;i \leq -7.5 \cdot 10^{-212}:\\
\;\;\;\;\mathsf{fma}\left(x, \mathsf{fma}\left(18, t \cdot \left(y \cdot z\right), i \cdot -4\right), \mathsf{fma}\left(t, -4 \cdot a, \mathsf{fma}\left(b, c, k \cdot \left(j \cdot -27\right)\right)\right)\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), -4 \cdot a\right), b \cdot c\right)\right)\right)\\
\end{array}
\end{array}
if i < -7.50000000000000012e-212Initial program 83.2%
Simplified91.5%
if -7.50000000000000012e-212 < i Initial program 84.7%
sub-neg84.7%
+-commutative84.7%
associate-*l*84.7%
distribute-rgt-neg-in84.7%
fma-def87.4%
*-commutative87.4%
distribute-rgt-neg-in87.4%
metadata-eval87.4%
sub-neg87.4%
+-commutative87.4%
associate-*l*87.4%
distribute-rgt-neg-in87.4%
Simplified94.0%
Final simplification93.0%
(FPCore (x y z t a b c i j k) :precision binary64 (fma j (* k -27.0) (fma x (* i -4.0) (fma t (fma x (* 18.0 (* y z)) (* -4.0 a)) (* 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 fma(j, (k * -27.0), fma(x, (i * -4.0), fma(t, fma(x, (18.0 * (y * z)), (-4.0 * a)), (b * c))));
}
function code(x, y, z, t, a, b, c, i, j, k) return fma(j, Float64(k * -27.0), fma(x, Float64(i * -4.0), fma(t, fma(x, Float64(18.0 * Float64(y * z)), Float64(-4.0 * a)), Float64(b * c)))) end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := 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[(-4.0 * a), $MachinePrecision]), $MachinePrecision] + N[(b * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\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), -4 \cdot a\right), b \cdot c\right)\right)\right)
\end{array}
Initial program 84.1%
sub-neg84.1%
+-commutative84.1%
associate-*l*84.1%
distribute-rgt-neg-in84.1%
fma-def86.1%
*-commutative86.1%
distribute-rgt-neg-in86.1%
metadata-eval86.1%
sub-neg86.1%
+-commutative86.1%
associate-*l*86.1%
distribute-rgt-neg-in86.1%
Simplified90.8%
Final simplification90.8%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1
(-
(-
(+ (- (* t (* z (* y (* x 18.0)))) (* t (* a 4.0))) (* b c))
(* i (* x 4.0)))
(* k (* j 27.0)))))
(if (<= t_1 INFINITY) t_1 (* x (- (* 18.0 (* y (* t z))) (* i 4.0))))))
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 = ((((t * (z * (y * (x * 18.0)))) - (t * (a * 4.0))) + (b * c)) - (i * (x * 4.0))) - (k * (j * 27.0));
double tmp;
if (t_1 <= ((double) INFINITY)) {
tmp = t_1;
} else {
tmp = x * ((18.0 * (y * (t * z))) - (i * 4.0));
}
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 = ((((t * (z * (y * (x * 18.0)))) - (t * (a * 4.0))) + (b * c)) - (i * (x * 4.0))) - (k * (j * 27.0));
double tmp;
if (t_1 <= Double.POSITIVE_INFINITY) {
tmp = t_1;
} else {
tmp = x * ((18.0 * (y * (t * z))) - (i * 4.0));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = ((((t * (z * (y * (x * 18.0)))) - (t * (a * 4.0))) + (b * c)) - (i * (x * 4.0))) - (k * (j * 27.0)) tmp = 0 if t_1 <= math.inf: tmp = t_1 else: tmp = x * ((18.0 * (y * (t * z))) - (i * 4.0)) return tmp
function code(x, y, z, t, a, b, c, i, j, k) t_1 = Float64(Float64(Float64(Float64(Float64(t * Float64(z * Float64(y * Float64(x * 18.0)))) - Float64(t * Float64(a * 4.0))) + Float64(b * c)) - Float64(i * Float64(x * 4.0))) - Float64(k * Float64(j * 27.0))) tmp = 0.0 if (t_1 <= Inf) tmp = t_1; else tmp = Float64(x * Float64(Float64(18.0 * Float64(y * Float64(t * z))) - Float64(i * 4.0))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k) t_1 = ((((t * (z * (y * (x * 18.0)))) - (t * (a * 4.0))) + (b * c)) - (i * (x * 4.0))) - (k * (j * 27.0)); tmp = 0.0; if (t_1 <= Inf) tmp = t_1; else tmp = x * ((18.0 * (y * (t * z))) - (i * 4.0)); 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[(t * N[(z * N[(y * N[(x * 18.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(t * N[(a * 4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(b * c), $MachinePrecision]), $MachinePrecision] - N[(i * N[(x * 4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(k * N[(j * 27.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, Infinity], t$95$1, N[(x * N[(N[(18.0 * N[(y * N[(t * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(i * 4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(\left(\left(t \cdot \left(z \cdot \left(y \cdot \left(x \cdot 18\right)\right)\right) - t \cdot \left(a \cdot 4\right)\right) + b \cdot c\right) - i \cdot \left(x \cdot 4\right)\right) - k \cdot \left(j \cdot 27\right)\\
\mathbf{if}\;t_1 \leq \infty:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(18 \cdot \left(y \cdot \left(t \cdot z\right)\right) - i \cdot 4\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 96.5%
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%
associate-+l-0.0%
sub-neg0.0%
sub-neg0.0%
distribute-rgt-out--18.2%
associate-*l*21.2%
distribute-lft-neg-in21.2%
cancel-sign-sub21.2%
associate-*l*21.2%
associate-*l*21.2%
Simplified21.2%
Taylor expanded in x around inf 61.1%
Final simplification92.0%
(FPCore (x y z t a b c i j k)
:precision binary64
(if (<= x 6.2e+194)
(-
(+ (* t (- (* (* y z) (* x 18.0)) (* a 4.0))) (* b c))
(+ (* x (* i 4.0)) (* j (* k 27.0))))
(* x (- (* 18.0 (* y (* t z))) (* i 4.0)))))
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 <= 6.2e+194) {
tmp = ((t * (((y * z) * (x * 18.0)) - (a * 4.0))) + (b * c)) - ((x * (i * 4.0)) + (j * (k * 27.0)));
} else {
tmp = x * ((18.0 * (y * (t * z))) - (i * 4.0));
}
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 <= 6.2d+194) then
tmp = ((t * (((y * z) * (x * 18.0d0)) - (a * 4.0d0))) + (b * c)) - ((x * (i * 4.0d0)) + (j * (k * 27.0d0)))
else
tmp = x * ((18.0d0 * (y * (t * z))) - (i * 4.0d0))
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 <= 6.2e+194) {
tmp = ((t * (((y * z) * (x * 18.0)) - (a * 4.0))) + (b * c)) - ((x * (i * 4.0)) + (j * (k * 27.0)));
} else {
tmp = x * ((18.0 * (y * (t * z))) - (i * 4.0));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): tmp = 0 if x <= 6.2e+194: tmp = ((t * (((y * z) * (x * 18.0)) - (a * 4.0))) + (b * c)) - ((x * (i * 4.0)) + (j * (k * 27.0))) else: tmp = x * ((18.0 * (y * (t * z))) - (i * 4.0)) return tmp
function code(x, y, z, t, a, b, c, i, j, k) tmp = 0.0 if (x <= 6.2e+194) tmp = Float64(Float64(Float64(t * Float64(Float64(Float64(y * z) * Float64(x * 18.0)) - Float64(a * 4.0))) + Float64(b * c)) - Float64(Float64(x * Float64(i * 4.0)) + Float64(j * Float64(k * 27.0)))); else tmp = Float64(x * Float64(Float64(18.0 * Float64(y * Float64(t * z))) - Float64(i * 4.0))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k) tmp = 0.0; if (x <= 6.2e+194) tmp = ((t * (((y * z) * (x * 18.0)) - (a * 4.0))) + (b * c)) - ((x * (i * 4.0)) + (j * (k * 27.0))); else tmp = x * ((18.0 * (y * (t * z))) - (i * 4.0)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := If[LessEqual[x, 6.2e+194], N[(N[(N[(t * N[(N[(N[(y * z), $MachinePrecision] * N[(x * 18.0), $MachinePrecision]), $MachinePrecision] - N[(a * 4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(b * c), $MachinePrecision]), $MachinePrecision] - N[(N[(x * N[(i * 4.0), $MachinePrecision]), $MachinePrecision] + N[(j * N[(k * 27.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x * N[(N[(18.0 * N[(y * N[(t * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(i * 4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq 6.2 \cdot 10^{+194}:\\
\;\;\;\;\left(t \cdot \left(\left(y \cdot z\right) \cdot \left(x \cdot 18\right) - a \cdot 4\right) + b \cdot c\right) - \left(x \cdot \left(i \cdot 4\right) + j \cdot \left(k \cdot 27\right)\right)\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(18 \cdot \left(y \cdot \left(t \cdot z\right)\right) - i \cdot 4\right)\\
\end{array}
\end{array}
if x < 6.1999999999999999e194Initial program 86.5%
sub-neg86.5%
associate-+l-86.5%
sub-neg86.5%
sub-neg86.5%
distribute-rgt-out--89.0%
associate-*l*88.6%
distribute-lft-neg-in88.6%
cancel-sign-sub88.6%
associate-*l*88.6%
associate-*l*88.6%
Simplified88.6%
if 6.1999999999999999e194 < x Initial program 57.4%
sub-neg57.4%
associate-+l-57.4%
sub-neg57.4%
sub-neg57.4%
distribute-rgt-out--57.4%
associate-*l*57.4%
distribute-lft-neg-in57.4%
cancel-sign-sub57.4%
associate-*l*57.4%
associate-*l*57.4%
Simplified57.4%
Taylor expanded in x around inf 81.1%
Final simplification88.0%
(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_1))
(t_3 (* 27.0 (* k j)))
(t_4 (* x (- (* 18.0 (* y (* t z))) (* i 4.0)))))
(if (<= x -9.2e+119)
t_4
(if (<= x -1.08e+21)
(+ (* -4.0 (* i x)) (* j (* k -27.0)))
(if (<= x -5.6e-39)
(* t (- (* 18.0 (* y (* x z))) (* a 4.0)))
(if (<= x -6.5e-126)
t_2
(if (<= x 1.45e-276)
(- t_1 t_3)
(if (<= x 3.8e-206)
t_2
(if (<= x 1.9e+84) (- (* b c) t_3) t_4)))))))))
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_1;
double t_3 = 27.0 * (k * j);
double t_4 = x * ((18.0 * (y * (t * z))) - (i * 4.0));
double tmp;
if (x <= -9.2e+119) {
tmp = t_4;
} else if (x <= -1.08e+21) {
tmp = (-4.0 * (i * x)) + (j * (k * -27.0));
} else if (x <= -5.6e-39) {
tmp = t * ((18.0 * (y * (x * z))) - (a * 4.0));
} else if (x <= -6.5e-126) {
tmp = t_2;
} else if (x <= 1.45e-276) {
tmp = t_1 - t_3;
} else if (x <= 3.8e-206) {
tmp = t_2;
} else if (x <= 1.9e+84) {
tmp = (b * c) - t_3;
} else {
tmp = t_4;
}
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) :: t_4
real(8) :: tmp
t_1 = (-4.0d0) * (t * a)
t_2 = (b * c) + t_1
t_3 = 27.0d0 * (k * j)
t_4 = x * ((18.0d0 * (y * (t * z))) - (i * 4.0d0))
if (x <= (-9.2d+119)) then
tmp = t_4
else if (x <= (-1.08d+21)) then
tmp = ((-4.0d0) * (i * x)) + (j * (k * (-27.0d0)))
else if (x <= (-5.6d-39)) then
tmp = t * ((18.0d0 * (y * (x * z))) - (a * 4.0d0))
else if (x <= (-6.5d-126)) then
tmp = t_2
else if (x <= 1.45d-276) then
tmp = t_1 - t_3
else if (x <= 3.8d-206) then
tmp = t_2
else if (x <= 1.9d+84) then
tmp = (b * c) - t_3
else
tmp = t_4
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_1;
double t_3 = 27.0 * (k * j);
double t_4 = x * ((18.0 * (y * (t * z))) - (i * 4.0));
double tmp;
if (x <= -9.2e+119) {
tmp = t_4;
} else if (x <= -1.08e+21) {
tmp = (-4.0 * (i * x)) + (j * (k * -27.0));
} else if (x <= -5.6e-39) {
tmp = t * ((18.0 * (y * (x * z))) - (a * 4.0));
} else if (x <= -6.5e-126) {
tmp = t_2;
} else if (x <= 1.45e-276) {
tmp = t_1 - t_3;
} else if (x <= 3.8e-206) {
tmp = t_2;
} else if (x <= 1.9e+84) {
tmp = (b * c) - t_3;
} else {
tmp = t_4;
}
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_1 t_3 = 27.0 * (k * j) t_4 = x * ((18.0 * (y * (t * z))) - (i * 4.0)) tmp = 0 if x <= -9.2e+119: tmp = t_4 elif x <= -1.08e+21: tmp = (-4.0 * (i * x)) + (j * (k * -27.0)) elif x <= -5.6e-39: tmp = t * ((18.0 * (y * (x * z))) - (a * 4.0)) elif x <= -6.5e-126: tmp = t_2 elif x <= 1.45e-276: tmp = t_1 - t_3 elif x <= 3.8e-206: tmp = t_2 elif x <= 1.9e+84: tmp = (b * c) - t_3 else: tmp = t_4 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) + t_1) t_3 = Float64(27.0 * Float64(k * j)) t_4 = Float64(x * Float64(Float64(18.0 * Float64(y * Float64(t * z))) - Float64(i * 4.0))) tmp = 0.0 if (x <= -9.2e+119) tmp = t_4; elseif (x <= -1.08e+21) tmp = Float64(Float64(-4.0 * Float64(i * x)) + Float64(j * Float64(k * -27.0))); elseif (x <= -5.6e-39) tmp = Float64(t * Float64(Float64(18.0 * Float64(y * Float64(x * z))) - Float64(a * 4.0))); elseif (x <= -6.5e-126) tmp = t_2; elseif (x <= 1.45e-276) tmp = Float64(t_1 - t_3); elseif (x <= 3.8e-206) tmp = t_2; elseif (x <= 1.9e+84) tmp = Float64(Float64(b * c) - t_3); else tmp = t_4; 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_1; t_3 = 27.0 * (k * j); t_4 = x * ((18.0 * (y * (t * z))) - (i * 4.0)); tmp = 0.0; if (x <= -9.2e+119) tmp = t_4; elseif (x <= -1.08e+21) tmp = (-4.0 * (i * x)) + (j * (k * -27.0)); elseif (x <= -5.6e-39) tmp = t * ((18.0 * (y * (x * z))) - (a * 4.0)); elseif (x <= -6.5e-126) tmp = t_2; elseif (x <= 1.45e-276) tmp = t_1 - t_3; elseif (x <= 3.8e-206) tmp = t_2; elseif (x <= 1.9e+84) tmp = (b * c) - t_3; else tmp = t_4; 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] + t$95$1), $MachinePrecision]}, Block[{t$95$3 = N[(27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(x * N[(N[(18.0 * N[(y * N[(t * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(i * 4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -9.2e+119], t$95$4, If[LessEqual[x, -1.08e+21], N[(N[(-4.0 * N[(i * x), $MachinePrecision]), $MachinePrecision] + N[(j * N[(k * -27.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -5.6e-39], N[(t * N[(N[(18.0 * N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(a * 4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -6.5e-126], t$95$2, If[LessEqual[x, 1.45e-276], N[(t$95$1 - t$95$3), $MachinePrecision], If[LessEqual[x, 3.8e-206], t$95$2, If[LessEqual[x, 1.9e+84], N[(N[(b * c), $MachinePrecision] - t$95$3), $MachinePrecision], t$95$4]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := -4 \cdot \left(t \cdot a\right)\\
t_2 := b \cdot c + t_1\\
t_3 := 27 \cdot \left(k \cdot j\right)\\
t_4 := x \cdot \left(18 \cdot \left(y \cdot \left(t \cdot z\right)\right) - i \cdot 4\right)\\
\mathbf{if}\;x \leq -9.2 \cdot 10^{+119}:\\
\;\;\;\;t_4\\
\mathbf{elif}\;x \leq -1.08 \cdot 10^{+21}:\\
\;\;\;\;-4 \cdot \left(i \cdot x\right) + j \cdot \left(k \cdot -27\right)\\
\mathbf{elif}\;x \leq -5.6 \cdot 10^{-39}:\\
\;\;\;\;t \cdot \left(18 \cdot \left(y \cdot \left(x \cdot z\right)\right) - a \cdot 4\right)\\
\mathbf{elif}\;x \leq -6.5 \cdot 10^{-126}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;x \leq 1.45 \cdot 10^{-276}:\\
\;\;\;\;t_1 - t_3\\
\mathbf{elif}\;x \leq 3.8 \cdot 10^{-206}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;x \leq 1.9 \cdot 10^{+84}:\\
\;\;\;\;b \cdot c - t_3\\
\mathbf{else}:\\
\;\;\;\;t_4\\
\end{array}
\end{array}
if x < -9.2000000000000003e119 or 1.9e84 < x Initial program 68.5%
sub-neg68.5%
associate-+l-68.5%
sub-neg68.5%
sub-neg68.5%
distribute-rgt-out--70.6%
associate-*l*73.7%
distribute-lft-neg-in73.7%
cancel-sign-sub73.7%
associate-*l*73.7%
associate-*l*73.7%
Simplified73.7%
Taylor expanded in x around inf 72.9%
if -9.2000000000000003e119 < x < -1.08e21Initial program 89.3%
Taylor expanded in t around 0 84.2%
Taylor expanded in c around 0 69.0%
mul-1-neg69.0%
*-commutative69.0%
distribute-neg-in69.0%
distribute-lft-neg-in69.0%
metadata-eval69.0%
distribute-lft-neg-in69.0%
metadata-eval69.0%
associate-*r*69.1%
Simplified69.1%
if -1.08e21 < x < -5.6000000000000003e-39Initial program 80.3%
sub-neg80.3%
associate-+l-80.3%
sub-neg80.3%
sub-neg80.3%
distribute-rgt-out--93.6%
associate-*l*93.6%
distribute-lft-neg-in93.6%
cancel-sign-sub93.6%
associate-*l*93.6%
associate-*l*93.6%
Simplified93.6%
Taylor expanded in t around inf 61.8%
if -5.6000000000000003e-39 < x < -6.50000000000000014e-126 or 1.44999999999999994e-276 < x < 3.80000000000000003e-206Initial program 99.9%
sub-neg99.9%
associate-+l-99.9%
sub-neg99.9%
sub-neg99.9%
distribute-rgt-out--99.9%
associate-*l*97.4%
distribute-lft-neg-in97.4%
cancel-sign-sub97.4%
associate-*l*97.4%
associate-*l*97.4%
Simplified97.4%
Taylor expanded in j around 0 88.5%
Taylor expanded in x around 0 81.4%
if -6.50000000000000014e-126 < x < 1.44999999999999994e-276Initial program 92.6%
Taylor expanded in t around -inf 74.5%
Taylor expanded in y around 0 70.6%
if 3.80000000000000003e-206 < x < 1.9e84Initial program 93.9%
Taylor expanded in x around 0 81.2%
Taylor expanded in a around 0 65.4%
Final simplification71.4%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (* 18.0 (* y (* t (* x z)))))
(t_2 (- t_1 (* 27.0 (* k j))))
(t_3 (- (* b c) (+ (* 4.0 (* i x)) (* 4.0 (* t a))))))
(if (<= y -3.75e+164)
(- t_1 (* j (* k 27.0)))
(if (<= y -1.85e+112)
(* t (- (* 18.0 (* y (* x z))) (* a 4.0)))
(if (<= y -3.8e+71)
t_2
(if (<= y -6.5e-18)
t_3
(if (<= y -2.8e-59)
(+ (* -4.0 (* i x)) (* j (* k -27.0)))
(if (<= y 1.65e+27) t_3 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 = 18.0 * (y * (t * (x * z)));
double t_2 = t_1 - (27.0 * (k * j));
double t_3 = (b * c) - ((4.0 * (i * x)) + (4.0 * (t * a)));
double tmp;
if (y <= -3.75e+164) {
tmp = t_1 - (j * (k * 27.0));
} else if (y <= -1.85e+112) {
tmp = t * ((18.0 * (y * (x * z))) - (a * 4.0));
} else if (y <= -3.8e+71) {
tmp = t_2;
} else if (y <= -6.5e-18) {
tmp = t_3;
} else if (y <= -2.8e-59) {
tmp = (-4.0 * (i * x)) + (j * (k * -27.0));
} else if (y <= 1.65e+27) {
tmp = t_3;
} 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 = 18.0d0 * (y * (t * (x * z)))
t_2 = t_1 - (27.0d0 * (k * j))
t_3 = (b * c) - ((4.0d0 * (i * x)) + (4.0d0 * (t * a)))
if (y <= (-3.75d+164)) then
tmp = t_1 - (j * (k * 27.0d0))
else if (y <= (-1.85d+112)) then
tmp = t * ((18.0d0 * (y * (x * z))) - (a * 4.0d0))
else if (y <= (-3.8d+71)) then
tmp = t_2
else if (y <= (-6.5d-18)) then
tmp = t_3
else if (y <= (-2.8d-59)) then
tmp = ((-4.0d0) * (i * x)) + (j * (k * (-27.0d0)))
else if (y <= 1.65d+27) then
tmp = t_3
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = 18.0 * (y * (t * (x * z)));
double t_2 = t_1 - (27.0 * (k * j));
double t_3 = (b * c) - ((4.0 * (i * x)) + (4.0 * (t * a)));
double tmp;
if (y <= -3.75e+164) {
tmp = t_1 - (j * (k * 27.0));
} else if (y <= -1.85e+112) {
tmp = t * ((18.0 * (y * (x * z))) - (a * 4.0));
} else if (y <= -3.8e+71) {
tmp = t_2;
} else if (y <= -6.5e-18) {
tmp = t_3;
} else if (y <= -2.8e-59) {
tmp = (-4.0 * (i * x)) + (j * (k * -27.0));
} else if (y <= 1.65e+27) {
tmp = t_3;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = 18.0 * (y * (t * (x * z))) t_2 = t_1 - (27.0 * (k * j)) t_3 = (b * c) - ((4.0 * (i * x)) + (4.0 * (t * a))) tmp = 0 if y <= -3.75e+164: tmp = t_1 - (j * (k * 27.0)) elif y <= -1.85e+112: tmp = t * ((18.0 * (y * (x * z))) - (a * 4.0)) elif y <= -3.8e+71: tmp = t_2 elif y <= -6.5e-18: tmp = t_3 elif y <= -2.8e-59: tmp = (-4.0 * (i * x)) + (j * (k * -27.0)) elif y <= 1.65e+27: tmp = t_3 else: tmp = t_2 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)))) t_2 = Float64(t_1 - Float64(27.0 * Float64(k * j))) t_3 = Float64(Float64(b * c) - Float64(Float64(4.0 * Float64(i * x)) + Float64(4.0 * Float64(t * a)))) tmp = 0.0 if (y <= -3.75e+164) tmp = Float64(t_1 - Float64(j * Float64(k * 27.0))); elseif (y <= -1.85e+112) tmp = Float64(t * Float64(Float64(18.0 * Float64(y * Float64(x * z))) - Float64(a * 4.0))); elseif (y <= -3.8e+71) tmp = t_2; elseif (y <= -6.5e-18) tmp = t_3; elseif (y <= -2.8e-59) tmp = Float64(Float64(-4.0 * Float64(i * x)) + Float64(j * Float64(k * -27.0))); elseif (y <= 1.65e+27) tmp = t_3; else tmp = t_2; 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))); t_2 = t_1 - (27.0 * (k * j)); t_3 = (b * c) - ((4.0 * (i * x)) + (4.0 * (t * a))); tmp = 0.0; if (y <= -3.75e+164) tmp = t_1 - (j * (k * 27.0)); elseif (y <= -1.85e+112) tmp = t * ((18.0 * (y * (x * z))) - (a * 4.0)); elseif (y <= -3.8e+71) tmp = t_2; elseif (y <= -6.5e-18) tmp = t_3; elseif (y <= -2.8e-59) tmp = (-4.0 * (i * x)) + (j * (k * -27.0)); elseif (y <= 1.65e+27) tmp = t_3; 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[(18.0 * N[(y * N[(t * N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t$95$1 - N[(27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(b * c), $MachinePrecision] - N[(N[(4.0 * N[(i * x), $MachinePrecision]), $MachinePrecision] + N[(4.0 * N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -3.75e+164], N[(t$95$1 - N[(j * N[(k * 27.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -1.85e+112], N[(t * N[(N[(18.0 * N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(a * 4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -3.8e+71], t$95$2, If[LessEqual[y, -6.5e-18], t$95$3, If[LessEqual[y, -2.8e-59], N[(N[(-4.0 * N[(i * x), $MachinePrecision]), $MachinePrecision] + N[(j * N[(k * -27.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.65e+27], t$95$3, t$95$2]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 18 \cdot \left(y \cdot \left(t \cdot \left(x \cdot z\right)\right)\right)\\
t_2 := t_1 - 27 \cdot \left(k \cdot j\right)\\
t_3 := b \cdot c - \left(4 \cdot \left(i \cdot x\right) + 4 \cdot \left(t \cdot a\right)\right)\\
\mathbf{if}\;y \leq -3.75 \cdot 10^{+164}:\\
\;\;\;\;t_1 - j \cdot \left(k \cdot 27\right)\\
\mathbf{elif}\;y \leq -1.85 \cdot 10^{+112}:\\
\;\;\;\;t \cdot \left(18 \cdot \left(y \cdot \left(x \cdot z\right)\right) - a \cdot 4\right)\\
\mathbf{elif}\;y \leq -3.8 \cdot 10^{+71}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y \leq -6.5 \cdot 10^{-18}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;y \leq -2.8 \cdot 10^{-59}:\\
\;\;\;\;-4 \cdot \left(i \cdot x\right) + j \cdot \left(k \cdot -27\right)\\
\mathbf{elif}\;y \leq 1.65 \cdot 10^{+27}:\\
\;\;\;\;t_3\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if y < -3.74999999999999988e164Initial program 73.6%
Taylor expanded in t around -inf 61.2%
Taylor expanded in a around 0 52.6%
pow152.6%
Applied egg-rr52.6%
unpow152.6%
*-commutative52.6%
*-commutative52.6%
associate-*l*52.6%
Simplified52.6%
if -3.74999999999999988e164 < y < -1.85000000000000002e112Initial program 77.8%
sub-neg77.8%
associate-+l-77.8%
sub-neg77.8%
sub-neg77.8%
distribute-rgt-out--77.8%
associate-*l*77.8%
distribute-lft-neg-in77.8%
cancel-sign-sub77.8%
associate-*l*77.8%
associate-*l*77.8%
Simplified77.8%
Taylor expanded in t around inf 78.5%
if -1.85000000000000002e112 < y < -3.8000000000000001e71 or 1.6499999999999999e27 < y Initial program 78.9%
Taylor expanded in t around -inf 65.8%
Taylor expanded in a around 0 60.0%
if -3.8000000000000001e71 < y < -6.50000000000000008e-18 or -2.79999999999999981e-59 < y < 1.6499999999999999e27Initial program 90.9%
Taylor expanded in y around 0 85.2%
Taylor expanded in j around 0 73.4%
if -6.50000000000000008e-18 < y < -2.79999999999999981e-59Initial program 74.9%
Taylor expanded in t around 0 51.6%
Taylor expanded in c around 0 59.8%
mul-1-neg59.8%
*-commutative59.8%
distribute-neg-in59.8%
distribute-lft-neg-in59.8%
metadata-eval59.8%
distribute-lft-neg-in59.8%
metadata-eval59.8%
associate-*r*59.8%
Simplified59.8%
Final simplification66.5%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (* 4.0 (* t a))) (t_2 (* x (- (* 18.0 (* y (* t z))) (* i 4.0)))))
(if (<= x -3.4e+117)
t_2
(if (<= x -9e+18)
(+ (* -4.0 (* i x)) (* j (* k -27.0)))
(if (<= x -61.0)
(* t (- (* 18.0 (* y (* x z))) (* a 4.0)))
(if (<= x -1.06e-96)
(- (* b c) (+ (* 4.0 (* i x)) t_1))
(if (<= x 2.2e+86) (- (- (* b c) t_1) (* k (* j 27.0))) 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 = x * ((18.0 * (y * (t * z))) - (i * 4.0));
double tmp;
if (x <= -3.4e+117) {
tmp = t_2;
} else if (x <= -9e+18) {
tmp = (-4.0 * (i * x)) + (j * (k * -27.0));
} else if (x <= -61.0) {
tmp = t * ((18.0 * (y * (x * z))) - (a * 4.0));
} else if (x <= -1.06e-96) {
tmp = (b * c) - ((4.0 * (i * x)) + t_1);
} else if (x <= 2.2e+86) {
tmp = ((b * c) - t_1) - (k * (j * 27.0));
} 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)
t_2 = x * ((18.0d0 * (y * (t * z))) - (i * 4.0d0))
if (x <= (-3.4d+117)) then
tmp = t_2
else if (x <= (-9d+18)) then
tmp = ((-4.0d0) * (i * x)) + (j * (k * (-27.0d0)))
else if (x <= (-61.0d0)) then
tmp = t * ((18.0d0 * (y * (x * z))) - (a * 4.0d0))
else if (x <= (-1.06d-96)) then
tmp = (b * c) - ((4.0d0 * (i * x)) + t_1)
else if (x <= 2.2d+86) then
tmp = ((b * c) - t_1) - (k * (j * 27.0d0))
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 = x * ((18.0 * (y * (t * z))) - (i * 4.0));
double tmp;
if (x <= -3.4e+117) {
tmp = t_2;
} else if (x <= -9e+18) {
tmp = (-4.0 * (i * x)) + (j * (k * -27.0));
} else if (x <= -61.0) {
tmp = t * ((18.0 * (y * (x * z))) - (a * 4.0));
} else if (x <= -1.06e-96) {
tmp = (b * c) - ((4.0 * (i * x)) + t_1);
} else if (x <= 2.2e+86) {
tmp = ((b * c) - t_1) - (k * (j * 27.0));
} 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 = x * ((18.0 * (y * (t * z))) - (i * 4.0)) tmp = 0 if x <= -3.4e+117: tmp = t_2 elif x <= -9e+18: tmp = (-4.0 * (i * x)) + (j * (k * -27.0)) elif x <= -61.0: tmp = t * ((18.0 * (y * (x * z))) - (a * 4.0)) elif x <= -1.06e-96: tmp = (b * c) - ((4.0 * (i * x)) + t_1) elif x <= 2.2e+86: tmp = ((b * c) - t_1) - (k * (j * 27.0)) 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(x * Float64(Float64(18.0 * Float64(y * Float64(t * z))) - Float64(i * 4.0))) tmp = 0.0 if (x <= -3.4e+117) tmp = t_2; elseif (x <= -9e+18) tmp = Float64(Float64(-4.0 * Float64(i * x)) + Float64(j * Float64(k * -27.0))); elseif (x <= -61.0) tmp = Float64(t * Float64(Float64(18.0 * Float64(y * Float64(x * z))) - Float64(a * 4.0))); elseif (x <= -1.06e-96) tmp = Float64(Float64(b * c) - Float64(Float64(4.0 * Float64(i * x)) + t_1)); elseif (x <= 2.2e+86) tmp = Float64(Float64(Float64(b * c) - t_1) - Float64(k * Float64(j * 27.0))); 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 = x * ((18.0 * (y * (t * z))) - (i * 4.0)); tmp = 0.0; if (x <= -3.4e+117) tmp = t_2; elseif (x <= -9e+18) tmp = (-4.0 * (i * x)) + (j * (k * -27.0)); elseif (x <= -61.0) tmp = t * ((18.0 * (y * (x * z))) - (a * 4.0)); elseif (x <= -1.06e-96) tmp = (b * c) - ((4.0 * (i * x)) + t_1); elseif (x <= 2.2e+86) tmp = ((b * c) - t_1) - (k * (j * 27.0)); 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[(x * N[(N[(18.0 * N[(y * N[(t * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(i * 4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -3.4e+117], t$95$2, If[LessEqual[x, -9e+18], N[(N[(-4.0 * N[(i * x), $MachinePrecision]), $MachinePrecision] + N[(j * N[(k * -27.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -61.0], N[(t * N[(N[(18.0 * N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(a * 4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -1.06e-96], N[(N[(b * c), $MachinePrecision] - N[(N[(4.0 * N[(i * x), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 2.2e+86], N[(N[(N[(b * c), $MachinePrecision] - t$95$1), $MachinePrecision] - N[(k * N[(j * 27.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 4 \cdot \left(t \cdot a\right)\\
t_2 := x \cdot \left(18 \cdot \left(y \cdot \left(t \cdot z\right)\right) - i \cdot 4\right)\\
\mathbf{if}\;x \leq -3.4 \cdot 10^{+117}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;x \leq -9 \cdot 10^{+18}:\\
\;\;\;\;-4 \cdot \left(i \cdot x\right) + j \cdot \left(k \cdot -27\right)\\
\mathbf{elif}\;x \leq -61:\\
\;\;\;\;t \cdot \left(18 \cdot \left(y \cdot \left(x \cdot z\right)\right) - a \cdot 4\right)\\
\mathbf{elif}\;x \leq -1.06 \cdot 10^{-96}:\\
\;\;\;\;b \cdot c - \left(4 \cdot \left(i \cdot x\right) + t_1\right)\\
\mathbf{elif}\;x \leq 2.2 \cdot 10^{+86}:\\
\;\;\;\;\left(b \cdot c - t_1\right) - k \cdot \left(j \cdot 27\right)\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if x < -3.4000000000000001e117 or 2.20000000000000003e86 < x Initial program 68.5%
sub-neg68.5%
associate-+l-68.5%
sub-neg68.5%
sub-neg68.5%
distribute-rgt-out--70.6%
associate-*l*73.7%
distribute-lft-neg-in73.7%
cancel-sign-sub73.7%
associate-*l*73.7%
associate-*l*73.7%
Simplified73.7%
Taylor expanded in x around inf 72.9%
if -3.4000000000000001e117 < x < -9e18Initial program 89.3%
Taylor expanded in t around 0 84.2%
Taylor expanded in c around 0 69.0%
mul-1-neg69.0%
*-commutative69.0%
distribute-neg-in69.0%
distribute-lft-neg-in69.0%
metadata-eval69.0%
distribute-lft-neg-in69.0%
metadata-eval69.0%
associate-*r*69.1%
Simplified69.1%
if -9e18 < x < -61Initial program 66.4%
sub-neg66.4%
associate-+l-66.4%
sub-neg66.4%
sub-neg66.4%
distribute-rgt-out--99.7%
associate-*l*99.7%
distribute-lft-neg-in99.7%
cancel-sign-sub99.7%
associate-*l*99.7%
associate-*l*99.7%
Simplified99.7%
Taylor expanded in t around inf 83.8%
if -61 < x < -1.05999999999999998e-96Initial program 94.4%
Taylor expanded in y around 0 80.9%
Taylor expanded in j around 0 69.5%
if -1.05999999999999998e-96 < x < 2.20000000000000003e86Initial program 95.0%
Taylor expanded in x around 0 87.0%
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 (* 18.0 (* y (* t (* x z))))))
(if (<= y -2.7e+104)
t_2
(if (<= y -2.2e+63)
t_1
(if (<= y -6.6e-18)
(* b c)
(if (<= y -3.6e-81)
t_1
(if (<= y -2.8e-110)
(* i (* x -4.0))
(if (<= y -1.8e-217)
(* -4.0 (* t a))
(if (<= y 5.8e+26) (* b c) 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 = 18.0 * (y * (t * (x * z)));
double tmp;
if (y <= -2.7e+104) {
tmp = t_2;
} else if (y <= -2.2e+63) {
tmp = t_1;
} else if (y <= -6.6e-18) {
tmp = b * c;
} else if (y <= -3.6e-81) {
tmp = t_1;
} else if (y <= -2.8e-110) {
tmp = i * (x * -4.0);
} else if (y <= -1.8e-217) {
tmp = -4.0 * (t * a);
} else if (y <= 5.8e+26) {
tmp = b * c;
} 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 = 18.0d0 * (y * (t * (x * z)))
if (y <= (-2.7d+104)) then
tmp = t_2
else if (y <= (-2.2d+63)) then
tmp = t_1
else if (y <= (-6.6d-18)) then
tmp = b * c
else if (y <= (-3.6d-81)) then
tmp = t_1
else if (y <= (-2.8d-110)) then
tmp = i * (x * (-4.0d0))
else if (y <= (-1.8d-217)) then
tmp = (-4.0d0) * (t * a)
else if (y <= 5.8d+26) then
tmp = b * c
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 = 18.0 * (y * (t * (x * z)));
double tmp;
if (y <= -2.7e+104) {
tmp = t_2;
} else if (y <= -2.2e+63) {
tmp = t_1;
} else if (y <= -6.6e-18) {
tmp = b * c;
} else if (y <= -3.6e-81) {
tmp = t_1;
} else if (y <= -2.8e-110) {
tmp = i * (x * -4.0);
} else if (y <= -1.8e-217) {
tmp = -4.0 * (t * a);
} else if (y <= 5.8e+26) {
tmp = b * c;
} 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 = 18.0 * (y * (t * (x * z))) tmp = 0 if y <= -2.7e+104: tmp = t_2 elif y <= -2.2e+63: tmp = t_1 elif y <= -6.6e-18: tmp = b * c elif y <= -3.6e-81: tmp = t_1 elif y <= -2.8e-110: tmp = i * (x * -4.0) elif y <= -1.8e-217: tmp = -4.0 * (t * a) elif y <= 5.8e+26: tmp = b * c 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(18.0 * Float64(y * Float64(t * Float64(x * z)))) tmp = 0.0 if (y <= -2.7e+104) tmp = t_2; elseif (y <= -2.2e+63) tmp = t_1; elseif (y <= -6.6e-18) tmp = Float64(b * c); elseif (y <= -3.6e-81) tmp = t_1; elseif (y <= -2.8e-110) tmp = Float64(i * Float64(x * -4.0)); elseif (y <= -1.8e-217) tmp = Float64(-4.0 * Float64(t * a)); elseif (y <= 5.8e+26) tmp = Float64(b * c); 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 = 18.0 * (y * (t * (x * z))); tmp = 0.0; if (y <= -2.7e+104) tmp = t_2; elseif (y <= -2.2e+63) tmp = t_1; elseif (y <= -6.6e-18) tmp = b * c; elseif (y <= -3.6e-81) tmp = t_1; elseif (y <= -2.8e-110) tmp = i * (x * -4.0); elseif (y <= -1.8e-217) tmp = -4.0 * (t * a); elseif (y <= 5.8e+26) tmp = b * c; 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[(18.0 * N[(y * N[(t * N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -2.7e+104], t$95$2, If[LessEqual[y, -2.2e+63], t$95$1, If[LessEqual[y, -6.6e-18], N[(b * c), $MachinePrecision], If[LessEqual[y, -3.6e-81], t$95$1, If[LessEqual[y, -2.8e-110], N[(i * N[(x * -4.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -1.8e-217], N[(-4.0 * N[(t * a), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 5.8e+26], N[(b * c), $MachinePrecision], t$95$2]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := -27 \cdot \left(k \cdot j\right)\\
t_2 := 18 \cdot \left(y \cdot \left(t \cdot \left(x \cdot z\right)\right)\right)\\
\mathbf{if}\;y \leq -2.7 \cdot 10^{+104}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y \leq -2.2 \cdot 10^{+63}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq -6.6 \cdot 10^{-18}:\\
\;\;\;\;b \cdot c\\
\mathbf{elif}\;y \leq -3.6 \cdot 10^{-81}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq -2.8 \cdot 10^{-110}:\\
\;\;\;\;i \cdot \left(x \cdot -4\right)\\
\mathbf{elif}\;y \leq -1.8 \cdot 10^{-217}:\\
\;\;\;\;-4 \cdot \left(t \cdot a\right)\\
\mathbf{elif}\;y \leq 5.8 \cdot 10^{+26}:\\
\;\;\;\;b \cdot c\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if y < -2.69999999999999985e104 or 5.8e26 < y Initial program 75.3%
sub-neg75.3%
associate-+l-75.3%
sub-neg75.3%
sub-neg75.3%
distribute-rgt-out--80.1%
associate-*l*81.0%
distribute-lft-neg-in81.0%
cancel-sign-sub81.0%
associate-*l*81.0%
associate-*l*81.1%
Simplified81.1%
Taylor expanded in t around inf 52.8%
Taylor expanded in y around inf 43.2%
if -2.69999999999999985e104 < y < -2.1999999999999999e63 or -6.6000000000000003e-18 < y < -3.5999999999999999e-81Initial program 85.5%
sub-neg85.5%
+-commutative85.5%
associate-*l*85.5%
distribute-rgt-neg-in85.5%
fma-def85.5%
*-commutative85.5%
distribute-rgt-neg-in85.5%
metadata-eval85.5%
sub-neg85.5%
+-commutative85.5%
associate-*l*85.5%
distribute-rgt-neg-in85.5%
Simplified89.3%
Taylor expanded in j around inf 41.3%
if -2.1999999999999999e63 < y < -6.6000000000000003e-18 or -1.79999999999999991e-217 < y < 5.8e26Initial program 89.1%
Taylor expanded in y around 0 83.6%
Taylor expanded in c around inf 27.6%
if -3.5999999999999999e-81 < y < -2.8e-110Initial program 100.0%
Taylor expanded in y around 0 84.6%
Taylor expanded in i around inf 34.3%
*-commutative34.3%
associate-*l*34.3%
Simplified34.3%
if -2.8e-110 < y < -1.79999999999999991e-217Initial program 100.0%
Taylor expanded in y around 0 94.5%
Taylor expanded in a around inf 37.2%
*-commutative37.2%
Simplified37.2%
Final simplification36.3%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (* -27.0 (* k j))))
(if (<= y -2.5e+104)
(* 18.0 (* x (* t (* y z))))
(if (<= y -4.3e+63)
t_1
(if (<= y -1.15e-17)
(* b c)
(if (<= y -2.3e-81)
t_1
(if (<= y -1.76e-109)
(* i (* x -4.0))
(if (<= y -1.36e-219)
(* -4.0 (* t a))
(if (<= y 1.8e+26) (* b c) (* 18.0 (* y (* t (* x z)))))))))))))
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 <= -2.5e+104) {
tmp = 18.0 * (x * (t * (y * z)));
} else if (y <= -4.3e+63) {
tmp = t_1;
} else if (y <= -1.15e-17) {
tmp = b * c;
} else if (y <= -2.3e-81) {
tmp = t_1;
} else if (y <= -1.76e-109) {
tmp = i * (x * -4.0);
} else if (y <= -1.36e-219) {
tmp = -4.0 * (t * a);
} else if (y <= 1.8e+26) {
tmp = b * c;
} else {
tmp = 18.0 * (y * (t * (x * z)));
}
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 <= (-2.5d+104)) then
tmp = 18.0d0 * (x * (t * (y * z)))
else if (y <= (-4.3d+63)) then
tmp = t_1
else if (y <= (-1.15d-17)) then
tmp = b * c
else if (y <= (-2.3d-81)) then
tmp = t_1
else if (y <= (-1.76d-109)) then
tmp = i * (x * (-4.0d0))
else if (y <= (-1.36d-219)) then
tmp = (-4.0d0) * (t * a)
else if (y <= 1.8d+26) then
tmp = b * c
else
tmp = 18.0d0 * (y * (t * (x * z)))
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 <= -2.5e+104) {
tmp = 18.0 * (x * (t * (y * z)));
} else if (y <= -4.3e+63) {
tmp = t_1;
} else if (y <= -1.15e-17) {
tmp = b * c;
} else if (y <= -2.3e-81) {
tmp = t_1;
} else if (y <= -1.76e-109) {
tmp = i * (x * -4.0);
} else if (y <= -1.36e-219) {
tmp = -4.0 * (t * a);
} else if (y <= 1.8e+26) {
tmp = b * c;
} else {
tmp = 18.0 * (y * (t * (x * z)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = -27.0 * (k * j) tmp = 0 if y <= -2.5e+104: tmp = 18.0 * (x * (t * (y * z))) elif y <= -4.3e+63: tmp = t_1 elif y <= -1.15e-17: tmp = b * c elif y <= -2.3e-81: tmp = t_1 elif y <= -1.76e-109: tmp = i * (x * -4.0) elif y <= -1.36e-219: tmp = -4.0 * (t * a) elif y <= 1.8e+26: tmp = b * c else: tmp = 18.0 * (y * (t * (x * z))) 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 <= -2.5e+104) tmp = Float64(18.0 * Float64(x * Float64(t * Float64(y * z)))); elseif (y <= -4.3e+63) tmp = t_1; elseif (y <= -1.15e-17) tmp = Float64(b * c); elseif (y <= -2.3e-81) tmp = t_1; elseif (y <= -1.76e-109) tmp = Float64(i * Float64(x * -4.0)); elseif (y <= -1.36e-219) tmp = Float64(-4.0 * Float64(t * a)); elseif (y <= 1.8e+26) tmp = Float64(b * c); else tmp = Float64(18.0 * Float64(y * Float64(t * Float64(x * z)))); 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 <= -2.5e+104) tmp = 18.0 * (x * (t * (y * z))); elseif (y <= -4.3e+63) tmp = t_1; elseif (y <= -1.15e-17) tmp = b * c; elseif (y <= -2.3e-81) tmp = t_1; elseif (y <= -1.76e-109) tmp = i * (x * -4.0); elseif (y <= -1.36e-219) tmp = -4.0 * (t * a); elseif (y <= 1.8e+26) tmp = b * c; else tmp = 18.0 * (y * (t * (x * z))); 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[y, -2.5e+104], N[(18.0 * N[(x * N[(t * N[(y * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -4.3e+63], t$95$1, If[LessEqual[y, -1.15e-17], N[(b * c), $MachinePrecision], If[LessEqual[y, -2.3e-81], t$95$1, If[LessEqual[y, -1.76e-109], N[(i * N[(x * -4.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -1.36e-219], N[(-4.0 * N[(t * a), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.8e+26], N[(b * c), $MachinePrecision], N[(18.0 * N[(y * N[(t * N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := -27 \cdot \left(k \cdot j\right)\\
\mathbf{if}\;y \leq -2.5 \cdot 10^{+104}:\\
\;\;\;\;18 \cdot \left(x \cdot \left(t \cdot \left(y \cdot z\right)\right)\right)\\
\mathbf{elif}\;y \leq -4.3 \cdot 10^{+63}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq -1.15 \cdot 10^{-17}:\\
\;\;\;\;b \cdot c\\
\mathbf{elif}\;y \leq -2.3 \cdot 10^{-81}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq -1.76 \cdot 10^{-109}:\\
\;\;\;\;i \cdot \left(x \cdot -4\right)\\
\mathbf{elif}\;y \leq -1.36 \cdot 10^{-219}:\\
\;\;\;\;-4 \cdot \left(t \cdot a\right)\\
\mathbf{elif}\;y \leq 1.8 \cdot 10^{+26}:\\
\;\;\;\;b \cdot c\\
\mathbf{else}:\\
\;\;\;\;18 \cdot \left(y \cdot \left(t \cdot \left(x \cdot z\right)\right)\right)\\
\end{array}
\end{array}
if y < -2.4999999999999998e104Initial program 75.0%
sub-neg75.0%
associate-+l-75.0%
sub-neg75.0%
sub-neg75.0%
distribute-rgt-out--77.3%
associate-*l*79.6%
distribute-lft-neg-in79.6%
cancel-sign-sub79.6%
associate-*l*79.6%
associate-*l*79.7%
Simplified79.7%
Taylor expanded in j around 0 75.0%
Taylor expanded in y around inf 40.6%
associate-*r*40.8%
associate-*r*47.0%
*-commutative47.0%
associate-*l*44.9%
*-commutative44.9%
Simplified44.9%
if -2.4999999999999998e104 < y < -4.3e63 or -1.15000000000000004e-17 < y < -2.29999999999999991e-81Initial program 85.5%
sub-neg85.5%
+-commutative85.5%
associate-*l*85.5%
distribute-rgt-neg-in85.5%
fma-def85.5%
*-commutative85.5%
distribute-rgt-neg-in85.5%
metadata-eval85.5%
sub-neg85.5%
+-commutative85.5%
associate-*l*85.5%
distribute-rgt-neg-in85.5%
Simplified89.3%
Taylor expanded in j around inf 41.3%
if -4.3e63 < y < -1.15000000000000004e-17 or -1.35999999999999997e-219 < y < 1.80000000000000012e26Initial program 89.1%
Taylor expanded in y around 0 83.6%
Taylor expanded in c around inf 27.6%
if -2.29999999999999991e-81 < y < -1.7599999999999999e-109Initial program 100.0%
Taylor expanded in y around 0 84.6%
Taylor expanded in i around inf 34.3%
*-commutative34.3%
associate-*l*34.3%
Simplified34.3%
if -1.7599999999999999e-109 < y < -1.35999999999999997e-219Initial program 100.0%
Taylor expanded in y around 0 94.5%
Taylor expanded in a around inf 37.2%
*-commutative37.2%
Simplified37.2%
if 1.80000000000000012e26 < y Initial program 75.5%
sub-neg75.5%
associate-+l-75.5%
sub-neg75.5%
sub-neg75.5%
distribute-rgt-out--82.1%
associate-*l*82.1%
distribute-lft-neg-in82.1%
cancel-sign-sub82.1%
associate-*l*82.1%
associate-*l*82.1%
Simplified82.1%
Taylor expanded in t around inf 51.9%
Taylor expanded in y around inf 45.1%
Final simplification37.0%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (* -27.0 (* k j))))
(if (<= y -1.45e+105)
(* 18.0 (* x (* t (* y z))))
(if (<= y -1.95e+63)
t_1
(if (<= y -1.7e-17)
(* b c)
(if (<= y -8.2e-81)
t_1
(if (<= y -4.05e-109)
(* i (* x -4.0))
(if (<= y -5.7e-218)
(* -4.0 (* t a))
(if (<= y 6.2e+26) (* b c) (* 18.0 (* (* x z) (* t y))))))))))))
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 <= -1.45e+105) {
tmp = 18.0 * (x * (t * (y * z)));
} else if (y <= -1.95e+63) {
tmp = t_1;
} else if (y <= -1.7e-17) {
tmp = b * c;
} else if (y <= -8.2e-81) {
tmp = t_1;
} else if (y <= -4.05e-109) {
tmp = i * (x * -4.0);
} else if (y <= -5.7e-218) {
tmp = -4.0 * (t * a);
} else if (y <= 6.2e+26) {
tmp = b * c;
} else {
tmp = 18.0 * ((x * z) * (t * y));
}
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 <= (-1.45d+105)) then
tmp = 18.0d0 * (x * (t * (y * z)))
else if (y <= (-1.95d+63)) then
tmp = t_1
else if (y <= (-1.7d-17)) then
tmp = b * c
else if (y <= (-8.2d-81)) then
tmp = t_1
else if (y <= (-4.05d-109)) then
tmp = i * (x * (-4.0d0))
else if (y <= (-5.7d-218)) then
tmp = (-4.0d0) * (t * a)
else if (y <= 6.2d+26) then
tmp = b * c
else
tmp = 18.0d0 * ((x * z) * (t * y))
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 <= -1.45e+105) {
tmp = 18.0 * (x * (t * (y * z)));
} else if (y <= -1.95e+63) {
tmp = t_1;
} else if (y <= -1.7e-17) {
tmp = b * c;
} else if (y <= -8.2e-81) {
tmp = t_1;
} else if (y <= -4.05e-109) {
tmp = i * (x * -4.0);
} else if (y <= -5.7e-218) {
tmp = -4.0 * (t * a);
} else if (y <= 6.2e+26) {
tmp = b * c;
} else {
tmp = 18.0 * ((x * z) * (t * y));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = -27.0 * (k * j) tmp = 0 if y <= -1.45e+105: tmp = 18.0 * (x * (t * (y * z))) elif y <= -1.95e+63: tmp = t_1 elif y <= -1.7e-17: tmp = b * c elif y <= -8.2e-81: tmp = t_1 elif y <= -4.05e-109: tmp = i * (x * -4.0) elif y <= -5.7e-218: tmp = -4.0 * (t * a) elif y <= 6.2e+26: tmp = b * c else: tmp = 18.0 * ((x * z) * (t * y)) 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 <= -1.45e+105) tmp = Float64(18.0 * Float64(x * Float64(t * Float64(y * z)))); elseif (y <= -1.95e+63) tmp = t_1; elseif (y <= -1.7e-17) tmp = Float64(b * c); elseif (y <= -8.2e-81) tmp = t_1; elseif (y <= -4.05e-109) tmp = Float64(i * Float64(x * -4.0)); elseif (y <= -5.7e-218) tmp = Float64(-4.0 * Float64(t * a)); elseif (y <= 6.2e+26) tmp = Float64(b * c); else tmp = Float64(18.0 * Float64(Float64(x * z) * Float64(t * y))); 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 <= -1.45e+105) tmp = 18.0 * (x * (t * (y * z))); elseif (y <= -1.95e+63) tmp = t_1; elseif (y <= -1.7e-17) tmp = b * c; elseif (y <= -8.2e-81) tmp = t_1; elseif (y <= -4.05e-109) tmp = i * (x * -4.0); elseif (y <= -5.7e-218) tmp = -4.0 * (t * a); elseif (y <= 6.2e+26) tmp = b * c; else tmp = 18.0 * ((x * z) * (t * y)); 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[y, -1.45e+105], N[(18.0 * N[(x * N[(t * N[(y * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -1.95e+63], t$95$1, If[LessEqual[y, -1.7e-17], N[(b * c), $MachinePrecision], If[LessEqual[y, -8.2e-81], t$95$1, If[LessEqual[y, -4.05e-109], N[(i * N[(x * -4.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -5.7e-218], N[(-4.0 * N[(t * a), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 6.2e+26], N[(b * c), $MachinePrecision], N[(18.0 * N[(N[(x * z), $MachinePrecision] * N[(t * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := -27 \cdot \left(k \cdot j\right)\\
\mathbf{if}\;y \leq -1.45 \cdot 10^{+105}:\\
\;\;\;\;18 \cdot \left(x \cdot \left(t \cdot \left(y \cdot z\right)\right)\right)\\
\mathbf{elif}\;y \leq -1.95 \cdot 10^{+63}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq -1.7 \cdot 10^{-17}:\\
\;\;\;\;b \cdot c\\
\mathbf{elif}\;y \leq -8.2 \cdot 10^{-81}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq -4.05 \cdot 10^{-109}:\\
\;\;\;\;i \cdot \left(x \cdot -4\right)\\
\mathbf{elif}\;y \leq -5.7 \cdot 10^{-218}:\\
\;\;\;\;-4 \cdot \left(t \cdot a\right)\\
\mathbf{elif}\;y \leq 6.2 \cdot 10^{+26}:\\
\;\;\;\;b \cdot c\\
\mathbf{else}:\\
\;\;\;\;18 \cdot \left(\left(x \cdot z\right) \cdot \left(t \cdot y\right)\right)\\
\end{array}
\end{array}
if y < -1.45000000000000005e105Initial program 75.0%
sub-neg75.0%
associate-+l-75.0%
sub-neg75.0%
sub-neg75.0%
distribute-rgt-out--77.3%
associate-*l*79.6%
distribute-lft-neg-in79.6%
cancel-sign-sub79.6%
associate-*l*79.6%
associate-*l*79.7%
Simplified79.7%
Taylor expanded in j around 0 75.0%
Taylor expanded in y around inf 40.6%
associate-*r*40.8%
associate-*r*47.0%
*-commutative47.0%
associate-*l*44.9%
*-commutative44.9%
Simplified44.9%
if -1.45000000000000005e105 < y < -1.95e63 or -1.6999999999999999e-17 < y < -8.19999999999999968e-81Initial program 85.5%
sub-neg85.5%
+-commutative85.5%
associate-*l*85.5%
distribute-rgt-neg-in85.5%
fma-def85.5%
*-commutative85.5%
distribute-rgt-neg-in85.5%
metadata-eval85.5%
sub-neg85.5%
+-commutative85.5%
associate-*l*85.5%
distribute-rgt-neg-in85.5%
Simplified89.3%
Taylor expanded in j around inf 41.3%
if -1.95e63 < y < -1.6999999999999999e-17 or -5.6999999999999998e-218 < y < 6.1999999999999999e26Initial program 89.1%
Taylor expanded in y around 0 83.6%
Taylor expanded in c around inf 27.6%
if -8.19999999999999968e-81 < y < -4.0500000000000001e-109Initial program 100.0%
Taylor expanded in y around 0 84.6%
Taylor expanded in i around inf 34.3%
*-commutative34.3%
associate-*l*34.3%
Simplified34.3%
if -4.0500000000000001e-109 < y < -5.6999999999999998e-218Initial program 100.0%
Taylor expanded in y around 0 94.5%
Taylor expanded in a around inf 37.2%
*-commutative37.2%
Simplified37.2%
if 6.1999999999999999e26 < y Initial program 75.5%
sub-neg75.5%
associate-+l-75.5%
sub-neg75.5%
sub-neg75.5%
distribute-rgt-out--82.1%
associate-*l*82.1%
distribute-lft-neg-in82.1%
cancel-sign-sub82.1%
associate-*l*82.1%
associate-*l*82.1%
Simplified82.1%
Taylor expanded in t around inf 51.9%
Taylor expanded in y around inf 43.8%
*-commutative43.8%
associate-*r*42.2%
Simplified42.2%
Taylor expanded in t around 0 45.1%
associate-*r*46.6%
*-commutative46.6%
*-commutative46.6%
associate-*r*45.3%
*-commutative45.3%
associate-*l*42.2%
associate-*r*43.7%
*-commutative43.7%
associate-*r*43.8%
associate-*l*46.2%
Simplified46.2%
Final simplification37.2%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (* -27.0 (* k j))))
(if (<= y -3.6e+105)
(* t (* x (* z (* 18.0 y))))
(if (<= y -1.85e+63)
t_1
(if (<= y -2.05e-17)
(* b c)
(if (<= y -4.5e-81)
t_1
(if (<= y -5.8e-108)
(* i (* x -4.0))
(if (<= y -1.95e-217)
(* -4.0 (* t a))
(if (<= y 3.2e+26) (* b c) (* 18.0 (* (* x z) (* t y))))))))))))
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 <= -3.6e+105) {
tmp = t * (x * (z * (18.0 * y)));
} else if (y <= -1.85e+63) {
tmp = t_1;
} else if (y <= -2.05e-17) {
tmp = b * c;
} else if (y <= -4.5e-81) {
tmp = t_1;
} else if (y <= -5.8e-108) {
tmp = i * (x * -4.0);
} else if (y <= -1.95e-217) {
tmp = -4.0 * (t * a);
} else if (y <= 3.2e+26) {
tmp = b * c;
} else {
tmp = 18.0 * ((x * z) * (t * y));
}
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 <= (-3.6d+105)) then
tmp = t * (x * (z * (18.0d0 * y)))
else if (y <= (-1.85d+63)) then
tmp = t_1
else if (y <= (-2.05d-17)) then
tmp = b * c
else if (y <= (-4.5d-81)) then
tmp = t_1
else if (y <= (-5.8d-108)) then
tmp = i * (x * (-4.0d0))
else if (y <= (-1.95d-217)) then
tmp = (-4.0d0) * (t * a)
else if (y <= 3.2d+26) then
tmp = b * c
else
tmp = 18.0d0 * ((x * z) * (t * y))
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 <= -3.6e+105) {
tmp = t * (x * (z * (18.0 * y)));
} else if (y <= -1.85e+63) {
tmp = t_1;
} else if (y <= -2.05e-17) {
tmp = b * c;
} else if (y <= -4.5e-81) {
tmp = t_1;
} else if (y <= -5.8e-108) {
tmp = i * (x * -4.0);
} else if (y <= -1.95e-217) {
tmp = -4.0 * (t * a);
} else if (y <= 3.2e+26) {
tmp = b * c;
} else {
tmp = 18.0 * ((x * z) * (t * y));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = -27.0 * (k * j) tmp = 0 if y <= -3.6e+105: tmp = t * (x * (z * (18.0 * y))) elif y <= -1.85e+63: tmp = t_1 elif y <= -2.05e-17: tmp = b * c elif y <= -4.5e-81: tmp = t_1 elif y <= -5.8e-108: tmp = i * (x * -4.0) elif y <= -1.95e-217: tmp = -4.0 * (t * a) elif y <= 3.2e+26: tmp = b * c else: tmp = 18.0 * ((x * z) * (t * y)) 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 <= -3.6e+105) tmp = Float64(t * Float64(x * Float64(z * Float64(18.0 * y)))); elseif (y <= -1.85e+63) tmp = t_1; elseif (y <= -2.05e-17) tmp = Float64(b * c); elseif (y <= -4.5e-81) tmp = t_1; elseif (y <= -5.8e-108) tmp = Float64(i * Float64(x * -4.0)); elseif (y <= -1.95e-217) tmp = Float64(-4.0 * Float64(t * a)); elseif (y <= 3.2e+26) tmp = Float64(b * c); else tmp = Float64(18.0 * Float64(Float64(x * z) * Float64(t * y))); 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 <= -3.6e+105) tmp = t * (x * (z * (18.0 * y))); elseif (y <= -1.85e+63) tmp = t_1; elseif (y <= -2.05e-17) tmp = b * c; elseif (y <= -4.5e-81) tmp = t_1; elseif (y <= -5.8e-108) tmp = i * (x * -4.0); elseif (y <= -1.95e-217) tmp = -4.0 * (t * a); elseif (y <= 3.2e+26) tmp = b * c; else tmp = 18.0 * ((x * z) * (t * y)); 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[y, -3.6e+105], N[(t * N[(x * N[(z * N[(18.0 * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -1.85e+63], t$95$1, If[LessEqual[y, -2.05e-17], N[(b * c), $MachinePrecision], If[LessEqual[y, -4.5e-81], t$95$1, If[LessEqual[y, -5.8e-108], N[(i * N[(x * -4.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -1.95e-217], N[(-4.0 * N[(t * a), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 3.2e+26], N[(b * c), $MachinePrecision], N[(18.0 * N[(N[(x * z), $MachinePrecision] * N[(t * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := -27 \cdot \left(k \cdot j\right)\\
\mathbf{if}\;y \leq -3.6 \cdot 10^{+105}:\\
\;\;\;\;t \cdot \left(x \cdot \left(z \cdot \left(18 \cdot y\right)\right)\right)\\
\mathbf{elif}\;y \leq -1.85 \cdot 10^{+63}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq -2.05 \cdot 10^{-17}:\\
\;\;\;\;b \cdot c\\
\mathbf{elif}\;y \leq -4.5 \cdot 10^{-81}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq -5.8 \cdot 10^{-108}:\\
\;\;\;\;i \cdot \left(x \cdot -4\right)\\
\mathbf{elif}\;y \leq -1.95 \cdot 10^{-217}:\\
\;\;\;\;-4 \cdot \left(t \cdot a\right)\\
\mathbf{elif}\;y \leq 3.2 \cdot 10^{+26}:\\
\;\;\;\;b \cdot c\\
\mathbf{else}:\\
\;\;\;\;18 \cdot \left(\left(x \cdot z\right) \cdot \left(t \cdot y\right)\right)\\
\end{array}
\end{array}
if y < -3.5999999999999999e105Initial program 75.0%
sub-neg75.0%
associate-+l-75.0%
sub-neg75.0%
sub-neg75.0%
distribute-rgt-out--77.3%
associate-*l*79.6%
distribute-lft-neg-in79.6%
cancel-sign-sub79.6%
associate-*l*79.6%
associate-*l*79.7%
Simplified79.7%
Taylor expanded in t around inf 54.0%
Taylor expanded in y around inf 42.7%
*-commutative42.7%
associate-*r*42.9%
Simplified42.9%
Taylor expanded in y around 0 42.7%
associate-*r*42.7%
*-commutative42.7%
associate-*l*42.8%
*-commutative42.8%
associate-*l*45.1%
Simplified45.1%
if -3.5999999999999999e105 < y < -1.84999999999999984e63 or -2.05e-17 < y < -4.5e-81Initial program 85.5%
sub-neg85.5%
+-commutative85.5%
associate-*l*85.5%
distribute-rgt-neg-in85.5%
fma-def85.5%
*-commutative85.5%
distribute-rgt-neg-in85.5%
metadata-eval85.5%
sub-neg85.5%
+-commutative85.5%
associate-*l*85.5%
distribute-rgt-neg-in85.5%
Simplified89.3%
Taylor expanded in j around inf 41.3%
if -1.84999999999999984e63 < y < -2.05e-17 or -1.95e-217 < y < 3.20000000000000029e26Initial program 89.1%
Taylor expanded in y around 0 83.6%
Taylor expanded in c around inf 27.6%
if -4.5e-81 < y < -5.8000000000000002e-108Initial program 100.0%
Taylor expanded in y around 0 84.6%
Taylor expanded in i around inf 34.3%
*-commutative34.3%
associate-*l*34.3%
Simplified34.3%
if -5.8000000000000002e-108 < y < -1.95e-217Initial program 100.0%
Taylor expanded in y around 0 94.5%
Taylor expanded in a around inf 37.2%
*-commutative37.2%
Simplified37.2%
if 3.20000000000000029e26 < y Initial program 75.5%
sub-neg75.5%
associate-+l-75.5%
sub-neg75.5%
sub-neg75.5%
distribute-rgt-out--82.1%
associate-*l*82.1%
distribute-lft-neg-in82.1%
cancel-sign-sub82.1%
associate-*l*82.1%
associate-*l*82.1%
Simplified82.1%
Taylor expanded in t around inf 51.9%
Taylor expanded in y around inf 43.8%
*-commutative43.8%
associate-*r*42.2%
Simplified42.2%
Taylor expanded in t around 0 45.1%
associate-*r*46.6%
*-commutative46.6%
*-commutative46.6%
associate-*r*45.3%
*-commutative45.3%
associate-*l*42.2%
associate-*r*43.7%
*-commutative43.7%
associate-*r*43.8%
associate-*l*46.2%
Simplified46.2%
Final simplification37.3%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (+ (* b c) (* -4.0 (* t a)))) (t_2 (- (* b c) (* 27.0 (* k j)))))
(if (<= x -4.1e+114)
(* t (* x (* z (* 18.0 y))))
(if (<= x -3.3e-15)
t_2
(if (<= x -5.2e-295)
t_1
(if (<= x 1.08e-277)
t_2
(if (<= x 2.7e-202)
t_1
(if (<= x 3.3e+87)
t_2
(if (<= x 2.15e+169)
(* (* 18.0 y) (* x (* t z)))
(- (* b c) (* 4.0 (* i x))))))))))))
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));
double t_2 = (b * c) - (27.0 * (k * j));
double tmp;
if (x <= -4.1e+114) {
tmp = t * (x * (z * (18.0 * y)));
} else if (x <= -3.3e-15) {
tmp = t_2;
} else if (x <= -5.2e-295) {
tmp = t_1;
} else if (x <= 1.08e-277) {
tmp = t_2;
} else if (x <= 2.7e-202) {
tmp = t_1;
} else if (x <= 3.3e+87) {
tmp = t_2;
} else if (x <= 2.15e+169) {
tmp = (18.0 * y) * (x * (t * z));
} else {
tmp = (b * c) - (4.0 * (i * x));
}
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))
t_2 = (b * c) - (27.0d0 * (k * j))
if (x <= (-4.1d+114)) then
tmp = t * (x * (z * (18.0d0 * y)))
else if (x <= (-3.3d-15)) then
tmp = t_2
else if (x <= (-5.2d-295)) then
tmp = t_1
else if (x <= 1.08d-277) then
tmp = t_2
else if (x <= 2.7d-202) then
tmp = t_1
else if (x <= 3.3d+87) then
tmp = t_2
else if (x <= 2.15d+169) then
tmp = (18.0d0 * y) * (x * (t * z))
else
tmp = (b * c) - (4.0d0 * (i * x))
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));
double t_2 = (b * c) - (27.0 * (k * j));
double tmp;
if (x <= -4.1e+114) {
tmp = t * (x * (z * (18.0 * y)));
} else if (x <= -3.3e-15) {
tmp = t_2;
} else if (x <= -5.2e-295) {
tmp = t_1;
} else if (x <= 1.08e-277) {
tmp = t_2;
} else if (x <= 2.7e-202) {
tmp = t_1;
} else if (x <= 3.3e+87) {
tmp = t_2;
} else if (x <= 2.15e+169) {
tmp = (18.0 * y) * (x * (t * z));
} else {
tmp = (b * c) - (4.0 * (i * x));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = (b * c) + (-4.0 * (t * a)) t_2 = (b * c) - (27.0 * (k * j)) tmp = 0 if x <= -4.1e+114: tmp = t * (x * (z * (18.0 * y))) elif x <= -3.3e-15: tmp = t_2 elif x <= -5.2e-295: tmp = t_1 elif x <= 1.08e-277: tmp = t_2 elif x <= 2.7e-202: tmp = t_1 elif x <= 3.3e+87: tmp = t_2 elif x <= 2.15e+169: tmp = (18.0 * y) * (x * (t * z)) else: tmp = (b * c) - (4.0 * (i * x)) return tmp
function code(x, y, z, t, a, b, c, i, j, k) t_1 = Float64(Float64(b * c) + Float64(-4.0 * Float64(t * a))) t_2 = Float64(Float64(b * c) - Float64(27.0 * Float64(k * j))) tmp = 0.0 if (x <= -4.1e+114) tmp = Float64(t * Float64(x * Float64(z * Float64(18.0 * y)))); elseif (x <= -3.3e-15) tmp = t_2; elseif (x <= -5.2e-295) tmp = t_1; elseif (x <= 1.08e-277) tmp = t_2; elseif (x <= 2.7e-202) tmp = t_1; elseif (x <= 3.3e+87) tmp = t_2; elseif (x <= 2.15e+169) tmp = Float64(Float64(18.0 * y) * Float64(x * Float64(t * z))); else tmp = Float64(Float64(b * c) - Float64(4.0 * Float64(i * x))); 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)); t_2 = (b * c) - (27.0 * (k * j)); tmp = 0.0; if (x <= -4.1e+114) tmp = t * (x * (z * (18.0 * y))); elseif (x <= -3.3e-15) tmp = t_2; elseif (x <= -5.2e-295) tmp = t_1; elseif (x <= 1.08e-277) tmp = t_2; elseif (x <= 2.7e-202) tmp = t_1; elseif (x <= 3.3e+87) tmp = t_2; elseif (x <= 2.15e+169) tmp = (18.0 * y) * (x * (t * z)); else tmp = (b * c) - (4.0 * (i * x)); 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[(-4.0 * N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(b * c), $MachinePrecision] - N[(27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -4.1e+114], N[(t * N[(x * N[(z * N[(18.0 * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -3.3e-15], t$95$2, If[LessEqual[x, -5.2e-295], t$95$1, If[LessEqual[x, 1.08e-277], t$95$2, If[LessEqual[x, 2.7e-202], t$95$1, If[LessEqual[x, 3.3e+87], t$95$2, If[LessEqual[x, 2.15e+169], N[(N[(18.0 * y), $MachinePrecision] * N[(x * N[(t * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(b * c), $MachinePrecision] - N[(4.0 * N[(i * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot c + -4 \cdot \left(t \cdot a\right)\\
t_2 := b \cdot c - 27 \cdot \left(k \cdot j\right)\\
\mathbf{if}\;x \leq -4.1 \cdot 10^{+114}:\\
\;\;\;\;t \cdot \left(x \cdot \left(z \cdot \left(18 \cdot y\right)\right)\right)\\
\mathbf{elif}\;x \leq -3.3 \cdot 10^{-15}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;x \leq -5.2 \cdot 10^{-295}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;x \leq 1.08 \cdot 10^{-277}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;x \leq 2.7 \cdot 10^{-202}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;x \leq 3.3 \cdot 10^{+87}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;x \leq 2.15 \cdot 10^{+169}:\\
\;\;\;\;\left(18 \cdot y\right) \cdot \left(x \cdot \left(t \cdot z\right)\right)\\
\mathbf{else}:\\
\;\;\;\;b \cdot c - 4 \cdot \left(i \cdot x\right)\\
\end{array}
\end{array}
if x < -4.1000000000000001e114Initial program 70.3%
sub-neg70.3%
associate-+l-70.3%
sub-neg70.3%
sub-neg70.3%
distribute-rgt-out--72.6%
associate-*l*77.1%
distribute-lft-neg-in77.1%
cancel-sign-sub77.1%
associate-*l*77.1%
associate-*l*77.1%
Simplified77.1%
Taylor expanded in t around inf 63.8%
Taylor expanded in y around inf 52.4%
*-commutative52.4%
associate-*r*52.4%
Simplified52.4%
Taylor expanded in y around 0 52.4%
associate-*r*52.4%
*-commutative52.4%
associate-*l*52.5%
*-commutative52.5%
associate-*l*54.6%
Simplified54.6%
if -4.1000000000000001e114 < x < -3.3e-15 or -5.1999999999999997e-295 < x < 1.0800000000000001e-277 or 2.6999999999999999e-202 < x < 3.3000000000000001e87Initial program 90.3%
Taylor expanded in x around 0 74.0%
Taylor expanded in a around 0 62.1%
if -3.3e-15 < x < -5.1999999999999997e-295 or 1.0800000000000001e-277 < x < 2.6999999999999999e-202Initial program 96.0%
sub-neg96.0%
associate-+l-96.0%
sub-neg96.0%
sub-neg96.0%
distribute-rgt-out--96.0%
associate-*l*92.2%
distribute-lft-neg-in92.2%
cancel-sign-sub92.2%
associate-*l*92.2%
associate-*l*92.3%
Simplified92.3%
Taylor expanded in j around 0 82.2%
Taylor expanded in x around 0 72.4%
if 3.3000000000000001e87 < x < 2.1500000000000001e169Initial program 75.3%
sub-neg75.3%
associate-+l-75.3%
sub-neg75.3%
sub-neg75.3%
distribute-rgt-out--80.3%
associate-*l*80.3%
distribute-lft-neg-in80.3%
cancel-sign-sub80.3%
associate-*l*80.3%
associate-*l*80.3%
Simplified80.3%
Taylor expanded in t around inf 65.6%
Taylor expanded in y around inf 60.3%
associate-*r*60.4%
*-commutative60.4%
associate-*r*60.4%
*-commutative60.4%
Simplified60.4%
if 2.1500000000000001e169 < x Initial program 63.8%
sub-neg63.8%
associate-+l-63.8%
sub-neg63.8%
sub-neg63.8%
distribute-rgt-out--63.8%
associate-*l*66.8%
distribute-lft-neg-in66.8%
cancel-sign-sub66.8%
associate-*l*66.8%
associate-*l*66.8%
Simplified66.8%
Taylor expanded in j around 0 61.2%
Taylor expanded in t around 0 55.5%
Final simplification63.0%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (- (* b c) (* 27.0 (* k j)))) (t_2 (+ (* b c) (* -4.0 (* t a)))))
(if (<= x -1.8e+121)
(* t (* x (* z (* 18.0 y))))
(if (<= x -7400000.0)
(+ (* -4.0 (* i x)) (* j (* k -27.0)))
(if (<= x -1.1e-293)
t_2
(if (<= x 3.8e-278)
t_1
(if (<= x 7.2e-203)
t_2
(if (<= x 1.4e+85)
t_1
(if (<= x 1.15e+170)
(* (* 18.0 y) (* x (* t z)))
(- (* b c) (* 4.0 (* i x))))))))))))
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 = (b * c) + (-4.0 * (t * a));
double tmp;
if (x <= -1.8e+121) {
tmp = t * (x * (z * (18.0 * y)));
} else if (x <= -7400000.0) {
tmp = (-4.0 * (i * x)) + (j * (k * -27.0));
} else if (x <= -1.1e-293) {
tmp = t_2;
} else if (x <= 3.8e-278) {
tmp = t_1;
} else if (x <= 7.2e-203) {
tmp = t_2;
} else if (x <= 1.4e+85) {
tmp = t_1;
} else if (x <= 1.15e+170) {
tmp = (18.0 * y) * (x * (t * z));
} else {
tmp = (b * c) - (4.0 * (i * x));
}
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 = (b * c) + ((-4.0d0) * (t * a))
if (x <= (-1.8d+121)) then
tmp = t * (x * (z * (18.0d0 * y)))
else if (x <= (-7400000.0d0)) then
tmp = ((-4.0d0) * (i * x)) + (j * (k * (-27.0d0)))
else if (x <= (-1.1d-293)) then
tmp = t_2
else if (x <= 3.8d-278) then
tmp = t_1
else if (x <= 7.2d-203) then
tmp = t_2
else if (x <= 1.4d+85) then
tmp = t_1
else if (x <= 1.15d+170) then
tmp = (18.0d0 * y) * (x * (t * z))
else
tmp = (b * c) - (4.0d0 * (i * x))
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 = (b * c) + (-4.0 * (t * a));
double tmp;
if (x <= -1.8e+121) {
tmp = t * (x * (z * (18.0 * y)));
} else if (x <= -7400000.0) {
tmp = (-4.0 * (i * x)) + (j * (k * -27.0));
} else if (x <= -1.1e-293) {
tmp = t_2;
} else if (x <= 3.8e-278) {
tmp = t_1;
} else if (x <= 7.2e-203) {
tmp = t_2;
} else if (x <= 1.4e+85) {
tmp = t_1;
} else if (x <= 1.15e+170) {
tmp = (18.0 * y) * (x * (t * z));
} else {
tmp = (b * c) - (4.0 * (i * x));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = (b * c) - (27.0 * (k * j)) t_2 = (b * c) + (-4.0 * (t * a)) tmp = 0 if x <= -1.8e+121: tmp = t * (x * (z * (18.0 * y))) elif x <= -7400000.0: tmp = (-4.0 * (i * x)) + (j * (k * -27.0)) elif x <= -1.1e-293: tmp = t_2 elif x <= 3.8e-278: tmp = t_1 elif x <= 7.2e-203: tmp = t_2 elif x <= 1.4e+85: tmp = t_1 elif x <= 1.15e+170: tmp = (18.0 * y) * (x * (t * z)) else: tmp = (b * c) - (4.0 * (i * x)) 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(b * c) + Float64(-4.0 * Float64(t * a))) tmp = 0.0 if (x <= -1.8e+121) tmp = Float64(t * Float64(x * Float64(z * Float64(18.0 * y)))); elseif (x <= -7400000.0) tmp = Float64(Float64(-4.0 * Float64(i * x)) + Float64(j * Float64(k * -27.0))); elseif (x <= -1.1e-293) tmp = t_2; elseif (x <= 3.8e-278) tmp = t_1; elseif (x <= 7.2e-203) tmp = t_2; elseif (x <= 1.4e+85) tmp = t_1; elseif (x <= 1.15e+170) tmp = Float64(Float64(18.0 * y) * Float64(x * Float64(t * z))); else tmp = Float64(Float64(b * c) - Float64(4.0 * Float64(i * x))); 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 = (b * c) + (-4.0 * (t * a)); tmp = 0.0; if (x <= -1.8e+121) tmp = t * (x * (z * (18.0 * y))); elseif (x <= -7400000.0) tmp = (-4.0 * (i * x)) + (j * (k * -27.0)); elseif (x <= -1.1e-293) tmp = t_2; elseif (x <= 3.8e-278) tmp = t_1; elseif (x <= 7.2e-203) tmp = t_2; elseif (x <= 1.4e+85) tmp = t_1; elseif (x <= 1.15e+170) tmp = (18.0 * y) * (x * (t * z)); else tmp = (b * c) - (4.0 * (i * x)); 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[(b * c), $MachinePrecision] + N[(-4.0 * N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -1.8e+121], N[(t * N[(x * N[(z * N[(18.0 * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -7400000.0], N[(N[(-4.0 * N[(i * x), $MachinePrecision]), $MachinePrecision] + N[(j * N[(k * -27.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -1.1e-293], t$95$2, If[LessEqual[x, 3.8e-278], t$95$1, If[LessEqual[x, 7.2e-203], t$95$2, If[LessEqual[x, 1.4e+85], t$95$1, If[LessEqual[x, 1.15e+170], N[(N[(18.0 * y), $MachinePrecision] * N[(x * N[(t * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(b * c), $MachinePrecision] - N[(4.0 * N[(i * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot c - 27 \cdot \left(k \cdot j\right)\\
t_2 := b \cdot c + -4 \cdot \left(t \cdot a\right)\\
\mathbf{if}\;x \leq -1.8 \cdot 10^{+121}:\\
\;\;\;\;t \cdot \left(x \cdot \left(z \cdot \left(18 \cdot y\right)\right)\right)\\
\mathbf{elif}\;x \leq -7400000:\\
\;\;\;\;-4 \cdot \left(i \cdot x\right) + j \cdot \left(k \cdot -27\right)\\
\mathbf{elif}\;x \leq -1.1 \cdot 10^{-293}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;x \leq 3.8 \cdot 10^{-278}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;x \leq 7.2 \cdot 10^{-203}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;x \leq 1.4 \cdot 10^{+85}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;x \leq 1.15 \cdot 10^{+170}:\\
\;\;\;\;\left(18 \cdot y\right) \cdot \left(x \cdot \left(t \cdot z\right)\right)\\
\mathbf{else}:\\
\;\;\;\;b \cdot c - 4 \cdot \left(i \cdot x\right)\\
\end{array}
\end{array}
if x < -1.79999999999999991e121Initial program 68.8%
sub-neg68.8%
associate-+l-68.8%
sub-neg68.8%
sub-neg68.8%
distribute-rgt-out--71.3%
associate-*l*75.9%
distribute-lft-neg-in75.9%
cancel-sign-sub75.9%
associate-*l*75.9%
associate-*l*75.9%
Simplified75.9%
Taylor expanded in t around inf 64.3%
Taylor expanded in y around inf 52.4%
*-commutative52.4%
associate-*r*52.4%
Simplified52.4%
Taylor expanded in y around 0 52.4%
associate-*r*52.4%
*-commutative52.4%
associate-*l*52.5%
*-commutative52.5%
associate-*l*54.8%
Simplified54.8%
if -1.79999999999999991e121 < x < -7.4e6Initial program 86.2%
Taylor expanded in t around 0 73.1%
Taylor expanded in c around 0 60.0%
mul-1-neg60.0%
*-commutative60.0%
distribute-neg-in60.0%
distribute-lft-neg-in60.0%
metadata-eval60.0%
distribute-lft-neg-in60.0%
metadata-eval60.0%
associate-*r*60.0%
Simplified60.0%
if -7.4e6 < x < -1.1e-293 or 3.7999999999999999e-278 < x < 7.19999999999999958e-203Initial program 94.0%
sub-neg94.0%
associate-+l-94.0%
sub-neg94.0%
sub-neg94.0%
distribute-rgt-out--95.2%
associate-*l*91.6%
distribute-lft-neg-in91.6%
cancel-sign-sub91.6%
associate-*l*91.6%
associate-*l*91.7%
Simplified91.7%
Taylor expanded in j around 0 81.1%
Taylor expanded in x around 0 70.9%
if -1.1e-293 < x < 3.7999999999999999e-278 or 7.19999999999999958e-203 < x < 1.4e85Initial program 94.7%
Taylor expanded in x around 0 81.9%
Taylor expanded in a around 0 68.0%
if 1.4e85 < x < 1.15e170Initial program 75.3%
sub-neg75.3%
associate-+l-75.3%
sub-neg75.3%
sub-neg75.3%
distribute-rgt-out--80.3%
associate-*l*80.3%
distribute-lft-neg-in80.3%
cancel-sign-sub80.3%
associate-*l*80.3%
associate-*l*80.3%
Simplified80.3%
Taylor expanded in t around inf 65.6%
Taylor expanded in y around inf 60.3%
associate-*r*60.4%
*-commutative60.4%
associate-*r*60.4%
*-commutative60.4%
Simplified60.4%
if 1.15e170 < x Initial program 63.8%
sub-neg63.8%
associate-+l-63.8%
sub-neg63.8%
sub-neg63.8%
distribute-rgt-out--63.8%
associate-*l*66.8%
distribute-lft-neg-in66.8%
cancel-sign-sub66.8%
associate-*l*66.8%
associate-*l*66.8%
Simplified66.8%
Taylor expanded in j around 0 61.2%
Taylor expanded in t around 0 55.5%
Final simplification63.9%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (* 27.0 (* k j))) (t_2 (* -4.0 (* t a))) (t_3 (+ (* b c) t_2)))
(if (<= x -1.2e+121)
(* t (* x (* z (* 18.0 y))))
(if (<= x -2000000.0)
(+ (* -4.0 (* i x)) (* j (* k -27.0)))
(if (<= x -1.65e-126)
t_3
(if (<= x 9.6e-278)
(- t_2 t_1)
(if (<= x 3.5e-202)
t_3
(if (<= x 1.8e+85)
(- (* b c) t_1)
(if (<= x 6e+169)
(* (* 18.0 y) (* x (* t z)))
(- (* b c) (* 4.0 (* i x))))))))))))
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 = -4.0 * (t * a);
double t_3 = (b * c) + t_2;
double tmp;
if (x <= -1.2e+121) {
tmp = t * (x * (z * (18.0 * y)));
} else if (x <= -2000000.0) {
tmp = (-4.0 * (i * x)) + (j * (k * -27.0));
} else if (x <= -1.65e-126) {
tmp = t_3;
} else if (x <= 9.6e-278) {
tmp = t_2 - t_1;
} else if (x <= 3.5e-202) {
tmp = t_3;
} else if (x <= 1.8e+85) {
tmp = (b * c) - t_1;
} else if (x <= 6e+169) {
tmp = (18.0 * y) * (x * (t * z));
} else {
tmp = (b * c) - (4.0 * (i * x));
}
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 = 27.0d0 * (k * j)
t_2 = (-4.0d0) * (t * a)
t_3 = (b * c) + t_2
if (x <= (-1.2d+121)) then
tmp = t * (x * (z * (18.0d0 * y)))
else if (x <= (-2000000.0d0)) then
tmp = ((-4.0d0) * (i * x)) + (j * (k * (-27.0d0)))
else if (x <= (-1.65d-126)) then
tmp = t_3
else if (x <= 9.6d-278) then
tmp = t_2 - t_1
else if (x <= 3.5d-202) then
tmp = t_3
else if (x <= 1.8d+85) then
tmp = (b * c) - t_1
else if (x <= 6d+169) then
tmp = (18.0d0 * y) * (x * (t * z))
else
tmp = (b * c) - (4.0d0 * (i * x))
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 = -4.0 * (t * a);
double t_3 = (b * c) + t_2;
double tmp;
if (x <= -1.2e+121) {
tmp = t * (x * (z * (18.0 * y)));
} else if (x <= -2000000.0) {
tmp = (-4.0 * (i * x)) + (j * (k * -27.0));
} else if (x <= -1.65e-126) {
tmp = t_3;
} else if (x <= 9.6e-278) {
tmp = t_2 - t_1;
} else if (x <= 3.5e-202) {
tmp = t_3;
} else if (x <= 1.8e+85) {
tmp = (b * c) - t_1;
} else if (x <= 6e+169) {
tmp = (18.0 * y) * (x * (t * z));
} else {
tmp = (b * c) - (4.0 * (i * x));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = 27.0 * (k * j) t_2 = -4.0 * (t * a) t_3 = (b * c) + t_2 tmp = 0 if x <= -1.2e+121: tmp = t * (x * (z * (18.0 * y))) elif x <= -2000000.0: tmp = (-4.0 * (i * x)) + (j * (k * -27.0)) elif x <= -1.65e-126: tmp = t_3 elif x <= 9.6e-278: tmp = t_2 - t_1 elif x <= 3.5e-202: tmp = t_3 elif x <= 1.8e+85: tmp = (b * c) - t_1 elif x <= 6e+169: tmp = (18.0 * y) * (x * (t * z)) else: tmp = (b * c) - (4.0 * (i * x)) 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(-4.0 * Float64(t * a)) t_3 = Float64(Float64(b * c) + t_2) tmp = 0.0 if (x <= -1.2e+121) tmp = Float64(t * Float64(x * Float64(z * Float64(18.0 * y)))); elseif (x <= -2000000.0) tmp = Float64(Float64(-4.0 * Float64(i * x)) + Float64(j * Float64(k * -27.0))); elseif (x <= -1.65e-126) tmp = t_3; elseif (x <= 9.6e-278) tmp = Float64(t_2 - t_1); elseif (x <= 3.5e-202) tmp = t_3; elseif (x <= 1.8e+85) tmp = Float64(Float64(b * c) - t_1); elseif (x <= 6e+169) tmp = Float64(Float64(18.0 * y) * Float64(x * Float64(t * z))); else tmp = Float64(Float64(b * c) - Float64(4.0 * Float64(i * x))); 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 = -4.0 * (t * a); t_3 = (b * c) + t_2; tmp = 0.0; if (x <= -1.2e+121) tmp = t * (x * (z * (18.0 * y))); elseif (x <= -2000000.0) tmp = (-4.0 * (i * x)) + (j * (k * -27.0)); elseif (x <= -1.65e-126) tmp = t_3; elseif (x <= 9.6e-278) tmp = t_2 - t_1; elseif (x <= 3.5e-202) tmp = t_3; elseif (x <= 1.8e+85) tmp = (b * c) - t_1; elseif (x <= 6e+169) tmp = (18.0 * y) * (x * (t * z)); else tmp = (b * c) - (4.0 * (i * x)); 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[(-4.0 * N[(t * a), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(b * c), $MachinePrecision] + t$95$2), $MachinePrecision]}, If[LessEqual[x, -1.2e+121], N[(t * N[(x * N[(z * N[(18.0 * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -2000000.0], N[(N[(-4.0 * N[(i * x), $MachinePrecision]), $MachinePrecision] + N[(j * N[(k * -27.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -1.65e-126], t$95$3, If[LessEqual[x, 9.6e-278], N[(t$95$2 - t$95$1), $MachinePrecision], If[LessEqual[x, 3.5e-202], t$95$3, If[LessEqual[x, 1.8e+85], N[(N[(b * c), $MachinePrecision] - t$95$1), $MachinePrecision], If[LessEqual[x, 6e+169], N[(N[(18.0 * y), $MachinePrecision] * N[(x * N[(t * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(b * c), $MachinePrecision] - N[(4.0 * N[(i * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 27 \cdot \left(k \cdot j\right)\\
t_2 := -4 \cdot \left(t \cdot a\right)\\
t_3 := b \cdot c + t_2\\
\mathbf{if}\;x \leq -1.2 \cdot 10^{+121}:\\
\;\;\;\;t \cdot \left(x \cdot \left(z \cdot \left(18 \cdot y\right)\right)\right)\\
\mathbf{elif}\;x \leq -2000000:\\
\;\;\;\;-4 \cdot \left(i \cdot x\right) + j \cdot \left(k \cdot -27\right)\\
\mathbf{elif}\;x \leq -1.65 \cdot 10^{-126}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;x \leq 9.6 \cdot 10^{-278}:\\
\;\;\;\;t_2 - t_1\\
\mathbf{elif}\;x \leq 3.5 \cdot 10^{-202}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;x \leq 1.8 \cdot 10^{+85}:\\
\;\;\;\;b \cdot c - t_1\\
\mathbf{elif}\;x \leq 6 \cdot 10^{+169}:\\
\;\;\;\;\left(18 \cdot y\right) \cdot \left(x \cdot \left(t \cdot z\right)\right)\\
\mathbf{else}:\\
\;\;\;\;b \cdot c - 4 \cdot \left(i \cdot x\right)\\
\end{array}
\end{array}
if x < -1.2e121Initial program 68.8%
sub-neg68.8%
associate-+l-68.8%
sub-neg68.8%
sub-neg68.8%
distribute-rgt-out--71.3%
associate-*l*75.9%
distribute-lft-neg-in75.9%
cancel-sign-sub75.9%
associate-*l*75.9%
associate-*l*75.9%
Simplified75.9%
Taylor expanded in t around inf 64.3%
Taylor expanded in y around inf 52.4%
*-commutative52.4%
associate-*r*52.4%
Simplified52.4%
Taylor expanded in y around 0 52.4%
associate-*r*52.4%
*-commutative52.4%
associate-*l*52.5%
*-commutative52.5%
associate-*l*54.8%
Simplified54.8%
if -1.2e121 < x < -2e6Initial program 86.2%
Taylor expanded in t around 0 73.1%
Taylor expanded in c around 0 60.0%
mul-1-neg60.0%
*-commutative60.0%
distribute-neg-in60.0%
distribute-lft-neg-in60.0%
metadata-eval60.0%
distribute-lft-neg-in60.0%
metadata-eval60.0%
associate-*r*60.0%
Simplified60.0%
if -2e6 < x < -1.65e-126 or 9.5999999999999999e-278 < x < 3.4999999999999999e-202Initial program 95.9%
sub-neg95.9%
associate-+l-95.9%
sub-neg95.9%
sub-neg95.9%
distribute-rgt-out--98.0%
associate-*l*96.1%
distribute-lft-neg-in96.1%
cancel-sign-sub96.1%
associate-*l*96.1%
associate-*l*96.1%
Simplified96.1%
Taylor expanded in j around 0 87.5%
Taylor expanded in x around 0 74.3%
if -1.65e-126 < x < 9.5999999999999999e-278Initial program 92.6%
Taylor expanded in t around -inf 74.5%
Taylor expanded in y around 0 70.6%
if 3.4999999999999999e-202 < x < 1.7999999999999999e85Initial program 93.9%
Taylor expanded in x around 0 81.2%
Taylor expanded in a around 0 65.4%
if 1.7999999999999999e85 < x < 5.9999999999999999e169Initial program 75.3%
sub-neg75.3%
associate-+l-75.3%
sub-neg75.3%
sub-neg75.3%
distribute-rgt-out--80.3%
associate-*l*80.3%
distribute-lft-neg-in80.3%
cancel-sign-sub80.3%
associate-*l*80.3%
associate-*l*80.3%
Simplified80.3%
Taylor expanded in t around inf 65.6%
Taylor expanded in y around inf 60.3%
associate-*r*60.4%
*-commutative60.4%
associate-*r*60.4%
*-commutative60.4%
Simplified60.4%
if 5.9999999999999999e169 < x Initial program 63.8%
sub-neg63.8%
associate-+l-63.8%
sub-neg63.8%
sub-neg63.8%
distribute-rgt-out--63.8%
associate-*l*66.8%
distribute-lft-neg-in66.8%
cancel-sign-sub66.8%
associate-*l*66.8%
associate-*l*66.8%
Simplified66.8%
Taylor expanded in j around 0 61.2%
Taylor expanded in t around 0 55.5%
Final simplification64.1%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (* k (* j 27.0)))
(t_2 (* x (- (* 18.0 (* y (* t z))) (* i 4.0)))))
(if (<= x -8.5e+117)
t_2
(if (<= x -4.2e+21)
(- (- (* b c) (* 4.0 (* i x))) t_1)
(if (<= x -0.0145)
(* t (- (* 18.0 (* y (* x z))) (* a 4.0)))
(if (<= x 3.5e+83) (- (- (* b c) (* 4.0 (* t a))) 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 = k * (j * 27.0);
double t_2 = x * ((18.0 * (y * (t * z))) - (i * 4.0));
double tmp;
if (x <= -8.5e+117) {
tmp = t_2;
} else if (x <= -4.2e+21) {
tmp = ((b * c) - (4.0 * (i * x))) - t_1;
} else if (x <= -0.0145) {
tmp = t * ((18.0 * (y * (x * z))) - (a * 4.0));
} else if (x <= 3.5e+83) {
tmp = ((b * c) - (4.0 * (t * a))) - 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 = k * (j * 27.0d0)
t_2 = x * ((18.0d0 * (y * (t * z))) - (i * 4.0d0))
if (x <= (-8.5d+117)) then
tmp = t_2
else if (x <= (-4.2d+21)) then
tmp = ((b * c) - (4.0d0 * (i * x))) - t_1
else if (x <= (-0.0145d0)) then
tmp = t * ((18.0d0 * (y * (x * z))) - (a * 4.0d0))
else if (x <= 3.5d+83) then
tmp = ((b * c) - (4.0d0 * (t * a))) - 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 = k * (j * 27.0);
double t_2 = x * ((18.0 * (y * (t * z))) - (i * 4.0));
double tmp;
if (x <= -8.5e+117) {
tmp = t_2;
} else if (x <= -4.2e+21) {
tmp = ((b * c) - (4.0 * (i * x))) - t_1;
} else if (x <= -0.0145) {
tmp = t * ((18.0 * (y * (x * z))) - (a * 4.0));
} else if (x <= 3.5e+83) {
tmp = ((b * c) - (4.0 * (t * a))) - t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = k * (j * 27.0) t_2 = x * ((18.0 * (y * (t * z))) - (i * 4.0)) tmp = 0 if x <= -8.5e+117: tmp = t_2 elif x <= -4.2e+21: tmp = ((b * c) - (4.0 * (i * x))) - t_1 elif x <= -0.0145: tmp = t * ((18.0 * (y * (x * z))) - (a * 4.0)) elif x <= 3.5e+83: tmp = ((b * c) - (4.0 * (t * a))) - t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j, k) t_1 = Float64(k * Float64(j * 27.0)) t_2 = Float64(x * Float64(Float64(18.0 * Float64(y * Float64(t * z))) - Float64(i * 4.0))) tmp = 0.0 if (x <= -8.5e+117) tmp = t_2; elseif (x <= -4.2e+21) tmp = Float64(Float64(Float64(b * c) - Float64(4.0 * Float64(i * x))) - t_1); elseif (x <= -0.0145) tmp = Float64(t * Float64(Float64(18.0 * Float64(y * Float64(x * z))) - Float64(a * 4.0))); elseif (x <= 3.5e+83) tmp = Float64(Float64(Float64(b * c) - Float64(4.0 * Float64(t * a))) - 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 = k * (j * 27.0); t_2 = x * ((18.0 * (y * (t * z))) - (i * 4.0)); tmp = 0.0; if (x <= -8.5e+117) tmp = t_2; elseif (x <= -4.2e+21) tmp = ((b * c) - (4.0 * (i * x))) - t_1; elseif (x <= -0.0145) tmp = t * ((18.0 * (y * (x * z))) - (a * 4.0)); elseif (x <= 3.5e+83) tmp = ((b * c) - (4.0 * (t * a))) - 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[(k * N[(j * 27.0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x * N[(N[(18.0 * N[(y * N[(t * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(i * 4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -8.5e+117], t$95$2, If[LessEqual[x, -4.2e+21], N[(N[(N[(b * c), $MachinePrecision] - N[(4.0 * N[(i * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - t$95$1), $MachinePrecision], If[LessEqual[x, -0.0145], N[(t * N[(N[(18.0 * N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(a * 4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 3.5e+83], N[(N[(N[(b * c), $MachinePrecision] - N[(4.0 * N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - t$95$1), $MachinePrecision], t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := k \cdot \left(j \cdot 27\right)\\
t_2 := x \cdot \left(18 \cdot \left(y \cdot \left(t \cdot z\right)\right) - i \cdot 4\right)\\
\mathbf{if}\;x \leq -8.5 \cdot 10^{+117}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;x \leq -4.2 \cdot 10^{+21}:\\
\;\;\;\;\left(b \cdot c - 4 \cdot \left(i \cdot x\right)\right) - t_1\\
\mathbf{elif}\;x \leq -0.0145:\\
\;\;\;\;t \cdot \left(18 \cdot \left(y \cdot \left(x \cdot z\right)\right) - a \cdot 4\right)\\
\mathbf{elif}\;x \leq 3.5 \cdot 10^{+83}:\\
\;\;\;\;\left(b \cdot c - 4 \cdot \left(t \cdot a\right)\right) - t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if x < -8.49999999999999966e117 or 3.49999999999999977e83 < x Initial program 68.5%
sub-neg68.5%
associate-+l-68.5%
sub-neg68.5%
sub-neg68.5%
distribute-rgt-out--70.6%
associate-*l*73.7%
distribute-lft-neg-in73.7%
cancel-sign-sub73.7%
associate-*l*73.7%
associate-*l*73.7%
Simplified73.7%
Taylor expanded in x around inf 72.9%
if -8.49999999999999966e117 < x < -4.2e21Initial program 89.3%
Taylor expanded in t around 0 84.2%
if -4.2e21 < x < -0.0145000000000000007Initial program 57.8%
sub-neg57.8%
associate-+l-57.8%
sub-neg57.8%
sub-neg57.8%
distribute-rgt-out--86.3%
associate-*l*86.3%
distribute-lft-neg-in86.3%
cancel-sign-sub86.3%
associate-*l*86.3%
associate-*l*86.3%
Simplified86.3%
Taylor expanded in t around inf 72.7%
if -0.0145000000000000007 < x < 3.49999999999999977e83Initial program 95.5%
Taylor expanded in x around 0 84.3%
Final simplification79.8%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (* k (* j 27.0)))
(t_2 (* x (- (* 18.0 (* y (* t z))) (* i 4.0)))))
(if (<= x -1.55e+121)
t_2
(if (<= x -2.3e+19)
(- (- (* b c) (* 4.0 (* i x))) t_1)
(if (<= x -1.25e-54)
(+ (* b c) (* t (- (* 18.0 (* y (* x z))) (* a 4.0))))
(if (<= x 9.5e+85) (- (- (* b c) (* 4.0 (* t a))) 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 = k * (j * 27.0);
double t_2 = x * ((18.0 * (y * (t * z))) - (i * 4.0));
double tmp;
if (x <= -1.55e+121) {
tmp = t_2;
} else if (x <= -2.3e+19) {
tmp = ((b * c) - (4.0 * (i * x))) - t_1;
} else if (x <= -1.25e-54) {
tmp = (b * c) + (t * ((18.0 * (y * (x * z))) - (a * 4.0)));
} else if (x <= 9.5e+85) {
tmp = ((b * c) - (4.0 * (t * a))) - 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 = k * (j * 27.0d0)
t_2 = x * ((18.0d0 * (y * (t * z))) - (i * 4.0d0))
if (x <= (-1.55d+121)) then
tmp = t_2
else if (x <= (-2.3d+19)) then
tmp = ((b * c) - (4.0d0 * (i * x))) - t_1
else if (x <= (-1.25d-54)) then
tmp = (b * c) + (t * ((18.0d0 * (y * (x * z))) - (a * 4.0d0)))
else if (x <= 9.5d+85) then
tmp = ((b * c) - (4.0d0 * (t * a))) - 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 = k * (j * 27.0);
double t_2 = x * ((18.0 * (y * (t * z))) - (i * 4.0));
double tmp;
if (x <= -1.55e+121) {
tmp = t_2;
} else if (x <= -2.3e+19) {
tmp = ((b * c) - (4.0 * (i * x))) - t_1;
} else if (x <= -1.25e-54) {
tmp = (b * c) + (t * ((18.0 * (y * (x * z))) - (a * 4.0)));
} else if (x <= 9.5e+85) {
tmp = ((b * c) - (4.0 * (t * a))) - t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = k * (j * 27.0) t_2 = x * ((18.0 * (y * (t * z))) - (i * 4.0)) tmp = 0 if x <= -1.55e+121: tmp = t_2 elif x <= -2.3e+19: tmp = ((b * c) - (4.0 * (i * x))) - t_1 elif x <= -1.25e-54: tmp = (b * c) + (t * ((18.0 * (y * (x * z))) - (a * 4.0))) elif x <= 9.5e+85: tmp = ((b * c) - (4.0 * (t * a))) - t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j, k) t_1 = Float64(k * Float64(j * 27.0)) t_2 = Float64(x * Float64(Float64(18.0 * Float64(y * Float64(t * z))) - Float64(i * 4.0))) tmp = 0.0 if (x <= -1.55e+121) tmp = t_2; elseif (x <= -2.3e+19) tmp = Float64(Float64(Float64(b * c) - Float64(4.0 * Float64(i * x))) - t_1); elseif (x <= -1.25e-54) tmp = Float64(Float64(b * c) + Float64(t * Float64(Float64(18.0 * Float64(y * Float64(x * z))) - Float64(a * 4.0)))); elseif (x <= 9.5e+85) tmp = Float64(Float64(Float64(b * c) - Float64(4.0 * Float64(t * a))) - 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 = k * (j * 27.0); t_2 = x * ((18.0 * (y * (t * z))) - (i * 4.0)); tmp = 0.0; if (x <= -1.55e+121) tmp = t_2; elseif (x <= -2.3e+19) tmp = ((b * c) - (4.0 * (i * x))) - t_1; elseif (x <= -1.25e-54) tmp = (b * c) + (t * ((18.0 * (y * (x * z))) - (a * 4.0))); elseif (x <= 9.5e+85) tmp = ((b * c) - (4.0 * (t * a))) - 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[(k * N[(j * 27.0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x * N[(N[(18.0 * N[(y * N[(t * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(i * 4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -1.55e+121], t$95$2, If[LessEqual[x, -2.3e+19], N[(N[(N[(b * c), $MachinePrecision] - N[(4.0 * N[(i * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - t$95$1), $MachinePrecision], If[LessEqual[x, -1.25e-54], 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], If[LessEqual[x, 9.5e+85], N[(N[(N[(b * c), $MachinePrecision] - N[(4.0 * N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - t$95$1), $MachinePrecision], t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := k \cdot \left(j \cdot 27\right)\\
t_2 := x \cdot \left(18 \cdot \left(y \cdot \left(t \cdot z\right)\right) - i \cdot 4\right)\\
\mathbf{if}\;x \leq -1.55 \cdot 10^{+121}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;x \leq -2.3 \cdot 10^{+19}:\\
\;\;\;\;\left(b \cdot c - 4 \cdot \left(i \cdot x\right)\right) - t_1\\
\mathbf{elif}\;x \leq -1.25 \cdot 10^{-54}:\\
\;\;\;\;b \cdot c + t \cdot \left(18 \cdot \left(y \cdot \left(x \cdot z\right)\right) - a \cdot 4\right)\\
\mathbf{elif}\;x \leq 9.5 \cdot 10^{+85}:\\
\;\;\;\;\left(b \cdot c - 4 \cdot \left(t \cdot a\right)\right) - t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if x < -1.55000000000000004e121 or 9.49999999999999945e85 < x Initial program 68.5%
sub-neg68.5%
associate-+l-68.5%
sub-neg68.5%
sub-neg68.5%
distribute-rgt-out--70.6%
associate-*l*73.7%
distribute-lft-neg-in73.7%
cancel-sign-sub73.7%
associate-*l*73.7%
associate-*l*73.7%
Simplified73.7%
Taylor expanded in x around inf 72.9%
if -1.55000000000000004e121 < x < -2.3e19Initial program 89.3%
Taylor expanded in t around 0 84.2%
if -2.3e19 < x < -1.25000000000000004e-54Initial program 82.6%
sub-neg82.6%
associate-+l-82.6%
sub-neg82.6%
sub-neg82.6%
distribute-rgt-out--94.4%
associate-*l*94.4%
distribute-lft-neg-in94.4%
cancel-sign-sub94.4%
associate-*l*94.4%
associate-*l*94.4%
Simplified94.4%
Taylor expanded in j around 0 88.8%
Taylor expanded in i around 0 77.5%
if -1.25000000000000004e-54 < x < 9.49999999999999945e85Initial program 95.2%
Taylor expanded in x around 0 86.1%
Final simplification80.5%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (* k (* j 27.0))))
(if (<= t -3.4e-21)
(- (* t (- (* -4.0 a) (* -18.0 (* y (* x z))))) t_1)
(- (- (* b c) (+ (* 4.0 (* i x)) (* 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 = k * (j * 27.0);
double tmp;
if (t <= -3.4e-21) {
tmp = (t * ((-4.0 * a) - (-18.0 * (y * (x * z))))) - t_1;
} else {
tmp = ((b * c) - ((4.0 * (i * x)) + (4.0 * (t * a)))) - 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 = k * (j * 27.0d0)
if (t <= (-3.4d-21)) then
tmp = (t * (((-4.0d0) * a) - ((-18.0d0) * (y * (x * z))))) - t_1
else
tmp = ((b * c) - ((4.0d0 * (i * x)) + (4.0d0 * (t * a)))) - 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 = k * (j * 27.0);
double tmp;
if (t <= -3.4e-21) {
tmp = (t * ((-4.0 * a) - (-18.0 * (y * (x * z))))) - t_1;
} else {
tmp = ((b * c) - ((4.0 * (i * x)) + (4.0 * (t * a)))) - t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = k * (j * 27.0) tmp = 0 if t <= -3.4e-21: tmp = (t * ((-4.0 * a) - (-18.0 * (y * (x * z))))) - t_1 else: tmp = ((b * c) - ((4.0 * (i * x)) + (4.0 * (t * a)))) - t_1 return tmp
function code(x, y, z, t, a, b, c, i, j, k) t_1 = Float64(k * Float64(j * 27.0)) tmp = 0.0 if (t <= -3.4e-21) tmp = Float64(Float64(t * Float64(Float64(-4.0 * a) - Float64(-18.0 * Float64(y * Float64(x * z))))) - t_1); else tmp = Float64(Float64(Float64(b * c) - Float64(Float64(4.0 * Float64(i * x)) + Float64(4.0 * Float64(t * a)))) - t_1); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k) t_1 = k * (j * 27.0); tmp = 0.0; if (t <= -3.4e-21) tmp = (t * ((-4.0 * a) - (-18.0 * (y * (x * z))))) - t_1; else tmp = ((b * c) - ((4.0 * (i * x)) + (4.0 * (t * a)))) - t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := Block[{t$95$1 = N[(k * N[(j * 27.0), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -3.4e-21], N[(N[(t * N[(N[(-4.0 * a), $MachinePrecision] - N[(-18.0 * N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - t$95$1), $MachinePrecision], N[(N[(N[(b * c), $MachinePrecision] - N[(N[(4.0 * N[(i * x), $MachinePrecision]), $MachinePrecision] + N[(4.0 * N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - t$95$1), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := k \cdot \left(j \cdot 27\right)\\
\mathbf{if}\;t \leq -3.4 \cdot 10^{-21}:\\
\;\;\;\;t \cdot \left(-4 \cdot a - -18 \cdot \left(y \cdot \left(x \cdot z\right)\right)\right) - t_1\\
\mathbf{else}:\\
\;\;\;\;\left(b \cdot c - \left(4 \cdot \left(i \cdot x\right) + 4 \cdot \left(t \cdot a\right)\right)\right) - t_1\\
\end{array}
\end{array}
if t < -3.4e-21Initial program 77.8%
Taylor expanded in t around -inf 79.8%
if -3.4e-21 < t Initial program 86.5%
Taylor expanded in y around 0 83.0%
Final simplification82.1%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (* 4.0 (* i x))) (t_2 (* t (- (* 18.0 (* y (* x z))) (* a 4.0)))))
(if (<= a -1e-16)
t_2
(if (<= a -2.9e-164)
(- (* 27.0 (* k (- j))) t_1)
(if (<= a 5.8e-131)
(- (* b c) (* 27.0 (* k j)))
(if (<= a 1.95e+82) (- (* b c) 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 * (i * x);
double t_2 = t * ((18.0 * (y * (x * z))) - (a * 4.0));
double tmp;
if (a <= -1e-16) {
tmp = t_2;
} else if (a <= -2.9e-164) {
tmp = (27.0 * (k * -j)) - t_1;
} else if (a <= 5.8e-131) {
tmp = (b * c) - (27.0 * (k * j));
} else if (a <= 1.95e+82) {
tmp = (b * c) - 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 * (i * x)
t_2 = t * ((18.0d0 * (y * (x * z))) - (a * 4.0d0))
if (a <= (-1d-16)) then
tmp = t_2
else if (a <= (-2.9d-164)) then
tmp = (27.0d0 * (k * -j)) - t_1
else if (a <= 5.8d-131) then
tmp = (b * c) - (27.0d0 * (k * j))
else if (a <= 1.95d+82) then
tmp = (b * c) - 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 * (i * x);
double t_2 = t * ((18.0 * (y * (x * z))) - (a * 4.0));
double tmp;
if (a <= -1e-16) {
tmp = t_2;
} else if (a <= -2.9e-164) {
tmp = (27.0 * (k * -j)) - t_1;
} else if (a <= 5.8e-131) {
tmp = (b * c) - (27.0 * (k * j));
} else if (a <= 1.95e+82) {
tmp = (b * c) - t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = 4.0 * (i * x) t_2 = t * ((18.0 * (y * (x * z))) - (a * 4.0)) tmp = 0 if a <= -1e-16: tmp = t_2 elif a <= -2.9e-164: tmp = (27.0 * (k * -j)) - t_1 elif a <= 5.8e-131: tmp = (b * c) - (27.0 * (k * j)) elif a <= 1.95e+82: tmp = (b * c) - t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j, k) t_1 = Float64(4.0 * Float64(i * x)) t_2 = Float64(t * Float64(Float64(18.0 * Float64(y * Float64(x * z))) - Float64(a * 4.0))) tmp = 0.0 if (a <= -1e-16) tmp = t_2; elseif (a <= -2.9e-164) tmp = Float64(Float64(27.0 * Float64(k * Float64(-j))) - t_1); elseif (a <= 5.8e-131) tmp = Float64(Float64(b * c) - Float64(27.0 * Float64(k * j))); elseif (a <= 1.95e+82) tmp = Float64(Float64(b * c) - 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 * (i * x); t_2 = t * ((18.0 * (y * (x * z))) - (a * 4.0)); tmp = 0.0; if (a <= -1e-16) tmp = t_2; elseif (a <= -2.9e-164) tmp = (27.0 * (k * -j)) - t_1; elseif (a <= 5.8e-131) tmp = (b * c) - (27.0 * (k * j)); elseif (a <= 1.95e+82) tmp = (b * c) - 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[(4.0 * N[(i * x), $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[a, -1e-16], t$95$2, If[LessEqual[a, -2.9e-164], N[(N[(27.0 * N[(k * (-j)), $MachinePrecision]), $MachinePrecision] - t$95$1), $MachinePrecision], If[LessEqual[a, 5.8e-131], N[(N[(b * c), $MachinePrecision] - N[(27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.95e+82], N[(N[(b * c), $MachinePrecision] - t$95$1), $MachinePrecision], t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 4 \cdot \left(i \cdot x\right)\\
t_2 := t \cdot \left(18 \cdot \left(y \cdot \left(x \cdot z\right)\right) - a \cdot 4\right)\\
\mathbf{if}\;a \leq -1 \cdot 10^{-16}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;a \leq -2.9 \cdot 10^{-164}:\\
\;\;\;\;27 \cdot \left(k \cdot \left(-j\right)\right) - t_1\\
\mathbf{elif}\;a \leq 5.8 \cdot 10^{-131}:\\
\;\;\;\;b \cdot c - 27 \cdot \left(k \cdot j\right)\\
\mathbf{elif}\;a \leq 1.95 \cdot 10^{+82}:\\
\;\;\;\;b \cdot c - t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if a < -9.9999999999999998e-17 or 1.94999999999999988e82 < a Initial program 79.6%
sub-neg79.6%
associate-+l-79.6%
sub-neg79.6%
sub-neg79.6%
distribute-rgt-out--84.7%
associate-*l*84.7%
distribute-lft-neg-in84.7%
cancel-sign-sub84.7%
associate-*l*84.7%
associate-*l*84.8%
Simplified84.8%
Taylor expanded in t around inf 63.2%
if -9.9999999999999998e-17 < a < -2.9e-164Initial program 91.3%
Taylor expanded in t around 0 68.5%
Taylor expanded in c around 0 60.0%
if -2.9e-164 < a < 5.8000000000000004e-131Initial program 89.1%
Taylor expanded in x around 0 63.4%
Taylor expanded in a around 0 60.8%
if 5.8000000000000004e-131 < a < 1.94999999999999988e82Initial program 81.6%
sub-neg81.6%
associate-+l-81.6%
sub-neg81.6%
sub-neg81.6%
distribute-rgt-out--81.6%
associate-*l*84.4%
distribute-lft-neg-in84.4%
cancel-sign-sub84.4%
associate-*l*84.4%
associate-*l*84.4%
Simplified84.4%
Taylor expanded in j around 0 81.6%
Taylor expanded in t around 0 61.0%
Final simplification61.8%
(FPCore (x y z t a b c i j k)
:precision binary64
(if (<= x -3.7e+112)
(* t (* x (* z (* 18.0 y))))
(if (<= x -2.9e+22)
(* -27.0 (* k j))
(if (<= x -9200000.0)
(* 18.0 (* y (* t (* x z))))
(if (<= x 7.4e+86)
(+ (* b c) (* -4.0 (* t a)))
(if (<= x 3.7e+170)
(* (* 18.0 y) (* x (* t z)))
(* i (* x -4.0))))))))
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 <= -3.7e+112) {
tmp = t * (x * (z * (18.0 * y)));
} else if (x <= -2.9e+22) {
tmp = -27.0 * (k * j);
} else if (x <= -9200000.0) {
tmp = 18.0 * (y * (t * (x * z)));
} else if (x <= 7.4e+86) {
tmp = (b * c) + (-4.0 * (t * a));
} else if (x <= 3.7e+170) {
tmp = (18.0 * y) * (x * (t * z));
} else {
tmp = i * (x * -4.0);
}
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 <= (-3.7d+112)) then
tmp = t * (x * (z * (18.0d0 * y)))
else if (x <= (-2.9d+22)) then
tmp = (-27.0d0) * (k * j)
else if (x <= (-9200000.0d0)) then
tmp = 18.0d0 * (y * (t * (x * z)))
else if (x <= 7.4d+86) then
tmp = (b * c) + ((-4.0d0) * (t * a))
else if (x <= 3.7d+170) then
tmp = (18.0d0 * y) * (x * (t * z))
else
tmp = i * (x * (-4.0d0))
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 <= -3.7e+112) {
tmp = t * (x * (z * (18.0 * y)));
} else if (x <= -2.9e+22) {
tmp = -27.0 * (k * j);
} else if (x <= -9200000.0) {
tmp = 18.0 * (y * (t * (x * z)));
} else if (x <= 7.4e+86) {
tmp = (b * c) + (-4.0 * (t * a));
} else if (x <= 3.7e+170) {
tmp = (18.0 * y) * (x * (t * z));
} else {
tmp = i * (x * -4.0);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): tmp = 0 if x <= -3.7e+112: tmp = t * (x * (z * (18.0 * y))) elif x <= -2.9e+22: tmp = -27.0 * (k * j) elif x <= -9200000.0: tmp = 18.0 * (y * (t * (x * z))) elif x <= 7.4e+86: tmp = (b * c) + (-4.0 * (t * a)) elif x <= 3.7e+170: tmp = (18.0 * y) * (x * (t * z)) else: tmp = i * (x * -4.0) return tmp
function code(x, y, z, t, a, b, c, i, j, k) tmp = 0.0 if (x <= -3.7e+112) tmp = Float64(t * Float64(x * Float64(z * Float64(18.0 * y)))); elseif (x <= -2.9e+22) tmp = Float64(-27.0 * Float64(k * j)); elseif (x <= -9200000.0) tmp = Float64(18.0 * Float64(y * Float64(t * Float64(x * z)))); elseif (x <= 7.4e+86) tmp = Float64(Float64(b * c) + Float64(-4.0 * Float64(t * a))); elseif (x <= 3.7e+170) tmp = Float64(Float64(18.0 * y) * Float64(x * Float64(t * z))); else tmp = Float64(i * Float64(x * -4.0)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k) tmp = 0.0; if (x <= -3.7e+112) tmp = t * (x * (z * (18.0 * y))); elseif (x <= -2.9e+22) tmp = -27.0 * (k * j); elseif (x <= -9200000.0) tmp = 18.0 * (y * (t * (x * z))); elseif (x <= 7.4e+86) tmp = (b * c) + (-4.0 * (t * a)); elseif (x <= 3.7e+170) tmp = (18.0 * y) * (x * (t * z)); else tmp = i * (x * -4.0); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_] := If[LessEqual[x, -3.7e+112], N[(t * N[(x * N[(z * N[(18.0 * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -2.9e+22], N[(-27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -9200000.0], N[(18.0 * N[(y * N[(t * N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 7.4e+86], N[(N[(b * c), $MachinePrecision] + N[(-4.0 * N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 3.7e+170], N[(N[(18.0 * y), $MachinePrecision] * N[(x * N[(t * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(i * N[(x * -4.0), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;x \leq -3.7 \cdot 10^{+112}:\\
\;\;\;\;t \cdot \left(x \cdot \left(z \cdot \left(18 \cdot y\right)\right)\right)\\
\mathbf{elif}\;x \leq -2.9 \cdot 10^{+22}:\\
\;\;\;\;-27 \cdot \left(k \cdot j\right)\\
\mathbf{elif}\;x \leq -9200000:\\
\;\;\;\;18 \cdot \left(y \cdot \left(t \cdot \left(x \cdot z\right)\right)\right)\\
\mathbf{elif}\;x \leq 7.4 \cdot 10^{+86}:\\
\;\;\;\;b \cdot c + -4 \cdot \left(t \cdot a\right)\\
\mathbf{elif}\;x \leq 3.7 \cdot 10^{+170}:\\
\;\;\;\;\left(18 \cdot y\right) \cdot \left(x \cdot \left(t \cdot z\right)\right)\\
\mathbf{else}:\\
\;\;\;\;i \cdot \left(x \cdot -4\right)\\
\end{array}
\end{array}
if x < -3.70000000000000004e112Initial program 70.3%
sub-neg70.3%
associate-+l-70.3%
sub-neg70.3%
sub-neg70.3%
distribute-rgt-out--72.6%
associate-*l*77.1%
distribute-lft-neg-in77.1%
cancel-sign-sub77.1%
associate-*l*77.1%
associate-*l*77.1%
Simplified77.1%
Taylor expanded in t around inf 63.8%
Taylor expanded in y around inf 52.4%
*-commutative52.4%
associate-*r*52.4%
Simplified52.4%
Taylor expanded in y around 0 52.4%
associate-*r*52.4%
*-commutative52.4%
associate-*l*52.5%
*-commutative52.5%
associate-*l*54.6%
Simplified54.6%
if -3.70000000000000004e112 < x < -2.9e22Initial program 88.1%
sub-neg88.1%
+-commutative88.1%
associate-*l*88.2%
distribute-rgt-neg-in88.2%
fma-def88.2%
*-commutative88.2%
distribute-rgt-neg-in88.2%
metadata-eval88.2%
sub-neg88.2%
+-commutative88.2%
associate-*l*88.2%
distribute-rgt-neg-in88.2%
Simplified94.1%
Taylor expanded in j around inf 39.2%
if -2.9e22 < x < -9.2e6Initial program 66.7%
sub-neg66.7%
associate-+l-66.7%
sub-neg66.7%
sub-neg66.7%
distribute-rgt-out--100.0%
associate-*l*100.0%
distribute-lft-neg-in100.0%
cancel-sign-sub100.0%
associate-*l*100.0%
associate-*l*100.0%
Simplified100.0%
Taylor expanded in t around inf 100.0%
Taylor expanded in y around inf 100.0%
if -9.2e6 < x < 7.39999999999999983e86Initial program 94.3%
sub-neg94.3%
associate-+l-94.3%
sub-neg94.3%
sub-neg94.3%
distribute-rgt-out--95.7%
associate-*l*92.9%
distribute-lft-neg-in92.9%
cancel-sign-sub92.9%
associate-*l*92.9%
associate-*l*93.0%
Simplified93.0%
Taylor expanded in j around 0 75.3%
Taylor expanded in x around 0 61.0%
if 7.39999999999999983e86 < x < 3.69999999999999987e170Initial program 75.3%
sub-neg75.3%
associate-+l-75.3%
sub-neg75.3%
sub-neg75.3%
distribute-rgt-out--80.3%
associate-*l*80.3%
distribute-lft-neg-in80.3%
cancel-sign-sub80.3%
associate-*l*80.3%
associate-*l*80.3%
Simplified80.3%
Taylor expanded in t around inf 65.6%
Taylor expanded in y around inf 60.3%
associate-*r*60.4%
*-commutative60.4%
associate-*r*60.4%
*-commutative60.4%
Simplified60.4%
if 3.69999999999999987e170 < x Initial program 63.8%
Taylor expanded in y around 0 65.6%
Taylor expanded in i around inf 46.7%
*-commutative46.7%
associate-*l*49.5%
Simplified49.5%
Final simplification57.4%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (- (* b c) (* 4.0 (* i x)))))
(if (<= x -1.15e+120)
(* t (* x (* z (* 18.0 y))))
(if (<= x -3.2e+27)
t_1
(if (<= x -34000000.0)
(* 18.0 (* y (* t (* x z))))
(if (<= x 4.9e+86)
(+ (* b c) (* -4.0 (* t a)))
(if (<= x 9.5e+170) (* (* 18.0 y) (* x (* t z))) 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) - (4.0 * (i * x));
double tmp;
if (x <= -1.15e+120) {
tmp = t * (x * (z * (18.0 * y)));
} else if (x <= -3.2e+27) {
tmp = t_1;
} else if (x <= -34000000.0) {
tmp = 18.0 * (y * (t * (x * z)));
} else if (x <= 4.9e+86) {
tmp = (b * c) + (-4.0 * (t * a));
} else if (x <= 9.5e+170) {
tmp = (18.0 * y) * (x * (t * z));
} 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 = (b * c) - (4.0d0 * (i * x))
if (x <= (-1.15d+120)) then
tmp = t * (x * (z * (18.0d0 * y)))
else if (x <= (-3.2d+27)) then
tmp = t_1
else if (x <= (-34000000.0d0)) then
tmp = 18.0d0 * (y * (t * (x * z)))
else if (x <= 4.9d+86) then
tmp = (b * c) + ((-4.0d0) * (t * a))
else if (x <= 9.5d+170) then
tmp = (18.0d0 * y) * (x * (t * z))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double t_1 = (b * c) - (4.0 * (i * x));
double tmp;
if (x <= -1.15e+120) {
tmp = t * (x * (z * (18.0 * y)));
} else if (x <= -3.2e+27) {
tmp = t_1;
} else if (x <= -34000000.0) {
tmp = 18.0 * (y * (t * (x * z)));
} else if (x <= 4.9e+86) {
tmp = (b * c) + (-4.0 * (t * a));
} else if (x <= 9.5e+170) {
tmp = (18.0 * y) * (x * (t * z));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = (b * c) - (4.0 * (i * x)) tmp = 0 if x <= -1.15e+120: tmp = t * (x * (z * (18.0 * y))) elif x <= -3.2e+27: tmp = t_1 elif x <= -34000000.0: tmp = 18.0 * (y * (t * (x * z))) elif x <= 4.9e+86: tmp = (b * c) + (-4.0 * (t * a)) elif x <= 9.5e+170: tmp = (18.0 * y) * (x * (t * z)) 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(4.0 * Float64(i * x))) tmp = 0.0 if (x <= -1.15e+120) tmp = Float64(t * Float64(x * Float64(z * Float64(18.0 * y)))); elseif (x <= -3.2e+27) tmp = t_1; elseif (x <= -34000000.0) tmp = Float64(18.0 * Float64(y * Float64(t * Float64(x * z)))); elseif (x <= 4.9e+86) tmp = Float64(Float64(b * c) + Float64(-4.0 * Float64(t * a))); elseif (x <= 9.5e+170) tmp = Float64(Float64(18.0 * y) * Float64(x * Float64(t * z))); 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) - (4.0 * (i * x)); tmp = 0.0; if (x <= -1.15e+120) tmp = t * (x * (z * (18.0 * y))); elseif (x <= -3.2e+27) tmp = t_1; elseif (x <= -34000000.0) tmp = 18.0 * (y * (t * (x * z))); elseif (x <= 4.9e+86) tmp = (b * c) + (-4.0 * (t * a)); elseif (x <= 9.5e+170) tmp = (18.0 * y) * (x * (t * z)); 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[(4.0 * N[(i * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -1.15e+120], N[(t * N[(x * N[(z * N[(18.0 * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -3.2e+27], t$95$1, If[LessEqual[x, -34000000.0], N[(18.0 * N[(y * N[(t * N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 4.9e+86], N[(N[(b * c), $MachinePrecision] + N[(-4.0 * N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 9.5e+170], N[(N[(18.0 * y), $MachinePrecision] * N[(x * N[(t * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot c - 4 \cdot \left(i \cdot x\right)\\
\mathbf{if}\;x \leq -1.15 \cdot 10^{+120}:\\
\;\;\;\;t \cdot \left(x \cdot \left(z \cdot \left(18 \cdot y\right)\right)\right)\\
\mathbf{elif}\;x \leq -3.2 \cdot 10^{+27}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;x \leq -34000000:\\
\;\;\;\;18 \cdot \left(y \cdot \left(t \cdot \left(x \cdot z\right)\right)\right)\\
\mathbf{elif}\;x \leq 4.9 \cdot 10^{+86}:\\
\;\;\;\;b \cdot c + -4 \cdot \left(t \cdot a\right)\\
\mathbf{elif}\;x \leq 9.5 \cdot 10^{+170}:\\
\;\;\;\;\left(18 \cdot y\right) \cdot \left(x \cdot \left(t \cdot z\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if x < -1.14999999999999996e120Initial program 68.8%
sub-neg68.8%
associate-+l-68.8%
sub-neg68.8%
sub-neg68.8%
distribute-rgt-out--71.3%
associate-*l*75.9%
distribute-lft-neg-in75.9%
cancel-sign-sub75.9%
associate-*l*75.9%
associate-*l*75.9%
Simplified75.9%
Taylor expanded in t around inf 64.3%
Taylor expanded in y around inf 52.4%
*-commutative52.4%
associate-*r*52.4%
Simplified52.4%
Taylor expanded in y around 0 52.4%
associate-*r*52.4%
*-commutative52.4%
associate-*l*52.5%
*-commutative52.5%
associate-*l*54.8%
Simplified54.8%
if -1.14999999999999996e120 < x < -3.20000000000000015e27 or 9.5000000000000005e170 < x Initial program 72.1%
sub-neg72.1%
associate-+l-72.1%
sub-neg72.1%
sub-neg72.1%
distribute-rgt-out--74.1%
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 j around 0 64.6%
Taylor expanded in t around 0 55.0%
if -3.20000000000000015e27 < x < -3.4e7Initial program 79.7%
sub-neg79.7%
associate-+l-79.7%
sub-neg79.7%
sub-neg79.7%
distribute-rgt-out--99.7%
associate-*l*99.7%
distribute-lft-neg-in99.7%
cancel-sign-sub99.7%
associate-*l*99.7%
associate-*l*100.0%
Simplified100.0%
Taylor expanded in t around inf 60.8%
Taylor expanded in y around inf 61.0%
if -3.4e7 < x < 4.8999999999999999e86Initial program 94.3%
sub-neg94.3%
associate-+l-94.3%
sub-neg94.3%
sub-neg94.3%
distribute-rgt-out--95.7%
associate-*l*92.9%
distribute-lft-neg-in92.9%
cancel-sign-sub92.9%
associate-*l*92.9%
associate-*l*93.0%
Simplified93.0%
Taylor expanded in j around 0 75.3%
Taylor expanded in x around 0 61.0%
if 4.8999999999999999e86 < x < 9.5000000000000005e170Initial program 75.3%
sub-neg75.3%
associate-+l-75.3%
sub-neg75.3%
sub-neg75.3%
distribute-rgt-out--80.3%
associate-*l*80.3%
distribute-lft-neg-in80.3%
cancel-sign-sub80.3%
associate-*l*80.3%
associate-*l*80.3%
Simplified80.3%
Taylor expanded in t around inf 65.6%
Taylor expanded in y around inf 60.3%
associate-*r*60.4%
*-commutative60.4%
associate-*r*60.4%
*-commutative60.4%
Simplified60.4%
Final simplification58.8%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (* i (* x -4.0))) (t_2 (* -27.0 (* k j))))
(if (<= k -7e-8)
t_2
(if (<= k -6e-148)
t_1
(if (<= k 3.25e-133) (* b c) (if (<= k 6e+144) 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 = i * (x * -4.0);
double t_2 = -27.0 * (k * j);
double tmp;
if (k <= -7e-8) {
tmp = t_2;
} else if (k <= -6e-148) {
tmp = t_1;
} else if (k <= 3.25e-133) {
tmp = b * c;
} else if (k <= 6e+144) {
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 = i * (x * (-4.0d0))
t_2 = (-27.0d0) * (k * j)
if (k <= (-7d-8)) then
tmp = t_2
else if (k <= (-6d-148)) then
tmp = t_1
else if (k <= 3.25d-133) then
tmp = b * c
else if (k <= 6d+144) 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 = i * (x * -4.0);
double t_2 = -27.0 * (k * j);
double tmp;
if (k <= -7e-8) {
tmp = t_2;
} else if (k <= -6e-148) {
tmp = t_1;
} else if (k <= 3.25e-133) {
tmp = b * c;
} else if (k <= 6e+144) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = i * (x * -4.0) t_2 = -27.0 * (k * j) tmp = 0 if k <= -7e-8: tmp = t_2 elif k <= -6e-148: tmp = t_1 elif k <= 3.25e-133: tmp = b * c elif k <= 6e+144: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j, k) t_1 = Float64(i * Float64(x * -4.0)) t_2 = Float64(-27.0 * Float64(k * j)) tmp = 0.0 if (k <= -7e-8) tmp = t_2; elseif (k <= -6e-148) tmp = t_1; elseif (k <= 3.25e-133) tmp = Float64(b * c); elseif (k <= 6e+144) 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 = i * (x * -4.0); t_2 = -27.0 * (k * j); tmp = 0.0; if (k <= -7e-8) tmp = t_2; elseif (k <= -6e-148) tmp = t_1; elseif (k <= 3.25e-133) tmp = b * c; elseif (k <= 6e+144) 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[(i * N[(x * -4.0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(-27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[k, -7e-8], t$95$2, If[LessEqual[k, -6e-148], t$95$1, If[LessEqual[k, 3.25e-133], N[(b * c), $MachinePrecision], If[LessEqual[k, 6e+144], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := i \cdot \left(x \cdot -4\right)\\
t_2 := -27 \cdot \left(k \cdot j\right)\\
\mathbf{if}\;k \leq -7 \cdot 10^{-8}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;k \leq -6 \cdot 10^{-148}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;k \leq 3.25 \cdot 10^{-133}:\\
\;\;\;\;b \cdot c\\
\mathbf{elif}\;k \leq 6 \cdot 10^{+144}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if k < -7.00000000000000048e-8 or 5.9999999999999998e144 < k Initial program 80.8%
sub-neg80.8%
+-commutative80.8%
associate-*l*80.8%
distribute-rgt-neg-in80.8%
fma-def85.3%
*-commutative85.3%
distribute-rgt-neg-in85.3%
metadata-eval85.3%
sub-neg85.3%
+-commutative85.3%
associate-*l*85.3%
distribute-rgt-neg-in85.3%
Simplified89.9%
Taylor expanded in j around inf 49.5%
if -7.00000000000000048e-8 < k < -5.99999999999999996e-148 or 3.2500000000000001e-133 < k < 5.9999999999999998e144Initial program 85.5%
Taylor expanded in y around 0 80.0%
Taylor expanded in i around inf 31.3%
*-commutative31.3%
associate-*l*31.3%
Simplified31.3%
if -5.99999999999999996e-148 < k < 3.2500000000000001e-133Initial program 86.0%
Taylor expanded in y around 0 73.1%
Taylor expanded in c around inf 33.1%
Final simplification38.2%
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (* -4.0 (* t a))))
(if (<= b -1.9e+22)
(* b c)
(if (<= b -2.2e-130)
t_1
(if (<= b 3.5e-235) (* k (* j -27.0)) (if (<= b 7e+95) t_1 (* 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 t_1 = -4.0 * (t * a);
double tmp;
if (b <= -1.9e+22) {
tmp = b * c;
} else if (b <= -2.2e-130) {
tmp = t_1;
} else if (b <= 3.5e-235) {
tmp = k * (j * -27.0);
} else if (b <= 7e+95) {
tmp = t_1;
} 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) :: t_1
real(8) :: tmp
t_1 = (-4.0d0) * (t * a)
if (b <= (-1.9d+22)) then
tmp = b * c
else if (b <= (-2.2d-130)) then
tmp = t_1
else if (b <= 3.5d-235) then
tmp = k * (j * (-27.0d0))
else if (b <= 7d+95) then
tmp = t_1
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 t_1 = -4.0 * (t * a);
double tmp;
if (b <= -1.9e+22) {
tmp = b * c;
} else if (b <= -2.2e-130) {
tmp = t_1;
} else if (b <= 3.5e-235) {
tmp = k * (j * -27.0);
} else if (b <= 7e+95) {
tmp = t_1;
} else {
tmp = b * c;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k): t_1 = -4.0 * (t * a) tmp = 0 if b <= -1.9e+22: tmp = b * c elif b <= -2.2e-130: tmp = t_1 elif b <= 3.5e-235: tmp = k * (j * -27.0) elif b <= 7e+95: tmp = t_1 else: tmp = b * c return tmp
function code(x, y, z, t, a, b, c, i, j, k) t_1 = Float64(-4.0 * Float64(t * a)) tmp = 0.0 if (b <= -1.9e+22) tmp = Float64(b * c); elseif (b <= -2.2e-130) tmp = t_1; elseif (b <= 3.5e-235) tmp = Float64(k * Float64(j * -27.0)); elseif (b <= 7e+95) tmp = t_1; else tmp = Float64(b * c); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k) t_1 = -4.0 * (t * a); tmp = 0.0; if (b <= -1.9e+22) tmp = b * c; elseif (b <= -2.2e-130) tmp = t_1; elseif (b <= 3.5e-235) tmp = k * (j * -27.0); elseif (b <= 7e+95) tmp = t_1; else tmp = b * c; 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]}, If[LessEqual[b, -1.9e+22], N[(b * c), $MachinePrecision], If[LessEqual[b, -2.2e-130], t$95$1, If[LessEqual[b, 3.5e-235], N[(k * N[(j * -27.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 7e+95], t$95$1, N[(b * c), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := -4 \cdot \left(t \cdot a\right)\\
\mathbf{if}\;b \leq -1.9 \cdot 10^{+22}:\\
\;\;\;\;b \cdot c\\
\mathbf{elif}\;b \leq -2.2 \cdot 10^{-130}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;b \leq 3.5 \cdot 10^{-235}:\\
\;\;\;\;k \cdot \left(j \cdot -27\right)\\
\mathbf{elif}\;b \leq 7 \cdot 10^{+95}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;b \cdot c\\
\end{array}
\end{array}
if b < -1.9000000000000002e22 or 6.99999999999999999e95 < b Initial program 82.8%
Taylor expanded in y around 0 78.3%
Taylor expanded in c around inf 40.2%
if -1.9000000000000002e22 < b < -2.1999999999999999e-130 or 3.4999999999999999e-235 < b < 6.99999999999999999e95Initial program 85.4%
Taylor expanded in y around 0 71.9%
Taylor expanded in a around inf 31.8%
*-commutative31.8%
Simplified31.8%
if -2.1999999999999999e-130 < b < 3.4999999999999999e-235Initial program 84.6%
Taylor expanded in y around 0 78.0%
Taylor expanded in j around inf 30.0%
*-commutative30.0%
*-commutative30.0%
*-commutative30.0%
associate-*r*30.1%
Simplified30.1%
Final simplification35.3%
(FPCore (x y z t a b c i j k) :precision binary64 (if (or (<= k -9.5e-26) (not (<= k 1.5e+74))) (* -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 ((k <= -9.5e-26) || !(k <= 1.5e+74)) {
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 ((k <= (-9.5d-26)) .or. (.not. (k <= 1.5d+74))) 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 ((k <= -9.5e-26) || !(k <= 1.5e+74)) {
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 (k <= -9.5e-26) or not (k <= 1.5e+74): 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 ((k <= -9.5e-26) || !(k <= 1.5e+74)) 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 ((k <= -9.5e-26) || ~((k <= 1.5e+74))) 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[k, -9.5e-26], N[Not[LessEqual[k, 1.5e+74]], $MachinePrecision]], N[(-27.0 * N[(k * j), $MachinePrecision]), $MachinePrecision], N[(b * c), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq -9.5 \cdot 10^{-26} \lor \neg \left(k \leq 1.5 \cdot 10^{+74}\right):\\
\;\;\;\;-27 \cdot \left(k \cdot j\right)\\
\mathbf{else}:\\
\;\;\;\;b \cdot c\\
\end{array}
\end{array}
if k < -9.4999999999999995e-26 or 1.5e74 < k Initial program 79.1%
sub-neg79.1%
+-commutative79.1%
associate-*l*79.1%
distribute-rgt-neg-in79.1%
fma-def83.9%
*-commutative83.9%
distribute-rgt-neg-in83.9%
metadata-eval83.9%
sub-neg83.9%
+-commutative83.9%
associate-*l*83.9%
distribute-rgt-neg-in83.9%
Simplified88.7%
Taylor expanded in j around inf 46.2%
if -9.4999999999999995e-26 < k < 1.5e74Initial program 87.5%
Taylor expanded in y around 0 74.8%
Taylor expanded in c around inf 28.4%
Final simplification35.7%
(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 84.1%
Taylor expanded in y around 0 75.9%
Taylor expanded in c around inf 23.8%
Final simplification23.8%
(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 2023240
(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)))