
(FPCore (x y z t a b c i j) :precision binary64 (+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* t i)))) (* j (- (* c a) (* y i)))))
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) - (t * i)))) + (j * ((c * a) - (y * 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 = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (t * i)))) + (j * ((c * a) - (y * 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 ((x * ((y * z) - (t * a))) - (b * ((c * z) - (t * i)))) + (j * ((c * a) - (y * i)));
}
def code(x, y, z, t, a, b, c, i, j): return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (t * i)))) + (j * ((c * a) - (y * i)))
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(t * i)))) + Float64(j * Float64(Float64(c * a) - Float64(y * i)))) end
function tmp = code(x, y, z, t, a, b, c, i, j) tmp = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (t * i)))) + (j * ((c * a) - (y * i))); 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[(t * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(c * a), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - t \cdot i\right)\right) + j \cdot \left(c \cdot a - y \cdot i\right)
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 24 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a b c i j) :precision binary64 (+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* t i)))) (* j (- (* c a) (* y i)))))
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) - (t * i)))) + (j * ((c * a) - (y * 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 = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (t * i)))) + (j * ((c * a) - (y * 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 ((x * ((y * z) - (t * a))) - (b * ((c * z) - (t * i)))) + (j * ((c * a) - (y * i)));
}
def code(x, y, z, t, a, b, c, i, j): return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (t * i)))) + (j * ((c * a) - (y * i)))
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(t * i)))) + Float64(j * Float64(Float64(c * a) - Float64(y * i)))) end
function tmp = code(x, y, z, t, a, b, c, i, j) tmp = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (t * i)))) + (j * ((c * a) - (y * i))); 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[(t * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(c * a), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - t \cdot i\right)\right) + j \cdot \left(c \cdot a - y \cdot i\right)
\end{array}
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1
(+
(* j (- (* a c) (* y i)))
(+ (* x (- (* y z) (* t a))) (* b (- (* t i) (* z c)))))))
(if (<= t_1 INFINITY) t_1 (* c (- (* a j) (* z b))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = (j * ((a * c) - (y * i))) + ((x * ((y * z) - (t * a))) + (b * ((t * i) - (z * c))));
double tmp;
if (t_1 <= ((double) INFINITY)) {
tmp = t_1;
} else {
tmp = c * ((a * j) - (z * b));
}
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 = (j * ((a * c) - (y * i))) + ((x * ((y * z) - (t * a))) + (b * ((t * i) - (z * c))));
double tmp;
if (t_1 <= Double.POSITIVE_INFINITY) {
tmp = t_1;
} else {
tmp = c * ((a * j) - (z * b));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = (j * ((a * c) - (y * i))) + ((x * ((y * z) - (t * a))) + (b * ((t * i) - (z * c)))) tmp = 0 if t_1 <= math.inf: tmp = t_1 else: tmp = c * ((a * j) - (z * b)) return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(Float64(j * Float64(Float64(a * c) - Float64(y * i))) + Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) + Float64(b * Float64(Float64(t * i) - Float64(z * c))))) tmp = 0.0 if (t_1 <= Inf) tmp = t_1; else tmp = Float64(c * Float64(Float64(a * j) - Float64(z * b))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = (j * ((a * c) - (y * i))) + ((x * ((y * z) - (t * a))) + (b * ((t * i) - (z * c)))); tmp = 0.0; if (t_1 <= Inf) tmp = t_1; else tmp = c * ((a * j) - (z * b)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[(j * N[(N[(a * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(b * N[(N[(t * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, Infinity], t$95$1, N[(c * N[(N[(a * j), $MachinePrecision] - N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(a \cdot c - y \cdot i\right) + \left(x \cdot \left(y \cdot z - t \cdot a\right) + b \cdot \left(t \cdot i - z \cdot c\right)\right)\\
\mathbf{if}\;t_1 \leq \infty:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;c \cdot \left(a \cdot j - z \cdot b\right)\\
\end{array}
\end{array}
if (+.f64 (-.f64 (*.f64 x (-.f64 (*.f64 y z) (*.f64 t a))) (*.f64 b (-.f64 (*.f64 c z) (*.f64 t i)))) (*.f64 j (-.f64 (*.f64 c a) (*.f64 y i)))) < +inf.0Initial program 91.2%
if +inf.0 < (+.f64 (-.f64 (*.f64 x (-.f64 (*.f64 y z) (*.f64 t a))) (*.f64 b (-.f64 (*.f64 c z) (*.f64 t i)))) (*.f64 j (-.f64 (*.f64 c a) (*.f64 y i)))) Initial program 0.0%
associate-+l-0.0%
*-commutative0.0%
sub-neg0.0%
sub-neg0.0%
*-commutative0.0%
Simplified0.0%
Taylor expanded in c around inf 55.6%
Final simplification82.9%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (+ (* i (* t b)) (* z (- (* x y) (* b c)))))
(t_2 (- (* x (* y z)) (* j (- (* y i) (* a c))))))
(if (<= j -7.6e+113)
t_2
(if (<= j -4.1e+20)
(* c (- (* a j) (* z b)))
(if (<= j -1.5e-70)
t_1
(if (<= j -5.2e-112)
(* x (- (* y z) (* t a)))
(if (<= j 6e-255)
t_1
(if (<= j 8e-191)
(* t (- (* b i) (* x a)))
(if (<= j 2.65e+138) 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 = (i * (t * b)) + (z * ((x * y) - (b * c)));
double t_2 = (x * (y * z)) - (j * ((y * i) - (a * c)));
double tmp;
if (j <= -7.6e+113) {
tmp = t_2;
} else if (j <= -4.1e+20) {
tmp = c * ((a * j) - (z * b));
} else if (j <= -1.5e-70) {
tmp = t_1;
} else if (j <= -5.2e-112) {
tmp = x * ((y * z) - (t * a));
} else if (j <= 6e-255) {
tmp = t_1;
} else if (j <= 8e-191) {
tmp = t * ((b * i) - (x * a));
} else if (j <= 2.65e+138) {
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 = (i * (t * b)) + (z * ((x * y) - (b * c)))
t_2 = (x * (y * z)) - (j * ((y * i) - (a * c)))
if (j <= (-7.6d+113)) then
tmp = t_2
else if (j <= (-4.1d+20)) then
tmp = c * ((a * j) - (z * b))
else if (j <= (-1.5d-70)) then
tmp = t_1
else if (j <= (-5.2d-112)) then
tmp = x * ((y * z) - (t * a))
else if (j <= 6d-255) then
tmp = t_1
else if (j <= 8d-191) then
tmp = t * ((b * i) - (x * a))
else if (j <= 2.65d+138) 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 = (i * (t * b)) + (z * ((x * y) - (b * c)));
double t_2 = (x * (y * z)) - (j * ((y * i) - (a * c)));
double tmp;
if (j <= -7.6e+113) {
tmp = t_2;
} else if (j <= -4.1e+20) {
tmp = c * ((a * j) - (z * b));
} else if (j <= -1.5e-70) {
tmp = t_1;
} else if (j <= -5.2e-112) {
tmp = x * ((y * z) - (t * a));
} else if (j <= 6e-255) {
tmp = t_1;
} else if (j <= 8e-191) {
tmp = t * ((b * i) - (x * a));
} else if (j <= 2.65e+138) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = (i * (t * b)) + (z * ((x * y) - (b * c))) t_2 = (x * (y * z)) - (j * ((y * i) - (a * c))) tmp = 0 if j <= -7.6e+113: tmp = t_2 elif j <= -4.1e+20: tmp = c * ((a * j) - (z * b)) elif j <= -1.5e-70: tmp = t_1 elif j <= -5.2e-112: tmp = x * ((y * z) - (t * a)) elif j <= 6e-255: tmp = t_1 elif j <= 8e-191: tmp = t * ((b * i) - (x * a)) elif j <= 2.65e+138: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(Float64(i * Float64(t * b)) + Float64(z * Float64(Float64(x * y) - Float64(b * c)))) t_2 = Float64(Float64(x * Float64(y * z)) - Float64(j * Float64(Float64(y * i) - Float64(a * c)))) tmp = 0.0 if (j <= -7.6e+113) tmp = t_2; elseif (j <= -4.1e+20) tmp = Float64(c * Float64(Float64(a * j) - Float64(z * b))); elseif (j <= -1.5e-70) tmp = t_1; elseif (j <= -5.2e-112) tmp = Float64(x * Float64(Float64(y * z) - Float64(t * a))); elseif (j <= 6e-255) tmp = t_1; elseif (j <= 8e-191) tmp = Float64(t * Float64(Float64(b * i) - Float64(x * a))); elseif (j <= 2.65e+138) 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 = (i * (t * b)) + (z * ((x * y) - (b * c))); t_2 = (x * (y * z)) - (j * ((y * i) - (a * c))); tmp = 0.0; if (j <= -7.6e+113) tmp = t_2; elseif (j <= -4.1e+20) tmp = c * ((a * j) - (z * b)); elseif (j <= -1.5e-70) tmp = t_1; elseif (j <= -5.2e-112) tmp = x * ((y * z) - (t * a)); elseif (j <= 6e-255) tmp = t_1; elseif (j <= 8e-191) tmp = t * ((b * i) - (x * a)); elseif (j <= 2.65e+138) 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[(i * N[(t * b), $MachinePrecision]), $MachinePrecision] + N[(z * N[(N[(x * y), $MachinePrecision] - N[(b * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x * N[(y * z), $MachinePrecision]), $MachinePrecision] - N[(j * N[(N[(y * i), $MachinePrecision] - N[(a * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -7.6e+113], t$95$2, If[LessEqual[j, -4.1e+20], N[(c * N[(N[(a * j), $MachinePrecision] - N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -1.5e-70], t$95$1, If[LessEqual[j, -5.2e-112], N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 6e-255], t$95$1, If[LessEqual[j, 8e-191], N[(t * N[(N[(b * i), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 2.65e+138], t$95$1, t$95$2]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := i \cdot \left(t \cdot b\right) + z \cdot \left(x \cdot y - b \cdot c\right)\\
t_2 := x \cdot \left(y \cdot z\right) - j \cdot \left(y \cdot i - a \cdot c\right)\\
\mathbf{if}\;j \leq -7.6 \cdot 10^{+113}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;j \leq -4.1 \cdot 10^{+20}:\\
\;\;\;\;c \cdot \left(a \cdot j - z \cdot b\right)\\
\mathbf{elif}\;j \leq -1.5 \cdot 10^{-70}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq -5.2 \cdot 10^{-112}:\\
\;\;\;\;x \cdot \left(y \cdot z - t \cdot a\right)\\
\mathbf{elif}\;j \leq 6 \cdot 10^{-255}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq 8 \cdot 10^{-191}:\\
\;\;\;\;t \cdot \left(b \cdot i - x \cdot a\right)\\
\mathbf{elif}\;j \leq 2.65 \cdot 10^{+138}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if j < -7.6000000000000007e113 or 2.64999999999999992e138 < j Initial program 66.8%
+-commutative66.8%
fma-def68.1%
*-commutative68.1%
*-commutative68.1%
Simplified68.1%
Taylor expanded in b around 0 74.3%
Taylor expanded in y around inf 80.8%
if -7.6000000000000007e113 < j < -4.1e20Initial program 56.0%
associate-+l-56.0%
*-commutative56.0%
sub-neg56.0%
sub-neg56.0%
*-commutative56.0%
Simplified56.0%
Taylor expanded in c around inf 64.7%
if -4.1e20 < j < -1.5000000000000001e-70 or -5.19999999999999983e-112 < j < 6.00000000000000004e-255 or 8.0000000000000002e-191 < j < 2.64999999999999992e138Initial program 71.6%
associate-+l-71.6%
*-commutative71.6%
sub-neg71.6%
sub-neg71.6%
*-commutative71.6%
Simplified71.6%
Taylor expanded in j around 0 73.6%
Simplified71.9%
Taylor expanded in a around 0 66.5%
if -1.5000000000000001e-70 < j < -5.19999999999999983e-112Initial program 82.3%
associate-+l-82.3%
*-commutative82.3%
sub-neg82.3%
sub-neg82.3%
*-commutative82.3%
Simplified82.3%
Taylor expanded in j around 0 88.2%
Taylor expanded in x around inf 83.2%
if 6.00000000000000004e-255 < j < 8.0000000000000002e-191Initial program 80.9%
associate-+l-80.9%
*-commutative80.9%
sub-neg80.9%
sub-neg80.9%
*-commutative80.9%
Simplified80.9%
Taylor expanded in j around 0 87.5%
Simplified79.9%
Taylor expanded in t around inf 84.9%
mul-1-neg84.9%
unsub-neg84.9%
*-commutative84.9%
*-commutative84.9%
Simplified84.9%
Final simplification72.9%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* i (* t b)))
(t_2 (* j (- (* a c) (* y i))))
(t_3 (+ t_2 (* x (- (* y z) (* t a)))))
(t_4 (* a (- (* c j) (* x t)))))
(if (<= a -1.65e+227)
t_4
(if (<= a -4.3e-75)
t_3
(if (<= a 3.8e-238)
(+ t_2 (* b (- (* t i) (* z c))))
(if (<= a 1.05e-153)
(+ t_1 (* z (- (* x y) (* b c))))
(if (<= a 7e-69)
t_3
(if (<= a 7.6e+230) (- t_1 (* j (- (* y i) (* a c)))) t_4))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = i * (t * b);
double t_2 = j * ((a * c) - (y * i));
double t_3 = t_2 + (x * ((y * z) - (t * a)));
double t_4 = a * ((c * j) - (x * t));
double tmp;
if (a <= -1.65e+227) {
tmp = t_4;
} else if (a <= -4.3e-75) {
tmp = t_3;
} else if (a <= 3.8e-238) {
tmp = t_2 + (b * ((t * i) - (z * c)));
} else if (a <= 1.05e-153) {
tmp = t_1 + (z * ((x * y) - (b * c)));
} else if (a <= 7e-69) {
tmp = t_3;
} else if (a <= 7.6e+230) {
tmp = t_1 - (j * ((y * i) - (a * c)));
} else {
tmp = t_4;
}
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 = i * (t * b)
t_2 = j * ((a * c) - (y * i))
t_3 = t_2 + (x * ((y * z) - (t * a)))
t_4 = a * ((c * j) - (x * t))
if (a <= (-1.65d+227)) then
tmp = t_4
else if (a <= (-4.3d-75)) then
tmp = t_3
else if (a <= 3.8d-238) then
tmp = t_2 + (b * ((t * i) - (z * c)))
else if (a <= 1.05d-153) then
tmp = t_1 + (z * ((x * y) - (b * c)))
else if (a <= 7d-69) then
tmp = t_3
else if (a <= 7.6d+230) then
tmp = t_1 - (j * ((y * i) - (a * c)))
else
tmp = t_4
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = i * (t * b);
double t_2 = j * ((a * c) - (y * i));
double t_3 = t_2 + (x * ((y * z) - (t * a)));
double t_4 = a * ((c * j) - (x * t));
double tmp;
if (a <= -1.65e+227) {
tmp = t_4;
} else if (a <= -4.3e-75) {
tmp = t_3;
} else if (a <= 3.8e-238) {
tmp = t_2 + (b * ((t * i) - (z * c)));
} else if (a <= 1.05e-153) {
tmp = t_1 + (z * ((x * y) - (b * c)));
} else if (a <= 7e-69) {
tmp = t_3;
} else if (a <= 7.6e+230) {
tmp = t_1 - (j * ((y * i) - (a * c)));
} else {
tmp = t_4;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = i * (t * b) t_2 = j * ((a * c) - (y * i)) t_3 = t_2 + (x * ((y * z) - (t * a))) t_4 = a * ((c * j) - (x * t)) tmp = 0 if a <= -1.65e+227: tmp = t_4 elif a <= -4.3e-75: tmp = t_3 elif a <= 3.8e-238: tmp = t_2 + (b * ((t * i) - (z * c))) elif a <= 1.05e-153: tmp = t_1 + (z * ((x * y) - (b * c))) elif a <= 7e-69: tmp = t_3 elif a <= 7.6e+230: tmp = t_1 - (j * ((y * i) - (a * c))) else: tmp = t_4 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(i * Float64(t * b)) t_2 = Float64(j * Float64(Float64(a * c) - Float64(y * i))) t_3 = Float64(t_2 + Float64(x * Float64(Float64(y * z) - Float64(t * a)))) t_4 = Float64(a * Float64(Float64(c * j) - Float64(x * t))) tmp = 0.0 if (a <= -1.65e+227) tmp = t_4; elseif (a <= -4.3e-75) tmp = t_3; elseif (a <= 3.8e-238) tmp = Float64(t_2 + Float64(b * Float64(Float64(t * i) - Float64(z * c)))); elseif (a <= 1.05e-153) tmp = Float64(t_1 + Float64(z * Float64(Float64(x * y) - Float64(b * c)))); elseif (a <= 7e-69) tmp = t_3; elseif (a <= 7.6e+230) tmp = Float64(t_1 - Float64(j * Float64(Float64(y * i) - Float64(a * c)))); else tmp = t_4; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = i * (t * b); t_2 = j * ((a * c) - (y * i)); t_3 = t_2 + (x * ((y * z) - (t * a))); t_4 = a * ((c * j) - (x * t)); tmp = 0.0; if (a <= -1.65e+227) tmp = t_4; elseif (a <= -4.3e-75) tmp = t_3; elseif (a <= 3.8e-238) tmp = t_2 + (b * ((t * i) - (z * c))); elseif (a <= 1.05e-153) tmp = t_1 + (z * ((x * y) - (b * c))); elseif (a <= 7e-69) tmp = t_3; elseif (a <= 7.6e+230) tmp = t_1 - (j * ((y * i) - (a * c))); else tmp = t_4; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(i * N[(t * b), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(j * N[(N[(a * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(t$95$2 + N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(a * N[(N[(c * j), $MachinePrecision] - N[(x * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -1.65e+227], t$95$4, If[LessEqual[a, -4.3e-75], t$95$3, If[LessEqual[a, 3.8e-238], N[(t$95$2 + N[(b * N[(N[(t * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 1.05e-153], N[(t$95$1 + N[(z * N[(N[(x * y), $MachinePrecision] - N[(b * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 7e-69], t$95$3, If[LessEqual[a, 7.6e+230], N[(t$95$1 - N[(j * N[(N[(y * i), $MachinePrecision] - N[(a * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$4]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := i \cdot \left(t \cdot b\right)\\
t_2 := j \cdot \left(a \cdot c - y \cdot i\right)\\
t_3 := t_2 + x \cdot \left(y \cdot z - t \cdot a\right)\\
t_4 := a \cdot \left(c \cdot j - x \cdot t\right)\\
\mathbf{if}\;a \leq -1.65 \cdot 10^{+227}:\\
\;\;\;\;t_4\\
\mathbf{elif}\;a \leq -4.3 \cdot 10^{-75}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;a \leq 3.8 \cdot 10^{-238}:\\
\;\;\;\;t_2 + b \cdot \left(t \cdot i - z \cdot c\right)\\
\mathbf{elif}\;a \leq 1.05 \cdot 10^{-153}:\\
\;\;\;\;t_1 + z \cdot \left(x \cdot y - b \cdot c\right)\\
\mathbf{elif}\;a \leq 7 \cdot 10^{-69}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;a \leq 7.6 \cdot 10^{+230}:\\
\;\;\;\;t_1 - j \cdot \left(y \cdot i - a \cdot c\right)\\
\mathbf{else}:\\
\;\;\;\;t_4\\
\end{array}
\end{array}
if a < -1.6499999999999999e227 or 7.6e230 < a Initial program 41.3%
associate-+l-41.3%
*-commutative41.3%
sub-neg41.3%
sub-neg41.3%
*-commutative41.3%
Simplified41.3%
Taylor expanded in a around inf 83.8%
+-commutative83.8%
mul-1-neg83.8%
unsub-neg83.8%
Simplified83.8%
if -1.6499999999999999e227 < a < -4.2999999999999999e-75 or 1.05000000000000002e-153 < a < 7.0000000000000003e-69Initial program 80.7%
+-commutative80.7%
fma-def80.7%
*-commutative80.7%
*-commutative80.7%
Simplified80.7%
Taylor expanded in b around 0 75.7%
if -4.2999999999999999e-75 < a < 3.7999999999999997e-238Initial program 76.7%
+-commutative76.7%
fma-def76.7%
*-commutative76.7%
*-commutative76.7%
Simplified76.7%
Taylor expanded in x around 0 72.0%
if 3.7999999999999997e-238 < a < 1.05000000000000002e-153Initial program 76.8%
associate-+l-76.8%
*-commutative76.8%
sub-neg76.8%
sub-neg76.8%
*-commutative76.8%
Simplified76.8%
Taylor expanded in j around 0 82.7%
Simplified77.4%
Taylor expanded in a around 0 81.3%
if 7.0000000000000003e-69 < a < 7.6e230Initial program 66.0%
+-commutative66.0%
fma-def68.8%
*-commutative68.8%
*-commutative68.8%
Simplified68.8%
Taylor expanded in z around 0 69.8%
Taylor expanded in j around inf 69.1%
Final simplification74.6%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (+ (* i (* t b)) (* z (- (* x y) (* b c)))))
(t_2 (* c (- (* a j) (* z b)))))
(if (<= j -1.15e+232)
t_2
(if (<= j -1.8e+130)
(* i (- (* t b) (* y j)))
(if (<= j -1.06e+21)
t_2
(if (<= j 6.6e-255)
t_1
(if (<= j 1.85e-190)
(* t (- (* b i) (* x a)))
(if (<= j 9.5e+127) 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 = (i * (t * b)) + (z * ((x * y) - (b * c)));
double t_2 = c * ((a * j) - (z * b));
double tmp;
if (j <= -1.15e+232) {
tmp = t_2;
} else if (j <= -1.8e+130) {
tmp = i * ((t * b) - (y * j));
} else if (j <= -1.06e+21) {
tmp = t_2;
} else if (j <= 6.6e-255) {
tmp = t_1;
} else if (j <= 1.85e-190) {
tmp = t * ((b * i) - (x * a));
} else if (j <= 9.5e+127) {
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 = (i * (t * b)) + (z * ((x * y) - (b * c)))
t_2 = c * ((a * j) - (z * b))
if (j <= (-1.15d+232)) then
tmp = t_2
else if (j <= (-1.8d+130)) then
tmp = i * ((t * b) - (y * j))
else if (j <= (-1.06d+21)) then
tmp = t_2
else if (j <= 6.6d-255) then
tmp = t_1
else if (j <= 1.85d-190) then
tmp = t * ((b * i) - (x * a))
else if (j <= 9.5d+127) 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 = (i * (t * b)) + (z * ((x * y) - (b * c)));
double t_2 = c * ((a * j) - (z * b));
double tmp;
if (j <= -1.15e+232) {
tmp = t_2;
} else if (j <= -1.8e+130) {
tmp = i * ((t * b) - (y * j));
} else if (j <= -1.06e+21) {
tmp = t_2;
} else if (j <= 6.6e-255) {
tmp = t_1;
} else if (j <= 1.85e-190) {
tmp = t * ((b * i) - (x * a));
} else if (j <= 9.5e+127) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = (i * (t * b)) + (z * ((x * y) - (b * c))) t_2 = c * ((a * j) - (z * b)) tmp = 0 if j <= -1.15e+232: tmp = t_2 elif j <= -1.8e+130: tmp = i * ((t * b) - (y * j)) elif j <= -1.06e+21: tmp = t_2 elif j <= 6.6e-255: tmp = t_1 elif j <= 1.85e-190: tmp = t * ((b * i) - (x * a)) elif j <= 9.5e+127: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(Float64(i * Float64(t * b)) + Float64(z * Float64(Float64(x * y) - Float64(b * c)))) t_2 = Float64(c * Float64(Float64(a * j) - Float64(z * b))) tmp = 0.0 if (j <= -1.15e+232) tmp = t_2; elseif (j <= -1.8e+130) tmp = Float64(i * Float64(Float64(t * b) - Float64(y * j))); elseif (j <= -1.06e+21) tmp = t_2; elseif (j <= 6.6e-255) tmp = t_1; elseif (j <= 1.85e-190) tmp = Float64(t * Float64(Float64(b * i) - Float64(x * a))); elseif (j <= 9.5e+127) 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 = (i * (t * b)) + (z * ((x * y) - (b * c))); t_2 = c * ((a * j) - (z * b)); tmp = 0.0; if (j <= -1.15e+232) tmp = t_2; elseif (j <= -1.8e+130) tmp = i * ((t * b) - (y * j)); elseif (j <= -1.06e+21) tmp = t_2; elseif (j <= 6.6e-255) tmp = t_1; elseif (j <= 1.85e-190) tmp = t * ((b * i) - (x * a)); elseif (j <= 9.5e+127) 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[(i * N[(t * b), $MachinePrecision]), $MachinePrecision] + N[(z * N[(N[(x * y), $MachinePrecision] - N[(b * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(c * N[(N[(a * j), $MachinePrecision] - N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -1.15e+232], t$95$2, If[LessEqual[j, -1.8e+130], N[(i * N[(N[(t * b), $MachinePrecision] - N[(y * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -1.06e+21], t$95$2, If[LessEqual[j, 6.6e-255], t$95$1, If[LessEqual[j, 1.85e-190], N[(t * N[(N[(b * i), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 9.5e+127], t$95$1, t$95$2]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := i \cdot \left(t \cdot b\right) + z \cdot \left(x \cdot y - b \cdot c\right)\\
t_2 := c \cdot \left(a \cdot j - z \cdot b\right)\\
\mathbf{if}\;j \leq -1.15 \cdot 10^{+232}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;j \leq -1.8 \cdot 10^{+130}:\\
\;\;\;\;i \cdot \left(t \cdot b - y \cdot j\right)\\
\mathbf{elif}\;j \leq -1.06 \cdot 10^{+21}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;j \leq 6.6 \cdot 10^{-255}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq 1.85 \cdot 10^{-190}:\\
\;\;\;\;t \cdot \left(b \cdot i - x \cdot a\right)\\
\mathbf{elif}\;j \leq 9.5 \cdot 10^{+127}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if j < -1.15000000000000003e232 or -1.8000000000000001e130 < j < -1.06e21 or 9.49999999999999975e127 < j Initial program 64.6%
associate-+l-64.6%
*-commutative64.6%
sub-neg64.6%
sub-neg64.6%
*-commutative64.6%
Simplified64.6%
Taylor expanded in c around inf 62.1%
if -1.15000000000000003e232 < j < -1.8000000000000001e130Initial program 67.3%
associate-+l-67.3%
*-commutative67.3%
sub-neg67.3%
sub-neg67.3%
*-commutative67.3%
Simplified67.3%
Taylor expanded in i around inf 67.6%
distribute-lft-out--67.6%
Simplified67.6%
if -1.06e21 < j < 6.59999999999999976e-255 or 1.8500000000000001e-190 < j < 9.49999999999999975e127Initial program 72.5%
associate-+l-72.5%
*-commutative72.5%
sub-neg72.5%
sub-neg72.5%
*-commutative72.5%
Simplified72.5%
Taylor expanded in j around 0 75.1%
Simplified74.2%
Taylor expanded in a around 0 64.5%
if 6.59999999999999976e-255 < j < 1.8500000000000001e-190Initial program 80.9%
associate-+l-80.9%
*-commutative80.9%
sub-neg80.9%
sub-neg80.9%
*-commutative80.9%
Simplified80.9%
Taylor expanded in j around 0 87.5%
Simplified79.9%
Taylor expanded in t around inf 84.9%
mul-1-neg84.9%
unsub-neg84.9%
*-commutative84.9%
*-commutative84.9%
Simplified84.9%
Final simplification65.0%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* i (* t b)))
(t_2 (- (* x (* y z)) (* j (- (* y i) (* a c)))))
(t_3 (+ t_1 (* z (- (* x y) (* b c))))))
(if (<= j -4.6e+113)
t_2
(if (<= j -1.05e+21)
(* c (- (* a j) (* z b)))
(if (<= j -6e-179)
(+ t_1 (* x (- (* y z) (* t a))))
(if (<= j 7.2e-255)
t_3
(if (<= j 3.2e-190)
(* t (- (* b i) (* x a)))
(if (<= j 2.7e+138) 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 = i * (t * b);
double t_2 = (x * (y * z)) - (j * ((y * i) - (a * c)));
double t_3 = t_1 + (z * ((x * y) - (b * c)));
double tmp;
if (j <= -4.6e+113) {
tmp = t_2;
} else if (j <= -1.05e+21) {
tmp = c * ((a * j) - (z * b));
} else if (j <= -6e-179) {
tmp = t_1 + (x * ((y * z) - (t * a)));
} else if (j <= 7.2e-255) {
tmp = t_3;
} else if (j <= 3.2e-190) {
tmp = t * ((b * i) - (x * a));
} else if (j <= 2.7e+138) {
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 = i * (t * b)
t_2 = (x * (y * z)) - (j * ((y * i) - (a * c)))
t_3 = t_1 + (z * ((x * y) - (b * c)))
if (j <= (-4.6d+113)) then
tmp = t_2
else if (j <= (-1.05d+21)) then
tmp = c * ((a * j) - (z * b))
else if (j <= (-6d-179)) then
tmp = t_1 + (x * ((y * z) - (t * a)))
else if (j <= 7.2d-255) then
tmp = t_3
else if (j <= 3.2d-190) then
tmp = t * ((b * i) - (x * a))
else if (j <= 2.7d+138) 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 = i * (t * b);
double t_2 = (x * (y * z)) - (j * ((y * i) - (a * c)));
double t_3 = t_1 + (z * ((x * y) - (b * c)));
double tmp;
if (j <= -4.6e+113) {
tmp = t_2;
} else if (j <= -1.05e+21) {
tmp = c * ((a * j) - (z * b));
} else if (j <= -6e-179) {
tmp = t_1 + (x * ((y * z) - (t * a)));
} else if (j <= 7.2e-255) {
tmp = t_3;
} else if (j <= 3.2e-190) {
tmp = t * ((b * i) - (x * a));
} else if (j <= 2.7e+138) {
tmp = t_3;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = i * (t * b) t_2 = (x * (y * z)) - (j * ((y * i) - (a * c))) t_3 = t_1 + (z * ((x * y) - (b * c))) tmp = 0 if j <= -4.6e+113: tmp = t_2 elif j <= -1.05e+21: tmp = c * ((a * j) - (z * b)) elif j <= -6e-179: tmp = t_1 + (x * ((y * z) - (t * a))) elif j <= 7.2e-255: tmp = t_3 elif j <= 3.2e-190: tmp = t * ((b * i) - (x * a)) elif j <= 2.7e+138: tmp = t_3 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(i * Float64(t * b)) t_2 = Float64(Float64(x * Float64(y * z)) - Float64(j * Float64(Float64(y * i) - Float64(a * c)))) t_3 = Float64(t_1 + Float64(z * Float64(Float64(x * y) - Float64(b * c)))) tmp = 0.0 if (j <= -4.6e+113) tmp = t_2; elseif (j <= -1.05e+21) tmp = Float64(c * Float64(Float64(a * j) - Float64(z * b))); elseif (j <= -6e-179) tmp = Float64(t_1 + Float64(x * Float64(Float64(y * z) - Float64(t * a)))); elseif (j <= 7.2e-255) tmp = t_3; elseif (j <= 3.2e-190) tmp = Float64(t * Float64(Float64(b * i) - Float64(x * a))); elseif (j <= 2.7e+138) 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 = i * (t * b); t_2 = (x * (y * z)) - (j * ((y * i) - (a * c))); t_3 = t_1 + (z * ((x * y) - (b * c))); tmp = 0.0; if (j <= -4.6e+113) tmp = t_2; elseif (j <= -1.05e+21) tmp = c * ((a * j) - (z * b)); elseif (j <= -6e-179) tmp = t_1 + (x * ((y * z) - (t * a))); elseif (j <= 7.2e-255) tmp = t_3; elseif (j <= 3.2e-190) tmp = t * ((b * i) - (x * a)); elseif (j <= 2.7e+138) 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[(i * N[(t * b), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x * N[(y * z), $MachinePrecision]), $MachinePrecision] - N[(j * N[(N[(y * i), $MachinePrecision] - N[(a * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(t$95$1 + N[(z * N[(N[(x * y), $MachinePrecision] - N[(b * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -4.6e+113], t$95$2, If[LessEqual[j, -1.05e+21], N[(c * N[(N[(a * j), $MachinePrecision] - N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -6e-179], N[(t$95$1 + N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 7.2e-255], t$95$3, If[LessEqual[j, 3.2e-190], N[(t * N[(N[(b * i), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 2.7e+138], t$95$3, t$95$2]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := i \cdot \left(t \cdot b\right)\\
t_2 := x \cdot \left(y \cdot z\right) - j \cdot \left(y \cdot i - a \cdot c\right)\\
t_3 := t_1 + z \cdot \left(x \cdot y - b \cdot c\right)\\
\mathbf{if}\;j \leq -4.6 \cdot 10^{+113}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;j \leq -1.05 \cdot 10^{+21}:\\
\;\;\;\;c \cdot \left(a \cdot j - z \cdot b\right)\\
\mathbf{elif}\;j \leq -6 \cdot 10^{-179}:\\
\;\;\;\;t_1 + x \cdot \left(y \cdot z - t \cdot a\right)\\
\mathbf{elif}\;j \leq 7.2 \cdot 10^{-255}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;j \leq 3.2 \cdot 10^{-190}:\\
\;\;\;\;t \cdot \left(b \cdot i - x \cdot a\right)\\
\mathbf{elif}\;j \leq 2.7 \cdot 10^{+138}:\\
\;\;\;\;t_3\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if j < -4.59999999999999993e113 or 2.70000000000000009e138 < j Initial program 66.8%
+-commutative66.8%
fma-def68.1%
*-commutative68.1%
*-commutative68.1%
Simplified68.1%
Taylor expanded in b around 0 74.3%
Taylor expanded in y around inf 80.8%
if -4.59999999999999993e113 < j < -1.05e21Initial program 56.0%
associate-+l-56.0%
*-commutative56.0%
sub-neg56.0%
sub-neg56.0%
*-commutative56.0%
Simplified56.0%
Taylor expanded in c around inf 64.7%
if -1.05e21 < j < -6.00000000000000012e-179Initial program 77.6%
associate-+l-77.6%
*-commutative77.6%
sub-neg77.6%
sub-neg77.6%
*-commutative77.6%
Simplified77.6%
Taylor expanded in j around 0 80.0%
Taylor expanded in c around 0 76.1%
*-commutative76.1%
associate-*r*76.1%
neg-mul-176.1%
Simplified76.1%
if -6.00000000000000012e-179 < j < 7.2000000000000004e-255 or 3.2000000000000001e-190 < j < 2.70000000000000009e138Initial program 70.4%
associate-+l-70.4%
*-commutative70.4%
sub-neg70.4%
sub-neg70.4%
*-commutative70.4%
Simplified70.4%
Taylor expanded in j around 0 73.0%
Simplified71.8%
Taylor expanded in a around 0 68.1%
if 7.2000000000000004e-255 < j < 3.2000000000000001e-190Initial program 80.9%
associate-+l-80.9%
*-commutative80.9%
sub-neg80.9%
sub-neg80.9%
*-commutative80.9%
Simplified80.9%
Taylor expanded in j around 0 87.5%
Simplified79.9%
Taylor expanded in t around inf 84.9%
mul-1-neg84.9%
unsub-neg84.9%
*-commutative84.9%
*-commutative84.9%
Simplified84.9%
Final simplification74.1%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* j (- (* y i) (* a c))))
(t_2 (* i (* t b)))
(t_3 (+ t_2 (* z (- (* x y) (* b c))))))
(if (<= j -1.7e+129)
(- t_2 t_1)
(if (<= j -6.8e+20)
(* c (- (* a j) (* z b)))
(if (<= j -7e-179)
(+ t_2 (* x (- (* y z) (* t a))))
(if (<= j 6e-255)
t_3
(if (<= j 8e-191)
(* t (- (* b i) (* x a)))
(if (<= j 2.7e+138) t_3 (- (* x (* y z)) 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 = j * ((y * i) - (a * c));
double t_2 = i * (t * b);
double t_3 = t_2 + (z * ((x * y) - (b * c)));
double tmp;
if (j <= -1.7e+129) {
tmp = t_2 - t_1;
} else if (j <= -6.8e+20) {
tmp = c * ((a * j) - (z * b));
} else if (j <= -7e-179) {
tmp = t_2 + (x * ((y * z) - (t * a)));
} else if (j <= 6e-255) {
tmp = t_3;
} else if (j <= 8e-191) {
tmp = t * ((b * i) - (x * a));
} else if (j <= 2.7e+138) {
tmp = t_3;
} else {
tmp = (x * (y * z)) - 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) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = j * ((y * i) - (a * c))
t_2 = i * (t * b)
t_3 = t_2 + (z * ((x * y) - (b * c)))
if (j <= (-1.7d+129)) then
tmp = t_2 - t_1
else if (j <= (-6.8d+20)) then
tmp = c * ((a * j) - (z * b))
else if (j <= (-7d-179)) then
tmp = t_2 + (x * ((y * z) - (t * a)))
else if (j <= 6d-255) then
tmp = t_3
else if (j <= 8d-191) then
tmp = t * ((b * i) - (x * a))
else if (j <= 2.7d+138) then
tmp = t_3
else
tmp = (x * (y * z)) - 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 = j * ((y * i) - (a * c));
double t_2 = i * (t * b);
double t_3 = t_2 + (z * ((x * y) - (b * c)));
double tmp;
if (j <= -1.7e+129) {
tmp = t_2 - t_1;
} else if (j <= -6.8e+20) {
tmp = c * ((a * j) - (z * b));
} else if (j <= -7e-179) {
tmp = t_2 + (x * ((y * z) - (t * a)));
} else if (j <= 6e-255) {
tmp = t_3;
} else if (j <= 8e-191) {
tmp = t * ((b * i) - (x * a));
} else if (j <= 2.7e+138) {
tmp = t_3;
} else {
tmp = (x * (y * z)) - t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = j * ((y * i) - (a * c)) t_2 = i * (t * b) t_3 = t_2 + (z * ((x * y) - (b * c))) tmp = 0 if j <= -1.7e+129: tmp = t_2 - t_1 elif j <= -6.8e+20: tmp = c * ((a * j) - (z * b)) elif j <= -7e-179: tmp = t_2 + (x * ((y * z) - (t * a))) elif j <= 6e-255: tmp = t_3 elif j <= 8e-191: tmp = t * ((b * i) - (x * a)) elif j <= 2.7e+138: tmp = t_3 else: tmp = (x * (y * z)) - t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(j * Float64(Float64(y * i) - Float64(a * c))) t_2 = Float64(i * Float64(t * b)) t_3 = Float64(t_2 + Float64(z * Float64(Float64(x * y) - Float64(b * c)))) tmp = 0.0 if (j <= -1.7e+129) tmp = Float64(t_2 - t_1); elseif (j <= -6.8e+20) tmp = Float64(c * Float64(Float64(a * j) - Float64(z * b))); elseif (j <= -7e-179) tmp = Float64(t_2 + Float64(x * Float64(Float64(y * z) - Float64(t * a)))); elseif (j <= 6e-255) tmp = t_3; elseif (j <= 8e-191) tmp = Float64(t * Float64(Float64(b * i) - Float64(x * a))); elseif (j <= 2.7e+138) tmp = t_3; else tmp = Float64(Float64(x * Float64(y * z)) - t_1); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = j * ((y * i) - (a * c)); t_2 = i * (t * b); t_3 = t_2 + (z * ((x * y) - (b * c))); tmp = 0.0; if (j <= -1.7e+129) tmp = t_2 - t_1; elseif (j <= -6.8e+20) tmp = c * ((a * j) - (z * b)); elseif (j <= -7e-179) tmp = t_2 + (x * ((y * z) - (t * a))); elseif (j <= 6e-255) tmp = t_3; elseif (j <= 8e-191) tmp = t * ((b * i) - (x * a)); elseif (j <= 2.7e+138) tmp = t_3; else tmp = (x * (y * z)) - t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(j * N[(N[(y * i), $MachinePrecision] - N[(a * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(i * N[(t * b), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(t$95$2 + N[(z * N[(N[(x * y), $MachinePrecision] - N[(b * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -1.7e+129], N[(t$95$2 - t$95$1), $MachinePrecision], If[LessEqual[j, -6.8e+20], N[(c * N[(N[(a * j), $MachinePrecision] - N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -7e-179], N[(t$95$2 + N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 6e-255], t$95$3, If[LessEqual[j, 8e-191], N[(t * N[(N[(b * i), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 2.7e+138], t$95$3, N[(N[(x * N[(y * z), $MachinePrecision]), $MachinePrecision] - t$95$1), $MachinePrecision]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(y \cdot i - a \cdot c\right)\\
t_2 := i \cdot \left(t \cdot b\right)\\
t_3 := t_2 + z \cdot \left(x \cdot y - b \cdot c\right)\\
\mathbf{if}\;j \leq -1.7 \cdot 10^{+129}:\\
\;\;\;\;t_2 - t_1\\
\mathbf{elif}\;j \leq -6.8 \cdot 10^{+20}:\\
\;\;\;\;c \cdot \left(a \cdot j - z \cdot b\right)\\
\mathbf{elif}\;j \leq -7 \cdot 10^{-179}:\\
\;\;\;\;t_2 + x \cdot \left(y \cdot z - t \cdot a\right)\\
\mathbf{elif}\;j \leq 6 \cdot 10^{-255}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;j \leq 8 \cdot 10^{-191}:\\
\;\;\;\;t \cdot \left(b \cdot i - x \cdot a\right)\\
\mathbf{elif}\;j \leq 2.7 \cdot 10^{+138}:\\
\;\;\;\;t_3\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(y \cdot z\right) - t_1\\
\end{array}
\end{array}
if j < -1.70000000000000009e129Initial program 73.6%
+-commutative73.6%
fma-def73.6%
*-commutative73.6%
*-commutative73.6%
Simplified73.6%
Taylor expanded in z around 0 79.0%
Taylor expanded in j around inf 76.3%
if -1.70000000000000009e129 < j < -6.8e20Initial program 58.6%
associate-+l-58.6%
*-commutative58.6%
sub-neg58.6%
sub-neg58.6%
*-commutative58.6%
Simplified58.6%
Taylor expanded in c around inf 66.2%
if -6.8e20 < j < -7.00000000000000049e-179Initial program 77.6%
associate-+l-77.6%
*-commutative77.6%
sub-neg77.6%
sub-neg77.6%
*-commutative77.6%
Simplified77.6%
Taylor expanded in j around 0 80.0%
Taylor expanded in c around 0 76.1%
*-commutative76.1%
associate-*r*76.1%
neg-mul-176.1%
Simplified76.1%
if -7.00000000000000049e-179 < j < 6.00000000000000004e-255 or 8.0000000000000002e-191 < j < 2.70000000000000009e138Initial program 70.4%
associate-+l-70.4%
*-commutative70.4%
sub-neg70.4%
sub-neg70.4%
*-commutative70.4%
Simplified70.4%
Taylor expanded in j around 0 73.0%
Simplified71.8%
Taylor expanded in a around 0 68.1%
if 6.00000000000000004e-255 < j < 8.0000000000000002e-191Initial program 80.9%
associate-+l-80.9%
*-commutative80.9%
sub-neg80.9%
sub-neg80.9%
*-commutative80.9%
Simplified80.9%
Taylor expanded in j around 0 87.5%
Simplified79.9%
Taylor expanded in t around inf 84.9%
mul-1-neg84.9%
unsub-neg84.9%
*-commutative84.9%
*-commutative84.9%
Simplified84.9%
if 2.70000000000000009e138 < j Initial program 60.3%
+-commutative60.3%
fma-def62.8%
*-commutative62.8%
*-commutative62.8%
Simplified62.8%
Taylor expanded in b around 0 72.6%
Taylor expanded in y around inf 85.3%
Final simplification74.1%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* i (* t b)))
(t_2 (* x (- (* y z) (* t a))))
(t_3 (+ t_1 (* z (- (* x y) (* b c))))))
(if (<= j -3.6e+20)
(+ (* j (- (* a c) (* y i))) t_2)
(if (<= j -2e-170)
(+ t_1 t_2)
(if (<= j -3.5e-178)
(* a (- (* c j) (* x t)))
(if (<= j 4.7e-255)
t_3
(if (<= j 8e-191)
(* t (- (* b i) (* x a)))
(if (<= j 2.65e+138)
t_3
(- (* x (* y z)) (* j (- (* y i) (* a c))))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = i * (t * b);
double t_2 = x * ((y * z) - (t * a));
double t_3 = t_1 + (z * ((x * y) - (b * c)));
double tmp;
if (j <= -3.6e+20) {
tmp = (j * ((a * c) - (y * i))) + t_2;
} else if (j <= -2e-170) {
tmp = t_1 + t_2;
} else if (j <= -3.5e-178) {
tmp = a * ((c * j) - (x * t));
} else if (j <= 4.7e-255) {
tmp = t_3;
} else if (j <= 8e-191) {
tmp = t * ((b * i) - (x * a));
} else if (j <= 2.65e+138) {
tmp = t_3;
} else {
tmp = (x * (y * z)) - (j * ((y * i) - (a * 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) :: tmp
t_1 = i * (t * b)
t_2 = x * ((y * z) - (t * a))
t_3 = t_1 + (z * ((x * y) - (b * c)))
if (j <= (-3.6d+20)) then
tmp = (j * ((a * c) - (y * i))) + t_2
else if (j <= (-2d-170)) then
tmp = t_1 + t_2
else if (j <= (-3.5d-178)) then
tmp = a * ((c * j) - (x * t))
else if (j <= 4.7d-255) then
tmp = t_3
else if (j <= 8d-191) then
tmp = t * ((b * i) - (x * a))
else if (j <= 2.65d+138) then
tmp = t_3
else
tmp = (x * (y * z)) - (j * ((y * i) - (a * 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 = i * (t * b);
double t_2 = x * ((y * z) - (t * a));
double t_3 = t_1 + (z * ((x * y) - (b * c)));
double tmp;
if (j <= -3.6e+20) {
tmp = (j * ((a * c) - (y * i))) + t_2;
} else if (j <= -2e-170) {
tmp = t_1 + t_2;
} else if (j <= -3.5e-178) {
tmp = a * ((c * j) - (x * t));
} else if (j <= 4.7e-255) {
tmp = t_3;
} else if (j <= 8e-191) {
tmp = t * ((b * i) - (x * a));
} else if (j <= 2.65e+138) {
tmp = t_3;
} else {
tmp = (x * (y * z)) - (j * ((y * i) - (a * c)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = i * (t * b) t_2 = x * ((y * z) - (t * a)) t_3 = t_1 + (z * ((x * y) - (b * c))) tmp = 0 if j <= -3.6e+20: tmp = (j * ((a * c) - (y * i))) + t_2 elif j <= -2e-170: tmp = t_1 + t_2 elif j <= -3.5e-178: tmp = a * ((c * j) - (x * t)) elif j <= 4.7e-255: tmp = t_3 elif j <= 8e-191: tmp = t * ((b * i) - (x * a)) elif j <= 2.65e+138: tmp = t_3 else: tmp = (x * (y * z)) - (j * ((y * i) - (a * c))) return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(i * Float64(t * b)) t_2 = Float64(x * Float64(Float64(y * z) - Float64(t * a))) t_3 = Float64(t_1 + Float64(z * Float64(Float64(x * y) - Float64(b * c)))) tmp = 0.0 if (j <= -3.6e+20) tmp = Float64(Float64(j * Float64(Float64(a * c) - Float64(y * i))) + t_2); elseif (j <= -2e-170) tmp = Float64(t_1 + t_2); elseif (j <= -3.5e-178) tmp = Float64(a * Float64(Float64(c * j) - Float64(x * t))); elseif (j <= 4.7e-255) tmp = t_3; elseif (j <= 8e-191) tmp = Float64(t * Float64(Float64(b * i) - Float64(x * a))); elseif (j <= 2.65e+138) tmp = t_3; else tmp = Float64(Float64(x * Float64(y * z)) - Float64(j * Float64(Float64(y * i) - Float64(a * c)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = i * (t * b); t_2 = x * ((y * z) - (t * a)); t_3 = t_1 + (z * ((x * y) - (b * c))); tmp = 0.0; if (j <= -3.6e+20) tmp = (j * ((a * c) - (y * i))) + t_2; elseif (j <= -2e-170) tmp = t_1 + t_2; elseif (j <= -3.5e-178) tmp = a * ((c * j) - (x * t)); elseif (j <= 4.7e-255) tmp = t_3; elseif (j <= 8e-191) tmp = t * ((b * i) - (x * a)); elseif (j <= 2.65e+138) tmp = t_3; else tmp = (x * (y * z)) - (j * ((y * i) - (a * c))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(i * N[(t * b), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(t$95$1 + N[(z * N[(N[(x * y), $MachinePrecision] - N[(b * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -3.6e+20], N[(N[(j * N[(N[(a * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$2), $MachinePrecision], If[LessEqual[j, -2e-170], N[(t$95$1 + t$95$2), $MachinePrecision], If[LessEqual[j, -3.5e-178], N[(a * N[(N[(c * j), $MachinePrecision] - N[(x * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 4.7e-255], t$95$3, If[LessEqual[j, 8e-191], N[(t * N[(N[(b * i), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 2.65e+138], t$95$3, N[(N[(x * N[(y * z), $MachinePrecision]), $MachinePrecision] - N[(j * N[(N[(y * i), $MachinePrecision] - N[(a * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := i \cdot \left(t \cdot b\right)\\
t_2 := x \cdot \left(y \cdot z - t \cdot a\right)\\
t_3 := t_1 + z \cdot \left(x \cdot y - b \cdot c\right)\\
\mathbf{if}\;j \leq -3.6 \cdot 10^{+20}:\\
\;\;\;\;j \cdot \left(a \cdot c - y \cdot i\right) + t_2\\
\mathbf{elif}\;j \leq -2 \cdot 10^{-170}:\\
\;\;\;\;t_1 + t_2\\
\mathbf{elif}\;j \leq -3.5 \cdot 10^{-178}:\\
\;\;\;\;a \cdot \left(c \cdot j - x \cdot t\right)\\
\mathbf{elif}\;j \leq 4.7 \cdot 10^{-255}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;j \leq 8 \cdot 10^{-191}:\\
\;\;\;\;t \cdot \left(b \cdot i - x \cdot a\right)\\
\mathbf{elif}\;j \leq 2.65 \cdot 10^{+138}:\\
\;\;\;\;t_3\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(y \cdot z\right) - j \cdot \left(y \cdot i - a \cdot c\right)\\
\end{array}
\end{array}
if j < -3.6e20Initial program 66.7%
+-commutative66.7%
fma-def68.3%
*-commutative68.3%
*-commutative68.3%
Simplified68.3%
Taylor expanded in b around 0 68.2%
if -3.6e20 < j < -1.99999999999999997e-170Initial program 78.1%
associate-+l-78.1%
*-commutative78.1%
sub-neg78.1%
sub-neg78.1%
*-commutative78.1%
Simplified78.1%
Taylor expanded in j around 0 82.8%
Taylor expanded in c around 0 78.7%
*-commutative78.7%
associate-*r*78.7%
neg-mul-178.7%
Simplified78.7%
if -1.99999999999999997e-170 < j < -3.49999999999999983e-178Initial program 69.1%
associate-+l-69.1%
*-commutative69.1%
sub-neg69.1%
sub-neg69.1%
*-commutative69.1%
Simplified69.1%
Taylor expanded in a around inf 100.0%
+-commutative100.0%
mul-1-neg100.0%
unsub-neg100.0%
Simplified100.0%
if -3.49999999999999983e-178 < j < 4.6999999999999997e-255 or 8.0000000000000002e-191 < j < 2.64999999999999992e138Initial program 70.4%
associate-+l-70.4%
*-commutative70.4%
sub-neg70.4%
sub-neg70.4%
*-commutative70.4%
Simplified70.4%
Taylor expanded in j around 0 73.0%
Simplified71.8%
Taylor expanded in a around 0 68.1%
if 4.6999999999999997e-255 < j < 8.0000000000000002e-191Initial program 80.9%
associate-+l-80.9%
*-commutative80.9%
sub-neg80.9%
sub-neg80.9%
*-commutative80.9%
Simplified80.9%
Taylor expanded in j around 0 87.5%
Simplified79.9%
Taylor expanded in t around inf 84.9%
mul-1-neg84.9%
unsub-neg84.9%
*-commutative84.9%
*-commutative84.9%
Simplified84.9%
if 2.64999999999999992e138 < j Initial program 60.3%
+-commutative60.3%
fma-def62.8%
*-commutative62.8%
*-commutative62.8%
Simplified62.8%
Taylor expanded in b around 0 72.6%
Taylor expanded in y around inf 85.3%
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 (- (* t i) (* z c))))))
(if (<= j -2.25e+46)
(+ (* j (- (* a c) (* y i))) t_1)
(if (<= j 2.35e-104)
t_2
(if (<= j 2.8e-91)
(* c (- (* a j) (* z b)))
(if (<= j 3.2e+138)
t_2
(- (* x (* y z)) (* j (- (* y i) (* a c))))))))))
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 * ((t * i) - (z * c)));
double tmp;
if (j <= -2.25e+46) {
tmp = (j * ((a * c) - (y * i))) + t_1;
} else if (j <= 2.35e-104) {
tmp = t_2;
} else if (j <= 2.8e-91) {
tmp = c * ((a * j) - (z * b));
} else if (j <= 3.2e+138) {
tmp = t_2;
} else {
tmp = (x * (y * z)) - (j * ((y * i) - (a * 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) :: tmp
t_1 = x * ((y * z) - (t * a))
t_2 = t_1 + (b * ((t * i) - (z * c)))
if (j <= (-2.25d+46)) then
tmp = (j * ((a * c) - (y * i))) + t_1
else if (j <= 2.35d-104) then
tmp = t_2
else if (j <= 2.8d-91) then
tmp = c * ((a * j) - (z * b))
else if (j <= 3.2d+138) then
tmp = t_2
else
tmp = (x * (y * z)) - (j * ((y * i) - (a * 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 = x * ((y * z) - (t * a));
double t_2 = t_1 + (b * ((t * i) - (z * c)));
double tmp;
if (j <= -2.25e+46) {
tmp = (j * ((a * c) - (y * i))) + t_1;
} else if (j <= 2.35e-104) {
tmp = t_2;
} else if (j <= 2.8e-91) {
tmp = c * ((a * j) - (z * b));
} else if (j <= 3.2e+138) {
tmp = t_2;
} else {
tmp = (x * (y * z)) - (j * ((y * i) - (a * c)));
}
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 * ((t * i) - (z * c))) tmp = 0 if j <= -2.25e+46: tmp = (j * ((a * c) - (y * i))) + t_1 elif j <= 2.35e-104: tmp = t_2 elif j <= 2.8e-91: tmp = c * ((a * j) - (z * b)) elif j <= 3.2e+138: tmp = t_2 else: tmp = (x * (y * z)) - (j * ((y * i) - (a * c))) 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(t * i) - Float64(z * c)))) tmp = 0.0 if (j <= -2.25e+46) tmp = Float64(Float64(j * Float64(Float64(a * c) - Float64(y * i))) + t_1); elseif (j <= 2.35e-104) tmp = t_2; elseif (j <= 2.8e-91) tmp = Float64(c * Float64(Float64(a * j) - Float64(z * b))); elseif (j <= 3.2e+138) tmp = t_2; else tmp = Float64(Float64(x * Float64(y * z)) - Float64(j * Float64(Float64(y * i) - Float64(a * c)))); 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 * ((t * i) - (z * c))); tmp = 0.0; if (j <= -2.25e+46) tmp = (j * ((a * c) - (y * i))) + t_1; elseif (j <= 2.35e-104) tmp = t_2; elseif (j <= 2.8e-91) tmp = c * ((a * j) - (z * b)); elseif (j <= 3.2e+138) tmp = t_2; else tmp = (x * (y * z)) - (j * ((y * i) - (a * c))); 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[(t * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -2.25e+46], N[(N[(j * N[(N[(a * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision], If[LessEqual[j, 2.35e-104], t$95$2, If[LessEqual[j, 2.8e-91], N[(c * N[(N[(a * j), $MachinePrecision] - N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 3.2e+138], t$95$2, N[(N[(x * N[(y * z), $MachinePrecision]), $MachinePrecision] - N[(j * N[(N[(y * i), $MachinePrecision] - N[(a * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]
\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(t \cdot i - z \cdot c\right)\\
\mathbf{if}\;j \leq -2.25 \cdot 10^{+46}:\\
\;\;\;\;j \cdot \left(a \cdot c - y \cdot i\right) + t_1\\
\mathbf{elif}\;j \leq 2.35 \cdot 10^{-104}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;j \leq 2.8 \cdot 10^{-91}:\\
\;\;\;\;c \cdot \left(a \cdot j - z \cdot b\right)\\
\mathbf{elif}\;j \leq 3.2 \cdot 10^{+138}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(y \cdot z\right) - j \cdot \left(y \cdot i - a \cdot c\right)\\
\end{array}
\end{array}
if j < -2.25000000000000005e46Initial program 67.9%
+-commutative67.9%
fma-def69.7%
*-commutative69.7%
*-commutative69.7%
Simplified69.7%
Taylor expanded in b around 0 71.3%
if -2.25000000000000005e46 < j < 2.35e-104 or 2.8e-91 < j < 3.2000000000000001e138Initial program 75.2%
associate-+l-75.2%
*-commutative75.2%
sub-neg75.2%
sub-neg75.2%
*-commutative75.2%
Simplified75.2%
Taylor expanded in j around 0 78.9%
if 2.35e-104 < j < 2.8e-91Initial program 34.9%
associate-+l-34.9%
*-commutative34.9%
sub-neg34.9%
sub-neg34.9%
*-commutative34.9%
Simplified34.9%
Taylor expanded in c around inf 78.5%
if 3.2000000000000001e138 < j Initial program 60.3%
+-commutative60.3%
fma-def62.8%
*-commutative62.8%
*-commutative62.8%
Simplified62.8%
Taylor expanded in b around 0 72.6%
Taylor expanded in y around inf 85.3%
Final simplification78.2%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (+ (* x (- (* y z) (* t a))) (* b (- (* t i) (* z c)))))
(t_2 (* j (- (* y i) (* a c)))))
(if (<= j -1.7e+53)
(- (* i (* t b)) (+ (* a (* x t)) t_2))
(if (<= j 2.35e-104)
t_1
(if (<= j 2.7e-91)
(* c (- (* a j) (* z b)))
(if (<= j 3.5e+138) t_1 (- (* x (* y z)) 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 * ((t * i) - (z * c)));
double t_2 = j * ((y * i) - (a * c));
double tmp;
if (j <= -1.7e+53) {
tmp = (i * (t * b)) - ((a * (x * t)) + t_2);
} else if (j <= 2.35e-104) {
tmp = t_1;
} else if (j <= 2.7e-91) {
tmp = c * ((a * j) - (z * b));
} else if (j <= 3.5e+138) {
tmp = t_1;
} else {
tmp = (x * (y * z)) - 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 * ((t * i) - (z * c)))
t_2 = j * ((y * i) - (a * c))
if (j <= (-1.7d+53)) then
tmp = (i * (t * b)) - ((a * (x * t)) + t_2)
else if (j <= 2.35d-104) then
tmp = t_1
else if (j <= 2.7d-91) then
tmp = c * ((a * j) - (z * b))
else if (j <= 3.5d+138) then
tmp = t_1
else
tmp = (x * (y * z)) - 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 * ((t * i) - (z * c)));
double t_2 = j * ((y * i) - (a * c));
double tmp;
if (j <= -1.7e+53) {
tmp = (i * (t * b)) - ((a * (x * t)) + t_2);
} else if (j <= 2.35e-104) {
tmp = t_1;
} else if (j <= 2.7e-91) {
tmp = c * ((a * j) - (z * b));
} else if (j <= 3.5e+138) {
tmp = t_1;
} else {
tmp = (x * (y * z)) - t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = (x * ((y * z) - (t * a))) + (b * ((t * i) - (z * c))) t_2 = j * ((y * i) - (a * c)) tmp = 0 if j <= -1.7e+53: tmp = (i * (t * b)) - ((a * (x * t)) + t_2) elif j <= 2.35e-104: tmp = t_1 elif j <= 2.7e-91: tmp = c * ((a * j) - (z * b)) elif j <= 3.5e+138: tmp = t_1 else: tmp = (x * (y * z)) - t_2 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(b * Float64(Float64(t * i) - Float64(z * c)))) t_2 = Float64(j * Float64(Float64(y * i) - Float64(a * c))) tmp = 0.0 if (j <= -1.7e+53) tmp = Float64(Float64(i * Float64(t * b)) - Float64(Float64(a * Float64(x * t)) + t_2)); elseif (j <= 2.35e-104) tmp = t_1; elseif (j <= 2.7e-91) tmp = Float64(c * Float64(Float64(a * j) - Float64(z * b))); elseif (j <= 3.5e+138) tmp = t_1; else tmp = Float64(Float64(x * Float64(y * z)) - 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 * ((t * i) - (z * c))); t_2 = j * ((y * i) - (a * c)); tmp = 0.0; if (j <= -1.7e+53) tmp = (i * (t * b)) - ((a * (x * t)) + t_2); elseif (j <= 2.35e-104) tmp = t_1; elseif (j <= 2.7e-91) tmp = c * ((a * j) - (z * b)); elseif (j <= 3.5e+138) tmp = t_1; else tmp = (x * (y * z)) - t_2; 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[(b * N[(N[(t * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(j * N[(N[(y * i), $MachinePrecision] - N[(a * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -1.7e+53], N[(N[(i * N[(t * b), $MachinePrecision]), $MachinePrecision] - N[(N[(a * N[(x * t), $MachinePrecision]), $MachinePrecision] + t$95$2), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 2.35e-104], t$95$1, If[LessEqual[j, 2.7e-91], N[(c * N[(N[(a * j), $MachinePrecision] - N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 3.5e+138], t$95$1, N[(N[(x * N[(y * z), $MachinePrecision]), $MachinePrecision] - t$95$2), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(y \cdot z - t \cdot a\right) + b \cdot \left(t \cdot i - z \cdot c\right)\\
t_2 := j \cdot \left(y \cdot i - a \cdot c\right)\\
\mathbf{if}\;j \leq -1.7 \cdot 10^{+53}:\\
\;\;\;\;i \cdot \left(t \cdot b\right) - \left(a \cdot \left(x \cdot t\right) + t_2\right)\\
\mathbf{elif}\;j \leq 2.35 \cdot 10^{-104}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq 2.7 \cdot 10^{-91}:\\
\;\;\;\;c \cdot \left(a \cdot j - z \cdot b\right)\\
\mathbf{elif}\;j \leq 3.5 \cdot 10^{+138}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(y \cdot z\right) - t_2\\
\end{array}
\end{array}
if j < -1.69999999999999999e53Initial program 67.9%
+-commutative67.9%
fma-def69.7%
*-commutative69.7%
*-commutative69.7%
Simplified69.7%
Taylor expanded in z around 0 73.0%
if -1.69999999999999999e53 < j < 2.35e-104 or 2.6999999999999997e-91 < j < 3.4999999999999998e138Initial program 75.2%
associate-+l-75.2%
*-commutative75.2%
sub-neg75.2%
sub-neg75.2%
*-commutative75.2%
Simplified75.2%
Taylor expanded in j around 0 78.9%
if 2.35e-104 < j < 2.6999999999999997e-91Initial program 34.9%
associate-+l-34.9%
*-commutative34.9%
sub-neg34.9%
sub-neg34.9%
*-commutative34.9%
Simplified34.9%
Taylor expanded in c around inf 78.5%
if 3.4999999999999998e138 < j Initial program 60.3%
+-commutative60.3%
fma-def62.8%
*-commutative62.8%
*-commutative62.8%
Simplified62.8%
Taylor expanded in b around 0 72.6%
Taylor expanded in y around inf 85.3%
Final simplification78.6%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* t (- (* b i) (* x a))))
(t_2 (* y (- (* x z) (* i j))))
(t_3 (* c (- (* a j) (* z b)))))
(if (<= c -5e+88)
t_3
(if (<= c -5.8e+47)
t_2
(if (<= c -1.2e+40)
(* a (* x (- t)))
(if (<= c -2.2e+23)
(* z (- (* x y) (* b c)))
(if (<= c -5.5e-141)
t_2
(if (<= c -1.2e-250)
t_1
(if (<= c 3.4e-294)
(* x (- (* y z) (* t a)))
(if (<= c 1.7e+43) 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 = t * ((b * i) - (x * a));
double t_2 = y * ((x * z) - (i * j));
double t_3 = c * ((a * j) - (z * b));
double tmp;
if (c <= -5e+88) {
tmp = t_3;
} else if (c <= -5.8e+47) {
tmp = t_2;
} else if (c <= -1.2e+40) {
tmp = a * (x * -t);
} else if (c <= -2.2e+23) {
tmp = z * ((x * y) - (b * c));
} else if (c <= -5.5e-141) {
tmp = t_2;
} else if (c <= -1.2e-250) {
tmp = t_1;
} else if (c <= 3.4e-294) {
tmp = x * ((y * z) - (t * a));
} else if (c <= 1.7e+43) {
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 = t * ((b * i) - (x * a))
t_2 = y * ((x * z) - (i * j))
t_3 = c * ((a * j) - (z * b))
if (c <= (-5d+88)) then
tmp = t_3
else if (c <= (-5.8d+47)) then
tmp = t_2
else if (c <= (-1.2d+40)) then
tmp = a * (x * -t)
else if (c <= (-2.2d+23)) then
tmp = z * ((x * y) - (b * c))
else if (c <= (-5.5d-141)) then
tmp = t_2
else if (c <= (-1.2d-250)) then
tmp = t_1
else if (c <= 3.4d-294) then
tmp = x * ((y * z) - (t * a))
else if (c <= 1.7d+43) 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 = t * ((b * i) - (x * a));
double t_2 = y * ((x * z) - (i * j));
double t_3 = c * ((a * j) - (z * b));
double tmp;
if (c <= -5e+88) {
tmp = t_3;
} else if (c <= -5.8e+47) {
tmp = t_2;
} else if (c <= -1.2e+40) {
tmp = a * (x * -t);
} else if (c <= -2.2e+23) {
tmp = z * ((x * y) - (b * c));
} else if (c <= -5.5e-141) {
tmp = t_2;
} else if (c <= -1.2e-250) {
tmp = t_1;
} else if (c <= 3.4e-294) {
tmp = x * ((y * z) - (t * a));
} else if (c <= 1.7e+43) {
tmp = t_1;
} else {
tmp = t_3;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = t * ((b * i) - (x * a)) t_2 = y * ((x * z) - (i * j)) t_3 = c * ((a * j) - (z * b)) tmp = 0 if c <= -5e+88: tmp = t_3 elif c <= -5.8e+47: tmp = t_2 elif c <= -1.2e+40: tmp = a * (x * -t) elif c <= -2.2e+23: tmp = z * ((x * y) - (b * c)) elif c <= -5.5e-141: tmp = t_2 elif c <= -1.2e-250: tmp = t_1 elif c <= 3.4e-294: tmp = x * ((y * z) - (t * a)) elif c <= 1.7e+43: tmp = t_1 else: tmp = t_3 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(t * Float64(Float64(b * i) - Float64(x * a))) t_2 = Float64(y * Float64(Float64(x * z) - Float64(i * j))) t_3 = Float64(c * Float64(Float64(a * j) - Float64(z * b))) tmp = 0.0 if (c <= -5e+88) tmp = t_3; elseif (c <= -5.8e+47) tmp = t_2; elseif (c <= -1.2e+40) tmp = Float64(a * Float64(x * Float64(-t))); elseif (c <= -2.2e+23) tmp = Float64(z * Float64(Float64(x * y) - Float64(b * c))); elseif (c <= -5.5e-141) tmp = t_2; elseif (c <= -1.2e-250) tmp = t_1; elseif (c <= 3.4e-294) tmp = Float64(x * Float64(Float64(y * z) - Float64(t * a))); elseif (c <= 1.7e+43) 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 = t * ((b * i) - (x * a)); t_2 = y * ((x * z) - (i * j)); t_3 = c * ((a * j) - (z * b)); tmp = 0.0; if (c <= -5e+88) tmp = t_3; elseif (c <= -5.8e+47) tmp = t_2; elseif (c <= -1.2e+40) tmp = a * (x * -t); elseif (c <= -2.2e+23) tmp = z * ((x * y) - (b * c)); elseif (c <= -5.5e-141) tmp = t_2; elseif (c <= -1.2e-250) tmp = t_1; elseif (c <= 3.4e-294) tmp = x * ((y * z) - (t * a)); elseif (c <= 1.7e+43) 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[(t * N[(N[(b * i), $MachinePrecision] - N[(x * a), $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[(c * N[(N[(a * j), $MachinePrecision] - N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[c, -5e+88], t$95$3, If[LessEqual[c, -5.8e+47], t$95$2, If[LessEqual[c, -1.2e+40], N[(a * N[(x * (-t)), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, -2.2e+23], N[(z * N[(N[(x * y), $MachinePrecision] - N[(b * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, -5.5e-141], t$95$2, If[LessEqual[c, -1.2e-250], t$95$1, If[LessEqual[c, 3.4e-294], N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 1.7e+43], t$95$1, t$95$3]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(b \cdot i - x \cdot a\right)\\
t_2 := y \cdot \left(x \cdot z - i \cdot j\right)\\
t_3 := c \cdot \left(a \cdot j - z \cdot b\right)\\
\mathbf{if}\;c \leq -5 \cdot 10^{+88}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;c \leq -5.8 \cdot 10^{+47}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;c \leq -1.2 \cdot 10^{+40}:\\
\;\;\;\;a \cdot \left(x \cdot \left(-t\right)\right)\\
\mathbf{elif}\;c \leq -2.2 \cdot 10^{+23}:\\
\;\;\;\;z \cdot \left(x \cdot y - b \cdot c\right)\\
\mathbf{elif}\;c \leq -5.5 \cdot 10^{-141}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;c \leq -1.2 \cdot 10^{-250}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;c \leq 3.4 \cdot 10^{-294}:\\
\;\;\;\;x \cdot \left(y \cdot z - t \cdot a\right)\\
\mathbf{elif}\;c \leq 1.7 \cdot 10^{+43}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_3\\
\end{array}
\end{array}
if c < -4.99999999999999997e88 or 1.70000000000000006e43 < c Initial program 61.1%
associate-+l-61.1%
*-commutative61.1%
sub-neg61.1%
sub-neg61.1%
*-commutative61.1%
Simplified61.1%
Taylor expanded in c around inf 68.4%
if -4.99999999999999997e88 < c < -5.79999999999999961e47 or -2.20000000000000008e23 < c < -5.4999999999999998e-141Initial program 72.3%
associate-+l-72.3%
*-commutative72.3%
sub-neg72.3%
sub-neg72.3%
*-commutative72.3%
Simplified72.3%
Taylor expanded in y around inf 70.0%
*-commutative70.0%
mul-1-neg70.0%
unsub-neg70.0%
Simplified70.0%
if -5.79999999999999961e47 < c < -1.2e40Initial program 33.3%
associate-+l-33.3%
*-commutative33.3%
sub-neg33.3%
sub-neg33.3%
*-commutative33.3%
Simplified33.3%
Taylor expanded in a around inf 100.0%
+-commutative100.0%
mul-1-neg100.0%
unsub-neg100.0%
Simplified100.0%
Taylor expanded in c around 0 100.0%
neg-mul-1100.0%
distribute-rgt-neg-in100.0%
Simplified100.0%
if -1.2e40 < c < -2.20000000000000008e23Initial program 100.0%
associate-+l-100.0%
*-commutative100.0%
sub-neg100.0%
sub-neg100.0%
*-commutative100.0%
Simplified100.0%
Taylor expanded in z around inf 99.0%
if -5.4999999999999998e-141 < c < -1.1999999999999999e-250 or 3.39999999999999981e-294 < c < 1.70000000000000006e43Initial program 78.1%
associate-+l-78.1%
*-commutative78.1%
sub-neg78.1%
sub-neg78.1%
*-commutative78.1%
Simplified78.1%
Taylor expanded in j around 0 63.2%
Simplified71.6%
Taylor expanded in t around inf 60.8%
mul-1-neg60.8%
unsub-neg60.8%
*-commutative60.8%
*-commutative60.8%
Simplified60.8%
if -1.1999999999999999e-250 < c < 3.39999999999999981e-294Initial program 90.0%
associate-+l-90.0%
*-commutative90.0%
sub-neg90.0%
sub-neg90.0%
*-commutative90.0%
Simplified90.0%
Taylor expanded in j around 0 80.0%
Taylor expanded in x around inf 80.6%
Final simplification67.2%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* y (- (* x z) (* i j)))) (t_2 (* c (- (* a j) (* z b)))))
(if (<= c -1.12e+88)
t_2
(if (<= c -3.8e+42)
t_1
(if (<= c -1.2e+40)
(* a (* x (- t)))
(if (<= c -3.05e+26)
(* z (- (* x y) (* b c)))
(if (<= c -5.5e-141)
t_1
(if (<= c 4.7e+44) (* t (- (* b i) (* 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 = y * ((x * z) - (i * j));
double t_2 = c * ((a * j) - (z * b));
double tmp;
if (c <= -1.12e+88) {
tmp = t_2;
} else if (c <= -3.8e+42) {
tmp = t_1;
} else if (c <= -1.2e+40) {
tmp = a * (x * -t);
} else if (c <= -3.05e+26) {
tmp = z * ((x * y) - (b * c));
} else if (c <= -5.5e-141) {
tmp = t_1;
} else if (c <= 4.7e+44) {
tmp = t * ((b * i) - (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 = y * ((x * z) - (i * j))
t_2 = c * ((a * j) - (z * b))
if (c <= (-1.12d+88)) then
tmp = t_2
else if (c <= (-3.8d+42)) then
tmp = t_1
else if (c <= (-1.2d+40)) then
tmp = a * (x * -t)
else if (c <= (-3.05d+26)) then
tmp = z * ((x * y) - (b * c))
else if (c <= (-5.5d-141)) then
tmp = t_1
else if (c <= 4.7d+44) then
tmp = t * ((b * i) - (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 = y * ((x * z) - (i * j));
double t_2 = c * ((a * j) - (z * b));
double tmp;
if (c <= -1.12e+88) {
tmp = t_2;
} else if (c <= -3.8e+42) {
tmp = t_1;
} else if (c <= -1.2e+40) {
tmp = a * (x * -t);
} else if (c <= -3.05e+26) {
tmp = z * ((x * y) - (b * c));
} else if (c <= -5.5e-141) {
tmp = t_1;
} else if (c <= 4.7e+44) {
tmp = t * ((b * i) - (x * a));
} 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 = c * ((a * j) - (z * b)) tmp = 0 if c <= -1.12e+88: tmp = t_2 elif c <= -3.8e+42: tmp = t_1 elif c <= -1.2e+40: tmp = a * (x * -t) elif c <= -3.05e+26: tmp = z * ((x * y) - (b * c)) elif c <= -5.5e-141: tmp = t_1 elif c <= 4.7e+44: tmp = t * ((b * i) - (x * a)) 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(c * Float64(Float64(a * j) - Float64(z * b))) tmp = 0.0 if (c <= -1.12e+88) tmp = t_2; elseif (c <= -3.8e+42) tmp = t_1; elseif (c <= -1.2e+40) tmp = Float64(a * Float64(x * Float64(-t))); elseif (c <= -3.05e+26) tmp = Float64(z * Float64(Float64(x * y) - Float64(b * c))); elseif (c <= -5.5e-141) tmp = t_1; elseif (c <= 4.7e+44) tmp = Float64(t * Float64(Float64(b * i) - 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 = y * ((x * z) - (i * j)); t_2 = c * ((a * j) - (z * b)); tmp = 0.0; if (c <= -1.12e+88) tmp = t_2; elseif (c <= -3.8e+42) tmp = t_1; elseif (c <= -1.2e+40) tmp = a * (x * -t); elseif (c <= -3.05e+26) tmp = z * ((x * y) - (b * c)); elseif (c <= -5.5e-141) tmp = t_1; elseif (c <= 4.7e+44) tmp = t * ((b * i) - (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[(y * N[(N[(x * z), $MachinePrecision] - N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(c * N[(N[(a * j), $MachinePrecision] - N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[c, -1.12e+88], t$95$2, If[LessEqual[c, -3.8e+42], t$95$1, If[LessEqual[c, -1.2e+40], N[(a * N[(x * (-t)), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, -3.05e+26], N[(z * N[(N[(x * y), $MachinePrecision] - N[(b * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, -5.5e-141], t$95$1, If[LessEqual[c, 4.7e+44], N[(t * N[(N[(b * i), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \left(x \cdot z - i \cdot j\right)\\
t_2 := c \cdot \left(a \cdot j - z \cdot b\right)\\
\mathbf{if}\;c \leq -1.12 \cdot 10^{+88}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;c \leq -3.8 \cdot 10^{+42}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;c \leq -1.2 \cdot 10^{+40}:\\
\;\;\;\;a \cdot \left(x \cdot \left(-t\right)\right)\\
\mathbf{elif}\;c \leq -3.05 \cdot 10^{+26}:\\
\;\;\;\;z \cdot \left(x \cdot y - b \cdot c\right)\\
\mathbf{elif}\;c \leq -5.5 \cdot 10^{-141}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;c \leq 4.7 \cdot 10^{+44}:\\
\;\;\;\;t \cdot \left(b \cdot i - x \cdot a\right)\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if c < -1.12000000000000006e88 or 4.70000000000000018e44 < c Initial program 61.1%
associate-+l-61.1%
*-commutative61.1%
sub-neg61.1%
sub-neg61.1%
*-commutative61.1%
Simplified61.1%
Taylor expanded in c around inf 68.4%
if -1.12000000000000006e88 < c < -3.7999999999999998e42 or -3.0500000000000001e26 < c < -5.4999999999999998e-141Initial program 72.3%
associate-+l-72.3%
*-commutative72.3%
sub-neg72.3%
sub-neg72.3%
*-commutative72.3%
Simplified72.3%
Taylor expanded in y around inf 70.0%
*-commutative70.0%
mul-1-neg70.0%
unsub-neg70.0%
Simplified70.0%
if -3.7999999999999998e42 < c < -1.2e40Initial program 33.3%
associate-+l-33.3%
*-commutative33.3%
sub-neg33.3%
sub-neg33.3%
*-commutative33.3%
Simplified33.3%
Taylor expanded in a around inf 100.0%
+-commutative100.0%
mul-1-neg100.0%
unsub-neg100.0%
Simplified100.0%
Taylor expanded in c around 0 100.0%
neg-mul-1100.0%
distribute-rgt-neg-in100.0%
Simplified100.0%
if -1.2e40 < c < -3.0500000000000001e26Initial program 100.0%
associate-+l-100.0%
*-commutative100.0%
sub-neg100.0%
sub-neg100.0%
*-commutative100.0%
Simplified100.0%
Taylor expanded in z around inf 99.0%
if -5.4999999999999998e-141 < c < 4.70000000000000018e44Initial program 79.3%
associate-+l-79.3%
*-commutative79.3%
sub-neg79.3%
sub-neg79.3%
*-commutative79.3%
Simplified79.3%
Taylor expanded in j around 0 64.9%
Simplified69.5%
Taylor expanded in t around inf 57.9%
mul-1-neg57.9%
unsub-neg57.9%
*-commutative57.9%
*-commutative57.9%
Simplified57.9%
Final simplification65.3%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* a (- (* c j) (* x t)))))
(if (<= a -5.8e-81)
t_1
(if (<= a 8.5e-155)
(* c (* z (- b)))
(if (<= a 4400000.0) (* j (* i (- y))) 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 = a * ((c * j) - (x * t));
double tmp;
if (a <= -5.8e-81) {
tmp = t_1;
} else if (a <= 8.5e-155) {
tmp = c * (z * -b);
} else if (a <= 4400000.0) {
tmp = j * (i * -y);
} 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 = a * ((c * j) - (x * t))
if (a <= (-5.8d-81)) then
tmp = t_1
else if (a <= 8.5d-155) then
tmp = c * (z * -b)
else if (a <= 4400000.0d0) then
tmp = j * (i * -y)
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 = a * ((c * j) - (x * t));
double tmp;
if (a <= -5.8e-81) {
tmp = t_1;
} else if (a <= 8.5e-155) {
tmp = c * (z * -b);
} else if (a <= 4400000.0) {
tmp = j * (i * -y);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = a * ((c * j) - (x * t)) tmp = 0 if a <= -5.8e-81: tmp = t_1 elif a <= 8.5e-155: tmp = c * (z * -b) elif a <= 4400000.0: tmp = j * (i * -y) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(a * Float64(Float64(c * j) - Float64(x * t))) tmp = 0.0 if (a <= -5.8e-81) tmp = t_1; elseif (a <= 8.5e-155) tmp = Float64(c * Float64(z * Float64(-b))); elseif (a <= 4400000.0) tmp = Float64(j * Float64(i * Float64(-y))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = a * ((c * j) - (x * t)); tmp = 0.0; if (a <= -5.8e-81) tmp = t_1; elseif (a <= 8.5e-155) tmp = c * (z * -b); elseif (a <= 4400000.0) tmp = j * (i * -y); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(a * N[(N[(c * j), $MachinePrecision] - N[(x * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[a, -5.8e-81], t$95$1, If[LessEqual[a, 8.5e-155], N[(c * N[(z * (-b)), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 4400000.0], N[(j * N[(i * (-y)), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(c \cdot j - x \cdot t\right)\\
\mathbf{if}\;a \leq -5.8 \cdot 10^{-81}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;a \leq 8.5 \cdot 10^{-155}:\\
\;\;\;\;c \cdot \left(z \cdot \left(-b\right)\right)\\
\mathbf{elif}\;a \leq 4400000:\\
\;\;\;\;j \cdot \left(i \cdot \left(-y\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if a < -5.79999999999999978e-81 or 4.4e6 < a Initial program 66.3%
associate-+l-66.3%
*-commutative66.3%
sub-neg66.3%
sub-neg66.3%
*-commutative66.3%
Simplified66.3%
Taylor expanded in a around inf 55.4%
+-commutative55.4%
mul-1-neg55.4%
unsub-neg55.4%
Simplified55.4%
if -5.79999999999999978e-81 < a < 8.4999999999999996e-155Initial program 76.8%
associate-+l-76.8%
*-commutative76.8%
sub-neg76.8%
sub-neg76.8%
*-commutative76.8%
Simplified76.8%
Taylor expanded in b around inf 52.1%
Taylor expanded in i around 0 39.2%
associate-*r*39.2%
neg-mul-139.2%
*-commutative39.2%
Simplified39.2%
if 8.4999999999999996e-155 < a < 4.4e6Initial program 72.5%
associate-+l-72.5%
*-commutative72.5%
sub-neg72.5%
sub-neg72.5%
*-commutative72.5%
Simplified72.5%
Taylor expanded in i around inf 63.4%
distribute-lft-out--63.4%
Simplified63.4%
Taylor expanded in y around inf 40.4%
mul-1-neg40.4%
associate-*r*49.7%
distribute-rgt-neg-in49.7%
Simplified49.7%
Final simplification50.4%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* c (- (* a j) (* z b)))))
(if (<= c -1.3e-20)
t_1
(if (<= c -5.6e-141)
(* y (* x z))
(if (<= c 3e+44) (* t (- (* b i) (* x a))) 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 = c * ((a * j) - (z * b));
double tmp;
if (c <= -1.3e-20) {
tmp = t_1;
} else if (c <= -5.6e-141) {
tmp = y * (x * z);
} else if (c <= 3e+44) {
tmp = t * ((b * i) - (x * a));
} 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 = c * ((a * j) - (z * b))
if (c <= (-1.3d-20)) then
tmp = t_1
else if (c <= (-5.6d-141)) then
tmp = y * (x * z)
else if (c <= 3d+44) then
tmp = t * ((b * i) - (x * a))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = c * ((a * j) - (z * b));
double tmp;
if (c <= -1.3e-20) {
tmp = t_1;
} else if (c <= -5.6e-141) {
tmp = y * (x * z);
} else if (c <= 3e+44) {
tmp = t * ((b * i) - (x * a));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = c * ((a * j) - (z * b)) tmp = 0 if c <= -1.3e-20: tmp = t_1 elif c <= -5.6e-141: tmp = y * (x * z) elif c <= 3e+44: tmp = t * ((b * i) - (x * a)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(c * Float64(Float64(a * j) - Float64(z * b))) tmp = 0.0 if (c <= -1.3e-20) tmp = t_1; elseif (c <= -5.6e-141) tmp = Float64(y * Float64(x * z)); elseif (c <= 3e+44) tmp = Float64(t * Float64(Float64(b * i) - Float64(x * a))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = c * ((a * j) - (z * b)); tmp = 0.0; if (c <= -1.3e-20) tmp = t_1; elseif (c <= -5.6e-141) tmp = y * (x * z); elseif (c <= 3e+44) tmp = t * ((b * i) - (x * a)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(c * N[(N[(a * j), $MachinePrecision] - N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[c, -1.3e-20], t$95$1, If[LessEqual[c, -5.6e-141], N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 3e+44], N[(t * N[(N[(b * i), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c \cdot \left(a \cdot j - z \cdot b\right)\\
\mathbf{if}\;c \leq -1.3 \cdot 10^{-20}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;c \leq -5.6 \cdot 10^{-141}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\mathbf{elif}\;c \leq 3 \cdot 10^{+44}:\\
\;\;\;\;t \cdot \left(b \cdot i - x \cdot a\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if c < -1.29999999999999997e-20 or 2.99999999999999987e44 < c Initial program 61.9%
associate-+l-61.9%
*-commutative61.9%
sub-neg61.9%
sub-neg61.9%
*-commutative61.9%
Simplified61.9%
Taylor expanded in c around inf 63.9%
if -1.29999999999999997e-20 < c < -5.60000000000000023e-141Initial program 75.1%
associate-+l-75.1%
*-commutative75.1%
sub-neg75.1%
sub-neg75.1%
*-commutative75.1%
Simplified75.1%
Taylor expanded in j around 0 67.3%
Simplified67.3%
Taylor expanded in y around inf 51.2%
if -5.60000000000000023e-141 < c < 2.99999999999999987e44Initial program 79.3%
associate-+l-79.3%
*-commutative79.3%
sub-neg79.3%
sub-neg79.3%
*-commutative79.3%
Simplified79.3%
Taylor expanded in j around 0 64.9%
Simplified69.5%
Taylor expanded in t around inf 57.9%
mul-1-neg57.9%
unsub-neg57.9%
*-commutative57.9%
*-commutative57.9%
Simplified57.9%
Final simplification60.4%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* c (- (* a j) (* z b)))))
(if (<= c -1.35e+88)
t_1
(if (<= c -5.5e-141)
(* y (- (* x z) (* i j)))
(if (<= c 1.35e+45) (* t (- (* b i) (* x a))) 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 = c * ((a * j) - (z * b));
double tmp;
if (c <= -1.35e+88) {
tmp = t_1;
} else if (c <= -5.5e-141) {
tmp = y * ((x * z) - (i * j));
} else if (c <= 1.35e+45) {
tmp = t * ((b * i) - (x * a));
} 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 = c * ((a * j) - (z * b))
if (c <= (-1.35d+88)) then
tmp = t_1
else if (c <= (-5.5d-141)) then
tmp = y * ((x * z) - (i * j))
else if (c <= 1.35d+45) then
tmp = t * ((b * i) - (x * a))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = c * ((a * j) - (z * b));
double tmp;
if (c <= -1.35e+88) {
tmp = t_1;
} else if (c <= -5.5e-141) {
tmp = y * ((x * z) - (i * j));
} else if (c <= 1.35e+45) {
tmp = t * ((b * i) - (x * a));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = c * ((a * j) - (z * b)) tmp = 0 if c <= -1.35e+88: tmp = t_1 elif c <= -5.5e-141: tmp = y * ((x * z) - (i * j)) elif c <= 1.35e+45: tmp = t * ((b * i) - (x * a)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(c * Float64(Float64(a * j) - Float64(z * b))) tmp = 0.0 if (c <= -1.35e+88) tmp = t_1; elseif (c <= -5.5e-141) tmp = Float64(y * Float64(Float64(x * z) - Float64(i * j))); elseif (c <= 1.35e+45) tmp = Float64(t * Float64(Float64(b * i) - Float64(x * a))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = c * ((a * j) - (z * b)); tmp = 0.0; if (c <= -1.35e+88) tmp = t_1; elseif (c <= -5.5e-141) tmp = y * ((x * z) - (i * j)); elseif (c <= 1.35e+45) tmp = t * ((b * i) - (x * a)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(c * N[(N[(a * j), $MachinePrecision] - N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[c, -1.35e+88], t$95$1, If[LessEqual[c, -5.5e-141], N[(y * N[(N[(x * z), $MachinePrecision] - N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 1.35e+45], N[(t * N[(N[(b * i), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c \cdot \left(a \cdot j - z \cdot b\right)\\
\mathbf{if}\;c \leq -1.35 \cdot 10^{+88}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;c \leq -5.5 \cdot 10^{-141}:\\
\;\;\;\;y \cdot \left(x \cdot z - i \cdot j\right)\\
\mathbf{elif}\;c \leq 1.35 \cdot 10^{+45}:\\
\;\;\;\;t \cdot \left(b \cdot i - x \cdot a\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if c < -1.35000000000000008e88 or 1.34999999999999992e45 < c Initial program 61.1%
associate-+l-61.1%
*-commutative61.1%
sub-neg61.1%
sub-neg61.1%
*-commutative61.1%
Simplified61.1%
Taylor expanded in c around inf 68.4%
if -1.35000000000000008e88 < c < -5.4999999999999998e-141Initial program 71.5%
associate-+l-71.5%
*-commutative71.5%
sub-neg71.5%
sub-neg71.5%
*-commutative71.5%
Simplified71.5%
Taylor expanded in y around inf 62.7%
*-commutative62.7%
mul-1-neg62.7%
unsub-neg62.7%
Simplified62.7%
if -5.4999999999999998e-141 < c < 1.34999999999999992e45Initial program 79.3%
associate-+l-79.3%
*-commutative79.3%
sub-neg79.3%
sub-neg79.3%
*-commutative79.3%
Simplified79.3%
Taylor expanded in j around 0 64.9%
Simplified69.5%
Taylor expanded in t around inf 57.9%
mul-1-neg57.9%
unsub-neg57.9%
*-commutative57.9%
*-commutative57.9%
Simplified57.9%
Final simplification63.4%
(FPCore (x y z t a b c i j)
:precision binary64
(if (<= c -5.5e+100)
(* a (* c j))
(if (<= c -5.5e-141)
(* y (* x z))
(if (<= c 1.25e-141)
(* i (* t b))
(if (<= c 5.2e+64) (* i (* y (- j))) (* c (* a 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 <= -5.5e+100) {
tmp = a * (c * j);
} else if (c <= -5.5e-141) {
tmp = y * (x * z);
} else if (c <= 1.25e-141) {
tmp = i * (t * b);
} else if (c <= 5.2e+64) {
tmp = i * (y * -j);
} else {
tmp = c * (a * 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 <= (-5.5d+100)) then
tmp = a * (c * j)
else if (c <= (-5.5d-141)) then
tmp = y * (x * z)
else if (c <= 1.25d-141) then
tmp = i * (t * b)
else if (c <= 5.2d+64) then
tmp = i * (y * -j)
else
tmp = c * (a * 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 <= -5.5e+100) {
tmp = a * (c * j);
} else if (c <= -5.5e-141) {
tmp = y * (x * z);
} else if (c <= 1.25e-141) {
tmp = i * (t * b);
} else if (c <= 5.2e+64) {
tmp = i * (y * -j);
} else {
tmp = c * (a * j);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if c <= -5.5e+100: tmp = a * (c * j) elif c <= -5.5e-141: tmp = y * (x * z) elif c <= 1.25e-141: tmp = i * (t * b) elif c <= 5.2e+64: tmp = i * (y * -j) else: tmp = c * (a * j) return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if (c <= -5.5e+100) tmp = Float64(a * Float64(c * j)); elseif (c <= -5.5e-141) tmp = Float64(y * Float64(x * z)); elseif (c <= 1.25e-141) tmp = Float64(i * Float64(t * b)); elseif (c <= 5.2e+64) tmp = Float64(i * Float64(y * Float64(-j))); else tmp = Float64(c * Float64(a * j)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if (c <= -5.5e+100) tmp = a * (c * j); elseif (c <= -5.5e-141) tmp = y * (x * z); elseif (c <= 1.25e-141) tmp = i * (t * b); elseif (c <= 5.2e+64) tmp = i * (y * -j); else tmp = c * (a * j); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[LessEqual[c, -5.5e+100], N[(a * N[(c * j), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, -5.5e-141], N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 1.25e-141], N[(i * N[(t * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 5.2e+64], N[(i * N[(y * (-j)), $MachinePrecision]), $MachinePrecision], N[(c * N[(a * j), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;c \leq -5.5 \cdot 10^{+100}:\\
\;\;\;\;a \cdot \left(c \cdot j\right)\\
\mathbf{elif}\;c \leq -5.5 \cdot 10^{-141}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\mathbf{elif}\;c \leq 1.25 \cdot 10^{-141}:\\
\;\;\;\;i \cdot \left(t \cdot b\right)\\
\mathbf{elif}\;c \leq 5.2 \cdot 10^{+64}:\\
\;\;\;\;i \cdot \left(y \cdot \left(-j\right)\right)\\
\mathbf{else}:\\
\;\;\;\;c \cdot \left(a \cdot j\right)\\
\end{array}
\end{array}
if c < -5.5000000000000002e100Initial program 50.3%
associate-+l-50.3%
*-commutative50.3%
sub-neg50.3%
sub-neg50.3%
*-commutative50.3%
Simplified50.3%
Taylor expanded in a around inf 44.3%
+-commutative44.3%
mul-1-neg44.3%
unsub-neg44.3%
Simplified44.3%
Taylor expanded in c around inf 34.6%
*-commutative34.6%
associate-*l*39.4%
*-commutative39.4%
Simplified39.4%
if -5.5000000000000002e100 < c < -5.4999999999999998e-141Initial program 70.3%
associate-+l-70.3%
*-commutative70.3%
sub-neg70.3%
sub-neg70.3%
*-commutative70.3%
Simplified70.3%
Taylor expanded in j around 0 63.7%
Simplified63.9%
Taylor expanded in y around inf 41.1%
if -5.4999999999999998e-141 < c < 1.25e-141Initial program 80.1%
associate-+l-80.1%
*-commutative80.1%
sub-neg80.1%
sub-neg80.1%
*-commutative80.1%
Simplified80.1%
Taylor expanded in b around inf 34.5%
Taylor expanded in i around inf 36.1%
if 1.25e-141 < c < 5.19999999999999994e64Initial program 76.9%
associate-+l-76.9%
*-commutative76.9%
sub-neg76.9%
sub-neg76.9%
*-commutative76.9%
Simplified76.9%
Taylor expanded in i around inf 50.2%
distribute-lft-out--50.2%
Simplified50.2%
Taylor expanded in y around inf 31.3%
mul-1-neg31.3%
Simplified31.3%
Taylor expanded in y around 0 35.9%
if 5.19999999999999994e64 < c Initial program 67.5%
associate-+l-67.5%
*-commutative67.5%
sub-neg67.5%
sub-neg67.5%
*-commutative67.5%
Simplified67.5%
Taylor expanded in a around inf 41.1%
+-commutative41.1%
mul-1-neg41.1%
unsub-neg41.1%
Simplified41.1%
Taylor expanded in c around inf 41.1%
Final simplification38.8%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* c (* z (- b)))))
(if (<= b -2.35e-64)
t_1
(if (<= b -1.7e-122)
(* a (* x (- t)))
(if (<= b 1.6e-293)
(* i (* y (- j)))
(if (<= b 4.4e+106) (* c (* a j)) 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 = c * (z * -b);
double tmp;
if (b <= -2.35e-64) {
tmp = t_1;
} else if (b <= -1.7e-122) {
tmp = a * (x * -t);
} else if (b <= 1.6e-293) {
tmp = i * (y * -j);
} else if (b <= 4.4e+106) {
tmp = c * (a * j);
} 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 = c * (z * -b)
if (b <= (-2.35d-64)) then
tmp = t_1
else if (b <= (-1.7d-122)) then
tmp = a * (x * -t)
else if (b <= 1.6d-293) then
tmp = i * (y * -j)
else if (b <= 4.4d+106) then
tmp = c * (a * j)
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 = c * (z * -b);
double tmp;
if (b <= -2.35e-64) {
tmp = t_1;
} else if (b <= -1.7e-122) {
tmp = a * (x * -t);
} else if (b <= 1.6e-293) {
tmp = i * (y * -j);
} else if (b <= 4.4e+106) {
tmp = c * (a * j);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = c * (z * -b) tmp = 0 if b <= -2.35e-64: tmp = t_1 elif b <= -1.7e-122: tmp = a * (x * -t) elif b <= 1.6e-293: tmp = i * (y * -j) elif b <= 4.4e+106: tmp = c * (a * j) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(c * Float64(z * Float64(-b))) tmp = 0.0 if (b <= -2.35e-64) tmp = t_1; elseif (b <= -1.7e-122) tmp = Float64(a * Float64(x * Float64(-t))); elseif (b <= 1.6e-293) tmp = Float64(i * Float64(y * Float64(-j))); elseif (b <= 4.4e+106) tmp = Float64(c * Float64(a * j)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = c * (z * -b); tmp = 0.0; if (b <= -2.35e-64) tmp = t_1; elseif (b <= -1.7e-122) tmp = a * (x * -t); elseif (b <= 1.6e-293) tmp = i * (y * -j); elseif (b <= 4.4e+106) tmp = c * (a * j); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(c * N[(z * (-b)), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -2.35e-64], t$95$1, If[LessEqual[b, -1.7e-122], N[(a * N[(x * (-t)), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 1.6e-293], N[(i * N[(y * (-j)), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 4.4e+106], N[(c * N[(a * j), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c \cdot \left(z \cdot \left(-b\right)\right)\\
\mathbf{if}\;b \leq -2.35 \cdot 10^{-64}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;b \leq -1.7 \cdot 10^{-122}:\\
\;\;\;\;a \cdot \left(x \cdot \left(-t\right)\right)\\
\mathbf{elif}\;b \leq 1.6 \cdot 10^{-293}:\\
\;\;\;\;i \cdot \left(y \cdot \left(-j\right)\right)\\
\mathbf{elif}\;b \leq 4.4 \cdot 10^{+106}:\\
\;\;\;\;c \cdot \left(a \cdot j\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if b < -2.3499999999999999e-64 or 4.39999999999999983e106 < b Initial program 72.5%
associate-+l-72.5%
*-commutative72.5%
sub-neg72.5%
sub-neg72.5%
*-commutative72.5%
Simplified72.5%
Taylor expanded in b around inf 59.1%
Taylor expanded in i around 0 40.0%
associate-*r*40.0%
neg-mul-140.0%
*-commutative40.0%
Simplified40.0%
if -2.3499999999999999e-64 < b < -1.6999999999999999e-122Initial program 50.5%
associate-+l-50.5%
*-commutative50.5%
sub-neg50.5%
sub-neg50.5%
*-commutative50.5%
Simplified50.5%
Taylor expanded in a around inf 82.8%
+-commutative82.8%
mul-1-neg82.8%
unsub-neg82.8%
Simplified82.8%
Taylor expanded in c around 0 83.1%
neg-mul-183.1%
distribute-rgt-neg-in83.1%
Simplified83.1%
if -1.6999999999999999e-122 < b < 1.60000000000000003e-293Initial program 71.2%
associate-+l-71.2%
*-commutative71.2%
sub-neg71.2%
sub-neg71.2%
*-commutative71.2%
Simplified71.2%
Taylor expanded in i around inf 50.6%
distribute-lft-out--50.6%
Simplified50.6%
Taylor expanded in y around inf 40.8%
mul-1-neg40.8%
Simplified40.8%
Taylor expanded in y around 0 43.3%
if 1.60000000000000003e-293 < b < 4.39999999999999983e106Initial program 67.7%
associate-+l-67.7%
*-commutative67.7%
sub-neg67.7%
sub-neg67.7%
*-commutative67.7%
Simplified67.7%
Taylor expanded in a around inf 51.5%
+-commutative51.5%
mul-1-neg51.5%
unsub-neg51.5%
Simplified51.5%
Taylor expanded in c around inf 36.2%
Final simplification40.4%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* c (* z (- b)))))
(if (<= b -1.62e-65)
t_1
(if (<= b -2.8e-123)
(* a (* x (- t)))
(if (<= b 1.16e-293)
(* j (* i (- y)))
(if (<= b 1.55e+107) (* c (* a j)) 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 = c * (z * -b);
double tmp;
if (b <= -1.62e-65) {
tmp = t_1;
} else if (b <= -2.8e-123) {
tmp = a * (x * -t);
} else if (b <= 1.16e-293) {
tmp = j * (i * -y);
} else if (b <= 1.55e+107) {
tmp = c * (a * j);
} 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 = c * (z * -b)
if (b <= (-1.62d-65)) then
tmp = t_1
else if (b <= (-2.8d-123)) then
tmp = a * (x * -t)
else if (b <= 1.16d-293) then
tmp = j * (i * -y)
else if (b <= 1.55d+107) then
tmp = c * (a * j)
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 = c * (z * -b);
double tmp;
if (b <= -1.62e-65) {
tmp = t_1;
} else if (b <= -2.8e-123) {
tmp = a * (x * -t);
} else if (b <= 1.16e-293) {
tmp = j * (i * -y);
} else if (b <= 1.55e+107) {
tmp = c * (a * j);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = c * (z * -b) tmp = 0 if b <= -1.62e-65: tmp = t_1 elif b <= -2.8e-123: tmp = a * (x * -t) elif b <= 1.16e-293: tmp = j * (i * -y) elif b <= 1.55e+107: tmp = c * (a * j) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(c * Float64(z * Float64(-b))) tmp = 0.0 if (b <= -1.62e-65) tmp = t_1; elseif (b <= -2.8e-123) tmp = Float64(a * Float64(x * Float64(-t))); elseif (b <= 1.16e-293) tmp = Float64(j * Float64(i * Float64(-y))); elseif (b <= 1.55e+107) tmp = Float64(c * Float64(a * j)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = c * (z * -b); tmp = 0.0; if (b <= -1.62e-65) tmp = t_1; elseif (b <= -2.8e-123) tmp = a * (x * -t); elseif (b <= 1.16e-293) tmp = j * (i * -y); elseif (b <= 1.55e+107) tmp = c * (a * j); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(c * N[(z * (-b)), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -1.62e-65], t$95$1, If[LessEqual[b, -2.8e-123], N[(a * N[(x * (-t)), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 1.16e-293], N[(j * N[(i * (-y)), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 1.55e+107], N[(c * N[(a * j), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c \cdot \left(z \cdot \left(-b\right)\right)\\
\mathbf{if}\;b \leq -1.62 \cdot 10^{-65}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;b \leq -2.8 \cdot 10^{-123}:\\
\;\;\;\;a \cdot \left(x \cdot \left(-t\right)\right)\\
\mathbf{elif}\;b \leq 1.16 \cdot 10^{-293}:\\
\;\;\;\;j \cdot \left(i \cdot \left(-y\right)\right)\\
\mathbf{elif}\;b \leq 1.55 \cdot 10^{+107}:\\
\;\;\;\;c \cdot \left(a \cdot j\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if b < -1.6200000000000001e-65 or 1.55000000000000013e107 < b Initial program 72.5%
associate-+l-72.5%
*-commutative72.5%
sub-neg72.5%
sub-neg72.5%
*-commutative72.5%
Simplified72.5%
Taylor expanded in b around inf 59.1%
Taylor expanded in i around 0 40.0%
associate-*r*40.0%
neg-mul-140.0%
*-commutative40.0%
Simplified40.0%
if -1.6200000000000001e-65 < b < -2.7999999999999999e-123Initial program 50.5%
associate-+l-50.5%
*-commutative50.5%
sub-neg50.5%
sub-neg50.5%
*-commutative50.5%
Simplified50.5%
Taylor expanded in a around inf 82.8%
+-commutative82.8%
mul-1-neg82.8%
unsub-neg82.8%
Simplified82.8%
Taylor expanded in c around 0 83.1%
neg-mul-183.1%
distribute-rgt-neg-in83.1%
Simplified83.1%
if -2.7999999999999999e-123 < b < 1.16e-293Initial program 71.2%
associate-+l-71.2%
*-commutative71.2%
sub-neg71.2%
sub-neg71.2%
*-commutative71.2%
Simplified71.2%
Taylor expanded in i around inf 50.6%
distribute-lft-out--50.6%
Simplified50.6%
Taylor expanded in y around inf 40.8%
mul-1-neg40.8%
associate-*r*45.9%
distribute-rgt-neg-in45.9%
Simplified45.9%
if 1.16e-293 < b < 1.55000000000000013e107Initial program 67.7%
associate-+l-67.7%
*-commutative67.7%
sub-neg67.7%
sub-neg67.7%
*-commutative67.7%
Simplified67.7%
Taylor expanded in a around inf 51.5%
+-commutative51.5%
mul-1-neg51.5%
unsub-neg51.5%
Simplified51.5%
Taylor expanded in c around inf 36.2%
Final simplification40.7%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* i (* t b))))
(if (<= j -7.8e+20)
(* a (* c j))
(if (<= j 1.5e-17)
t_1
(if (<= j 1e+59)
(* y (* x z))
(if (<= j 3.7e+126) t_1 (* c (* a j))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = i * (t * b);
double tmp;
if (j <= -7.8e+20) {
tmp = a * (c * j);
} else if (j <= 1.5e-17) {
tmp = t_1;
} else if (j <= 1e+59) {
tmp = y * (x * z);
} else if (j <= 3.7e+126) {
tmp = t_1;
} else {
tmp = c * (a * 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) :: t_1
real(8) :: tmp
t_1 = i * (t * b)
if (j <= (-7.8d+20)) then
tmp = a * (c * j)
else if (j <= 1.5d-17) then
tmp = t_1
else if (j <= 1d+59) then
tmp = y * (x * z)
else if (j <= 3.7d+126) then
tmp = t_1
else
tmp = c * (a * 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 t_1 = i * (t * b);
double tmp;
if (j <= -7.8e+20) {
tmp = a * (c * j);
} else if (j <= 1.5e-17) {
tmp = t_1;
} else if (j <= 1e+59) {
tmp = y * (x * z);
} else if (j <= 3.7e+126) {
tmp = t_1;
} else {
tmp = c * (a * j);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = i * (t * b) tmp = 0 if j <= -7.8e+20: tmp = a * (c * j) elif j <= 1.5e-17: tmp = t_1 elif j <= 1e+59: tmp = y * (x * z) elif j <= 3.7e+126: tmp = t_1 else: tmp = c * (a * j) return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(i * Float64(t * b)) tmp = 0.0 if (j <= -7.8e+20) tmp = Float64(a * Float64(c * j)); elseif (j <= 1.5e-17) tmp = t_1; elseif (j <= 1e+59) tmp = Float64(y * Float64(x * z)); elseif (j <= 3.7e+126) tmp = t_1; else tmp = Float64(c * Float64(a * j)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = i * (t * b); tmp = 0.0; if (j <= -7.8e+20) tmp = a * (c * j); elseif (j <= 1.5e-17) tmp = t_1; elseif (j <= 1e+59) tmp = y * (x * z); elseif (j <= 3.7e+126) tmp = t_1; else tmp = c * (a * j); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(i * N[(t * b), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -7.8e+20], N[(a * N[(c * j), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.5e-17], t$95$1, If[LessEqual[j, 1e+59], N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 3.7e+126], t$95$1, N[(c * N[(a * j), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := i \cdot \left(t \cdot b\right)\\
\mathbf{if}\;j \leq -7.8 \cdot 10^{+20}:\\
\;\;\;\;a \cdot \left(c \cdot j\right)\\
\mathbf{elif}\;j \leq 1.5 \cdot 10^{-17}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq 10^{+59}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\mathbf{elif}\;j \leq 3.7 \cdot 10^{+126}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;c \cdot \left(a \cdot j\right)\\
\end{array}
\end{array}
if j < -7.8e20Initial program 66.7%
associate-+l-66.7%
*-commutative66.7%
sub-neg66.7%
sub-neg66.7%
*-commutative66.7%
Simplified66.7%
Taylor expanded in a around inf 50.1%
+-commutative50.1%
mul-1-neg50.1%
unsub-neg50.1%
Simplified50.1%
Taylor expanded in c around inf 42.5%
*-commutative42.5%
associate-*l*44.0%
*-commutative44.0%
Simplified44.0%
if -7.8e20 < j < 1.50000000000000003e-17 or 9.99999999999999972e58 < j < 3.6999999999999998e126Initial program 71.9%
associate-+l-71.9%
*-commutative71.9%
sub-neg71.9%
sub-neg71.9%
*-commutative71.9%
Simplified71.9%
Taylor expanded in b around inf 50.0%
Taylor expanded in i around inf 32.9%
if 1.50000000000000003e-17 < j < 9.99999999999999972e58Initial program 86.6%
associate-+l-86.6%
*-commutative86.6%
sub-neg86.6%
sub-neg86.6%
*-commutative86.6%
Simplified86.6%
Taylor expanded in j around 0 85.2%
Simplified71.7%
Taylor expanded in y around inf 32.7%
if 3.6999999999999998e126 < j Initial program 62.1%
associate-+l-62.1%
*-commutative62.1%
sub-neg62.1%
sub-neg62.1%
*-commutative62.1%
Simplified62.1%
Taylor expanded in a around inf 50.8%
+-commutative50.8%
mul-1-neg50.8%
unsub-neg50.8%
Simplified50.8%
Taylor expanded in c around inf 50.9%
Final simplification38.6%
(FPCore (x y z t a b c i j) :precision binary64 (if (or (<= z -1.35e-135) (not (<= z 8.6e+33))) (* c (- (* a j) (* z b))) (* a (- (* c j) (* 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 ((z <= -1.35e-135) || !(z <= 8.6e+33)) {
tmp = c * ((a * j) - (z * b));
} else {
tmp = a * ((c * j) - (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 ((z <= (-1.35d-135)) .or. (.not. (z <= 8.6d+33))) then
tmp = c * ((a * j) - (z * b))
else
tmp = a * ((c * j) - (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 ((z <= -1.35e-135) || !(z <= 8.6e+33)) {
tmp = c * ((a * j) - (z * b));
} else {
tmp = a * ((c * j) - (x * t));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if (z <= -1.35e-135) or not (z <= 8.6e+33): tmp = c * ((a * j) - (z * b)) else: tmp = a * ((c * j) - (x * t)) return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if ((z <= -1.35e-135) || !(z <= 8.6e+33)) tmp = Float64(c * Float64(Float64(a * j) - Float64(z * b))); else tmp = Float64(a * Float64(Float64(c * j) - Float64(x * t))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if ((z <= -1.35e-135) || ~((z <= 8.6e+33))) tmp = c * ((a * j) - (z * b)); else tmp = a * ((c * j) - (x * t)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[Or[LessEqual[z, -1.35e-135], N[Not[LessEqual[z, 8.6e+33]], $MachinePrecision]], N[(c * N[(N[(a * j), $MachinePrecision] - N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(a * N[(N[(c * j), $MachinePrecision] - N[(x * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -1.35 \cdot 10^{-135} \lor \neg \left(z \leq 8.6 \cdot 10^{+33}\right):\\
\;\;\;\;c \cdot \left(a \cdot j - z \cdot b\right)\\
\mathbf{else}:\\
\;\;\;\;a \cdot \left(c \cdot j - x \cdot t\right)\\
\end{array}
\end{array}
if z < -1.34999999999999999e-135 or 8.60000000000000057e33 < z Initial program 62.5%
associate-+l-62.5%
*-commutative62.5%
sub-neg62.5%
sub-neg62.5%
*-commutative62.5%
Simplified62.5%
Taylor expanded in c around inf 49.5%
if -1.34999999999999999e-135 < z < 8.60000000000000057e33Initial program 82.3%
associate-+l-82.3%
*-commutative82.3%
sub-neg82.3%
sub-neg82.3%
*-commutative82.3%
Simplified82.3%
Taylor expanded in a around inf 52.7%
+-commutative52.7%
mul-1-neg52.7%
unsub-neg52.7%
Simplified52.7%
Final simplification50.7%
(FPCore (x y z t a b c i j)
:precision binary64
(if (<= j -8.2e+43)
(* a (* c j))
(if (<= j -4.2e-257)
(* a (* x (- t)))
(if (<= j 4.3e+126) (* i (* t b)) (* c (* a j))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (j <= -8.2e+43) {
tmp = a * (c * j);
} else if (j <= -4.2e-257) {
tmp = a * (x * -t);
} else if (j <= 4.3e+126) {
tmp = i * (t * b);
} else {
tmp = c * (a * 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 (j <= (-8.2d+43)) then
tmp = a * (c * j)
else if (j <= (-4.2d-257)) then
tmp = a * (x * -t)
else if (j <= 4.3d+126) then
tmp = i * (t * b)
else
tmp = c * (a * 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 (j <= -8.2e+43) {
tmp = a * (c * j);
} else if (j <= -4.2e-257) {
tmp = a * (x * -t);
} else if (j <= 4.3e+126) {
tmp = i * (t * b);
} else {
tmp = c * (a * j);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if j <= -8.2e+43: tmp = a * (c * j) elif j <= -4.2e-257: tmp = a * (x * -t) elif j <= 4.3e+126: tmp = i * (t * b) else: tmp = c * (a * j) return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if (j <= -8.2e+43) tmp = Float64(a * Float64(c * j)); elseif (j <= -4.2e-257) tmp = Float64(a * Float64(x * Float64(-t))); elseif (j <= 4.3e+126) tmp = Float64(i * Float64(t * b)); else tmp = Float64(c * Float64(a * j)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if (j <= -8.2e+43) tmp = a * (c * j); elseif (j <= -4.2e-257) tmp = a * (x * -t); elseif (j <= 4.3e+126) tmp = i * (t * b); else tmp = c * (a * j); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[LessEqual[j, -8.2e+43], N[(a * N[(c * j), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -4.2e-257], N[(a * N[(x * (-t)), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 4.3e+126], N[(i * N[(t * b), $MachinePrecision]), $MachinePrecision], N[(c * N[(a * j), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;j \leq -8.2 \cdot 10^{+43}:\\
\;\;\;\;a \cdot \left(c \cdot j\right)\\
\mathbf{elif}\;j \leq -4.2 \cdot 10^{-257}:\\
\;\;\;\;a \cdot \left(x \cdot \left(-t\right)\right)\\
\mathbf{elif}\;j \leq 4.3 \cdot 10^{+126}:\\
\;\;\;\;i \cdot \left(t \cdot b\right)\\
\mathbf{else}:\\
\;\;\;\;c \cdot \left(a \cdot j\right)\\
\end{array}
\end{array}
if j < -8.2000000000000001e43Initial program 67.9%
associate-+l-67.9%
*-commutative67.9%
sub-neg67.9%
sub-neg67.9%
*-commutative67.9%
Simplified67.9%
Taylor expanded in a around inf 50.9%
+-commutative50.9%
mul-1-neg50.9%
unsub-neg50.9%
Simplified50.9%
Taylor expanded in c around inf 44.1%
*-commutative44.1%
associate-*l*45.9%
*-commutative45.9%
Simplified45.9%
if -8.2000000000000001e43 < j < -4.2000000000000002e-257Initial program 67.8%
associate-+l-67.8%
*-commutative67.8%
sub-neg67.8%
sub-neg67.8%
*-commutative67.8%
Simplified67.8%
Taylor expanded in a around inf 42.1%
+-commutative42.1%
mul-1-neg42.1%
unsub-neg42.1%
Simplified42.1%
Taylor expanded in c around 0 31.3%
neg-mul-131.3%
distribute-rgt-neg-in31.3%
Simplified31.3%
if -4.2000000000000002e-257 < j < 4.3000000000000002e126Initial program 76.5%
associate-+l-76.5%
*-commutative76.5%
sub-neg76.5%
sub-neg76.5%
*-commutative76.5%
Simplified76.5%
Taylor expanded in b around inf 53.6%
Taylor expanded in i around inf 33.6%
if 4.3000000000000002e126 < j Initial program 62.1%
associate-+l-62.1%
*-commutative62.1%
sub-neg62.1%
sub-neg62.1%
*-commutative62.1%
Simplified62.1%
Taylor expanded in a around inf 50.8%
+-commutative50.8%
mul-1-neg50.8%
unsub-neg50.8%
Simplified50.8%
Taylor expanded in c around inf 50.9%
Final simplification38.5%
(FPCore (x y z t a b c i j)
:precision binary64
(if (<= j -7.5e+44)
(* a (* c j))
(if (<= j -5.3e-257)
(* (* t a) (- x))
(if (<= j 8.6e+126) (* i (* t b)) (* c (* a j))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (j <= -7.5e+44) {
tmp = a * (c * j);
} else if (j <= -5.3e-257) {
tmp = (t * a) * -x;
} else if (j <= 8.6e+126) {
tmp = i * (t * b);
} else {
tmp = c * (a * 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 (j <= (-7.5d+44)) then
tmp = a * (c * j)
else if (j <= (-5.3d-257)) then
tmp = (t * a) * -x
else if (j <= 8.6d+126) then
tmp = i * (t * b)
else
tmp = c * (a * 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 (j <= -7.5e+44) {
tmp = a * (c * j);
} else if (j <= -5.3e-257) {
tmp = (t * a) * -x;
} else if (j <= 8.6e+126) {
tmp = i * (t * b);
} else {
tmp = c * (a * j);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if j <= -7.5e+44: tmp = a * (c * j) elif j <= -5.3e-257: tmp = (t * a) * -x elif j <= 8.6e+126: tmp = i * (t * b) else: tmp = c * (a * j) return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if (j <= -7.5e+44) tmp = Float64(a * Float64(c * j)); elseif (j <= -5.3e-257) tmp = Float64(Float64(t * a) * Float64(-x)); elseif (j <= 8.6e+126) tmp = Float64(i * Float64(t * b)); else tmp = Float64(c * Float64(a * j)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if (j <= -7.5e+44) tmp = a * (c * j); elseif (j <= -5.3e-257) tmp = (t * a) * -x; elseif (j <= 8.6e+126) tmp = i * (t * b); else tmp = c * (a * j); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[LessEqual[j, -7.5e+44], N[(a * N[(c * j), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -5.3e-257], N[(N[(t * a), $MachinePrecision] * (-x)), $MachinePrecision], If[LessEqual[j, 8.6e+126], N[(i * N[(t * b), $MachinePrecision]), $MachinePrecision], N[(c * N[(a * j), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;j \leq -7.5 \cdot 10^{+44}:\\
\;\;\;\;a \cdot \left(c \cdot j\right)\\
\mathbf{elif}\;j \leq -5.3 \cdot 10^{-257}:\\
\;\;\;\;\left(t \cdot a\right) \cdot \left(-x\right)\\
\mathbf{elif}\;j \leq 8.6 \cdot 10^{+126}:\\
\;\;\;\;i \cdot \left(t \cdot b\right)\\
\mathbf{else}:\\
\;\;\;\;c \cdot \left(a \cdot j\right)\\
\end{array}
\end{array}
if j < -7.50000000000000027e44Initial program 67.9%
associate-+l-67.9%
*-commutative67.9%
sub-neg67.9%
sub-neg67.9%
*-commutative67.9%
Simplified67.9%
Taylor expanded in a around inf 50.9%
+-commutative50.9%
mul-1-neg50.9%
unsub-neg50.9%
Simplified50.9%
Taylor expanded in c around inf 44.1%
*-commutative44.1%
associate-*l*45.9%
*-commutative45.9%
Simplified45.9%
if -7.50000000000000027e44 < j < -5.3e-257Initial program 67.8%
associate-+l-67.8%
*-commutative67.8%
sub-neg67.8%
sub-neg67.8%
*-commutative67.8%
Simplified67.8%
Taylor expanded in j around 0 72.3%
Simplified73.5%
Taylor expanded in a around inf 31.3%
associate-*r*31.3%
neg-mul-131.3%
*-commutative31.3%
associate-*r*30.3%
*-commutative30.3%
associate-*l*31.7%
distribute-lft-neg-in31.7%
distribute-rgt-neg-in31.7%
Simplified31.7%
if -5.3e-257 < j < 8.60000000000000041e126Initial program 76.5%
associate-+l-76.5%
*-commutative76.5%
sub-neg76.5%
sub-neg76.5%
*-commutative76.5%
Simplified76.5%
Taylor expanded in b around inf 53.6%
Taylor expanded in i around inf 33.6%
if 8.60000000000000041e126 < j Initial program 62.1%
associate-+l-62.1%
*-commutative62.1%
sub-neg62.1%
sub-neg62.1%
*-commutative62.1%
Simplified62.1%
Taylor expanded in a around inf 50.8%
+-commutative50.8%
mul-1-neg50.8%
unsub-neg50.8%
Simplified50.8%
Taylor expanded in c around inf 50.9%
Final simplification38.6%
(FPCore (x y z t a b c i j) :precision binary64 (if (<= j -7.6e+20) (* a (* c j)) (if (<= j 3.2e+126) (* i (* t b)) (* c (* a j)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (j <= -7.6e+20) {
tmp = a * (c * j);
} else if (j <= 3.2e+126) {
tmp = i * (t * b);
} else {
tmp = c * (a * 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 (j <= (-7.6d+20)) then
tmp = a * (c * j)
else if (j <= 3.2d+126) then
tmp = i * (t * b)
else
tmp = c * (a * 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 (j <= -7.6e+20) {
tmp = a * (c * j);
} else if (j <= 3.2e+126) {
tmp = i * (t * b);
} else {
tmp = c * (a * j);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if j <= -7.6e+20: tmp = a * (c * j) elif j <= 3.2e+126: tmp = i * (t * b) else: tmp = c * (a * j) return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if (j <= -7.6e+20) tmp = Float64(a * Float64(c * j)); elseif (j <= 3.2e+126) tmp = Float64(i * Float64(t * b)); else tmp = Float64(c * Float64(a * j)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if (j <= -7.6e+20) tmp = a * (c * j); elseif (j <= 3.2e+126) tmp = i * (t * b); else tmp = c * (a * j); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[LessEqual[j, -7.6e+20], N[(a * N[(c * j), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 3.2e+126], N[(i * N[(t * b), $MachinePrecision]), $MachinePrecision], N[(c * N[(a * j), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;j \leq -7.6 \cdot 10^{+20}:\\
\;\;\;\;a \cdot \left(c \cdot j\right)\\
\mathbf{elif}\;j \leq 3.2 \cdot 10^{+126}:\\
\;\;\;\;i \cdot \left(t \cdot b\right)\\
\mathbf{else}:\\
\;\;\;\;c \cdot \left(a \cdot j\right)\\
\end{array}
\end{array}
if j < -7.6e20Initial program 66.7%
associate-+l-66.7%
*-commutative66.7%
sub-neg66.7%
sub-neg66.7%
*-commutative66.7%
Simplified66.7%
Taylor expanded in a around inf 50.1%
+-commutative50.1%
mul-1-neg50.1%
unsub-neg50.1%
Simplified50.1%
Taylor expanded in c around inf 42.5%
*-commutative42.5%
associate-*l*44.0%
*-commutative44.0%
Simplified44.0%
if -7.6e20 < j < 3.1999999999999998e126Initial program 73.3%
associate-+l-73.3%
*-commutative73.3%
sub-neg73.3%
sub-neg73.3%
*-commutative73.3%
Simplified73.3%
Taylor expanded in b around inf 47.8%
Taylor expanded in i around inf 29.9%
if 3.1999999999999998e126 < j Initial program 62.1%
associate-+l-62.1%
*-commutative62.1%
sub-neg62.1%
sub-neg62.1%
*-commutative62.1%
Simplified62.1%
Taylor expanded in a around inf 50.8%
+-commutative50.8%
mul-1-neg50.8%
unsub-neg50.8%
Simplified50.8%
Taylor expanded in c around inf 50.9%
Final simplification36.8%
(FPCore (x y z t a b c i j) :precision binary64 (* a (* c j)))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return a * (c * j);
}
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 * (c * j)
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 * (c * j);
}
def code(x, y, z, t, a, b, c, i, j): return a * (c * j)
function code(x, y, z, t, a, b, c, i, j) return Float64(a * Float64(c * j)) end
function tmp = code(x, y, z, t, a, b, c, i, j) tmp = a * (c * j); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := N[(a * N[(c * j), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
a \cdot \left(c \cdot j\right)
\end{array}
Initial program 69.9%
associate-+l-69.9%
*-commutative69.9%
sub-neg69.9%
sub-neg69.9%
*-commutative69.9%
Simplified69.9%
Taylor expanded in a around inf 40.0%
+-commutative40.0%
mul-1-neg40.0%
unsub-neg40.0%
Simplified40.0%
Taylor expanded in c around inf 25.5%
*-commutative25.5%
associate-*l*25.1%
*-commutative25.1%
Simplified25.1%
Final simplification25.1%
(FPCore (x y z t a b c i j) :precision binary64 (* c (* a j)))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return c * (a * j);
}
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 = c * (a * j)
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 c * (a * j);
}
def code(x, y, z, t, a, b, c, i, j): return c * (a * j)
function code(x, y, z, t, a, b, c, i, j) return Float64(c * Float64(a * j)) end
function tmp = code(x, y, z, t, a, b, c, i, j) tmp = c * (a * j); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := N[(c * N[(a * j), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
c \cdot \left(a \cdot j\right)
\end{array}
Initial program 69.9%
associate-+l-69.9%
*-commutative69.9%
sub-neg69.9%
sub-neg69.9%
*-commutative69.9%
Simplified69.9%
Taylor expanded in a around inf 40.0%
+-commutative40.0%
mul-1-neg40.0%
unsub-neg40.0%
Simplified40.0%
Taylor expanded in c around inf 25.5%
Final simplification25.5%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* j (- (* c a) (* y i))))
(t_2
(+
(-
(* x (- (* y z) (* t a)))
(/
(* b (- (pow (* c z) 2.0) (pow (* t i) 2.0)))
(+ (* c z) (* t i))))
t_1)))
(if (< x -1.469694296777705e-64)
t_2
(if (< x 3.2113527362226803e-147)
(- (* (- (* b i) (* x a)) t) (- (* z (* c b)) 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 = j * ((c * a) - (y * i));
double t_2 = ((x * ((y * z) - (t * a))) - ((b * (pow((c * z), 2.0) - pow((t * i), 2.0))) / ((c * z) + (t * i)))) + t_1;
double tmp;
if (x < -1.469694296777705e-64) {
tmp = t_2;
} else if (x < 3.2113527362226803e-147) {
tmp = (((b * i) - (x * a)) * t) - ((z * (c * b)) - 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 = j * ((c * a) - (y * i))
t_2 = ((x * ((y * z) - (t * a))) - ((b * (((c * z) ** 2.0d0) - ((t * i) ** 2.0d0))) / ((c * z) + (t * i)))) + t_1
if (x < (-1.469694296777705d-64)) then
tmp = t_2
else if (x < 3.2113527362226803d-147) then
tmp = (((b * i) - (x * a)) * t) - ((z * (c * b)) - 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 = j * ((c * a) - (y * i));
double t_2 = ((x * ((y * z) - (t * a))) - ((b * (Math.pow((c * z), 2.0) - Math.pow((t * i), 2.0))) / ((c * z) + (t * i)))) + t_1;
double tmp;
if (x < -1.469694296777705e-64) {
tmp = t_2;
} else if (x < 3.2113527362226803e-147) {
tmp = (((b * i) - (x * a)) * t) - ((z * (c * b)) - t_1);
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = j * ((c * a) - (y * i)) t_2 = ((x * ((y * z) - (t * a))) - ((b * (math.pow((c * z), 2.0) - math.pow((t * i), 2.0))) / ((c * z) + (t * i)))) + t_1 tmp = 0 if x < -1.469694296777705e-64: tmp = t_2 elif x < 3.2113527362226803e-147: tmp = (((b * i) - (x * a)) * t) - ((z * (c * b)) - t_1) else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(j * Float64(Float64(c * a) - Float64(y * i))) t_2 = Float64(Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) - Float64(Float64(b * Float64((Float64(c * z) ^ 2.0) - (Float64(t * i) ^ 2.0))) / Float64(Float64(c * z) + Float64(t * i)))) + t_1) tmp = 0.0 if (x < -1.469694296777705e-64) tmp = t_2; elseif (x < 3.2113527362226803e-147) tmp = Float64(Float64(Float64(Float64(b * i) - Float64(x * a)) * t) - Float64(Float64(z * Float64(c * b)) - 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 = j * ((c * a) - (y * i)); t_2 = ((x * ((y * z) - (t * a))) - ((b * (((c * z) ^ 2.0) - ((t * i) ^ 2.0))) / ((c * z) + (t * i)))) + t_1; tmp = 0.0; if (x < -1.469694296777705e-64) tmp = t_2; elseif (x < 3.2113527362226803e-147) tmp = (((b * i) - (x * a)) * t) - ((z * (c * b)) - 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[(j * N[(N[(c * a), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(b * N[(N[Power[N[(c * z), $MachinePrecision], 2.0], $MachinePrecision] - N[Power[N[(t * i), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[(c * z), $MachinePrecision] + N[(t * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision]}, If[Less[x, -1.469694296777705e-64], t$95$2, If[Less[x, 3.2113527362226803e-147], N[(N[(N[(N[(b * i), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision] * t), $MachinePrecision] - N[(N[(z * N[(c * b), $MachinePrecision]), $MachinePrecision] - t$95$1), $MachinePrecision]), $MachinePrecision], t$95$2]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(c \cdot a - y \cdot i\right)\\
t_2 := \left(x \cdot \left(y \cdot z - t \cdot a\right) - \frac{b \cdot \left({\left(c \cdot z\right)}^{2} - {\left(t \cdot i\right)}^{2}\right)}{c \cdot z + t \cdot i}\right) + t_1\\
\mathbf{if}\;x < -1.469694296777705 \cdot 10^{-64}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;x < 3.2113527362226803 \cdot 10^{-147}:\\
\;\;\;\;\left(b \cdot i - x \cdot a\right) \cdot t - \left(z \cdot \left(c \cdot b\right) - t_1\right)\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
herbie shell --seed 2023279
(FPCore (x y z t a b c i j)
:name "Data.Colour.Matrix:determinant from colour-2.3.3, A"
:precision binary64
:herbie-target
(if (< x -1.469694296777705e-64) (+ (- (* x (- (* y z) (* t a))) (/ (* b (- (pow (* c z) 2.0) (pow (* t i) 2.0))) (+ (* c z) (* t i)))) (* j (- (* c a) (* y i)))) (if (< x 3.2113527362226803e-147) (- (* (- (* b i) (* x a)) t) (- (* z (* c b)) (* j (- (* c a) (* y i))))) (+ (- (* x (- (* y z) (* t a))) (/ (* b (- (pow (* c z) 2.0) (pow (* t i) 2.0))) (+ (* c z) (* t i)))) (* j (- (* c a) (* y i))))))
(+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* t i)))) (* j (- (* c a) (* y i)))))