
(FPCore (x y z t a b c i j) :precision binary64 (+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)));
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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
code = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)))
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)));
}
def code(x, y, z, t, a, b, c, i, j): return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)))
function code(x, y, z, t, a, b, c, i, j) return Float64(Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) - Float64(b * Float64(Float64(c * z) - Float64(i * a)))) + Float64(j * Float64(Float64(c * t) - Float64(i * y)))) end
function tmp = code(x, y, z, t, a, b, c, i, j) tmp = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y))); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := N[(N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b * N[(N[(c * z), $MachinePrecision] - N[(i * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(c * t), $MachinePrecision] - N[(i * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 29 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a b c i j) :precision binary64 (+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)));
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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
code = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)))
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)));
}
def code(x, y, z, t, a, b, c, i, j): return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)))
function code(x, y, z, t, a, b, c, i, j) return Float64(Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) - Float64(b * Float64(Float64(c * z) - Float64(i * a)))) + Float64(j * Float64(Float64(c * t) - Float64(i * y)))) end
function tmp = code(x, y, z, t, a, b, c, i, j) tmp = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y))); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := N[(N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b * N[(N[(c * z), $MachinePrecision] - N[(i * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(c * t), $MachinePrecision] - N[(i * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)
\end{array}
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1
(-
(+ (* x (- (* y z) (* t a))) (* b (- (* a i) (* z c))))
(* j (- (* y i) (* t c))))))
(if (<= t_1 INFINITY)
t_1
(+ (- (* i (* a b)) (* i (* y j))) (* t (- (* c j) (* x a)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = ((x * ((y * z) - (t * a))) + (b * ((a * i) - (z * c)))) - (j * ((y * i) - (t * c)));
double tmp;
if (t_1 <= ((double) INFINITY)) {
tmp = t_1;
} else {
tmp = ((i * (a * b)) - (i * (y * j))) + (t * ((c * j) - (x * a)));
}
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 t_1 = ((x * ((y * z) - (t * a))) + (b * ((a * i) - (z * c)))) - (j * ((y * i) - (t * c)));
double tmp;
if (t_1 <= Double.POSITIVE_INFINITY) {
tmp = t_1;
} else {
tmp = ((i * (a * b)) - (i * (y * j))) + (t * ((c * j) - (x * a)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = ((x * ((y * z) - (t * a))) + (b * ((a * i) - (z * c)))) - (j * ((y * i) - (t * c))) tmp = 0 if t_1 <= math.inf: tmp = t_1 else: tmp = ((i * (a * b)) - (i * (y * j))) + (t * ((c * j) - (x * a))) return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) + Float64(b * Float64(Float64(a * i) - Float64(z * c)))) - Float64(j * Float64(Float64(y * i) - Float64(t * c)))) tmp = 0.0 if (t_1 <= Inf) tmp = t_1; else tmp = Float64(Float64(Float64(i * Float64(a * b)) - Float64(i * Float64(y * j))) + Float64(t * Float64(Float64(c * j) - Float64(x * a)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = ((x * ((y * z) - (t * a))) + (b * ((a * i) - (z * c)))) - (j * ((y * i) - (t * c))); tmp = 0.0; if (t_1 <= Inf) tmp = t_1; else tmp = ((i * (a * b)) - (i * (y * j))) + (t * ((c * j) - (x * a))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(j * N[(N[(y * i), $MachinePrecision] - N[(t * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, Infinity], t$95$1, N[(N[(N[(i * N[(a * b), $MachinePrecision]), $MachinePrecision] - N[(i * N[(y * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(x \cdot \left(y \cdot z - t \cdot a\right) + b \cdot \left(a \cdot i - z \cdot c\right)\right) - j \cdot \left(y \cdot i - t \cdot c\right)\\
\mathbf{if}\;t_1 \leq \infty:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;\left(i \cdot \left(a \cdot b\right) - i \cdot \left(y \cdot j\right)\right) + t \cdot \left(c \cdot j - x \cdot a\right)\\
\end{array}
\end{array}
if (+.f64 (-.f64 (*.f64 x (-.f64 (*.f64 y z) (*.f64 t a))) (*.f64 b (-.f64 (*.f64 c z) (*.f64 i a)))) (*.f64 j (-.f64 (*.f64 c t) (*.f64 i y)))) < +inf.0Initial program 89.2%
if +inf.0 < (+.f64 (-.f64 (*.f64 x (-.f64 (*.f64 y z) (*.f64 t a))) (*.f64 b (-.f64 (*.f64 c z) (*.f64 i a)))) (*.f64 j (-.f64 (*.f64 c t) (*.f64 i y)))) Initial program 0.0%
Taylor expanded in t around -inf 28.6%
Simplified30.5%
Taylor expanded in z around 0 54.8%
Final simplification82.0%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (- (* x (- (* y z) (* t a))) (* j (- (* y i) (* t c)))))
(t_2 (* y (- (* x z) (* i j))))
(t_3 (* a (- (* b i) (* x t)))))
(if (<= a -9.5e+32)
t_3
(if (<= a -7e-265)
t_1
(if (<= a 5.2e-255)
(- t_2 (* c (* z b)))
(if (<= a 5.7e-210)
t_1
(if (<= a 1.55e-142)
(+ t_2 (* b (- (* a i) (* z c))))
(if (<= a 5e+108) t_1 t_3))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = (x * ((y * z) - (t * a))) - (j * ((y * i) - (t * c)));
double t_2 = y * ((x * z) - (i * j));
double t_3 = a * ((b * i) - (x * t));
double tmp;
if (a <= -9.5e+32) {
tmp = t_3;
} else if (a <= -7e-265) {
tmp = t_1;
} else if (a <= 5.2e-255) {
tmp = t_2 - (c * (z * b));
} else if (a <= 5.7e-210) {
tmp = t_1;
} else if (a <= 1.55e-142) {
tmp = t_2 + (b * ((a * i) - (z * c)));
} else if (a <= 5e+108) {
tmp = t_1;
} else {
tmp = t_3;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = (x * ((y * z) - (t * a))) - (j * ((y * i) - (t * c)))
t_2 = y * ((x * z) - (i * j))
t_3 = a * ((b * i) - (x * t))
if (a <= (-9.5d+32)) then
tmp = t_3
else if (a <= (-7d-265)) then
tmp = t_1
else if (a <= 5.2d-255) then
tmp = t_2 - (c * (z * b))
else if (a <= 5.7d-210) then
tmp = t_1
else if (a <= 1.55d-142) then
tmp = t_2 + (b * ((a * i) - (z * c)))
else if (a <= 5d+108) then
tmp = t_1
else
tmp = t_3
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = (x * ((y * z) - (t * a))) - (j * ((y * i) - (t * c)));
double t_2 = y * ((x * z) - (i * j));
double t_3 = a * ((b * i) - (x * t));
double tmp;
if (a <= -9.5e+32) {
tmp = t_3;
} else if (a <= -7e-265) {
tmp = t_1;
} else if (a <= 5.2e-255) {
tmp = t_2 - (c * (z * b));
} else if (a <= 5.7e-210) {
tmp = t_1;
} else if (a <= 1.55e-142) {
tmp = t_2 + (b * ((a * i) - (z * c)));
} else if (a <= 5e+108) {
tmp = t_1;
} else {
tmp = t_3;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = (x * ((y * z) - (t * a))) - (j * ((y * i) - (t * c))) t_2 = y * ((x * z) - (i * j)) t_3 = a * ((b * i) - (x * t)) tmp = 0 if a <= -9.5e+32: tmp = t_3 elif a <= -7e-265: tmp = t_1 elif a <= 5.2e-255: tmp = t_2 - (c * (z * b)) elif a <= 5.7e-210: tmp = t_1 elif a <= 1.55e-142: tmp = t_2 + (b * ((a * i) - (z * c))) elif a <= 5e+108: tmp = t_1 else: tmp = t_3 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) - Float64(j * Float64(Float64(y * i) - Float64(t * c)))) t_2 = Float64(y * Float64(Float64(x * z) - Float64(i * j))) t_3 = Float64(a * Float64(Float64(b * i) - Float64(x * t))) tmp = 0.0 if (a <= -9.5e+32) tmp = t_3; elseif (a <= -7e-265) tmp = t_1; elseif (a <= 5.2e-255) tmp = Float64(t_2 - Float64(c * Float64(z * b))); elseif (a <= 5.7e-210) tmp = t_1; elseif (a <= 1.55e-142) tmp = Float64(t_2 + Float64(b * Float64(Float64(a * i) - Float64(z * c)))); elseif (a <= 5e+108) tmp = t_1; else tmp = t_3; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = (x * ((y * z) - (t * a))) - (j * ((y * i) - (t * c))); t_2 = y * ((x * z) - (i * j)); t_3 = a * ((b * i) - (x * t)); tmp = 0.0; if (a <= -9.5e+32) tmp = t_3; elseif (a <= -7e-265) tmp = t_1; elseif (a <= 5.2e-255) tmp = t_2 - (c * (z * b)); elseif (a <= 5.7e-210) tmp = t_1; elseif (a <= 1.55e-142) tmp = t_2 + (b * ((a * i) - (z * c))); elseif (a <= 5e+108) tmp = t_1; else tmp = t_3; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(j * N[(N[(y * i), $MachinePrecision] - N[(t * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y * N[(N[(x * z), $MachinePrecision] - N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(a * N[(N[(b * i), $MachinePrecision] - N[(x * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -9.5e+32], t$95$3, If[LessEqual[a, -7e-265], t$95$1, If[LessEqual[a, 5.2e-255], N[(t$95$2 - N[(c * N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 5.7e-210], t$95$1, If[LessEqual[a, 1.55e-142], N[(t$95$2 + N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 5e+108], t$95$1, t$95$3]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(y \cdot z - t \cdot a\right) - j \cdot \left(y \cdot i - t \cdot c\right)\\
t_2 := y \cdot \left(x \cdot z - i \cdot j\right)\\
t_3 := a \cdot \left(b \cdot i - x \cdot t\right)\\
\mathbf{if}\;a \leq -9.5 \cdot 10^{+32}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;a \leq -7 \cdot 10^{-265}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 5.2 \cdot 10^{-255}:\\
\;\;\;\;t_2 - c \cdot \left(z \cdot b\right)\\
\mathbf{elif}\;a \leq 5.7 \cdot 10^{-210}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 1.55 \cdot 10^{-142}:\\
\;\;\;\;t_2 + b \cdot \left(a \cdot i - z \cdot c\right)\\
\mathbf{elif}\;a \leq 5 \cdot 10^{+108}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_3\\
\end{array}
\end{array}
if a < -9.50000000000000006e32 or 4.99999999999999991e108 < a Initial program 53.1%
Taylor expanded in a around inf 73.7%
associate-*r*73.7%
neg-mul-173.7%
cancel-sign-sub73.7%
+-commutative73.7%
mul-1-neg73.7%
unsub-neg73.7%
Simplified73.7%
if -9.50000000000000006e32 < a < -7.00000000000000031e-265 or 5.20000000000000041e-255 < a < 5.69999999999999971e-210 or 1.55e-142 < a < 4.99999999999999991e108Initial program 81.0%
Taylor expanded in b around 0 73.3%
if -7.00000000000000031e-265 < a < 5.20000000000000041e-255Initial program 70.4%
Taylor expanded in t around 0 68.6%
sub-neg68.6%
mul-1-neg68.6%
associate-*r*68.6%
*-commutative68.6%
associate-*r*68.6%
distribute-rgt-neg-in68.6%
mul-1-neg68.6%
distribute-lft-in68.6%
+-commutative68.6%
mul-1-neg68.6%
unsub-neg68.6%
*-commutative68.6%
fma-neg68.6%
distribute-rgt-neg-out68.6%
distribute-rgt-neg-in68.6%
neg-sub068.6%
distribute-rgt-neg-out68.6%
Simplified68.6%
Taylor expanded in a around 0 80.9%
+-commutative80.9%
mul-1-neg80.9%
unsub-neg80.9%
*-commutative80.9%
Simplified80.9%
if 5.69999999999999971e-210 < a < 1.55e-142Initial program 78.0%
Taylor expanded in t around 0 83.4%
sub-neg83.4%
mul-1-neg83.4%
associate-*r*78.2%
*-commutative78.2%
associate-*r*83.5%
distribute-rgt-neg-in83.5%
mul-1-neg83.5%
distribute-lft-in83.5%
+-commutative83.5%
mul-1-neg83.5%
unsub-neg83.5%
*-commutative83.5%
fma-neg83.5%
distribute-rgt-neg-out83.5%
distribute-rgt-neg-in83.5%
neg-sub083.5%
distribute-rgt-neg-out83.5%
Simplified83.5%
Final simplification74.9%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* t (- (* c j) (* x a))))
(t_2 (* i (* y j)))
(t_3 (+ (- (* i (* a b)) t_2) t_1))
(t_4 (* x (- (* y z) (* t a)))))
(if (<= x -1.75e+40)
(- t_4 t_2)
(if (<= x 5.1e-228)
t_3
(if (<= x 4.05e-41)
(+ (* z (- (* x y) (* b c))) t_1)
(if (<= x 1.6e+22)
t_3
(if (<= x 1.95e+94)
(- (* c (* t j)) (+ (* c (* z b)) (* y (- (* i j) (* x z)))))
(+ t_4 (* b (- (* a i) (* z c)))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = t * ((c * j) - (x * a));
double t_2 = i * (y * j);
double t_3 = ((i * (a * b)) - t_2) + t_1;
double t_4 = x * ((y * z) - (t * a));
double tmp;
if (x <= -1.75e+40) {
tmp = t_4 - t_2;
} else if (x <= 5.1e-228) {
tmp = t_3;
} else if (x <= 4.05e-41) {
tmp = (z * ((x * y) - (b * c))) + t_1;
} else if (x <= 1.6e+22) {
tmp = t_3;
} else if (x <= 1.95e+94) {
tmp = (c * (t * j)) - ((c * (z * b)) + (y * ((i * j) - (x * z))));
} else {
tmp = t_4 + (b * ((a * i) - (z * c)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: t_4
real(8) :: tmp
t_1 = t * ((c * j) - (x * a))
t_2 = i * (y * j)
t_3 = ((i * (a * b)) - t_2) + t_1
t_4 = x * ((y * z) - (t * a))
if (x <= (-1.75d+40)) then
tmp = t_4 - t_2
else if (x <= 5.1d-228) then
tmp = t_3
else if (x <= 4.05d-41) then
tmp = (z * ((x * y) - (b * c))) + t_1
else if (x <= 1.6d+22) then
tmp = t_3
else if (x <= 1.95d+94) then
tmp = (c * (t * j)) - ((c * (z * b)) + (y * ((i * j) - (x * z))))
else
tmp = t_4 + (b * ((a * i) - (z * 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 t_1 = t * ((c * j) - (x * a));
double t_2 = i * (y * j);
double t_3 = ((i * (a * b)) - t_2) + t_1;
double t_4 = x * ((y * z) - (t * a));
double tmp;
if (x <= -1.75e+40) {
tmp = t_4 - t_2;
} else if (x <= 5.1e-228) {
tmp = t_3;
} else if (x <= 4.05e-41) {
tmp = (z * ((x * y) - (b * c))) + t_1;
} else if (x <= 1.6e+22) {
tmp = t_3;
} else if (x <= 1.95e+94) {
tmp = (c * (t * j)) - ((c * (z * b)) + (y * ((i * j) - (x * z))));
} else {
tmp = t_4 + (b * ((a * i) - (z * c)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = t * ((c * j) - (x * a)) t_2 = i * (y * j) t_3 = ((i * (a * b)) - t_2) + t_1 t_4 = x * ((y * z) - (t * a)) tmp = 0 if x <= -1.75e+40: tmp = t_4 - t_2 elif x <= 5.1e-228: tmp = t_3 elif x <= 4.05e-41: tmp = (z * ((x * y) - (b * c))) + t_1 elif x <= 1.6e+22: tmp = t_3 elif x <= 1.95e+94: tmp = (c * (t * j)) - ((c * (z * b)) + (y * ((i * j) - (x * z)))) else: tmp = t_4 + (b * ((a * i) - (z * c))) return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(t * Float64(Float64(c * j) - Float64(x * a))) t_2 = Float64(i * Float64(y * j)) t_3 = Float64(Float64(Float64(i * Float64(a * b)) - t_2) + t_1) t_4 = Float64(x * Float64(Float64(y * z) - Float64(t * a))) tmp = 0.0 if (x <= -1.75e+40) tmp = Float64(t_4 - t_2); elseif (x <= 5.1e-228) tmp = t_3; elseif (x <= 4.05e-41) tmp = Float64(Float64(z * Float64(Float64(x * y) - Float64(b * c))) + t_1); elseif (x <= 1.6e+22) tmp = t_3; elseif (x <= 1.95e+94) tmp = Float64(Float64(c * Float64(t * j)) - Float64(Float64(c * Float64(z * b)) + Float64(y * Float64(Float64(i * j) - Float64(x * z))))); else tmp = Float64(t_4 + Float64(b * Float64(Float64(a * i) - Float64(z * c)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = t * ((c * j) - (x * a)); t_2 = i * (y * j); t_3 = ((i * (a * b)) - t_2) + t_1; t_4 = x * ((y * z) - (t * a)); tmp = 0.0; if (x <= -1.75e+40) tmp = t_4 - t_2; elseif (x <= 5.1e-228) tmp = t_3; elseif (x <= 4.05e-41) tmp = (z * ((x * y) - (b * c))) + t_1; elseif (x <= 1.6e+22) tmp = t_3; elseif (x <= 1.95e+94) tmp = (c * (t * j)) - ((c * (z * b)) + (y * ((i * j) - (x * z)))); else tmp = t_4 + (b * ((a * i) - (z * c))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(i * N[(y * j), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(N[(i * N[(a * b), $MachinePrecision]), $MachinePrecision] - t$95$2), $MachinePrecision] + t$95$1), $MachinePrecision]}, Block[{t$95$4 = N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -1.75e+40], N[(t$95$4 - t$95$2), $MachinePrecision], If[LessEqual[x, 5.1e-228], t$95$3, If[LessEqual[x, 4.05e-41], N[(N[(z * N[(N[(x * y), $MachinePrecision] - N[(b * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision], If[LessEqual[x, 1.6e+22], t$95$3, If[LessEqual[x, 1.95e+94], N[(N[(c * N[(t * j), $MachinePrecision]), $MachinePrecision] - N[(N[(c * N[(z * b), $MachinePrecision]), $MachinePrecision] + N[(y * N[(N[(i * j), $MachinePrecision] - N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(t$95$4 + N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(c \cdot j - x \cdot a\right)\\
t_2 := i \cdot \left(y \cdot j\right)\\
t_3 := \left(i \cdot \left(a \cdot b\right) - t_2\right) + t_1\\
t_4 := x \cdot \left(y \cdot z - t \cdot a\right)\\
\mathbf{if}\;x \leq -1.75 \cdot 10^{+40}:\\
\;\;\;\;t_4 - t_2\\
\mathbf{elif}\;x \leq 5.1 \cdot 10^{-228}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;x \leq 4.05 \cdot 10^{-41}:\\
\;\;\;\;z \cdot \left(x \cdot y - b \cdot c\right) + t_1\\
\mathbf{elif}\;x \leq 1.6 \cdot 10^{+22}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;x \leq 1.95 \cdot 10^{+94}:\\
\;\;\;\;c \cdot \left(t \cdot j\right) - \left(c \cdot \left(z \cdot b\right) + y \cdot \left(i \cdot j - x \cdot z\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t_4 + b \cdot \left(a \cdot i - z \cdot c\right)\\
\end{array}
\end{array}
if x < -1.75e40Initial program 68.0%
Taylor expanded in b around 0 69.7%
Taylor expanded in i around inf 75.2%
if -1.75e40 < x < 5.1000000000000002e-228 or 4.05e-41 < x < 1.6e22Initial program 67.6%
Taylor expanded in t around -inf 74.0%
Simplified73.2%
Taylor expanded in z around 0 77.3%
if 5.1000000000000002e-228 < x < 4.05e-41Initial program 73.1%
Taylor expanded in t around -inf 84.4%
Simplified91.8%
Taylor expanded in i around 0 72.9%
associate-*r*72.9%
*-commutative72.9%
associate-*r*70.8%
associate-*r*70.8%
*-commutative70.8%
associate-*r*70.8%
distribute-rgt-in70.8%
+-commutative70.8%
mul-1-neg70.8%
unsub-neg70.8%
*-commutative70.8%
Simplified70.8%
if 1.6e22 < x < 1.94999999999999993e94Initial program 71.9%
Taylor expanded in t around -inf 58.0%
Simplified58.0%
Taylor expanded in a around 0 85.9%
if 1.94999999999999993e94 < x Initial program 79.9%
Taylor expanded in j around 0 82.7%
Final simplification77.0%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* t (- (* c j) (* x a))))
(t_2 (* i (* y j)))
(t_3 (+ (- (* i (* a b)) t_2) t_1))
(t_4 (* x (- (* y z) (* t a)))))
(if (<= x -3.9e+40)
(- t_4 t_2)
(if (<= x 1.82e-227)
t_3
(if (<= x 8.5e-38)
(+ (* z (- (* x y) (* b c))) t_1)
(if (<= x 3.9e+24)
t_3
(if (<= x 1.16e+107)
(- t_4 (* j (- (* y i) (* t c))))
(+ t_4 (* b (- (* a i) (* z c)))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = t * ((c * j) - (x * a));
double t_2 = i * (y * j);
double t_3 = ((i * (a * b)) - t_2) + t_1;
double t_4 = x * ((y * z) - (t * a));
double tmp;
if (x <= -3.9e+40) {
tmp = t_4 - t_2;
} else if (x <= 1.82e-227) {
tmp = t_3;
} else if (x <= 8.5e-38) {
tmp = (z * ((x * y) - (b * c))) + t_1;
} else if (x <= 3.9e+24) {
tmp = t_3;
} else if (x <= 1.16e+107) {
tmp = t_4 - (j * ((y * i) - (t * c)));
} else {
tmp = t_4 + (b * ((a * i) - (z * c)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: t_4
real(8) :: tmp
t_1 = t * ((c * j) - (x * a))
t_2 = i * (y * j)
t_3 = ((i * (a * b)) - t_2) + t_1
t_4 = x * ((y * z) - (t * a))
if (x <= (-3.9d+40)) then
tmp = t_4 - t_2
else if (x <= 1.82d-227) then
tmp = t_3
else if (x <= 8.5d-38) then
tmp = (z * ((x * y) - (b * c))) + t_1
else if (x <= 3.9d+24) then
tmp = t_3
else if (x <= 1.16d+107) then
tmp = t_4 - (j * ((y * i) - (t * c)))
else
tmp = t_4 + (b * ((a * i) - (z * 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 t_1 = t * ((c * j) - (x * a));
double t_2 = i * (y * j);
double t_3 = ((i * (a * b)) - t_2) + t_1;
double t_4 = x * ((y * z) - (t * a));
double tmp;
if (x <= -3.9e+40) {
tmp = t_4 - t_2;
} else if (x <= 1.82e-227) {
tmp = t_3;
} else if (x <= 8.5e-38) {
tmp = (z * ((x * y) - (b * c))) + t_1;
} else if (x <= 3.9e+24) {
tmp = t_3;
} else if (x <= 1.16e+107) {
tmp = t_4 - (j * ((y * i) - (t * c)));
} else {
tmp = t_4 + (b * ((a * i) - (z * c)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = t * ((c * j) - (x * a)) t_2 = i * (y * j) t_3 = ((i * (a * b)) - t_2) + t_1 t_4 = x * ((y * z) - (t * a)) tmp = 0 if x <= -3.9e+40: tmp = t_4 - t_2 elif x <= 1.82e-227: tmp = t_3 elif x <= 8.5e-38: tmp = (z * ((x * y) - (b * c))) + t_1 elif x <= 3.9e+24: tmp = t_3 elif x <= 1.16e+107: tmp = t_4 - (j * ((y * i) - (t * c))) else: tmp = t_4 + (b * ((a * i) - (z * c))) return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(t * Float64(Float64(c * j) - Float64(x * a))) t_2 = Float64(i * Float64(y * j)) t_3 = Float64(Float64(Float64(i * Float64(a * b)) - t_2) + t_1) t_4 = Float64(x * Float64(Float64(y * z) - Float64(t * a))) tmp = 0.0 if (x <= -3.9e+40) tmp = Float64(t_4 - t_2); elseif (x <= 1.82e-227) tmp = t_3; elseif (x <= 8.5e-38) tmp = Float64(Float64(z * Float64(Float64(x * y) - Float64(b * c))) + t_1); elseif (x <= 3.9e+24) tmp = t_3; elseif (x <= 1.16e+107) tmp = Float64(t_4 - Float64(j * Float64(Float64(y * i) - Float64(t * c)))); else tmp = Float64(t_4 + Float64(b * Float64(Float64(a * i) - Float64(z * c)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = t * ((c * j) - (x * a)); t_2 = i * (y * j); t_3 = ((i * (a * b)) - t_2) + t_1; t_4 = x * ((y * z) - (t * a)); tmp = 0.0; if (x <= -3.9e+40) tmp = t_4 - t_2; elseif (x <= 1.82e-227) tmp = t_3; elseif (x <= 8.5e-38) tmp = (z * ((x * y) - (b * c))) + t_1; elseif (x <= 3.9e+24) tmp = t_3; elseif (x <= 1.16e+107) tmp = t_4 - (j * ((y * i) - (t * c))); else tmp = t_4 + (b * ((a * i) - (z * c))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(i * N[(y * j), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(N[(i * N[(a * b), $MachinePrecision]), $MachinePrecision] - t$95$2), $MachinePrecision] + t$95$1), $MachinePrecision]}, Block[{t$95$4 = N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -3.9e+40], N[(t$95$4 - t$95$2), $MachinePrecision], If[LessEqual[x, 1.82e-227], t$95$3, If[LessEqual[x, 8.5e-38], N[(N[(z * N[(N[(x * y), $MachinePrecision] - N[(b * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision], If[LessEqual[x, 3.9e+24], t$95$3, If[LessEqual[x, 1.16e+107], N[(t$95$4 - N[(j * N[(N[(y * i), $MachinePrecision] - N[(t * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(t$95$4 + N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(c \cdot j - x \cdot a\right)\\
t_2 := i \cdot \left(y \cdot j\right)\\
t_3 := \left(i \cdot \left(a \cdot b\right) - t_2\right) + t_1\\
t_4 := x \cdot \left(y \cdot z - t \cdot a\right)\\
\mathbf{if}\;x \leq -3.9 \cdot 10^{+40}:\\
\;\;\;\;t_4 - t_2\\
\mathbf{elif}\;x \leq 1.82 \cdot 10^{-227}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;x \leq 8.5 \cdot 10^{-38}:\\
\;\;\;\;z \cdot \left(x \cdot y - b \cdot c\right) + t_1\\
\mathbf{elif}\;x \leq 3.9 \cdot 10^{+24}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;x \leq 1.16 \cdot 10^{+107}:\\
\;\;\;\;t_4 - j \cdot \left(y \cdot i - t \cdot c\right)\\
\mathbf{else}:\\
\;\;\;\;t_4 + b \cdot \left(a \cdot i - z \cdot c\right)\\
\end{array}
\end{array}
if x < -3.9000000000000001e40Initial program 68.0%
Taylor expanded in b around 0 69.7%
Taylor expanded in i around inf 75.2%
if -3.9000000000000001e40 < x < 1.8199999999999999e-227 or 8.50000000000000046e-38 < x < 3.8999999999999998e24Initial program 67.6%
Taylor expanded in t around -inf 74.0%
Simplified73.2%
Taylor expanded in z around 0 77.3%
if 1.8199999999999999e-227 < x < 8.50000000000000046e-38Initial program 73.1%
Taylor expanded in t around -inf 84.4%
Simplified91.8%
Taylor expanded in i around 0 72.9%
associate-*r*72.9%
*-commutative72.9%
associate-*r*70.8%
associate-*r*70.8%
*-commutative70.8%
associate-*r*70.8%
distribute-rgt-in70.8%
+-commutative70.8%
mul-1-neg70.8%
unsub-neg70.8%
*-commutative70.8%
Simplified70.8%
if 3.8999999999999998e24 < x < 1.1600000000000001e107Initial program 71.9%
Taylor expanded in b around 0 85.6%
if 1.1600000000000001e107 < x Initial program 79.9%
Taylor expanded in j around 0 82.7%
Final simplification77.0%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (+ (* z (* x y)) (* b (- (* a i) (* z c)))))
(t_2 (* x (- (* y z) (* t a)))))
(if (<= x -1.02e+35)
t_2
(if (<= x -6.2e-267)
(* i (- (* a b) (* y j)))
(if (<= x 1.95e-233)
(* j (- (* t c) (* y i)))
(if (<= x 540.0)
t_1
(if (<= x 7.2e+49)
(* t (- (* c j) (* x a)))
(if (<= x 4.2e+142) 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 t_1 = (z * (x * y)) + (b * ((a * i) - (z * c)));
double t_2 = x * ((y * z) - (t * a));
double tmp;
if (x <= -1.02e+35) {
tmp = t_2;
} else if (x <= -6.2e-267) {
tmp = i * ((a * b) - (y * j));
} else if (x <= 1.95e-233) {
tmp = j * ((t * c) - (y * i));
} else if (x <= 540.0) {
tmp = t_1;
} else if (x <= 7.2e+49) {
tmp = t * ((c * j) - (x * a));
} else if (x <= 4.2e+142) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = (z * (x * y)) + (b * ((a * i) - (z * c)))
t_2 = x * ((y * z) - (t * a))
if (x <= (-1.02d+35)) then
tmp = t_2
else if (x <= (-6.2d-267)) then
tmp = i * ((a * b) - (y * j))
else if (x <= 1.95d-233) then
tmp = j * ((t * c) - (y * i))
else if (x <= 540.0d0) then
tmp = t_1
else if (x <= 7.2d+49) then
tmp = t * ((c * j) - (x * a))
else if (x <= 4.2d+142) 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 t_1 = (z * (x * y)) + (b * ((a * i) - (z * c)));
double t_2 = x * ((y * z) - (t * a));
double tmp;
if (x <= -1.02e+35) {
tmp = t_2;
} else if (x <= -6.2e-267) {
tmp = i * ((a * b) - (y * j));
} else if (x <= 1.95e-233) {
tmp = j * ((t * c) - (y * i));
} else if (x <= 540.0) {
tmp = t_1;
} else if (x <= 7.2e+49) {
tmp = t * ((c * j) - (x * a));
} else if (x <= 4.2e+142) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = (z * (x * y)) + (b * ((a * i) - (z * c))) t_2 = x * ((y * z) - (t * a)) tmp = 0 if x <= -1.02e+35: tmp = t_2 elif x <= -6.2e-267: tmp = i * ((a * b) - (y * j)) elif x <= 1.95e-233: tmp = j * ((t * c) - (y * i)) elif x <= 540.0: tmp = t_1 elif x <= 7.2e+49: tmp = t * ((c * j) - (x * a)) elif x <= 4.2e+142: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(Float64(z * Float64(x * y)) + Float64(b * Float64(Float64(a * i) - Float64(z * c)))) t_2 = Float64(x * Float64(Float64(y * z) - Float64(t * a))) tmp = 0.0 if (x <= -1.02e+35) tmp = t_2; elseif (x <= -6.2e-267) tmp = Float64(i * Float64(Float64(a * b) - Float64(y * j))); elseif (x <= 1.95e-233) tmp = Float64(j * Float64(Float64(t * c) - Float64(y * i))); elseif (x <= 540.0) tmp = t_1; elseif (x <= 7.2e+49) tmp = Float64(t * Float64(Float64(c * j) - Float64(x * a))); elseif (x <= 4.2e+142) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = (z * (x * y)) + (b * ((a * i) - (z * c))); t_2 = x * ((y * z) - (t * a)); tmp = 0.0; if (x <= -1.02e+35) tmp = t_2; elseif (x <= -6.2e-267) tmp = i * ((a * b) - (y * j)); elseif (x <= 1.95e-233) tmp = j * ((t * c) - (y * i)); elseif (x <= 540.0) tmp = t_1; elseif (x <= 7.2e+49) tmp = t * ((c * j) - (x * a)); elseif (x <= 4.2e+142) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[(z * N[(x * y), $MachinePrecision]), $MachinePrecision] + N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -1.02e+35], t$95$2, If[LessEqual[x, -6.2e-267], N[(i * N[(N[(a * b), $MachinePrecision] - N[(y * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 1.95e-233], N[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 540.0], t$95$1, If[LessEqual[x, 7.2e+49], N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 4.2e+142], t$95$1, t$95$2]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := z \cdot \left(x \cdot y\right) + b \cdot \left(a \cdot i - z \cdot c\right)\\
t_2 := x \cdot \left(y \cdot z - t \cdot a\right)\\
\mathbf{if}\;x \leq -1.02 \cdot 10^{+35}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;x \leq -6.2 \cdot 10^{-267}:\\
\;\;\;\;i \cdot \left(a \cdot b - y \cdot j\right)\\
\mathbf{elif}\;x \leq 1.95 \cdot 10^{-233}:\\
\;\;\;\;j \cdot \left(t \cdot c - y \cdot i\right)\\
\mathbf{elif}\;x \leq 540:\\
\;\;\;\;t_1\\
\mathbf{elif}\;x \leq 7.2 \cdot 10^{+49}:\\
\;\;\;\;t \cdot \left(c \cdot j - x \cdot a\right)\\
\mathbf{elif}\;x \leq 4.2 \cdot 10^{+142}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if x < -1.02000000000000007e35 or 4.2e142 < x Initial program 71.7%
Taylor expanded in t around -inf 60.1%
Simplified63.8%
Taylor expanded in x around inf 74.9%
if -1.02000000000000007e35 < x < -6.2000000000000002e-267Initial program 61.0%
Taylor expanded in i around inf 54.2%
*-commutative54.2%
associate-*r*54.2%
neg-mul-154.2%
cancel-sign-sub54.2%
+-commutative54.2%
mul-1-neg54.2%
unsub-neg54.2%
Simplified54.2%
if -6.2000000000000002e-267 < x < 1.9500000000000001e-233Initial program 74.5%
Taylor expanded in j around inf 69.9%
if 1.9500000000000001e-233 < x < 540 or 7.19999999999999993e49 < x < 4.2e142Initial program 77.3%
Taylor expanded in t around 0 59.3%
sub-neg59.3%
mul-1-neg59.3%
associate-*r*60.6%
*-commutative60.6%
associate-*r*62.2%
distribute-rgt-neg-in62.2%
mul-1-neg62.2%
distribute-lft-in62.2%
+-commutative62.2%
mul-1-neg62.2%
unsub-neg62.2%
*-commutative62.2%
fma-neg62.2%
distribute-rgt-neg-out62.2%
distribute-rgt-neg-in62.2%
neg-sub062.2%
distribute-rgt-neg-out62.2%
Simplified62.2%
Taylor expanded in z around inf 53.5%
*-commutative18.9%
associate-*l*18.9%
Simplified56.6%
if 540 < x < 7.19999999999999993e49Initial program 63.4%
Taylor expanded in t around inf 75.3%
*-commutative75.3%
mul-1-neg75.3%
unsub-neg75.3%
Simplified75.3%
Final simplification65.1%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* x (- (* y z) (* t a))))
(t_2 (+ t_1 (* b (- (* a i) (* z c)))))
(t_3 (- t_1 (* j (- (* y i) (* t c))))))
(if (<= j -1.5e-54)
t_3
(if (<= j -2.2e-176)
t_2
(if (<= j -1.12e-203)
(- t_1 (* i (* y j)))
(if (<= j 930000000000.0) t_2 t_3))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = x * ((y * z) - (t * a));
double t_2 = t_1 + (b * ((a * i) - (z * c)));
double t_3 = t_1 - (j * ((y * i) - (t * c)));
double tmp;
if (j <= -1.5e-54) {
tmp = t_3;
} else if (j <= -2.2e-176) {
tmp = t_2;
} else if (j <= -1.12e-203) {
tmp = t_1 - (i * (y * j));
} else if (j <= 930000000000.0) {
tmp = t_2;
} else {
tmp = t_3;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = x * ((y * z) - (t * a))
t_2 = t_1 + (b * ((a * i) - (z * c)))
t_3 = t_1 - (j * ((y * i) - (t * c)))
if (j <= (-1.5d-54)) then
tmp = t_3
else if (j <= (-2.2d-176)) then
tmp = t_2
else if (j <= (-1.12d-203)) then
tmp = t_1 - (i * (y * j))
else if (j <= 930000000000.0d0) then
tmp = t_2
else
tmp = t_3
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = x * ((y * z) - (t * a));
double t_2 = t_1 + (b * ((a * i) - (z * c)));
double t_3 = t_1 - (j * ((y * i) - (t * c)));
double tmp;
if (j <= -1.5e-54) {
tmp = t_3;
} else if (j <= -2.2e-176) {
tmp = t_2;
} else if (j <= -1.12e-203) {
tmp = t_1 - (i * (y * j));
} else if (j <= 930000000000.0) {
tmp = t_2;
} else {
tmp = t_3;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = x * ((y * z) - (t * a)) t_2 = t_1 + (b * ((a * i) - (z * c))) t_3 = t_1 - (j * ((y * i) - (t * c))) tmp = 0 if j <= -1.5e-54: tmp = t_3 elif j <= -2.2e-176: tmp = t_2 elif j <= -1.12e-203: tmp = t_1 - (i * (y * j)) elif j <= 930000000000.0: tmp = t_2 else: tmp = t_3 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(x * Float64(Float64(y * z) - Float64(t * a))) t_2 = Float64(t_1 + Float64(b * Float64(Float64(a * i) - Float64(z * c)))) t_3 = Float64(t_1 - Float64(j * Float64(Float64(y * i) - Float64(t * c)))) tmp = 0.0 if (j <= -1.5e-54) tmp = t_3; elseif (j <= -2.2e-176) tmp = t_2; elseif (j <= -1.12e-203) tmp = Float64(t_1 - Float64(i * Float64(y * j))); elseif (j <= 930000000000.0) tmp = t_2; else tmp = t_3; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = x * ((y * z) - (t * a)); t_2 = t_1 + (b * ((a * i) - (z * c))); t_3 = t_1 - (j * ((y * i) - (t * c))); tmp = 0.0; if (j <= -1.5e-54) tmp = t_3; elseif (j <= -2.2e-176) tmp = t_2; elseif (j <= -1.12e-203) tmp = t_1 - (i * (y * j)); elseif (j <= 930000000000.0) tmp = t_2; else tmp = t_3; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t$95$1 + N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(t$95$1 - N[(j * N[(N[(y * i), $MachinePrecision] - N[(t * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -1.5e-54], t$95$3, If[LessEqual[j, -2.2e-176], t$95$2, If[LessEqual[j, -1.12e-203], N[(t$95$1 - N[(i * N[(y * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 930000000000.0], t$95$2, t$95$3]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(y \cdot z - t \cdot a\right)\\
t_2 := t_1 + b \cdot \left(a \cdot i - z \cdot c\right)\\
t_3 := t_1 - j \cdot \left(y \cdot i - t \cdot c\right)\\
\mathbf{if}\;j \leq -1.5 \cdot 10^{-54}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;j \leq -2.2 \cdot 10^{-176}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;j \leq -1.12 \cdot 10^{-203}:\\
\;\;\;\;t_1 - i \cdot \left(y \cdot j\right)\\
\mathbf{elif}\;j \leq 930000000000:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t_3\\
\end{array}
\end{array}
if j < -1.50000000000000005e-54 or 9.3e11 < j Initial program 72.8%
Taylor expanded in b around 0 73.6%
if -1.50000000000000005e-54 < j < -2.1999999999999999e-176 or -1.12e-203 < j < 9.3e11Initial program 68.6%
Taylor expanded in j around 0 73.1%
if -2.1999999999999999e-176 < j < -1.12e-203Initial program 67.1%
Taylor expanded in b around 0 78.2%
Taylor expanded in i around inf 89.5%
Final simplification74.0%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* x (- (* y z) (* t a))))
(t_2 (+ t_1 (* b (- (* a i) (* z c)))))
(t_3 (- t_1 (* j (- (* y i) (* t c))))))
(if (<= j -4e-55)
t_3
(if (<= j -1.75e-158)
t_2
(if (<= j -6.5e-207)
(+ t_1 (* i (- (* a b) (* y j))))
(if (<= j 60000000000.0) t_2 t_3))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = x * ((y * z) - (t * a));
double t_2 = t_1 + (b * ((a * i) - (z * c)));
double t_3 = t_1 - (j * ((y * i) - (t * c)));
double tmp;
if (j <= -4e-55) {
tmp = t_3;
} else if (j <= -1.75e-158) {
tmp = t_2;
} else if (j <= -6.5e-207) {
tmp = t_1 + (i * ((a * b) - (y * j)));
} else if (j <= 60000000000.0) {
tmp = t_2;
} else {
tmp = t_3;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = x * ((y * z) - (t * a))
t_2 = t_1 + (b * ((a * i) - (z * c)))
t_3 = t_1 - (j * ((y * i) - (t * c)))
if (j <= (-4d-55)) then
tmp = t_3
else if (j <= (-1.75d-158)) then
tmp = t_2
else if (j <= (-6.5d-207)) then
tmp = t_1 + (i * ((a * b) - (y * j)))
else if (j <= 60000000000.0d0) then
tmp = t_2
else
tmp = t_3
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = x * ((y * z) - (t * a));
double t_2 = t_1 + (b * ((a * i) - (z * c)));
double t_3 = t_1 - (j * ((y * i) - (t * c)));
double tmp;
if (j <= -4e-55) {
tmp = t_3;
} else if (j <= -1.75e-158) {
tmp = t_2;
} else if (j <= -6.5e-207) {
tmp = t_1 + (i * ((a * b) - (y * j)));
} else if (j <= 60000000000.0) {
tmp = t_2;
} else {
tmp = t_3;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = x * ((y * z) - (t * a)) t_2 = t_1 + (b * ((a * i) - (z * c))) t_3 = t_1 - (j * ((y * i) - (t * c))) tmp = 0 if j <= -4e-55: tmp = t_3 elif j <= -1.75e-158: tmp = t_2 elif j <= -6.5e-207: tmp = t_1 + (i * ((a * b) - (y * j))) elif j <= 60000000000.0: tmp = t_2 else: tmp = t_3 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(x * Float64(Float64(y * z) - Float64(t * a))) t_2 = Float64(t_1 + Float64(b * Float64(Float64(a * i) - Float64(z * c)))) t_3 = Float64(t_1 - Float64(j * Float64(Float64(y * i) - Float64(t * c)))) tmp = 0.0 if (j <= -4e-55) tmp = t_3; elseif (j <= -1.75e-158) tmp = t_2; elseif (j <= -6.5e-207) tmp = Float64(t_1 + Float64(i * Float64(Float64(a * b) - Float64(y * j)))); elseif (j <= 60000000000.0) tmp = t_2; else tmp = t_3; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = x * ((y * z) - (t * a)); t_2 = t_1 + (b * ((a * i) - (z * c))); t_3 = t_1 - (j * ((y * i) - (t * c))); tmp = 0.0; if (j <= -4e-55) tmp = t_3; elseif (j <= -1.75e-158) tmp = t_2; elseif (j <= -6.5e-207) tmp = t_1 + (i * ((a * b) - (y * j))); elseif (j <= 60000000000.0) tmp = t_2; else tmp = t_3; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t$95$1 + N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(t$95$1 - N[(j * N[(N[(y * i), $MachinePrecision] - N[(t * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -4e-55], t$95$3, If[LessEqual[j, -1.75e-158], t$95$2, If[LessEqual[j, -6.5e-207], N[(t$95$1 + N[(i * N[(N[(a * b), $MachinePrecision] - N[(y * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 60000000000.0], t$95$2, t$95$3]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(y \cdot z - t \cdot a\right)\\
t_2 := t_1 + b \cdot \left(a \cdot i - z \cdot c\right)\\
t_3 := t_1 - j \cdot \left(y \cdot i - t \cdot c\right)\\
\mathbf{if}\;j \leq -4 \cdot 10^{-55}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;j \leq -1.75 \cdot 10^{-158}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;j \leq -6.5 \cdot 10^{-207}:\\
\;\;\;\;t_1 + i \cdot \left(a \cdot b - y \cdot j\right)\\
\mathbf{elif}\;j \leq 60000000000:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t_3\\
\end{array}
\end{array}
if j < -3.99999999999999998e-55 or 6e10 < j Initial program 72.8%
Taylor expanded in b around 0 73.6%
if -3.99999999999999998e-55 < j < -1.75000000000000006e-158 or -6.5000000000000001e-207 < j < 6e10Initial program 68.3%
Taylor expanded in j around 0 73.9%
if -1.75000000000000006e-158 < j < -6.5000000000000001e-207Initial program 69.6%
Taylor expanded in c around 0 92.8%
Taylor expanded in i around -inf 92.8%
Final simplification74.7%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* x (- (* y z) (* t a))))
(t_2 (- t_1 (* j (- (* y i) (* t c))))))
(if (<= j -7.8e-55)
t_2
(if (<= j -2.55e-157)
(- (- (* c (* t j)) (* x (- (* t a) (* y z)))) (* c (* z b)))
(if (<= j -1.35e-202)
(+ t_1 (* i (- (* a b) (* y j))))
(if (<= j 85000000.0) (+ t_1 (* b (- (* a i) (* z c)))) t_2))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = x * ((y * z) - (t * a));
double t_2 = t_1 - (j * ((y * i) - (t * c)));
double tmp;
if (j <= -7.8e-55) {
tmp = t_2;
} else if (j <= -2.55e-157) {
tmp = ((c * (t * j)) - (x * ((t * a) - (y * z)))) - (c * (z * b));
} else if (j <= -1.35e-202) {
tmp = t_1 + (i * ((a * b) - (y * j)));
} else if (j <= 85000000.0) {
tmp = t_1 + (b * ((a * i) - (z * c)));
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = x * ((y * z) - (t * a))
t_2 = t_1 - (j * ((y * i) - (t * c)))
if (j <= (-7.8d-55)) then
tmp = t_2
else if (j <= (-2.55d-157)) then
tmp = ((c * (t * j)) - (x * ((t * a) - (y * z)))) - (c * (z * b))
else if (j <= (-1.35d-202)) then
tmp = t_1 + (i * ((a * b) - (y * j)))
else if (j <= 85000000.0d0) then
tmp = t_1 + (b * ((a * i) - (z * 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 t_1 = x * ((y * z) - (t * a));
double t_2 = t_1 - (j * ((y * i) - (t * c)));
double tmp;
if (j <= -7.8e-55) {
tmp = t_2;
} else if (j <= -2.55e-157) {
tmp = ((c * (t * j)) - (x * ((t * a) - (y * z)))) - (c * (z * b));
} else if (j <= -1.35e-202) {
tmp = t_1 + (i * ((a * b) - (y * j)));
} else if (j <= 85000000.0) {
tmp = t_1 + (b * ((a * i) - (z * c)));
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = x * ((y * z) - (t * a)) t_2 = t_1 - (j * ((y * i) - (t * c))) tmp = 0 if j <= -7.8e-55: tmp = t_2 elif j <= -2.55e-157: tmp = ((c * (t * j)) - (x * ((t * a) - (y * z)))) - (c * (z * b)) elif j <= -1.35e-202: tmp = t_1 + (i * ((a * b) - (y * j))) elif j <= 85000000.0: tmp = t_1 + (b * ((a * i) - (z * c))) else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(x * Float64(Float64(y * z) - Float64(t * a))) t_2 = Float64(t_1 - Float64(j * Float64(Float64(y * i) - Float64(t * c)))) tmp = 0.0 if (j <= -7.8e-55) tmp = t_2; elseif (j <= -2.55e-157) tmp = Float64(Float64(Float64(c * Float64(t * j)) - Float64(x * Float64(Float64(t * a) - Float64(y * z)))) - Float64(c * Float64(z * b))); elseif (j <= -1.35e-202) tmp = Float64(t_1 + Float64(i * Float64(Float64(a * b) - Float64(y * j)))); elseif (j <= 85000000.0) tmp = Float64(t_1 + Float64(b * Float64(Float64(a * i) - Float64(z * c)))); else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = x * ((y * z) - (t * a)); t_2 = t_1 - (j * ((y * i) - (t * c))); tmp = 0.0; if (j <= -7.8e-55) tmp = t_2; elseif (j <= -2.55e-157) tmp = ((c * (t * j)) - (x * ((t * a) - (y * z)))) - (c * (z * b)); elseif (j <= -1.35e-202) tmp = t_1 + (i * ((a * b) - (y * j))); elseif (j <= 85000000.0) tmp = t_1 + (b * ((a * i) - (z * c))); else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t$95$1 - N[(j * N[(N[(y * i), $MachinePrecision] - N[(t * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -7.8e-55], t$95$2, If[LessEqual[j, -2.55e-157], N[(N[(N[(c * N[(t * j), $MachinePrecision]), $MachinePrecision] - N[(x * N[(N[(t * a), $MachinePrecision] - N[(y * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(c * N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -1.35e-202], N[(t$95$1 + N[(i * N[(N[(a * b), $MachinePrecision] - N[(y * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 85000000.0], N[(t$95$1 + N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(y \cdot z - t \cdot a\right)\\
t_2 := t_1 - j \cdot \left(y \cdot i - t \cdot c\right)\\
\mathbf{if}\;j \leq -7.8 \cdot 10^{-55}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;j \leq -2.55 \cdot 10^{-157}:\\
\;\;\;\;\left(c \cdot \left(t \cdot j\right) - x \cdot \left(t \cdot a - y \cdot z\right)\right) - c \cdot \left(z \cdot b\right)\\
\mathbf{elif}\;j \leq -1.35 \cdot 10^{-202}:\\
\;\;\;\;t_1 + i \cdot \left(a \cdot b - y \cdot j\right)\\
\mathbf{elif}\;j \leq 85000000:\\
\;\;\;\;t_1 + b \cdot \left(a \cdot i - z \cdot c\right)\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if j < -7.8e-55 or 8.5e7 < j Initial program 72.8%
Taylor expanded in b around 0 73.6%
if -7.8e-55 < j < -2.54999999999999999e-157Initial program 78.2%
Taylor expanded in i around 0 83.7%
if -2.54999999999999999e-157 < j < -1.3499999999999999e-202Initial program 69.6%
Taylor expanded in c around 0 92.8%
Taylor expanded in i around -inf 92.8%
if -1.3499999999999999e-202 < j < 8.5e7Initial program 66.5%
Taylor expanded in j around 0 72.0%
Final simplification74.7%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* j (- (* t c) (* y i))))
(t_2 (* y (- (* x z) (* i j))))
(t_3 (* a (- (* b i) (* x t)))))
(if (<= a -23000000.0)
t_3
(if (<= a -4e-46)
t_1
(if (<= a -2.95e-87)
(* b (- (* a i) (* z c)))
(if (<= a 1.25e-126)
t_2
(if (<= a 1.95e-32)
(* t (- (* c j) (* x a)))
(if (<= a 0.00088)
t_1
(if (or (<= a 6.5e+14) (not (<= a 3.2e+50))) 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 t_1 = j * ((t * c) - (y * i));
double t_2 = y * ((x * z) - (i * j));
double t_3 = a * ((b * i) - (x * t));
double tmp;
if (a <= -23000000.0) {
tmp = t_3;
} else if (a <= -4e-46) {
tmp = t_1;
} else if (a <= -2.95e-87) {
tmp = b * ((a * i) - (z * c));
} else if (a <= 1.25e-126) {
tmp = t_2;
} else if (a <= 1.95e-32) {
tmp = t * ((c * j) - (x * a));
} else if (a <= 0.00088) {
tmp = t_1;
} else if ((a <= 6.5e+14) || !(a <= 3.2e+50)) {
tmp = t_3;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = j * ((t * c) - (y * i))
t_2 = y * ((x * z) - (i * j))
t_3 = a * ((b * i) - (x * t))
if (a <= (-23000000.0d0)) then
tmp = t_3
else if (a <= (-4d-46)) then
tmp = t_1
else if (a <= (-2.95d-87)) then
tmp = b * ((a * i) - (z * c))
else if (a <= 1.25d-126) then
tmp = t_2
else if (a <= 1.95d-32) then
tmp = t * ((c * j) - (x * a))
else if (a <= 0.00088d0) then
tmp = t_1
else if ((a <= 6.5d+14) .or. (.not. (a <= 3.2d+50))) 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 t_1 = j * ((t * c) - (y * i));
double t_2 = y * ((x * z) - (i * j));
double t_3 = a * ((b * i) - (x * t));
double tmp;
if (a <= -23000000.0) {
tmp = t_3;
} else if (a <= -4e-46) {
tmp = t_1;
} else if (a <= -2.95e-87) {
tmp = b * ((a * i) - (z * c));
} else if (a <= 1.25e-126) {
tmp = t_2;
} else if (a <= 1.95e-32) {
tmp = t * ((c * j) - (x * a));
} else if (a <= 0.00088) {
tmp = t_1;
} else if ((a <= 6.5e+14) || !(a <= 3.2e+50)) {
tmp = t_3;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = j * ((t * c) - (y * i)) t_2 = y * ((x * z) - (i * j)) t_3 = a * ((b * i) - (x * t)) tmp = 0 if a <= -23000000.0: tmp = t_3 elif a <= -4e-46: tmp = t_1 elif a <= -2.95e-87: tmp = b * ((a * i) - (z * c)) elif a <= 1.25e-126: tmp = t_2 elif a <= 1.95e-32: tmp = t * ((c * j) - (x * a)) elif a <= 0.00088: tmp = t_1 elif (a <= 6.5e+14) or not (a <= 3.2e+50): tmp = t_3 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(j * Float64(Float64(t * c) - Float64(y * i))) t_2 = Float64(y * Float64(Float64(x * z) - Float64(i * j))) t_3 = Float64(a * Float64(Float64(b * i) - Float64(x * t))) tmp = 0.0 if (a <= -23000000.0) tmp = t_3; elseif (a <= -4e-46) tmp = t_1; elseif (a <= -2.95e-87) tmp = Float64(b * Float64(Float64(a * i) - Float64(z * c))); elseif (a <= 1.25e-126) tmp = t_2; elseif (a <= 1.95e-32) tmp = Float64(t * Float64(Float64(c * j) - Float64(x * a))); elseif (a <= 0.00088) tmp = t_1; elseif ((a <= 6.5e+14) || !(a <= 3.2e+50)) tmp = t_3; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = j * ((t * c) - (y * i)); t_2 = y * ((x * z) - (i * j)); t_3 = a * ((b * i) - (x * t)); tmp = 0.0; if (a <= -23000000.0) tmp = t_3; elseif (a <= -4e-46) tmp = t_1; elseif (a <= -2.95e-87) tmp = b * ((a * i) - (z * c)); elseif (a <= 1.25e-126) tmp = t_2; elseif (a <= 1.95e-32) tmp = t * ((c * j) - (x * a)); elseif (a <= 0.00088) tmp = t_1; elseif ((a <= 6.5e+14) || ~((a <= 3.2e+50))) tmp = t_3; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y * N[(N[(x * z), $MachinePrecision] - N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(a * N[(N[(b * i), $MachinePrecision] - N[(x * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -23000000.0], t$95$3, If[LessEqual[a, -4e-46], t$95$1, If[LessEqual[a, -2.95e-87], N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.25e-126], t$95$2, If[LessEqual[a, 1.95e-32], N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 0.00088], t$95$1, If[Or[LessEqual[a, 6.5e+14], N[Not[LessEqual[a, 3.2e+50]], $MachinePrecision]], t$95$3, t$95$2]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(t \cdot c - y \cdot i\right)\\
t_2 := y \cdot \left(x \cdot z - i \cdot j\right)\\
t_3 := a \cdot \left(b \cdot i - x \cdot t\right)\\
\mathbf{if}\;a \leq -23000000:\\
\;\;\;\;t_3\\
\mathbf{elif}\;a \leq -4 \cdot 10^{-46}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq -2.95 \cdot 10^{-87}:\\
\;\;\;\;b \cdot \left(a \cdot i - z \cdot c\right)\\
\mathbf{elif}\;a \leq 1.25 \cdot 10^{-126}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;a \leq 1.95 \cdot 10^{-32}:\\
\;\;\;\;t \cdot \left(c \cdot j - x \cdot a\right)\\
\mathbf{elif}\;a \leq 0.00088:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 6.5 \cdot 10^{+14} \lor \neg \left(a \leq 3.2 \cdot 10^{+50}\right):\\
\;\;\;\;t_3\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if a < -2.3e7 or 8.80000000000000031e-4 < a < 6.5e14 or 3.19999999999999983e50 < a Initial program 56.8%
Taylor expanded in a around inf 70.4%
associate-*r*70.4%
neg-mul-170.4%
cancel-sign-sub70.4%
+-commutative70.4%
mul-1-neg70.4%
unsub-neg70.4%
Simplified70.4%
if -2.3e7 < a < -4.00000000000000009e-46 or 1.9500000000000001e-32 < a < 8.80000000000000031e-4Initial program 81.7%
Taylor expanded in j around inf 73.5%
if -4.00000000000000009e-46 < a < -2.9499999999999998e-87Initial program 91.3%
associate-+l-91.3%
sub-neg91.3%
sub-neg91.3%
*-commutative91.3%
fma-neg91.3%
*-commutative91.3%
*-commutative91.3%
fma-neg91.3%
distribute-lft-neg-out91.3%
*-commutative91.3%
Simplified91.3%
Taylor expanded in b around inf 56.6%
if -2.9499999999999998e-87 < a < 1.25000000000000001e-126 or 6.5e14 < a < 3.19999999999999983e50Initial program 80.2%
Taylor expanded in y around inf 55.7%
+-commutative55.7%
mul-1-neg55.7%
unsub-neg55.7%
Simplified55.7%
if 1.25000000000000001e-126 < a < 1.9500000000000001e-32Initial program 71.4%
Taylor expanded in t around inf 76.4%
*-commutative76.4%
mul-1-neg76.4%
unsub-neg76.4%
Simplified76.4%
Final simplification64.2%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* a (- (* b i) (* x t))))
(t_2 (* c (- (* t j) (* z b))))
(t_3 (* i (- (* a b) (* y j)))))
(if (<= i -1.38e+222)
t_3
(if (<= i -3.15e+189)
t_2
(if (<= i -5.8e+85)
t_3
(if (<= i -4.2e-45)
t_1
(if (<= i -3.8e-262)
t_2
(if (<= i 7.2e-183)
(* t (- (* c j) (* x a)))
(if (<= i 9.5e-96) t_2 (if (<= i 1.24e+30) t_1 t_3))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = a * ((b * i) - (x * t));
double t_2 = c * ((t * j) - (z * b));
double t_3 = i * ((a * b) - (y * j));
double tmp;
if (i <= -1.38e+222) {
tmp = t_3;
} else if (i <= -3.15e+189) {
tmp = t_2;
} else if (i <= -5.8e+85) {
tmp = t_3;
} else if (i <= -4.2e-45) {
tmp = t_1;
} else if (i <= -3.8e-262) {
tmp = t_2;
} else if (i <= 7.2e-183) {
tmp = t * ((c * j) - (x * a));
} else if (i <= 9.5e-96) {
tmp = t_2;
} else if (i <= 1.24e+30) {
tmp = t_1;
} else {
tmp = t_3;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = a * ((b * i) - (x * t))
t_2 = c * ((t * j) - (z * b))
t_3 = i * ((a * b) - (y * j))
if (i <= (-1.38d+222)) then
tmp = t_3
else if (i <= (-3.15d+189)) then
tmp = t_2
else if (i <= (-5.8d+85)) then
tmp = t_3
else if (i <= (-4.2d-45)) then
tmp = t_1
else if (i <= (-3.8d-262)) then
tmp = t_2
else if (i <= 7.2d-183) then
tmp = t * ((c * j) - (x * a))
else if (i <= 9.5d-96) then
tmp = t_2
else if (i <= 1.24d+30) then
tmp = t_1
else
tmp = t_3
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = a * ((b * i) - (x * t));
double t_2 = c * ((t * j) - (z * b));
double t_3 = i * ((a * b) - (y * j));
double tmp;
if (i <= -1.38e+222) {
tmp = t_3;
} else if (i <= -3.15e+189) {
tmp = t_2;
} else if (i <= -5.8e+85) {
tmp = t_3;
} else if (i <= -4.2e-45) {
tmp = t_1;
} else if (i <= -3.8e-262) {
tmp = t_2;
} else if (i <= 7.2e-183) {
tmp = t * ((c * j) - (x * a));
} else if (i <= 9.5e-96) {
tmp = t_2;
} else if (i <= 1.24e+30) {
tmp = t_1;
} else {
tmp = t_3;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = a * ((b * i) - (x * t)) t_2 = c * ((t * j) - (z * b)) t_3 = i * ((a * b) - (y * j)) tmp = 0 if i <= -1.38e+222: tmp = t_3 elif i <= -3.15e+189: tmp = t_2 elif i <= -5.8e+85: tmp = t_3 elif i <= -4.2e-45: tmp = t_1 elif i <= -3.8e-262: tmp = t_2 elif i <= 7.2e-183: tmp = t * ((c * j) - (x * a)) elif i <= 9.5e-96: tmp = t_2 elif i <= 1.24e+30: tmp = t_1 else: tmp = t_3 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(a * Float64(Float64(b * i) - Float64(x * t))) t_2 = Float64(c * Float64(Float64(t * j) - Float64(z * b))) t_3 = Float64(i * Float64(Float64(a * b) - Float64(y * j))) tmp = 0.0 if (i <= -1.38e+222) tmp = t_3; elseif (i <= -3.15e+189) tmp = t_2; elseif (i <= -5.8e+85) tmp = t_3; elseif (i <= -4.2e-45) tmp = t_1; elseif (i <= -3.8e-262) tmp = t_2; elseif (i <= 7.2e-183) tmp = Float64(t * Float64(Float64(c * j) - Float64(x * a))); elseif (i <= 9.5e-96) tmp = t_2; elseif (i <= 1.24e+30) tmp = t_1; else tmp = t_3; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = a * ((b * i) - (x * t)); t_2 = c * ((t * j) - (z * b)); t_3 = i * ((a * b) - (y * j)); tmp = 0.0; if (i <= -1.38e+222) tmp = t_3; elseif (i <= -3.15e+189) tmp = t_2; elseif (i <= -5.8e+85) tmp = t_3; elseif (i <= -4.2e-45) tmp = t_1; elseif (i <= -3.8e-262) tmp = t_2; elseif (i <= 7.2e-183) tmp = t * ((c * j) - (x * a)); elseif (i <= 9.5e-96) tmp = t_2; elseif (i <= 1.24e+30) tmp = t_1; else tmp = t_3; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(a * N[(N[(b * i), $MachinePrecision] - N[(x * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(c * N[(N[(t * j), $MachinePrecision] - N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(i * N[(N[(a * b), $MachinePrecision] - N[(y * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[i, -1.38e+222], t$95$3, If[LessEqual[i, -3.15e+189], t$95$2, If[LessEqual[i, -5.8e+85], t$95$3, If[LessEqual[i, -4.2e-45], t$95$1, If[LessEqual[i, -3.8e-262], t$95$2, If[LessEqual[i, 7.2e-183], N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 9.5e-96], t$95$2, If[LessEqual[i, 1.24e+30], t$95$1, t$95$3]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(b \cdot i - x \cdot t\right)\\
t_2 := c \cdot \left(t \cdot j - z \cdot b\right)\\
t_3 := i \cdot \left(a \cdot b - y \cdot j\right)\\
\mathbf{if}\;i \leq -1.38 \cdot 10^{+222}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;i \leq -3.15 \cdot 10^{+189}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;i \leq -5.8 \cdot 10^{+85}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;i \leq -4.2 \cdot 10^{-45}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;i \leq -3.8 \cdot 10^{-262}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;i \leq 7.2 \cdot 10^{-183}:\\
\;\;\;\;t \cdot \left(c \cdot j - x \cdot a\right)\\
\mathbf{elif}\;i \leq 9.5 \cdot 10^{-96}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;i \leq 1.24 \cdot 10^{+30}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_3\\
\end{array}
\end{array}
if i < -1.38e222 or -3.15000000000000001e189 < i < -5.79999999999999995e85 or 1.24e30 < i Initial program 65.4%
Taylor expanded in i around inf 65.1%
*-commutative65.1%
associate-*r*65.1%
neg-mul-165.1%
cancel-sign-sub65.1%
+-commutative65.1%
mul-1-neg65.1%
unsub-neg65.1%
Simplified65.1%
if -1.38e222 < i < -3.15000000000000001e189 or -4.1999999999999999e-45 < i < -3.8000000000000002e-262 or 7.2000000000000002e-183 < i < 9.4999999999999993e-96Initial program 74.2%
Taylor expanded in c around inf 56.9%
*-commutative56.9%
Simplified56.9%
if -5.79999999999999995e85 < i < -4.1999999999999999e-45 or 9.4999999999999993e-96 < i < 1.24e30Initial program 79.6%
Taylor expanded in a around inf 63.5%
associate-*r*63.5%
neg-mul-163.5%
cancel-sign-sub63.5%
+-commutative63.5%
mul-1-neg63.5%
unsub-neg63.5%
Simplified63.5%
if -3.8000000000000002e-262 < i < 7.2000000000000002e-183Initial program 62.7%
Taylor expanded in t around inf 51.8%
*-commutative51.8%
mul-1-neg51.8%
unsub-neg51.8%
Simplified51.8%
Final simplification60.2%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* x (- (* y z) (* t a)))))
(if (<= x -3e+39)
t_1
(if (<= x -2.45e-265)
(* i (- (* a b) (* y j)))
(if (<= x 5.8e-233)
(* j (- (* t c) (* y i)))
(if (<= x 6.5e-142)
(+ (* z (* x y)) (* b (- (* a i) (* z c))))
(if (<= x 8e+106)
(- (* x (* y z)) (* j (- (* y i) (* t c))))
t_1)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = x * ((y * z) - (t * a));
double tmp;
if (x <= -3e+39) {
tmp = t_1;
} else if (x <= -2.45e-265) {
tmp = i * ((a * b) - (y * j));
} else if (x <= 5.8e-233) {
tmp = j * ((t * c) - (y * i));
} else if (x <= 6.5e-142) {
tmp = (z * (x * y)) + (b * ((a * i) - (z * c)));
} else if (x <= 8e+106) {
tmp = (x * (y * z)) - (j * ((y * i) - (t * c)));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: t_1
real(8) :: tmp
t_1 = x * ((y * z) - (t * a))
if (x <= (-3d+39)) then
tmp = t_1
else if (x <= (-2.45d-265)) then
tmp = i * ((a * b) - (y * j))
else if (x <= 5.8d-233) then
tmp = j * ((t * c) - (y * i))
else if (x <= 6.5d-142) then
tmp = (z * (x * y)) + (b * ((a * i) - (z * c)))
else if (x <= 8d+106) then
tmp = (x * (y * z)) - (j * ((y * i) - (t * c)))
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 t_1 = x * ((y * z) - (t * a));
double tmp;
if (x <= -3e+39) {
tmp = t_1;
} else if (x <= -2.45e-265) {
tmp = i * ((a * b) - (y * j));
} else if (x <= 5.8e-233) {
tmp = j * ((t * c) - (y * i));
} else if (x <= 6.5e-142) {
tmp = (z * (x * y)) + (b * ((a * i) - (z * c)));
} else if (x <= 8e+106) {
tmp = (x * (y * z)) - (j * ((y * i) - (t * c)));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = x * ((y * z) - (t * a)) tmp = 0 if x <= -3e+39: tmp = t_1 elif x <= -2.45e-265: tmp = i * ((a * b) - (y * j)) elif x <= 5.8e-233: tmp = j * ((t * c) - (y * i)) elif x <= 6.5e-142: tmp = (z * (x * y)) + (b * ((a * i) - (z * c))) elif x <= 8e+106: tmp = (x * (y * z)) - (j * ((y * i) - (t * c))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(x * Float64(Float64(y * z) - Float64(t * a))) tmp = 0.0 if (x <= -3e+39) tmp = t_1; elseif (x <= -2.45e-265) tmp = Float64(i * Float64(Float64(a * b) - Float64(y * j))); elseif (x <= 5.8e-233) tmp = Float64(j * Float64(Float64(t * c) - Float64(y * i))); elseif (x <= 6.5e-142) tmp = Float64(Float64(z * Float64(x * y)) + Float64(b * Float64(Float64(a * i) - Float64(z * c)))); elseif (x <= 8e+106) tmp = Float64(Float64(x * Float64(y * z)) - Float64(j * Float64(Float64(y * i) - Float64(t * c)))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = x * ((y * z) - (t * a)); tmp = 0.0; if (x <= -3e+39) tmp = t_1; elseif (x <= -2.45e-265) tmp = i * ((a * b) - (y * j)); elseif (x <= 5.8e-233) tmp = j * ((t * c) - (y * i)); elseif (x <= 6.5e-142) tmp = (z * (x * y)) + (b * ((a * i) - (z * c))); elseif (x <= 8e+106) tmp = (x * (y * z)) - (j * ((y * i) - (t * c))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -3e+39], t$95$1, If[LessEqual[x, -2.45e-265], N[(i * N[(N[(a * b), $MachinePrecision] - N[(y * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 5.8e-233], N[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 6.5e-142], N[(N[(z * N[(x * y), $MachinePrecision]), $MachinePrecision] + N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 8e+106], N[(N[(x * N[(y * z), $MachinePrecision]), $MachinePrecision] - N[(j * N[(N[(y * i), $MachinePrecision] - N[(t * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(y \cdot z - t \cdot a\right)\\
\mathbf{if}\;x \leq -3 \cdot 10^{+39}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;x \leq -2.45 \cdot 10^{-265}:\\
\;\;\;\;i \cdot \left(a \cdot b - y \cdot j\right)\\
\mathbf{elif}\;x \leq 5.8 \cdot 10^{-233}:\\
\;\;\;\;j \cdot \left(t \cdot c - y \cdot i\right)\\
\mathbf{elif}\;x \leq 6.5 \cdot 10^{-142}:\\
\;\;\;\;z \cdot \left(x \cdot y\right) + b \cdot \left(a \cdot i - z \cdot c\right)\\
\mathbf{elif}\;x \leq 8 \cdot 10^{+106}:\\
\;\;\;\;x \cdot \left(y \cdot z\right) - j \cdot \left(y \cdot i - t \cdot c\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if x < -3e39 or 8.00000000000000073e106 < x Initial program 72.4%
Taylor expanded in t around -inf 58.7%
Simplified62.2%
Taylor expanded in x around inf 72.6%
if -3e39 < x < -2.45e-265Initial program 61.0%
Taylor expanded in i around inf 54.2%
*-commutative54.2%
associate-*r*54.2%
neg-mul-154.2%
cancel-sign-sub54.2%
+-commutative54.2%
mul-1-neg54.2%
unsub-neg54.2%
Simplified54.2%
if -2.45e-265 < x < 5.79999999999999964e-233Initial program 74.5%
Taylor expanded in j around inf 69.9%
if 5.79999999999999964e-233 < x < 6.50000000000000027e-142Initial program 73.4%
Taylor expanded in t around 0 60.3%
sub-neg60.3%
mul-1-neg60.3%
associate-*r*68.8%
*-commutative68.8%
associate-*r*68.8%
distribute-rgt-neg-in68.8%
mul-1-neg68.8%
distribute-lft-in68.8%
+-commutative68.8%
mul-1-neg68.8%
unsub-neg68.8%
*-commutative68.8%
fma-neg68.8%
distribute-rgt-neg-out68.8%
distribute-rgt-neg-in68.8%
neg-sub068.8%
distribute-rgt-neg-out68.8%
Simplified68.8%
Taylor expanded in z around inf 63.7%
*-commutative14.7%
associate-*l*14.8%
Simplified63.7%
if 6.50000000000000027e-142 < x < 8.00000000000000073e106Initial program 75.9%
Taylor expanded in b around 0 69.5%
Taylor expanded in y around inf 67.5%
Final simplification66.5%
(FPCore (x y z t a b c i j)
:precision binary64
(if (<= c -5.6e+140)
(* c (- (* t j) (* z b)))
(if (<= c -1.3e-53)
(+ (* z (* x y)) (* b (- (* a i) (* z c))))
(if (<= c 4.7e-241)
(- (* x (* y z)) (* j (- (* y i) (* t c))))
(if (<= c 1.3e-62)
(* x (- (* y z) (* t a)))
(if (<= c 3.2e+177)
(- (* y (- (* x z) (* i j))) (* c (* z b)))
(* t (- (* c j) (* x a)))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (c <= -5.6e+140) {
tmp = c * ((t * j) - (z * b));
} else if (c <= -1.3e-53) {
tmp = (z * (x * y)) + (b * ((a * i) - (z * c)));
} else if (c <= 4.7e-241) {
tmp = (x * (y * z)) - (j * ((y * i) - (t * c)));
} else if (c <= 1.3e-62) {
tmp = x * ((y * z) - (t * a));
} else if (c <= 3.2e+177) {
tmp = (y * ((x * z) - (i * j))) - (c * (z * b));
} else {
tmp = t * ((c * j) - (x * a));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: tmp
if (c <= (-5.6d+140)) then
tmp = c * ((t * j) - (z * b))
else if (c <= (-1.3d-53)) then
tmp = (z * (x * y)) + (b * ((a * i) - (z * c)))
else if (c <= 4.7d-241) then
tmp = (x * (y * z)) - (j * ((y * i) - (t * c)))
else if (c <= 1.3d-62) then
tmp = x * ((y * z) - (t * a))
else if (c <= 3.2d+177) then
tmp = (y * ((x * z) - (i * j))) - (c * (z * b))
else
tmp = t * ((c * j) - (x * a))
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 tmp;
if (c <= -5.6e+140) {
tmp = c * ((t * j) - (z * b));
} else if (c <= -1.3e-53) {
tmp = (z * (x * y)) + (b * ((a * i) - (z * c)));
} else if (c <= 4.7e-241) {
tmp = (x * (y * z)) - (j * ((y * i) - (t * c)));
} else if (c <= 1.3e-62) {
tmp = x * ((y * z) - (t * a));
} else if (c <= 3.2e+177) {
tmp = (y * ((x * z) - (i * j))) - (c * (z * b));
} else {
tmp = t * ((c * j) - (x * a));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if c <= -5.6e+140: tmp = c * ((t * j) - (z * b)) elif c <= -1.3e-53: tmp = (z * (x * y)) + (b * ((a * i) - (z * c))) elif c <= 4.7e-241: tmp = (x * (y * z)) - (j * ((y * i) - (t * c))) elif c <= 1.3e-62: tmp = x * ((y * z) - (t * a)) elif c <= 3.2e+177: tmp = (y * ((x * z) - (i * j))) - (c * (z * b)) else: tmp = t * ((c * j) - (x * a)) return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if (c <= -5.6e+140) tmp = Float64(c * Float64(Float64(t * j) - Float64(z * b))); elseif (c <= -1.3e-53) tmp = Float64(Float64(z * Float64(x * y)) + Float64(b * Float64(Float64(a * i) - Float64(z * c)))); elseif (c <= 4.7e-241) tmp = Float64(Float64(x * Float64(y * z)) - Float64(j * Float64(Float64(y * i) - Float64(t * c)))); elseif (c <= 1.3e-62) tmp = Float64(x * Float64(Float64(y * z) - Float64(t * a))); elseif (c <= 3.2e+177) tmp = Float64(Float64(y * Float64(Float64(x * z) - Float64(i * j))) - Float64(c * Float64(z * b))); else tmp = Float64(t * Float64(Float64(c * j) - Float64(x * a))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if (c <= -5.6e+140) tmp = c * ((t * j) - (z * b)); elseif (c <= -1.3e-53) tmp = (z * (x * y)) + (b * ((a * i) - (z * c))); elseif (c <= 4.7e-241) tmp = (x * (y * z)) - (j * ((y * i) - (t * c))); elseif (c <= 1.3e-62) tmp = x * ((y * z) - (t * a)); elseif (c <= 3.2e+177) tmp = (y * ((x * z) - (i * j))) - (c * (z * b)); else tmp = t * ((c * j) - (x * a)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[LessEqual[c, -5.6e+140], N[(c * N[(N[(t * j), $MachinePrecision] - N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, -1.3e-53], N[(N[(z * N[(x * y), $MachinePrecision]), $MachinePrecision] + N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 4.7e-241], N[(N[(x * N[(y * z), $MachinePrecision]), $MachinePrecision] - N[(j * N[(N[(y * i), $MachinePrecision] - N[(t * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 1.3e-62], N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 3.2e+177], N[(N[(y * N[(N[(x * z), $MachinePrecision] - N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(c * N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;c \leq -5.6 \cdot 10^{+140}:\\
\;\;\;\;c \cdot \left(t \cdot j - z \cdot b\right)\\
\mathbf{elif}\;c \leq -1.3 \cdot 10^{-53}:\\
\;\;\;\;z \cdot \left(x \cdot y\right) + b \cdot \left(a \cdot i - z \cdot c\right)\\
\mathbf{elif}\;c \leq 4.7 \cdot 10^{-241}:\\
\;\;\;\;x \cdot \left(y \cdot z\right) - j \cdot \left(y \cdot i - t \cdot c\right)\\
\mathbf{elif}\;c \leq 1.3 \cdot 10^{-62}:\\
\;\;\;\;x \cdot \left(y \cdot z - t \cdot a\right)\\
\mathbf{elif}\;c \leq 3.2 \cdot 10^{+177}:\\
\;\;\;\;y \cdot \left(x \cdot z - i \cdot j\right) - c \cdot \left(z \cdot b\right)\\
\mathbf{else}:\\
\;\;\;\;t \cdot \left(c \cdot j - x \cdot a\right)\\
\end{array}
\end{array}
if c < -5.59999999999999966e140Initial program 50.7%
Taylor expanded in c around inf 79.9%
*-commutative79.9%
Simplified79.9%
if -5.59999999999999966e140 < c < -1.29999999999999998e-53Initial program 66.5%
Taylor expanded in t around 0 68.2%
sub-neg68.2%
mul-1-neg68.2%
associate-*r*68.2%
*-commutative68.2%
associate-*r*68.1%
distribute-rgt-neg-in68.1%
mul-1-neg68.1%
distribute-lft-in68.1%
+-commutative68.1%
mul-1-neg68.1%
unsub-neg68.1%
*-commutative68.1%
fma-neg68.1%
distribute-rgt-neg-out68.1%
distribute-rgt-neg-in68.1%
neg-sub068.1%
distribute-rgt-neg-out68.1%
Simplified68.1%
Taylor expanded in z around inf 65.7%
*-commutative36.0%
associate-*l*38.6%
Simplified68.3%
if -1.29999999999999998e-53 < c < 4.6999999999999999e-241Initial program 81.2%
Taylor expanded in b around 0 71.6%
Taylor expanded in y around inf 58.9%
if 4.6999999999999999e-241 < c < 1.3e-62Initial program 77.6%
Taylor expanded in t around -inf 65.5%
Simplified73.0%
Taylor expanded in x around inf 60.5%
if 1.3e-62 < c < 3.2e177Initial program 77.3%
Taylor expanded in t around 0 72.6%
sub-neg72.6%
mul-1-neg72.6%
associate-*r*68.6%
*-commutative68.6%
associate-*r*74.8%
distribute-rgt-neg-in74.8%
mul-1-neg74.8%
distribute-lft-in74.8%
+-commutative74.8%
mul-1-neg74.8%
unsub-neg74.8%
*-commutative74.8%
fma-neg74.8%
distribute-rgt-neg-out74.8%
distribute-rgt-neg-in74.8%
neg-sub074.8%
distribute-rgt-neg-out74.8%
Simplified74.8%
Taylor expanded in a around 0 67.0%
+-commutative67.0%
mul-1-neg67.0%
unsub-neg67.0%
*-commutative67.0%
Simplified67.0%
if 3.2e177 < c Initial program 54.7%
Taylor expanded in t around inf 72.1%
*-commutative72.1%
mul-1-neg72.1%
unsub-neg72.1%
Simplified72.1%
Final simplification66.4%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* t (- (* c j) (* x a)))))
(if (<= t -5.8e+113)
(- t_1 (* c (* z b)))
(if (<= t -2.55e-33)
(- (* x (- (* y z) (* t a))) (* i (* y j)))
(if (<= t 2.8e+52)
(+ (* y (- (* x z) (* i j))) (* b (- (* a i) (* z c))))
t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = t * ((c * j) - (x * a));
double tmp;
if (t <= -5.8e+113) {
tmp = t_1 - (c * (z * b));
} else if (t <= -2.55e-33) {
tmp = (x * ((y * z) - (t * a))) - (i * (y * j));
} else if (t <= 2.8e+52) {
tmp = (y * ((x * z) - (i * j))) + (b * ((a * i) - (z * c)));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: t_1
real(8) :: tmp
t_1 = t * ((c * j) - (x * a))
if (t <= (-5.8d+113)) then
tmp = t_1 - (c * (z * b))
else if (t <= (-2.55d-33)) then
tmp = (x * ((y * z) - (t * a))) - (i * (y * j))
else if (t <= 2.8d+52) then
tmp = (y * ((x * z) - (i * j))) + (b * ((a * i) - (z * c)))
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 t_1 = t * ((c * j) - (x * a));
double tmp;
if (t <= -5.8e+113) {
tmp = t_1 - (c * (z * b));
} else if (t <= -2.55e-33) {
tmp = (x * ((y * z) - (t * a))) - (i * (y * j));
} else if (t <= 2.8e+52) {
tmp = (y * ((x * z) - (i * j))) + (b * ((a * i) - (z * c)));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = t * ((c * j) - (x * a)) tmp = 0 if t <= -5.8e+113: tmp = t_1 - (c * (z * b)) elif t <= -2.55e-33: tmp = (x * ((y * z) - (t * a))) - (i * (y * j)) elif t <= 2.8e+52: tmp = (y * ((x * z) - (i * j))) + (b * ((a * i) - (z * c))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(t * Float64(Float64(c * j) - Float64(x * a))) tmp = 0.0 if (t <= -5.8e+113) tmp = Float64(t_1 - Float64(c * Float64(z * b))); elseif (t <= -2.55e-33) tmp = Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) - Float64(i * Float64(y * j))); elseif (t <= 2.8e+52) tmp = Float64(Float64(y * Float64(Float64(x * z) - Float64(i * j))) + Float64(b * Float64(Float64(a * i) - Float64(z * c)))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = t * ((c * j) - (x * a)); tmp = 0.0; if (t <= -5.8e+113) tmp = t_1 - (c * (z * b)); elseif (t <= -2.55e-33) tmp = (x * ((y * z) - (t * a))) - (i * (y * j)); elseif (t <= 2.8e+52) tmp = (y * ((x * z) - (i * j))) + (b * ((a * i) - (z * c))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -5.8e+113], N[(t$95$1 - N[(c * N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, -2.55e-33], N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(i * N[(y * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 2.8e+52], N[(N[(y * N[(N[(x * z), $MachinePrecision] - N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(c \cdot j - x \cdot a\right)\\
\mathbf{if}\;t \leq -5.8 \cdot 10^{+113}:\\
\;\;\;\;t_1 - c \cdot \left(z \cdot b\right)\\
\mathbf{elif}\;t \leq -2.55 \cdot 10^{-33}:\\
\;\;\;\;x \cdot \left(y \cdot z - t \cdot a\right) - i \cdot \left(y \cdot j\right)\\
\mathbf{elif}\;t \leq 2.8 \cdot 10^{+52}:\\
\;\;\;\;y \cdot \left(x \cdot z - i \cdot j\right) + b \cdot \left(a \cdot i - z \cdot c\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if t < -5.79999999999999968e113Initial program 53.7%
Taylor expanded in t around -inf 66.2%
Simplified70.4%
Taylor expanded in c around -inf 74.3%
if -5.79999999999999968e113 < t < -2.55000000000000004e-33Initial program 82.7%
Taylor expanded in b around 0 82.7%
Taylor expanded in i around inf 70.2%
if -2.55000000000000004e-33 < t < 2.8e52Initial program 76.8%
Taylor expanded in t around 0 68.0%
sub-neg68.0%
mul-1-neg68.0%
associate-*r*67.1%
*-commutative67.1%
associate-*r*68.0%
distribute-rgt-neg-in68.0%
mul-1-neg68.0%
distribute-lft-in68.7%
+-commutative68.7%
mul-1-neg68.7%
unsub-neg68.7%
*-commutative68.7%
fma-neg68.7%
distribute-rgt-neg-out68.7%
distribute-rgt-neg-in68.7%
neg-sub068.7%
distribute-rgt-neg-out68.7%
Simplified68.7%
if 2.8e52 < t Initial program 64.7%
Taylor expanded in t around inf 66.8%
*-commutative66.8%
mul-1-neg66.8%
unsub-neg66.8%
Simplified66.8%
Final simplification69.5%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (+ (* z (- (* x y) (* b c))) (* t (- (* c j) (* x a))))))
(if (<= z -1.1e-120)
t_1
(if (<= z -2.2e-174)
(+ (* y (- (* x z) (* i j))) (* b (- (* a i) (* z c))))
(if (<= z 1.45e+31)
(- (* x (- (* y z) (* t a))) (* j (- (* y i) (* t c))))
t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = (z * ((x * y) - (b * c))) + (t * ((c * j) - (x * a)));
double tmp;
if (z <= -1.1e-120) {
tmp = t_1;
} else if (z <= -2.2e-174) {
tmp = (y * ((x * z) - (i * j))) + (b * ((a * i) - (z * c)));
} else if (z <= 1.45e+31) {
tmp = (x * ((y * z) - (t * a))) - (j * ((y * i) - (t * c)));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: t_1
real(8) :: tmp
t_1 = (z * ((x * y) - (b * c))) + (t * ((c * j) - (x * a)))
if (z <= (-1.1d-120)) then
tmp = t_1
else if (z <= (-2.2d-174)) then
tmp = (y * ((x * z) - (i * j))) + (b * ((a * i) - (z * c)))
else if (z <= 1.45d+31) then
tmp = (x * ((y * z) - (t * a))) - (j * ((y * i) - (t * c)))
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 t_1 = (z * ((x * y) - (b * c))) + (t * ((c * j) - (x * a)));
double tmp;
if (z <= -1.1e-120) {
tmp = t_1;
} else if (z <= -2.2e-174) {
tmp = (y * ((x * z) - (i * j))) + (b * ((a * i) - (z * c)));
} else if (z <= 1.45e+31) {
tmp = (x * ((y * z) - (t * a))) - (j * ((y * i) - (t * c)));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = (z * ((x * y) - (b * c))) + (t * ((c * j) - (x * a))) tmp = 0 if z <= -1.1e-120: tmp = t_1 elif z <= -2.2e-174: tmp = (y * ((x * z) - (i * j))) + (b * ((a * i) - (z * c))) elif z <= 1.45e+31: tmp = (x * ((y * z) - (t * a))) - (j * ((y * i) - (t * c))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(Float64(z * Float64(Float64(x * y) - Float64(b * c))) + Float64(t * Float64(Float64(c * j) - Float64(x * a)))) tmp = 0.0 if (z <= -1.1e-120) tmp = t_1; elseif (z <= -2.2e-174) tmp = Float64(Float64(y * Float64(Float64(x * z) - Float64(i * j))) + Float64(b * Float64(Float64(a * i) - Float64(z * c)))); elseif (z <= 1.45e+31) tmp = Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) - Float64(j * Float64(Float64(y * i) - Float64(t * c)))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = (z * ((x * y) - (b * c))) + (t * ((c * j) - (x * a))); tmp = 0.0; if (z <= -1.1e-120) tmp = t_1; elseif (z <= -2.2e-174) tmp = (y * ((x * z) - (i * j))) + (b * ((a * i) - (z * c))); elseif (z <= 1.45e+31) tmp = (x * ((y * z) - (t * a))) - (j * ((y * i) - (t * c))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[(z * N[(N[(x * y), $MachinePrecision] - N[(b * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -1.1e-120], t$95$1, If[LessEqual[z, -2.2e-174], N[(N[(y * N[(N[(x * z), $MachinePrecision] - N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1.45e+31], N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(j * N[(N[(y * i), $MachinePrecision] - N[(t * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := z \cdot \left(x \cdot y - b \cdot c\right) + t \cdot \left(c \cdot j - x \cdot a\right)\\
\mathbf{if}\;z \leq -1.1 \cdot 10^{-120}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq -2.2 \cdot 10^{-174}:\\
\;\;\;\;y \cdot \left(x \cdot z - i \cdot j\right) + b \cdot \left(a \cdot i - z \cdot c\right)\\
\mathbf{elif}\;z \leq 1.45 \cdot 10^{+31}:\\
\;\;\;\;x \cdot \left(y \cdot z - t \cdot a\right) - j \cdot \left(y \cdot i - t \cdot c\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if z < -1.10000000000000006e-120 or 1.45e31 < z Initial program 65.1%
Taylor expanded in t around -inf 65.0%
Simplified66.6%
Taylor expanded in i around 0 58.2%
associate-*r*58.2%
*-commutative58.2%
associate-*r*61.8%
associate-*r*61.8%
*-commutative61.8%
associate-*r*68.0%
distribute-rgt-in71.2%
+-commutative71.2%
mul-1-neg71.2%
unsub-neg71.2%
*-commutative71.2%
Simplified71.2%
if -1.10000000000000006e-120 < z < -2.20000000000000022e-174Initial program 88.7%
Taylor expanded in t around 0 78.2%
sub-neg78.2%
mul-1-neg78.2%
associate-*r*78.2%
*-commutative78.2%
associate-*r*78.2%
distribute-rgt-neg-in78.2%
mul-1-neg78.2%
distribute-lft-in78.2%
+-commutative78.2%
mul-1-neg78.2%
unsub-neg78.2%
*-commutative78.2%
fma-neg78.2%
distribute-rgt-neg-out78.2%
distribute-rgt-neg-in78.2%
neg-sub078.2%
distribute-rgt-neg-out78.2%
Simplified78.2%
if -2.20000000000000022e-174 < z < 1.45e31Initial program 75.3%
Taylor expanded in b around 0 72.5%
Final simplification72.0%
(FPCore (x y z t a b c i j)
:precision binary64
(if (<= c -4.5e+32)
(* c (- (* t j) (* z b)))
(if (<= c 1.6e-62)
(- (* x (- (* y z) (* t a))) (* i (* y j)))
(if (<= c 2.1e+177)
(- (* y (- (* x z) (* i j))) (* c (* z b)))
(* t (- (* c j) (* x a)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (c <= -4.5e+32) {
tmp = c * ((t * j) - (z * b));
} else if (c <= 1.6e-62) {
tmp = (x * ((y * z) - (t * a))) - (i * (y * j));
} else if (c <= 2.1e+177) {
tmp = (y * ((x * z) - (i * j))) - (c * (z * b));
} else {
tmp = t * ((c * j) - (x * a));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: tmp
if (c <= (-4.5d+32)) then
tmp = c * ((t * j) - (z * b))
else if (c <= 1.6d-62) then
tmp = (x * ((y * z) - (t * a))) - (i * (y * j))
else if (c <= 2.1d+177) then
tmp = (y * ((x * z) - (i * j))) - (c * (z * b))
else
tmp = t * ((c * j) - (x * a))
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 tmp;
if (c <= -4.5e+32) {
tmp = c * ((t * j) - (z * b));
} else if (c <= 1.6e-62) {
tmp = (x * ((y * z) - (t * a))) - (i * (y * j));
} else if (c <= 2.1e+177) {
tmp = (y * ((x * z) - (i * j))) - (c * (z * b));
} else {
tmp = t * ((c * j) - (x * a));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if c <= -4.5e+32: tmp = c * ((t * j) - (z * b)) elif c <= 1.6e-62: tmp = (x * ((y * z) - (t * a))) - (i * (y * j)) elif c <= 2.1e+177: tmp = (y * ((x * z) - (i * j))) - (c * (z * b)) else: tmp = t * ((c * j) - (x * a)) return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if (c <= -4.5e+32) tmp = Float64(c * Float64(Float64(t * j) - Float64(z * b))); elseif (c <= 1.6e-62) tmp = Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) - Float64(i * Float64(y * j))); elseif (c <= 2.1e+177) tmp = Float64(Float64(y * Float64(Float64(x * z) - Float64(i * j))) - Float64(c * Float64(z * b))); else tmp = Float64(t * Float64(Float64(c * j) - Float64(x * a))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if (c <= -4.5e+32) tmp = c * ((t * j) - (z * b)); elseif (c <= 1.6e-62) tmp = (x * ((y * z) - (t * a))) - (i * (y * j)); elseif (c <= 2.1e+177) tmp = (y * ((x * z) - (i * j))) - (c * (z * b)); else tmp = t * ((c * j) - (x * a)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[LessEqual[c, -4.5e+32], N[(c * N[(N[(t * j), $MachinePrecision] - N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 1.6e-62], N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(i * N[(y * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 2.1e+177], N[(N[(y * N[(N[(x * z), $MachinePrecision] - N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(c * N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;c \leq -4.5 \cdot 10^{+32}:\\
\;\;\;\;c \cdot \left(t \cdot j - z \cdot b\right)\\
\mathbf{elif}\;c \leq 1.6 \cdot 10^{-62}:\\
\;\;\;\;x \cdot \left(y \cdot z - t \cdot a\right) - i \cdot \left(y \cdot j\right)\\
\mathbf{elif}\;c \leq 2.1 \cdot 10^{+177}:\\
\;\;\;\;y \cdot \left(x \cdot z - i \cdot j\right) - c \cdot \left(z \cdot b\right)\\
\mathbf{else}:\\
\;\;\;\;t \cdot \left(c \cdot j - x \cdot a\right)\\
\end{array}
\end{array}
if c < -4.5000000000000003e32Initial program 55.6%
Taylor expanded in c around inf 72.6%
*-commutative72.6%
Simplified72.6%
if -4.5000000000000003e32 < c < 1.60000000000000011e-62Initial program 78.6%
Taylor expanded in b around 0 69.5%
Taylor expanded in i around inf 63.4%
if 1.60000000000000011e-62 < c < 2.10000000000000013e177Initial program 77.3%
Taylor expanded in t around 0 72.6%
sub-neg72.6%
mul-1-neg72.6%
associate-*r*68.6%
*-commutative68.6%
associate-*r*74.8%
distribute-rgt-neg-in74.8%
mul-1-neg74.8%
distribute-lft-in74.8%
+-commutative74.8%
mul-1-neg74.8%
unsub-neg74.8%
*-commutative74.8%
fma-neg74.8%
distribute-rgt-neg-out74.8%
distribute-rgt-neg-in74.8%
neg-sub074.8%
distribute-rgt-neg-out74.8%
Simplified74.8%
Taylor expanded in a around 0 67.0%
+-commutative67.0%
mul-1-neg67.0%
unsub-neg67.0%
*-commutative67.0%
Simplified67.0%
if 2.10000000000000013e177 < c Initial program 54.7%
Taylor expanded in t around inf 72.1%
*-commutative72.1%
mul-1-neg72.1%
unsub-neg72.1%
Simplified72.1%
Final simplification67.0%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* z (- (* x y) (* b c)))) (t_2 (* a (- (* b i) (* x t)))))
(if (<= a -3.8e+15)
t_2
(if (<= a 5.2e-255)
t_1
(if (<= a 1.1e-183)
(* j (- (* t c) (* y i)))
(if (<= a 2.3e-126)
t_1
(if (<= a 1.38e+93) (* t (- (* c j) (* x a))) t_2)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = z * ((x * y) - (b * c));
double t_2 = a * ((b * i) - (x * t));
double tmp;
if (a <= -3.8e+15) {
tmp = t_2;
} else if (a <= 5.2e-255) {
tmp = t_1;
} else if (a <= 1.1e-183) {
tmp = j * ((t * c) - (y * i));
} else if (a <= 2.3e-126) {
tmp = t_1;
} else if (a <= 1.38e+93) {
tmp = t * ((c * j) - (x * a));
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = z * ((x * y) - (b * c))
t_2 = a * ((b * i) - (x * t))
if (a <= (-3.8d+15)) then
tmp = t_2
else if (a <= 5.2d-255) then
tmp = t_1
else if (a <= 1.1d-183) then
tmp = j * ((t * c) - (y * i))
else if (a <= 2.3d-126) then
tmp = t_1
else if (a <= 1.38d+93) then
tmp = t * ((c * j) - (x * a))
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 t_1 = z * ((x * y) - (b * c));
double t_2 = a * ((b * i) - (x * t));
double tmp;
if (a <= -3.8e+15) {
tmp = t_2;
} else if (a <= 5.2e-255) {
tmp = t_1;
} else if (a <= 1.1e-183) {
tmp = j * ((t * c) - (y * i));
} else if (a <= 2.3e-126) {
tmp = t_1;
} else if (a <= 1.38e+93) {
tmp = t * ((c * j) - (x * a));
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = z * ((x * y) - (b * c)) t_2 = a * ((b * i) - (x * t)) tmp = 0 if a <= -3.8e+15: tmp = t_2 elif a <= 5.2e-255: tmp = t_1 elif a <= 1.1e-183: tmp = j * ((t * c) - (y * i)) elif a <= 2.3e-126: tmp = t_1 elif a <= 1.38e+93: tmp = t * ((c * j) - (x * a)) else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(z * Float64(Float64(x * y) - Float64(b * c))) t_2 = Float64(a * Float64(Float64(b * i) - Float64(x * t))) tmp = 0.0 if (a <= -3.8e+15) tmp = t_2; elseif (a <= 5.2e-255) tmp = t_1; elseif (a <= 1.1e-183) tmp = Float64(j * Float64(Float64(t * c) - Float64(y * i))); elseif (a <= 2.3e-126) tmp = t_1; elseif (a <= 1.38e+93) tmp = Float64(t * Float64(Float64(c * j) - Float64(x * a))); else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = z * ((x * y) - (b * c)); t_2 = a * ((b * i) - (x * t)); tmp = 0.0; if (a <= -3.8e+15) tmp = t_2; elseif (a <= 5.2e-255) tmp = t_1; elseif (a <= 1.1e-183) tmp = j * ((t * c) - (y * i)); elseif (a <= 2.3e-126) tmp = t_1; elseif (a <= 1.38e+93) tmp = t * ((c * j) - (x * a)); else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(z * N[(N[(x * y), $MachinePrecision] - N[(b * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(a * N[(N[(b * i), $MachinePrecision] - N[(x * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -3.8e+15], t$95$2, If[LessEqual[a, 5.2e-255], t$95$1, If[LessEqual[a, 1.1e-183], N[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 2.3e-126], t$95$1, If[LessEqual[a, 1.38e+93], N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := z \cdot \left(x \cdot y - b \cdot c\right)\\
t_2 := a \cdot \left(b \cdot i - x \cdot t\right)\\
\mathbf{if}\;a \leq -3.8 \cdot 10^{+15}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;a \leq 5.2 \cdot 10^{-255}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 1.1 \cdot 10^{-183}:\\
\;\;\;\;j \cdot \left(t \cdot c - y \cdot i\right)\\
\mathbf{elif}\;a \leq 2.3 \cdot 10^{-126}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 1.38 \cdot 10^{+93}:\\
\;\;\;\;t \cdot \left(c \cdot j - x \cdot a\right)\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if a < -3.8e15 or 1.38000000000000005e93 < a Initial program 54.0%
Taylor expanded in a around inf 73.2%
associate-*r*73.2%
neg-mul-173.2%
cancel-sign-sub73.2%
+-commutative73.2%
mul-1-neg73.2%
unsub-neg73.2%
Simplified73.2%
if -3.8e15 < a < 5.20000000000000041e-255 or 1.1e-183 < a < 2.30000000000000011e-126Initial program 79.8%
Taylor expanded in z around inf 56.4%
if 5.20000000000000041e-255 < a < 1.1e-183Initial program 93.9%
Taylor expanded in j around inf 76.9%
if 2.30000000000000011e-126 < a < 1.38000000000000005e93Initial program 73.8%
Taylor expanded in t around inf 53.9%
*-commutative53.9%
mul-1-neg53.9%
unsub-neg53.9%
Simplified53.9%
Final simplification63.3%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* a (- (* b i) (* x t)))))
(if (<= a -3.6e+14)
t_1
(if (<= a -1.22e-95)
(* y (* x z))
(if (or (<= a -2e-133) (not (<= a 2.95e-6))) t_1 (* (* y j) (- i)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = a * ((b * i) - (x * t));
double tmp;
if (a <= -3.6e+14) {
tmp = t_1;
} else if (a <= -1.22e-95) {
tmp = y * (x * z);
} else if ((a <= -2e-133) || !(a <= 2.95e-6)) {
tmp = t_1;
} else {
tmp = (y * j) * -i;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: t_1
real(8) :: tmp
t_1 = a * ((b * i) - (x * t))
if (a <= (-3.6d+14)) then
tmp = t_1
else if (a <= (-1.22d-95)) then
tmp = y * (x * z)
else if ((a <= (-2d-133)) .or. (.not. (a <= 2.95d-6))) then
tmp = t_1
else
tmp = (y * j) * -i
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = a * ((b * i) - (x * t));
double tmp;
if (a <= -3.6e+14) {
tmp = t_1;
} else if (a <= -1.22e-95) {
tmp = y * (x * z);
} else if ((a <= -2e-133) || !(a <= 2.95e-6)) {
tmp = t_1;
} else {
tmp = (y * j) * -i;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = a * ((b * i) - (x * t)) tmp = 0 if a <= -3.6e+14: tmp = t_1 elif a <= -1.22e-95: tmp = y * (x * z) elif (a <= -2e-133) or not (a <= 2.95e-6): tmp = t_1 else: tmp = (y * j) * -i return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(a * Float64(Float64(b * i) - Float64(x * t))) tmp = 0.0 if (a <= -3.6e+14) tmp = t_1; elseif (a <= -1.22e-95) tmp = Float64(y * Float64(x * z)); elseif ((a <= -2e-133) || !(a <= 2.95e-6)) tmp = t_1; else tmp = Float64(Float64(y * j) * Float64(-i)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = a * ((b * i) - (x * t)); tmp = 0.0; if (a <= -3.6e+14) tmp = t_1; elseif (a <= -1.22e-95) tmp = y * (x * z); elseif ((a <= -2e-133) || ~((a <= 2.95e-6))) tmp = t_1; else tmp = (y * j) * -i; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(a * N[(N[(b * i), $MachinePrecision] - N[(x * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -3.6e+14], t$95$1, If[LessEqual[a, -1.22e-95], N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[a, -2e-133], N[Not[LessEqual[a, 2.95e-6]], $MachinePrecision]], t$95$1, N[(N[(y * j), $MachinePrecision] * (-i)), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(b \cdot i - x \cdot t\right)\\
\mathbf{if}\;a \leq -3.6 \cdot 10^{+14}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq -1.22 \cdot 10^{-95}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\mathbf{elif}\;a \leq -2 \cdot 10^{-133} \lor \neg \left(a \leq 2.95 \cdot 10^{-6}\right):\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;\left(y \cdot j\right) \cdot \left(-i\right)\\
\end{array}
\end{array}
if a < -3.6e14 or -1.22e-95 < a < -2.0000000000000001e-133 or 2.95000000000000013e-6 < a Initial program 59.4%
Taylor expanded in a around inf 68.5%
associate-*r*68.5%
neg-mul-168.5%
cancel-sign-sub68.5%
+-commutative68.5%
mul-1-neg68.5%
unsub-neg68.5%
Simplified68.5%
if -3.6e14 < a < -1.22e-95Initial program 86.8%
Taylor expanded in y around inf 47.6%
+-commutative47.6%
mul-1-neg47.6%
unsub-neg47.6%
Simplified47.6%
Taylor expanded in z around inf 34.0%
if -2.0000000000000001e-133 < a < 2.95000000000000013e-6Initial program 78.7%
Taylor expanded in y around inf 51.1%
+-commutative51.1%
mul-1-neg51.1%
unsub-neg51.1%
Simplified51.1%
Taylor expanded in z around 0 31.0%
mul-1-neg31.0%
associate-*r*31.0%
*-commutative31.0%
associate-*r*34.5%
distribute-rgt-neg-in34.5%
*-commutative34.5%
distribute-rgt-neg-in34.5%
Simplified34.5%
Final simplification50.3%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* y (- (* x z) (* i j)))) (t_2 (* a (- (* b i) (* x t)))))
(if (<= a -8.2e+16)
t_2
(if (<= a 2.3e-126)
t_1
(if (<= a 1.7e-32)
(* t (- (* c j) (* x a)))
(if (<= a 3e+51) 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 t_1 = y * ((x * z) - (i * j));
double t_2 = a * ((b * i) - (x * t));
double tmp;
if (a <= -8.2e+16) {
tmp = t_2;
} else if (a <= 2.3e-126) {
tmp = t_1;
} else if (a <= 1.7e-32) {
tmp = t * ((c * j) - (x * a));
} else if (a <= 3e+51) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = y * ((x * z) - (i * j))
t_2 = a * ((b * i) - (x * t))
if (a <= (-8.2d+16)) then
tmp = t_2
else if (a <= 2.3d-126) then
tmp = t_1
else if (a <= 1.7d-32) then
tmp = t * ((c * j) - (x * a))
else if (a <= 3d+51) 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 t_1 = y * ((x * z) - (i * j));
double t_2 = a * ((b * i) - (x * t));
double tmp;
if (a <= -8.2e+16) {
tmp = t_2;
} else if (a <= 2.3e-126) {
tmp = t_1;
} else if (a <= 1.7e-32) {
tmp = t * ((c * j) - (x * a));
} else if (a <= 3e+51) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = y * ((x * z) - (i * j)) t_2 = a * ((b * i) - (x * t)) tmp = 0 if a <= -8.2e+16: tmp = t_2 elif a <= 2.3e-126: tmp = t_1 elif a <= 1.7e-32: tmp = t * ((c * j) - (x * a)) elif a <= 3e+51: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(y * Float64(Float64(x * z) - Float64(i * j))) t_2 = Float64(a * Float64(Float64(b * i) - Float64(x * t))) tmp = 0.0 if (a <= -8.2e+16) tmp = t_2; elseif (a <= 2.3e-126) tmp = t_1; elseif (a <= 1.7e-32) tmp = Float64(t * Float64(Float64(c * j) - Float64(x * a))); elseif (a <= 3e+51) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = y * ((x * z) - (i * j)); t_2 = a * ((b * i) - (x * t)); tmp = 0.0; if (a <= -8.2e+16) tmp = t_2; elseif (a <= 2.3e-126) tmp = t_1; elseif (a <= 1.7e-32) tmp = t * ((c * j) - (x * a)); elseif (a <= 3e+51) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(y * N[(N[(x * z), $MachinePrecision] - N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(a * N[(N[(b * i), $MachinePrecision] - N[(x * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -8.2e+16], t$95$2, If[LessEqual[a, 2.3e-126], t$95$1, If[LessEqual[a, 1.7e-32], N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 3e+51], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \left(x \cdot z - i \cdot j\right)\\
t_2 := a \cdot \left(b \cdot i - x \cdot t\right)\\
\mathbf{if}\;a \leq -8.2 \cdot 10^{+16}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;a \leq 2.3 \cdot 10^{-126}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 1.7 \cdot 10^{-32}:\\
\;\;\;\;t \cdot \left(c \cdot j - x \cdot a\right)\\
\mathbf{elif}\;a \leq 3 \cdot 10^{+51}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if a < -8.2e16 or 3e51 < a Initial program 54.7%
Taylor expanded in a around inf 71.6%
associate-*r*71.6%
neg-mul-171.6%
cancel-sign-sub71.6%
+-commutative71.6%
mul-1-neg71.6%
unsub-neg71.6%
Simplified71.6%
if -8.2e16 < a < 2.30000000000000011e-126 or 1.69999999999999989e-32 < a < 3e51Initial program 81.2%
Taylor expanded in y around inf 52.1%
+-commutative52.1%
mul-1-neg52.1%
unsub-neg52.1%
Simplified52.1%
if 2.30000000000000011e-126 < a < 1.69999999999999989e-32Initial program 71.4%
Taylor expanded in t around inf 76.4%
*-commutative76.4%
mul-1-neg76.4%
unsub-neg76.4%
Simplified76.4%
Final simplification60.5%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* i (* a b))) (t_2 (* c (* t j))) (t_3 (* y (* x z))))
(if (<= z -2.75e-34)
t_3
(if (<= z -3.55e-183)
t_1
(if (<= z 5.2e-286)
t_2
(if (<= z 1.3e-231) t_1 (if (<= z 7.6e-31) t_2 t_3)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = i * (a * b);
double t_2 = c * (t * j);
double t_3 = y * (x * z);
double tmp;
if (z <= -2.75e-34) {
tmp = t_3;
} else if (z <= -3.55e-183) {
tmp = t_1;
} else if (z <= 5.2e-286) {
tmp = t_2;
} else if (z <= 1.3e-231) {
tmp = t_1;
} else if (z <= 7.6e-31) {
tmp = t_2;
} else {
tmp = t_3;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = i * (a * b)
t_2 = c * (t * j)
t_3 = y * (x * z)
if (z <= (-2.75d-34)) then
tmp = t_3
else if (z <= (-3.55d-183)) then
tmp = t_1
else if (z <= 5.2d-286) then
tmp = t_2
else if (z <= 1.3d-231) then
tmp = t_1
else if (z <= 7.6d-31) then
tmp = t_2
else
tmp = t_3
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = i * (a * b);
double t_2 = c * (t * j);
double t_3 = y * (x * z);
double tmp;
if (z <= -2.75e-34) {
tmp = t_3;
} else if (z <= -3.55e-183) {
tmp = t_1;
} else if (z <= 5.2e-286) {
tmp = t_2;
} else if (z <= 1.3e-231) {
tmp = t_1;
} else if (z <= 7.6e-31) {
tmp = t_2;
} else {
tmp = t_3;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = i * (a * b) t_2 = c * (t * j) t_3 = y * (x * z) tmp = 0 if z <= -2.75e-34: tmp = t_3 elif z <= -3.55e-183: tmp = t_1 elif z <= 5.2e-286: tmp = t_2 elif z <= 1.3e-231: tmp = t_1 elif z <= 7.6e-31: tmp = t_2 else: tmp = t_3 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(i * Float64(a * b)) t_2 = Float64(c * Float64(t * j)) t_3 = Float64(y * Float64(x * z)) tmp = 0.0 if (z <= -2.75e-34) tmp = t_3; elseif (z <= -3.55e-183) tmp = t_1; elseif (z <= 5.2e-286) tmp = t_2; elseif (z <= 1.3e-231) tmp = t_1; elseif (z <= 7.6e-31) tmp = t_2; else tmp = t_3; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = i * (a * b); t_2 = c * (t * j); t_3 = y * (x * z); tmp = 0.0; if (z <= -2.75e-34) tmp = t_3; elseif (z <= -3.55e-183) tmp = t_1; elseif (z <= 5.2e-286) tmp = t_2; elseif (z <= 1.3e-231) tmp = t_1; elseif (z <= 7.6e-31) tmp = t_2; else tmp = t_3; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(i * N[(a * b), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(c * N[(t * j), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -2.75e-34], t$95$3, If[LessEqual[z, -3.55e-183], t$95$1, If[LessEqual[z, 5.2e-286], t$95$2, If[LessEqual[z, 1.3e-231], t$95$1, If[LessEqual[z, 7.6e-31], t$95$2, t$95$3]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := i \cdot \left(a \cdot b\right)\\
t_2 := c \cdot \left(t \cdot j\right)\\
t_3 := y \cdot \left(x \cdot z\right)\\
\mathbf{if}\;z \leq -2.75 \cdot 10^{-34}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;z \leq -3.55 \cdot 10^{-183}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq 5.2 \cdot 10^{-286}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;z \leq 1.3 \cdot 10^{-231}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq 7.6 \cdot 10^{-31}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t_3\\
\end{array}
\end{array}
if z < -2.75000000000000007e-34 or 7.5999999999999999e-31 < z Initial program 63.2%
Taylor expanded in y around inf 52.8%
+-commutative52.8%
mul-1-neg52.8%
unsub-neg52.8%
Simplified52.8%
Taylor expanded in z around inf 42.5%
if -2.75000000000000007e-34 < z < -3.5499999999999998e-183 or 5.1999999999999999e-286 < z < 1.30000000000000001e-231Initial program 73.3%
Taylor expanded in a around inf 57.4%
associate-*r*57.4%
neg-mul-157.4%
cancel-sign-sub57.4%
+-commutative57.4%
mul-1-neg57.4%
unsub-neg57.4%
Simplified57.4%
Taylor expanded in i around inf 36.4%
Taylor expanded in a around 0 43.4%
*-commutative43.4%
Simplified43.4%
if -3.5499999999999998e-183 < z < 5.1999999999999999e-286 or 1.30000000000000001e-231 < z < 7.5999999999999999e-31Initial program 80.0%
Taylor expanded in t around -inf 67.8%
Simplified72.1%
Taylor expanded in c around -inf 52.6%
Taylor expanded in j around inf 31.4%
Final simplification38.8%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* i (* a b))) (t_2 (* c (* t j))))
(if (<= z -5.6e-34)
(* z (* x y))
(if (<= z -3.1e-187)
t_1
(if (<= z 2.2e-280)
t_2
(if (<= z 6.6e-230) t_1 (if (<= z 2.4e-44) t_2 (* y (* x z)))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = i * (a * b);
double t_2 = c * (t * j);
double tmp;
if (z <= -5.6e-34) {
tmp = z * (x * y);
} else if (z <= -3.1e-187) {
tmp = t_1;
} else if (z <= 2.2e-280) {
tmp = t_2;
} else if (z <= 6.6e-230) {
tmp = t_1;
} else if (z <= 2.4e-44) {
tmp = t_2;
} else {
tmp = y * (x * z);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = i * (a * b)
t_2 = c * (t * j)
if (z <= (-5.6d-34)) then
tmp = z * (x * y)
else if (z <= (-3.1d-187)) then
tmp = t_1
else if (z <= 2.2d-280) then
tmp = t_2
else if (z <= 6.6d-230) then
tmp = t_1
else if (z <= 2.4d-44) then
tmp = t_2
else
tmp = y * (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 t_1 = i * (a * b);
double t_2 = c * (t * j);
double tmp;
if (z <= -5.6e-34) {
tmp = z * (x * y);
} else if (z <= -3.1e-187) {
tmp = t_1;
} else if (z <= 2.2e-280) {
tmp = t_2;
} else if (z <= 6.6e-230) {
tmp = t_1;
} else if (z <= 2.4e-44) {
tmp = t_2;
} else {
tmp = y * (x * z);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = i * (a * b) t_2 = c * (t * j) tmp = 0 if z <= -5.6e-34: tmp = z * (x * y) elif z <= -3.1e-187: tmp = t_1 elif z <= 2.2e-280: tmp = t_2 elif z <= 6.6e-230: tmp = t_1 elif z <= 2.4e-44: tmp = t_2 else: tmp = y * (x * z) return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(i * Float64(a * b)) t_2 = Float64(c * Float64(t * j)) tmp = 0.0 if (z <= -5.6e-34) tmp = Float64(z * Float64(x * y)); elseif (z <= -3.1e-187) tmp = t_1; elseif (z <= 2.2e-280) tmp = t_2; elseif (z <= 6.6e-230) tmp = t_1; elseif (z <= 2.4e-44) tmp = t_2; else tmp = Float64(y * Float64(x * z)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = i * (a * b); t_2 = c * (t * j); tmp = 0.0; if (z <= -5.6e-34) tmp = z * (x * y); elseif (z <= -3.1e-187) tmp = t_1; elseif (z <= 2.2e-280) tmp = t_2; elseif (z <= 6.6e-230) tmp = t_1; elseif (z <= 2.4e-44) tmp = t_2; else tmp = y * (x * z); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(i * N[(a * b), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(c * N[(t * j), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -5.6e-34], N[(z * N[(x * y), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -3.1e-187], t$95$1, If[LessEqual[z, 2.2e-280], t$95$2, If[LessEqual[z, 6.6e-230], t$95$1, If[LessEqual[z, 2.4e-44], t$95$2, N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := i \cdot \left(a \cdot b\right)\\
t_2 := c \cdot \left(t \cdot j\right)\\
\mathbf{if}\;z \leq -5.6 \cdot 10^{-34}:\\
\;\;\;\;z \cdot \left(x \cdot y\right)\\
\mathbf{elif}\;z \leq -3.1 \cdot 10^{-187}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq 2.2 \cdot 10^{-280}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;z \leq 6.6 \cdot 10^{-230}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq 2.4 \cdot 10^{-44}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\end{array}
\end{array}
if z < -5.59999999999999994e-34Initial program 60.9%
Taylor expanded in y around inf 48.3%
+-commutative48.3%
mul-1-neg48.3%
unsub-neg48.3%
Simplified48.3%
Taylor expanded in z around inf 39.4%
*-commutative39.4%
associate-*l*39.4%
Simplified39.4%
if -5.59999999999999994e-34 < z < -3.10000000000000019e-187 or 2.2000000000000001e-280 < z < 6.59999999999999987e-230Initial program 73.3%
Taylor expanded in a around inf 57.4%
associate-*r*57.4%
neg-mul-157.4%
cancel-sign-sub57.4%
+-commutative57.4%
mul-1-neg57.4%
unsub-neg57.4%
Simplified57.4%
Taylor expanded in i around inf 36.4%
Taylor expanded in a around 0 43.4%
*-commutative43.4%
Simplified43.4%
if -3.10000000000000019e-187 < z < 2.2000000000000001e-280 or 6.59999999999999987e-230 < z < 2.40000000000000009e-44Initial program 80.0%
Taylor expanded in t around -inf 67.8%
Simplified72.1%
Taylor expanded in c around -inf 52.6%
Taylor expanded in j around inf 31.4%
if 2.40000000000000009e-44 < z Initial program 66.0%
Taylor expanded in y around inf 57.9%
+-commutative57.9%
mul-1-neg57.9%
unsub-neg57.9%
Simplified57.9%
Taylor expanded in z around inf 46.2%
Final simplification38.8%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* c (* t j))))
(if (<= z -2.8e-34)
(* z (* x y))
(if (<= z -2.1e-184)
(* i (* a b))
(if (<= z 1.8e-287)
t_1
(if (<= z 5.8e-229)
(* b (* a i))
(if (<= z 3.7e-44) t_1 (* y (* x z)))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = c * (t * j);
double tmp;
if (z <= -2.8e-34) {
tmp = z * (x * y);
} else if (z <= -2.1e-184) {
tmp = i * (a * b);
} else if (z <= 1.8e-287) {
tmp = t_1;
} else if (z <= 5.8e-229) {
tmp = b * (a * i);
} else if (z <= 3.7e-44) {
tmp = t_1;
} else {
tmp = y * (x * z);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: t_1
real(8) :: tmp
t_1 = c * (t * j)
if (z <= (-2.8d-34)) then
tmp = z * (x * y)
else if (z <= (-2.1d-184)) then
tmp = i * (a * b)
else if (z <= 1.8d-287) then
tmp = t_1
else if (z <= 5.8d-229) then
tmp = b * (a * i)
else if (z <= 3.7d-44) then
tmp = t_1
else
tmp = y * (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 t_1 = c * (t * j);
double tmp;
if (z <= -2.8e-34) {
tmp = z * (x * y);
} else if (z <= -2.1e-184) {
tmp = i * (a * b);
} else if (z <= 1.8e-287) {
tmp = t_1;
} else if (z <= 5.8e-229) {
tmp = b * (a * i);
} else if (z <= 3.7e-44) {
tmp = t_1;
} else {
tmp = y * (x * z);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = c * (t * j) tmp = 0 if z <= -2.8e-34: tmp = z * (x * y) elif z <= -2.1e-184: tmp = i * (a * b) elif z <= 1.8e-287: tmp = t_1 elif z <= 5.8e-229: tmp = b * (a * i) elif z <= 3.7e-44: tmp = t_1 else: tmp = y * (x * z) return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(c * Float64(t * j)) tmp = 0.0 if (z <= -2.8e-34) tmp = Float64(z * Float64(x * y)); elseif (z <= -2.1e-184) tmp = Float64(i * Float64(a * b)); elseif (z <= 1.8e-287) tmp = t_1; elseif (z <= 5.8e-229) tmp = Float64(b * Float64(a * i)); elseif (z <= 3.7e-44) tmp = t_1; else tmp = Float64(y * Float64(x * z)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = c * (t * j); tmp = 0.0; if (z <= -2.8e-34) tmp = z * (x * y); elseif (z <= -2.1e-184) tmp = i * (a * b); elseif (z <= 1.8e-287) tmp = t_1; elseif (z <= 5.8e-229) tmp = b * (a * i); elseif (z <= 3.7e-44) tmp = t_1; else tmp = y * (x * z); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(c * N[(t * j), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -2.8e-34], N[(z * N[(x * y), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -2.1e-184], N[(i * N[(a * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1.8e-287], t$95$1, If[LessEqual[z, 5.8e-229], N[(b * N[(a * i), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 3.7e-44], t$95$1, N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c \cdot \left(t \cdot j\right)\\
\mathbf{if}\;z \leq -2.8 \cdot 10^{-34}:\\
\;\;\;\;z \cdot \left(x \cdot y\right)\\
\mathbf{elif}\;z \leq -2.1 \cdot 10^{-184}:\\
\;\;\;\;i \cdot \left(a \cdot b\right)\\
\mathbf{elif}\;z \leq 1.8 \cdot 10^{-287}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq 5.8 \cdot 10^{-229}:\\
\;\;\;\;b \cdot \left(a \cdot i\right)\\
\mathbf{elif}\;z \leq 3.7 \cdot 10^{-44}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\end{array}
\end{array}
if z < -2.79999999999999997e-34Initial program 60.9%
Taylor expanded in y around inf 48.3%
+-commutative48.3%
mul-1-neg48.3%
unsub-neg48.3%
Simplified48.3%
Taylor expanded in z around inf 39.4%
*-commutative39.4%
associate-*l*39.4%
Simplified39.4%
if -2.79999999999999997e-34 < z < -2.0999999999999999e-184Initial program 78.7%
Taylor expanded in a around inf 54.9%
associate-*r*54.9%
neg-mul-154.9%
cancel-sign-sub54.9%
+-commutative54.9%
mul-1-neg54.9%
unsub-neg54.9%
Simplified54.9%
Taylor expanded in i around inf 38.1%
Taylor expanded in a around 0 44.9%
*-commutative44.9%
Simplified44.9%
if -2.0999999999999999e-184 < z < 1.8000000000000001e-287 or 5.7999999999999999e-229 < z < 3.7e-44Initial program 80.0%
Taylor expanded in t around -inf 67.8%
Simplified72.1%
Taylor expanded in c around -inf 52.6%
Taylor expanded in j around inf 31.4%
if 1.8000000000000001e-287 < z < 5.7999999999999999e-229Initial program 61.8%
associate-+l-61.8%
sub-neg61.8%
sub-neg61.8%
*-commutative61.8%
fma-neg61.8%
*-commutative61.8%
*-commutative61.8%
fma-neg77.2%
distribute-lft-neg-out77.2%
*-commutative77.2%
Simplified77.2%
Taylor expanded in b around inf 40.3%
Taylor expanded in a around inf 40.1%
if 3.7e-44 < z Initial program 66.0%
Taylor expanded in y around inf 57.9%
+-commutative57.9%
mul-1-neg57.9%
unsub-neg57.9%
Simplified57.9%
Taylor expanded in z around inf 46.2%
Final simplification38.8%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* c (* t j))))
(if (<= z -3.4e-34)
(* x (* y z))
(if (<= z -7.4e-186)
(* i (* a b))
(if (<= z 4.6e-289)
t_1
(if (<= z 8.8e-231)
(* b (* a i))
(if (<= z 4.6e-44) t_1 (* y (* x z)))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = c * (t * j);
double tmp;
if (z <= -3.4e-34) {
tmp = x * (y * z);
} else if (z <= -7.4e-186) {
tmp = i * (a * b);
} else if (z <= 4.6e-289) {
tmp = t_1;
} else if (z <= 8.8e-231) {
tmp = b * (a * i);
} else if (z <= 4.6e-44) {
tmp = t_1;
} else {
tmp = y * (x * z);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: t_1
real(8) :: tmp
t_1 = c * (t * j)
if (z <= (-3.4d-34)) then
tmp = x * (y * z)
else if (z <= (-7.4d-186)) then
tmp = i * (a * b)
else if (z <= 4.6d-289) then
tmp = t_1
else if (z <= 8.8d-231) then
tmp = b * (a * i)
else if (z <= 4.6d-44) then
tmp = t_1
else
tmp = y * (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 t_1 = c * (t * j);
double tmp;
if (z <= -3.4e-34) {
tmp = x * (y * z);
} else if (z <= -7.4e-186) {
tmp = i * (a * b);
} else if (z <= 4.6e-289) {
tmp = t_1;
} else if (z <= 8.8e-231) {
tmp = b * (a * i);
} else if (z <= 4.6e-44) {
tmp = t_1;
} else {
tmp = y * (x * z);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = c * (t * j) tmp = 0 if z <= -3.4e-34: tmp = x * (y * z) elif z <= -7.4e-186: tmp = i * (a * b) elif z <= 4.6e-289: tmp = t_1 elif z <= 8.8e-231: tmp = b * (a * i) elif z <= 4.6e-44: tmp = t_1 else: tmp = y * (x * z) return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(c * Float64(t * j)) tmp = 0.0 if (z <= -3.4e-34) tmp = Float64(x * Float64(y * z)); elseif (z <= -7.4e-186) tmp = Float64(i * Float64(a * b)); elseif (z <= 4.6e-289) tmp = t_1; elseif (z <= 8.8e-231) tmp = Float64(b * Float64(a * i)); elseif (z <= 4.6e-44) tmp = t_1; else tmp = Float64(y * Float64(x * z)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = c * (t * j); tmp = 0.0; if (z <= -3.4e-34) tmp = x * (y * z); elseif (z <= -7.4e-186) tmp = i * (a * b); elseif (z <= 4.6e-289) tmp = t_1; elseif (z <= 8.8e-231) tmp = b * (a * i); elseif (z <= 4.6e-44) tmp = t_1; else tmp = y * (x * z); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(c * N[(t * j), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -3.4e-34], N[(x * N[(y * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -7.4e-186], N[(i * N[(a * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 4.6e-289], t$95$1, If[LessEqual[z, 8.8e-231], N[(b * N[(a * i), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 4.6e-44], t$95$1, N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c \cdot \left(t \cdot j\right)\\
\mathbf{if}\;z \leq -3.4 \cdot 10^{-34}:\\
\;\;\;\;x \cdot \left(y \cdot z\right)\\
\mathbf{elif}\;z \leq -7.4 \cdot 10^{-186}:\\
\;\;\;\;i \cdot \left(a \cdot b\right)\\
\mathbf{elif}\;z \leq 4.6 \cdot 10^{-289}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq 8.8 \cdot 10^{-231}:\\
\;\;\;\;b \cdot \left(a \cdot i\right)\\
\mathbf{elif}\;z \leq 4.6 \cdot 10^{-44}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\end{array}
\end{array}
if z < -3.4000000000000001e-34Initial program 60.9%
Taylor expanded in t around -inf 60.8%
Simplified63.8%
Taylor expanded in x around inf 53.2%
Taylor expanded in y around inf 41.0%
if -3.4000000000000001e-34 < z < -7.4000000000000004e-186Initial program 78.7%
Taylor expanded in a around inf 54.9%
associate-*r*54.9%
neg-mul-154.9%
cancel-sign-sub54.9%
+-commutative54.9%
mul-1-neg54.9%
unsub-neg54.9%
Simplified54.9%
Taylor expanded in i around inf 38.1%
Taylor expanded in a around 0 44.9%
*-commutative44.9%
Simplified44.9%
if -7.4000000000000004e-186 < z < 4.6000000000000004e-289 or 8.80000000000000036e-231 < z < 4.59999999999999996e-44Initial program 80.0%
Taylor expanded in t around -inf 67.8%
Simplified72.1%
Taylor expanded in c around -inf 52.6%
Taylor expanded in j around inf 31.4%
if 4.6000000000000004e-289 < z < 8.80000000000000036e-231Initial program 61.8%
associate-+l-61.8%
sub-neg61.8%
sub-neg61.8%
*-commutative61.8%
fma-neg61.8%
*-commutative61.8%
*-commutative61.8%
fma-neg77.2%
distribute-lft-neg-out77.2%
*-commutative77.2%
Simplified77.2%
Taylor expanded in b around inf 40.3%
Taylor expanded in a around inf 40.1%
if 4.59999999999999996e-44 < z Initial program 66.0%
Taylor expanded in y around inf 57.9%
+-commutative57.9%
mul-1-neg57.9%
unsub-neg57.9%
Simplified57.9%
Taylor expanded in z around inf 46.2%
Final simplification39.2%
(FPCore (x y z t a b c i j)
:precision binary64
(if (<= z -3.4e+277)
(* (* z c) (- b))
(if (<= z -4.6e-34)
(* x (* y z))
(if (<= z -6.5e-164)
(* i (* a b))
(if (<= z 5.1e-197)
(* a (* t (- x)))
(if (<= z 9e-42) (* c (* t j)) (* y (* x z))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (z <= -3.4e+277) {
tmp = (z * c) * -b;
} else if (z <= -4.6e-34) {
tmp = x * (y * z);
} else if (z <= -6.5e-164) {
tmp = i * (a * b);
} else if (z <= 5.1e-197) {
tmp = a * (t * -x);
} else if (z <= 9e-42) {
tmp = c * (t * j);
} else {
tmp = y * (x * z);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: tmp
if (z <= (-3.4d+277)) then
tmp = (z * c) * -b
else if (z <= (-4.6d-34)) then
tmp = x * (y * z)
else if (z <= (-6.5d-164)) then
tmp = i * (a * b)
else if (z <= 5.1d-197) then
tmp = a * (t * -x)
else if (z <= 9d-42) then
tmp = c * (t * j)
else
tmp = y * (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 tmp;
if (z <= -3.4e+277) {
tmp = (z * c) * -b;
} else if (z <= -4.6e-34) {
tmp = x * (y * z);
} else if (z <= -6.5e-164) {
tmp = i * (a * b);
} else if (z <= 5.1e-197) {
tmp = a * (t * -x);
} else if (z <= 9e-42) {
tmp = c * (t * j);
} else {
tmp = y * (x * z);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if z <= -3.4e+277: tmp = (z * c) * -b elif z <= -4.6e-34: tmp = x * (y * z) elif z <= -6.5e-164: tmp = i * (a * b) elif z <= 5.1e-197: tmp = a * (t * -x) elif z <= 9e-42: tmp = c * (t * j) else: tmp = y * (x * z) return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if (z <= -3.4e+277) tmp = Float64(Float64(z * c) * Float64(-b)); elseif (z <= -4.6e-34) tmp = Float64(x * Float64(y * z)); elseif (z <= -6.5e-164) tmp = Float64(i * Float64(a * b)); elseif (z <= 5.1e-197) tmp = Float64(a * Float64(t * Float64(-x))); elseif (z <= 9e-42) tmp = Float64(c * Float64(t * j)); else tmp = Float64(y * Float64(x * z)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if (z <= -3.4e+277) tmp = (z * c) * -b; elseif (z <= -4.6e-34) tmp = x * (y * z); elseif (z <= -6.5e-164) tmp = i * (a * b); elseif (z <= 5.1e-197) tmp = a * (t * -x); elseif (z <= 9e-42) tmp = c * (t * j); else tmp = y * (x * z); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[LessEqual[z, -3.4e+277], N[(N[(z * c), $MachinePrecision] * (-b)), $MachinePrecision], If[LessEqual[z, -4.6e-34], N[(x * N[(y * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -6.5e-164], N[(i * N[(a * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 5.1e-197], N[(a * N[(t * (-x)), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 9e-42], N[(c * N[(t * j), $MachinePrecision]), $MachinePrecision], N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -3.4 \cdot 10^{+277}:\\
\;\;\;\;\left(z \cdot c\right) \cdot \left(-b\right)\\
\mathbf{elif}\;z \leq -4.6 \cdot 10^{-34}:\\
\;\;\;\;x \cdot \left(y \cdot z\right)\\
\mathbf{elif}\;z \leq -6.5 \cdot 10^{-164}:\\
\;\;\;\;i \cdot \left(a \cdot b\right)\\
\mathbf{elif}\;z \leq 5.1 \cdot 10^{-197}:\\
\;\;\;\;a \cdot \left(t \cdot \left(-x\right)\right)\\
\mathbf{elif}\;z \leq 9 \cdot 10^{-42}:\\
\;\;\;\;c \cdot \left(t \cdot j\right)\\
\mathbf{else}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\end{array}
\end{array}
if z < -3.4000000000000001e277Initial program 55.6%
associate-+l-55.6%
sub-neg55.6%
sub-neg55.6%
*-commutative55.6%
fma-neg55.6%
*-commutative55.6%
*-commutative55.6%
fma-neg55.6%
distribute-lft-neg-out55.6%
*-commutative55.6%
Simplified55.6%
Taylor expanded in b around inf 67.6%
Taylor expanded in a around 0 67.6%
neg-mul-167.6%
distribute-rgt-neg-in67.6%
Simplified67.6%
if -3.4000000000000001e277 < z < -4.60000000000000022e-34Initial program 61.7%
Taylor expanded in t around -inf 63.3%
Simplified66.7%
Taylor expanded in x around inf 56.2%
Taylor expanded in y around inf 43.8%
if -4.60000000000000022e-34 < z < -6.50000000000000004e-164Initial program 81.9%
Taylor expanded in a around inf 51.5%
associate-*r*51.5%
neg-mul-151.5%
cancel-sign-sub51.5%
+-commutative51.5%
mul-1-neg51.5%
unsub-neg51.5%
Simplified51.5%
Taylor expanded in i around inf 39.0%
Taylor expanded in a around 0 47.7%
*-commutative47.7%
Simplified47.7%
if -6.50000000000000004e-164 < z < 5.1000000000000003e-197Initial program 76.0%
Taylor expanded in a around inf 55.8%
associate-*r*55.8%
neg-mul-155.8%
cancel-sign-sub55.8%
+-commutative55.8%
mul-1-neg55.8%
unsub-neg55.8%
Simplified55.8%
Taylor expanded in i around 0 41.6%
mul-1-neg41.6%
distribute-lft-neg-out41.6%
*-commutative41.6%
Simplified41.6%
if 5.1000000000000003e-197 < z < 9e-42Initial program 79.5%
Taylor expanded in t around -inf 68.2%
Simplified68.2%
Taylor expanded in c around -inf 53.8%
Taylor expanded in j around inf 39.9%
if 9e-42 < z Initial program 66.0%
Taylor expanded in y around inf 57.9%
+-commutative57.9%
mul-1-neg57.9%
unsub-neg57.9%
Simplified57.9%
Taylor expanded in z around inf 46.2%
Final simplification44.4%
(FPCore (x y z t a b c i j)
:precision binary64
(if (<= z -2.95e-34)
(* x (* y z))
(if (<= z -1.9e-167)
(* i (* a b))
(if (<= z 1.55e-198)
(* a (* t (- x)))
(if (<= z 1.2e-35) (* c (* t j)) (* y (* x z)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (z <= -2.95e-34) {
tmp = x * (y * z);
} else if (z <= -1.9e-167) {
tmp = i * (a * b);
} else if (z <= 1.55e-198) {
tmp = a * (t * -x);
} else if (z <= 1.2e-35) {
tmp = c * (t * j);
} else {
tmp = y * (x * z);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: tmp
if (z <= (-2.95d-34)) then
tmp = x * (y * z)
else if (z <= (-1.9d-167)) then
tmp = i * (a * b)
else if (z <= 1.55d-198) then
tmp = a * (t * -x)
else if (z <= 1.2d-35) then
tmp = c * (t * j)
else
tmp = y * (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 tmp;
if (z <= -2.95e-34) {
tmp = x * (y * z);
} else if (z <= -1.9e-167) {
tmp = i * (a * b);
} else if (z <= 1.55e-198) {
tmp = a * (t * -x);
} else if (z <= 1.2e-35) {
tmp = c * (t * j);
} else {
tmp = y * (x * z);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if z <= -2.95e-34: tmp = x * (y * z) elif z <= -1.9e-167: tmp = i * (a * b) elif z <= 1.55e-198: tmp = a * (t * -x) elif z <= 1.2e-35: tmp = c * (t * j) else: tmp = y * (x * z) return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if (z <= -2.95e-34) tmp = Float64(x * Float64(y * z)); elseif (z <= -1.9e-167) tmp = Float64(i * Float64(a * b)); elseif (z <= 1.55e-198) tmp = Float64(a * Float64(t * Float64(-x))); elseif (z <= 1.2e-35) tmp = Float64(c * Float64(t * j)); else tmp = Float64(y * Float64(x * z)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if (z <= -2.95e-34) tmp = x * (y * z); elseif (z <= -1.9e-167) tmp = i * (a * b); elseif (z <= 1.55e-198) tmp = a * (t * -x); elseif (z <= 1.2e-35) tmp = c * (t * j); else tmp = y * (x * z); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[LessEqual[z, -2.95e-34], N[(x * N[(y * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -1.9e-167], N[(i * N[(a * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1.55e-198], N[(a * N[(t * (-x)), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1.2e-35], N[(c * N[(t * j), $MachinePrecision]), $MachinePrecision], N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -2.95 \cdot 10^{-34}:\\
\;\;\;\;x \cdot \left(y \cdot z\right)\\
\mathbf{elif}\;z \leq -1.9 \cdot 10^{-167}:\\
\;\;\;\;i \cdot \left(a \cdot b\right)\\
\mathbf{elif}\;z \leq 1.55 \cdot 10^{-198}:\\
\;\;\;\;a \cdot \left(t \cdot \left(-x\right)\right)\\
\mathbf{elif}\;z \leq 1.2 \cdot 10^{-35}:\\
\;\;\;\;c \cdot \left(t \cdot j\right)\\
\mathbf{else}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\end{array}
\end{array}
if z < -2.9500000000000001e-34Initial program 60.9%
Taylor expanded in t around -inf 60.8%
Simplified63.8%
Taylor expanded in x around inf 53.2%
Taylor expanded in y around inf 41.0%
if -2.9500000000000001e-34 < z < -1.89999999999999984e-167Initial program 81.9%
Taylor expanded in a around inf 51.5%
associate-*r*51.5%
neg-mul-151.5%
cancel-sign-sub51.5%
+-commutative51.5%
mul-1-neg51.5%
unsub-neg51.5%
Simplified51.5%
Taylor expanded in i around inf 39.0%
Taylor expanded in a around 0 47.7%
*-commutative47.7%
Simplified47.7%
if -1.89999999999999984e-167 < z < 1.5499999999999999e-198Initial program 76.0%
Taylor expanded in a around inf 55.8%
associate-*r*55.8%
neg-mul-155.8%
cancel-sign-sub55.8%
+-commutative55.8%
mul-1-neg55.8%
unsub-neg55.8%
Simplified55.8%
Taylor expanded in i around 0 41.6%
mul-1-neg41.6%
distribute-lft-neg-out41.6%
*-commutative41.6%
Simplified41.6%
if 1.5499999999999999e-198 < z < 1.2000000000000001e-35Initial program 79.5%
Taylor expanded in t around -inf 68.2%
Simplified68.2%
Taylor expanded in c around -inf 53.8%
Taylor expanded in j around inf 39.9%
if 1.2000000000000001e-35 < z Initial program 66.0%
Taylor expanded in y around inf 57.9%
+-commutative57.9%
mul-1-neg57.9%
unsub-neg57.9%
Simplified57.9%
Taylor expanded in z around inf 46.2%
Final simplification42.8%
(FPCore (x y z t a b c i j) :precision binary64 (if (or (<= c -1.95e+40) (not (<= c 0.00043))) (* c (- (* t j) (* z b))) (* a (- (* b i) (* x t)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if ((c <= -1.95e+40) || !(c <= 0.00043)) {
tmp = c * ((t * j) - (z * b));
} else {
tmp = a * ((b * i) - (x * t));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: tmp
if ((c <= (-1.95d+40)) .or. (.not. (c <= 0.00043d0))) then
tmp = c * ((t * j) - (z * b))
else
tmp = a * ((b * i) - (x * t))
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 tmp;
if ((c <= -1.95e+40) || !(c <= 0.00043)) {
tmp = c * ((t * j) - (z * b));
} else {
tmp = a * ((b * i) - (x * t));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if (c <= -1.95e+40) or not (c <= 0.00043): tmp = c * ((t * j) - (z * b)) else: tmp = a * ((b * i) - (x * t)) return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if ((c <= -1.95e+40) || !(c <= 0.00043)) tmp = Float64(c * Float64(Float64(t * j) - Float64(z * b))); else tmp = Float64(a * Float64(Float64(b * i) - Float64(x * t))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if ((c <= -1.95e+40) || ~((c <= 0.00043))) tmp = c * ((t * j) - (z * b)); else tmp = a * ((b * i) - (x * t)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[Or[LessEqual[c, -1.95e+40], N[Not[LessEqual[c, 0.00043]], $MachinePrecision]], N[(c * N[(N[(t * j), $MachinePrecision] - N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(a * N[(N[(b * i), $MachinePrecision] - N[(x * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;c \leq -1.95 \cdot 10^{+40} \lor \neg \left(c \leq 0.00043\right):\\
\;\;\;\;c \cdot \left(t \cdot j - z \cdot b\right)\\
\mathbf{else}:\\
\;\;\;\;a \cdot \left(b \cdot i - x \cdot t\right)\\
\end{array}
\end{array}
if c < -1.95e40 or 4.29999999999999989e-4 < c Initial program 61.6%
Taylor expanded in c around inf 60.7%
*-commutative60.7%
Simplified60.7%
if -1.95e40 < c < 4.29999999999999989e-4Initial program 78.2%
Taylor expanded in a around inf 42.0%
associate-*r*42.0%
neg-mul-142.0%
cancel-sign-sub42.0%
+-commutative42.0%
mul-1-neg42.0%
unsub-neg42.0%
Simplified42.0%
Final simplification50.5%
(FPCore (x y z t a b c i j) :precision binary64 (if (or (<= c -1.15e+40) (not (<= c 49000000000000.0))) (* c (- (* t j) (* z b))) (* i (- (* a b) (* y j)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if ((c <= -1.15e+40) || !(c <= 49000000000000.0)) {
tmp = c * ((t * j) - (z * b));
} else {
tmp = i * ((a * b) - (y * j));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: tmp
if ((c <= (-1.15d+40)) .or. (.not. (c <= 49000000000000.0d0))) then
tmp = c * ((t * j) - (z * b))
else
tmp = i * ((a * b) - (y * j))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if ((c <= -1.15e+40) || !(c <= 49000000000000.0)) {
tmp = c * ((t * j) - (z * b));
} else {
tmp = i * ((a * b) - (y * j));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if (c <= -1.15e+40) or not (c <= 49000000000000.0): tmp = c * ((t * j) - (z * b)) else: tmp = i * ((a * b) - (y * j)) return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if ((c <= -1.15e+40) || !(c <= 49000000000000.0)) tmp = Float64(c * Float64(Float64(t * j) - Float64(z * b))); else tmp = Float64(i * Float64(Float64(a * b) - Float64(y * j))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if ((c <= -1.15e+40) || ~((c <= 49000000000000.0))) tmp = c * ((t * j) - (z * b)); else tmp = i * ((a * b) - (y * j)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[Or[LessEqual[c, -1.15e+40], N[Not[LessEqual[c, 49000000000000.0]], $MachinePrecision]], N[(c * N[(N[(t * j), $MachinePrecision] - N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(i * N[(N[(a * b), $MachinePrecision] - N[(y * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;c \leq -1.15 \cdot 10^{+40} \lor \neg \left(c \leq 49000000000000\right):\\
\;\;\;\;c \cdot \left(t \cdot j - z \cdot b\right)\\
\mathbf{else}:\\
\;\;\;\;i \cdot \left(a \cdot b - y \cdot j\right)\\
\end{array}
\end{array}
if c < -1.14999999999999997e40 or 4.9e13 < c Initial program 60.6%
Taylor expanded in c around inf 61.4%
*-commutative61.4%
Simplified61.4%
if -1.14999999999999997e40 < c < 4.9e13Initial program 78.7%
Taylor expanded in i around inf 42.5%
*-commutative42.5%
associate-*r*42.5%
neg-mul-142.5%
cancel-sign-sub42.5%
+-commutative42.5%
mul-1-neg42.5%
unsub-neg42.5%
Simplified42.5%
Final simplification50.8%
(FPCore (x y z t a b c i j) :precision binary64 (if (or (<= i -1.28e-23) (not (<= i 7.2e-96))) (* a (* b i)) (* c (* t j))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if ((i <= -1.28e-23) || !(i <= 7.2e-96)) {
tmp = a * (b * i);
} else {
tmp = c * (t * j);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: tmp
if ((i <= (-1.28d-23)) .or. (.not. (i <= 7.2d-96))) then
tmp = a * (b * i)
else
tmp = c * (t * j)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if ((i <= -1.28e-23) || !(i <= 7.2e-96)) {
tmp = a * (b * i);
} else {
tmp = c * (t * j);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if (i <= -1.28e-23) or not (i <= 7.2e-96): tmp = a * (b * i) else: tmp = c * (t * j) return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if ((i <= -1.28e-23) || !(i <= 7.2e-96)) tmp = Float64(a * Float64(b * i)); else tmp = Float64(c * Float64(t * j)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if ((i <= -1.28e-23) || ~((i <= 7.2e-96))) tmp = a * (b * i); else tmp = c * (t * j); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[Or[LessEqual[i, -1.28e-23], N[Not[LessEqual[i, 7.2e-96]], $MachinePrecision]], N[(a * N[(b * i), $MachinePrecision]), $MachinePrecision], N[(c * N[(t * j), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;i \leq -1.28 \cdot 10^{-23} \lor \neg \left(i \leq 7.2 \cdot 10^{-96}\right):\\
\;\;\;\;a \cdot \left(b \cdot i\right)\\
\mathbf{else}:\\
\;\;\;\;c \cdot \left(t \cdot j\right)\\
\end{array}
\end{array}
if i < -1.28000000000000005e-23 or 7.20000000000000016e-96 < i Initial program 66.9%
Taylor expanded in a around inf 47.7%
associate-*r*47.7%
neg-mul-147.7%
cancel-sign-sub47.7%
+-commutative47.7%
mul-1-neg47.7%
unsub-neg47.7%
Simplified47.7%
Taylor expanded in i around inf 30.1%
if -1.28000000000000005e-23 < i < 7.20000000000000016e-96Initial program 75.2%
Taylor expanded in t around -inf 75.6%
Simplified83.1%
Taylor expanded in c around -inf 60.8%
Taylor expanded in j around inf 27.6%
Final simplification29.0%
(FPCore (x y z t a b c i j) :precision binary64 (if (or (<= j -6500000.0) (not (<= j 1.75e+45))) (* c (* t j)) (* i (* a b))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if ((j <= -6500000.0) || !(j <= 1.75e+45)) {
tmp = c * (t * j);
} else {
tmp = i * (a * b);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: tmp
if ((j <= (-6500000.0d0)) .or. (.not. (j <= 1.75d+45))) then
tmp = c * (t * j)
else
tmp = i * (a * b)
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 tmp;
if ((j <= -6500000.0) || !(j <= 1.75e+45)) {
tmp = c * (t * j);
} else {
tmp = i * (a * b);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if (j <= -6500000.0) or not (j <= 1.75e+45): tmp = c * (t * j) else: tmp = i * (a * b) return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if ((j <= -6500000.0) || !(j <= 1.75e+45)) tmp = Float64(c * Float64(t * j)); else tmp = Float64(i * Float64(a * b)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if ((j <= -6500000.0) || ~((j <= 1.75e+45))) tmp = c * (t * j); else tmp = i * (a * b); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[Or[LessEqual[j, -6500000.0], N[Not[LessEqual[j, 1.75e+45]], $MachinePrecision]], N[(c * N[(t * j), $MachinePrecision]), $MachinePrecision], N[(i * N[(a * b), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;j \leq -6500000 \lor \neg \left(j \leq 1.75 \cdot 10^{+45}\right):\\
\;\;\;\;c \cdot \left(t \cdot j\right)\\
\mathbf{else}:\\
\;\;\;\;i \cdot \left(a \cdot b\right)\\
\end{array}
\end{array}
if j < -6.5e6 or 1.75000000000000011e45 < j Initial program 72.0%
Taylor expanded in t around -inf 56.9%
Simplified62.3%
Taylor expanded in c around -inf 50.3%
Taylor expanded in j around inf 36.7%
if -6.5e6 < j < 1.75000000000000011e45Initial program 69.7%
Taylor expanded in a around inf 44.4%
associate-*r*44.4%
neg-mul-144.4%
cancel-sign-sub44.4%
+-commutative44.4%
mul-1-neg44.4%
unsub-neg44.4%
Simplified44.4%
Taylor expanded in i around inf 22.9%
Taylor expanded in a around 0 23.5%
*-commutative23.5%
Simplified23.5%
Final simplification29.2%
(FPCore (x y z t a b c i j) :precision binary64 (* a (* b i)))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return a * (b * i);
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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
code = a * (b * i)
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return a * (b * i);
}
def code(x, y, z, t, a, b, c, i, j): return a * (b * i)
function code(x, y, z, t, a, b, c, i, j) return Float64(a * Float64(b * i)) end
function tmp = code(x, y, z, t, a, b, c, i, j) tmp = a * (b * i); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := N[(a * N[(b * i), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
a \cdot \left(b \cdot i\right)
\end{array}
Initial program 70.7%
Taylor expanded in a around inf 38.4%
associate-*r*38.4%
neg-mul-138.4%
cancel-sign-sub38.4%
+-commutative38.4%
mul-1-neg38.4%
unsub-neg38.4%
Simplified38.4%
Taylor expanded in i around inf 18.9%
Final simplification18.9%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1
(+
(- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a))))
(/
(* j (- (pow (* c t) 2.0) (pow (* i y) 2.0)))
(+ (* c t) (* i y)))))
(t_2
(-
(* x (- (* z y) (* a t)))
(- (* b (- (* z c) (* a i))) (* (- (* c t) (* y i)) j)))))
(if (< t -8.120978919195912e-33)
t_2
(if (< t -4.712553818218485e-169)
t_1
(if (< t -7.633533346031584e-308)
t_2
(if (< t 1.0535888557455487e-139) 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 t_1 = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + ((j * (pow((c * t), 2.0) - pow((i * y), 2.0))) / ((c * t) + (i * y)));
double t_2 = (x * ((z * y) - (a * t))) - ((b * ((z * c) - (a * i))) - (((c * t) - (y * i)) * j));
double tmp;
if (t < -8.120978919195912e-33) {
tmp = t_2;
} else if (t < -4.712553818218485e-169) {
tmp = t_1;
} else if (t < -7.633533346031584e-308) {
tmp = t_2;
} else if (t < 1.0535888557455487e-139) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
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) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + ((j * (((c * t) ** 2.0d0) - ((i * y) ** 2.0d0))) / ((c * t) + (i * y)))
t_2 = (x * ((z * y) - (a * t))) - ((b * ((z * c) - (a * i))) - (((c * t) - (y * i)) * j))
if (t < (-8.120978919195912d-33)) then
tmp = t_2
else if (t < (-4.712553818218485d-169)) then
tmp = t_1
else if (t < (-7.633533346031584d-308)) then
tmp = t_2
else if (t < 1.0535888557455487d-139) 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 t_1 = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + ((j * (Math.pow((c * t), 2.0) - Math.pow((i * y), 2.0))) / ((c * t) + (i * y)));
double t_2 = (x * ((z * y) - (a * t))) - ((b * ((z * c) - (a * i))) - (((c * t) - (y * i)) * j));
double tmp;
if (t < -8.120978919195912e-33) {
tmp = t_2;
} else if (t < -4.712553818218485e-169) {
tmp = t_1;
} else if (t < -7.633533346031584e-308) {
tmp = t_2;
} else if (t < 1.0535888557455487e-139) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + ((j * (math.pow((c * t), 2.0) - math.pow((i * y), 2.0))) / ((c * t) + (i * y))) t_2 = (x * ((z * y) - (a * t))) - ((b * ((z * c) - (a * i))) - (((c * t) - (y * i)) * j)) tmp = 0 if t < -8.120978919195912e-33: tmp = t_2 elif t < -4.712553818218485e-169: tmp = t_1 elif t < -7.633533346031584e-308: tmp = t_2 elif t < 1.0535888557455487e-139: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) - Float64(b * Float64(Float64(c * z) - Float64(i * a)))) + Float64(Float64(j * Float64((Float64(c * t) ^ 2.0) - (Float64(i * y) ^ 2.0))) / Float64(Float64(c * t) + Float64(i * y)))) t_2 = Float64(Float64(x * Float64(Float64(z * y) - Float64(a * t))) - Float64(Float64(b * Float64(Float64(z * c) - Float64(a * i))) - Float64(Float64(Float64(c * t) - Float64(y * i)) * j))) tmp = 0.0 if (t < -8.120978919195912e-33) tmp = t_2; elseif (t < -4.712553818218485e-169) tmp = t_1; elseif (t < -7.633533346031584e-308) tmp = t_2; elseif (t < 1.0535888557455487e-139) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + ((j * (((c * t) ^ 2.0) - ((i * y) ^ 2.0))) / ((c * t) + (i * y))); t_2 = (x * ((z * y) - (a * t))) - ((b * ((z * c) - (a * i))) - (((c * t) - (y * i)) * j)); tmp = 0.0; if (t < -8.120978919195912e-33) tmp = t_2; elseif (t < -4.712553818218485e-169) tmp = t_1; elseif (t < -7.633533346031584e-308) tmp = t_2; elseif (t < 1.0535888557455487e-139) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b * N[(N[(c * z), $MachinePrecision] - N[(i * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(j * N[(N[Power[N[(c * t), $MachinePrecision], 2.0], $MachinePrecision] - N[Power[N[(i * y), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[(c * t), $MachinePrecision] + N[(i * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x * N[(N[(z * y), $MachinePrecision] - N[(a * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(b * N[(N[(z * c), $MachinePrecision] - N[(a * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(c * t), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision] * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Less[t, -8.120978919195912e-33], t$95$2, If[Less[t, -4.712553818218485e-169], t$95$1, If[Less[t, -7.633533346031584e-308], t$95$2, If[Less[t, 1.0535888557455487e-139], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \frac{j \cdot \left({\left(c \cdot t\right)}^{2} - {\left(i \cdot y\right)}^{2}\right)}{c \cdot t + i \cdot y}\\
t_2 := x \cdot \left(z \cdot y - a \cdot t\right) - \left(b \cdot \left(z \cdot c - a \cdot i\right) - \left(c \cdot t - y \cdot i\right) \cdot j\right)\\
\mathbf{if}\;t < -8.120978919195912 \cdot 10^{-33}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;t < -4.712553818218485 \cdot 10^{-169}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t < -7.633533346031584 \cdot 10^{-308}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;t < 1.0535888557455487 \cdot 10^{-139}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
herbie shell --seed 2023268
(FPCore (x y z t a b c i j)
:name "Linear.Matrix:det33 from linear-1.19.1.3"
:precision binary64
:herbie-target
(if (< t -8.120978919195912e-33) (- (* x (- (* z y) (* a t))) (- (* b (- (* z c) (* a i))) (* (- (* c t) (* y i)) j))) (if (< t -4.712553818218485e-169) (+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (/ (* j (- (pow (* c t) 2.0) (pow (* i y) 2.0))) (+ (* c t) (* i y)))) (if (< t -7.633533346031584e-308) (- (* x (- (* z y) (* a t))) (- (* b (- (* z c) (* a i))) (* (- (* c t) (* y i)) j))) (if (< t 1.0535888557455487e-139) (+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (/ (* j (- (pow (* c t) 2.0) (pow (* i y) 2.0))) (+ (* c t) (* i y)))) (- (* x (- (* z y) (* a t))) (- (* b (- (* z c) (* a i))) (* (- (* c t) (* y i)) j)))))))
(+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y)))))