
(FPCore (x y z t a b c i j) :precision binary64 (+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)));
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
code = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)))
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)));
}
def code(x, y, z, t, a, b, c, i, j): return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)))
function code(x, y, z, t, a, b, c, i, j) return Float64(Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) - Float64(b * Float64(Float64(c * z) - Float64(i * a)))) + Float64(j * Float64(Float64(c * t) - Float64(i * y)))) end
function tmp = code(x, y, z, t, a, b, c, i, j) tmp = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y))); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := N[(N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b * N[(N[(c * z), $MachinePrecision] - N[(i * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(c * t), $MachinePrecision] - N[(i * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 33 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a b c i j) :precision binary64 (+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)));
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
code = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)))
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)));
}
def code(x, y, z, t, a, b, c, i, j): return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)))
function code(x, y, z, t, a, b, c, i, j) return Float64(Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) - Float64(b * Float64(Float64(c * z) - Float64(i * a)))) + Float64(j * Float64(Float64(c * t) - Float64(i * y)))) end
function tmp = code(x, y, z, t, a, b, c, i, j) tmp = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y))); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := N[(N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b * N[(N[(c * z), $MachinePrecision] - N[(i * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(c * t), $MachinePrecision] - N[(i * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)
\end{array}
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1
(+
(* j (- (* t c) (* y i)))
(+ (* x (- (* y z) (* t a))) (* b (- (* a i) (* z c)))))))
(if (<= t_1 INFINITY)
t_1
(* y (- (- (* x z) (/ (* t (- (* x a) (* c j))) y)) (* i j))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = (j * ((t * c) - (y * i))) + ((x * ((y * z) - (t * a))) + (b * ((a * i) - (z * c))));
double tmp;
if (t_1 <= ((double) INFINITY)) {
tmp = t_1;
} else {
tmp = y * (((x * z) - ((t * ((x * a) - (c * j))) / y)) - (i * j));
}
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 * ((t * c) - (y * i))) + ((x * ((y * z) - (t * a))) + (b * ((a * i) - (z * c))));
double tmp;
if (t_1 <= Double.POSITIVE_INFINITY) {
tmp = t_1;
} else {
tmp = y * (((x * z) - ((t * ((x * a) - (c * j))) / y)) - (i * j));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = (j * ((t * c) - (y * i))) + ((x * ((y * z) - (t * a))) + (b * ((a * i) - (z * c)))) tmp = 0 if t_1 <= math.inf: tmp = t_1 else: tmp = y * (((x * z) - ((t * ((x * a) - (c * j))) / y)) - (i * j)) return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(Float64(j * Float64(Float64(t * c) - Float64(y * i))) + Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) + Float64(b * Float64(Float64(a * i) - Float64(z * c))))) tmp = 0.0 if (t_1 <= Inf) tmp = t_1; else tmp = Float64(y * Float64(Float64(Float64(x * z) - Float64(Float64(t * Float64(Float64(x * a) - Float64(c * j))) / y)) - Float64(i * j))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = (j * ((t * c) - (y * i))) + ((x * ((y * z) - (t * a))) + (b * ((a * i) - (z * c)))); tmp = 0.0; if (t_1 <= Inf) tmp = t_1; else tmp = y * (((x * z) - ((t * ((x * a) - (c * j))) / y)) - (i * j)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[(j * N[(N[(t * 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[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, Infinity], t$95$1, N[(y * N[(N[(N[(x * z), $MachinePrecision] - N[(N[(t * N[(N[(x * a), $MachinePrecision] - N[(c * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision] - N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(t \cdot c - y \cdot i\right) + \left(x \cdot \left(y \cdot z - t \cdot a\right) + b \cdot \left(a \cdot i - z \cdot c\right)\right)\\
\mathbf{if}\;t\_1 \leq \infty:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;y \cdot \left(\left(x \cdot z - \frac{t \cdot \left(x \cdot a - c \cdot j\right)}{y}\right) - i \cdot j\right)\\
\end{array}
\end{array}
if (+.f64 (-.f64 (*.f64 x (-.f64 (*.f64 y z) (*.f64 t a))) (*.f64 b (-.f64 (*.f64 c z) (*.f64 i a)))) (*.f64 j (-.f64 (*.f64 c t) (*.f64 i y)))) < +inf.0Initial program 90.8%
if +inf.0 < (+.f64 (-.f64 (*.f64 x (-.f64 (*.f64 y z) (*.f64 t a))) (*.f64 b (-.f64 (*.f64 c z) (*.f64 i a)))) (*.f64 j (-.f64 (*.f64 c t) (*.f64 i y)))) Initial program 0.0%
Taylor expanded in y around -inf 30.9%
Simplified36.7%
Taylor expanded in b around 0 61.5%
Final simplification84.8%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* c (* z (- b)))) (t_2 (* a (* t (- x)))) (t_3 (* c (* t j))))
(if (<= j -4.2e+136)
t_3
(if (<= j -3.2e+112)
(* x (* y z))
(if (<= j -1.8e+31)
t_2
(if (<= j -1.5e-102)
(* y (* x z))
(if (<= j -5.7e-181)
t_2
(if (<= j -1.56e-274)
t_1
(if (<= j 7.5e-250)
(* b (* a i))
(if (<= j 6.2e-193)
t_1
(if (<= j 2150000000000.0) t_2 t_3)))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = c * (z * -b);
double t_2 = a * (t * -x);
double t_3 = c * (t * j);
double tmp;
if (j <= -4.2e+136) {
tmp = t_3;
} else if (j <= -3.2e+112) {
tmp = x * (y * z);
} else if (j <= -1.8e+31) {
tmp = t_2;
} else if (j <= -1.5e-102) {
tmp = y * (x * z);
} else if (j <= -5.7e-181) {
tmp = t_2;
} else if (j <= -1.56e-274) {
tmp = t_1;
} else if (j <= 7.5e-250) {
tmp = b * (a * i);
} else if (j <= 6.2e-193) {
tmp = t_1;
} else if (j <= 2150000000000.0) {
tmp = t_2;
} else {
tmp = t_3;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = c * (z * -b)
t_2 = a * (t * -x)
t_3 = c * (t * j)
if (j <= (-4.2d+136)) then
tmp = t_3
else if (j <= (-3.2d+112)) then
tmp = x * (y * z)
else if (j <= (-1.8d+31)) then
tmp = t_2
else if (j <= (-1.5d-102)) then
tmp = y * (x * z)
else if (j <= (-5.7d-181)) then
tmp = t_2
else if (j <= (-1.56d-274)) then
tmp = t_1
else if (j <= 7.5d-250) then
tmp = b * (a * i)
else if (j <= 6.2d-193) then
tmp = t_1
else if (j <= 2150000000000.0d0) then
tmp = t_2
else
tmp = t_3
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = c * (z * -b);
double t_2 = a * (t * -x);
double t_3 = c * (t * j);
double tmp;
if (j <= -4.2e+136) {
tmp = t_3;
} else if (j <= -3.2e+112) {
tmp = x * (y * z);
} else if (j <= -1.8e+31) {
tmp = t_2;
} else if (j <= -1.5e-102) {
tmp = y * (x * z);
} else if (j <= -5.7e-181) {
tmp = t_2;
} else if (j <= -1.56e-274) {
tmp = t_1;
} else if (j <= 7.5e-250) {
tmp = b * (a * i);
} else if (j <= 6.2e-193) {
tmp = t_1;
} else if (j <= 2150000000000.0) {
tmp = t_2;
} else {
tmp = t_3;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = c * (z * -b) t_2 = a * (t * -x) t_3 = c * (t * j) tmp = 0 if j <= -4.2e+136: tmp = t_3 elif j <= -3.2e+112: tmp = x * (y * z) elif j <= -1.8e+31: tmp = t_2 elif j <= -1.5e-102: tmp = y * (x * z) elif j <= -5.7e-181: tmp = t_2 elif j <= -1.56e-274: tmp = t_1 elif j <= 7.5e-250: tmp = b * (a * i) elif j <= 6.2e-193: tmp = t_1 elif j <= 2150000000000.0: tmp = t_2 else: tmp = t_3 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(c * Float64(z * Float64(-b))) t_2 = Float64(a * Float64(t * Float64(-x))) t_3 = Float64(c * Float64(t * j)) tmp = 0.0 if (j <= -4.2e+136) tmp = t_3; elseif (j <= -3.2e+112) tmp = Float64(x * Float64(y * z)); elseif (j <= -1.8e+31) tmp = t_2; elseif (j <= -1.5e-102) tmp = Float64(y * Float64(x * z)); elseif (j <= -5.7e-181) tmp = t_2; elseif (j <= -1.56e-274) tmp = t_1; elseif (j <= 7.5e-250) tmp = Float64(b * Float64(a * i)); elseif (j <= 6.2e-193) tmp = t_1; elseif (j <= 2150000000000.0) tmp = t_2; else tmp = t_3; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = c * (z * -b); t_2 = a * (t * -x); t_3 = c * (t * j); tmp = 0.0; if (j <= -4.2e+136) tmp = t_3; elseif (j <= -3.2e+112) tmp = x * (y * z); elseif (j <= -1.8e+31) tmp = t_2; elseif (j <= -1.5e-102) tmp = y * (x * z); elseif (j <= -5.7e-181) tmp = t_2; elseif (j <= -1.56e-274) tmp = t_1; elseif (j <= 7.5e-250) tmp = b * (a * i); elseif (j <= 6.2e-193) tmp = t_1; elseif (j <= 2150000000000.0) tmp = t_2; else tmp = t_3; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(c * N[(z * (-b)), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(a * N[(t * (-x)), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(c * N[(t * j), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -4.2e+136], t$95$3, If[LessEqual[j, -3.2e+112], N[(x * N[(y * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -1.8e+31], t$95$2, If[LessEqual[j, -1.5e-102], N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -5.7e-181], t$95$2, If[LessEqual[j, -1.56e-274], t$95$1, If[LessEqual[j, 7.5e-250], N[(b * N[(a * i), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 6.2e-193], t$95$1, If[LessEqual[j, 2150000000000.0], t$95$2, t$95$3]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c \cdot \left(z \cdot \left(-b\right)\right)\\
t_2 := a \cdot \left(t \cdot \left(-x\right)\right)\\
t_3 := c \cdot \left(t \cdot j\right)\\
\mathbf{if}\;j \leq -4.2 \cdot 10^{+136}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;j \leq -3.2 \cdot 10^{+112}:\\
\;\;\;\;x \cdot \left(y \cdot z\right)\\
\mathbf{elif}\;j \leq -1.8 \cdot 10^{+31}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;j \leq -1.5 \cdot 10^{-102}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\mathbf{elif}\;j \leq -5.7 \cdot 10^{-181}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;j \leq -1.56 \cdot 10^{-274}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;j \leq 7.5 \cdot 10^{-250}:\\
\;\;\;\;b \cdot \left(a \cdot i\right)\\
\mathbf{elif}\;j \leq 6.2 \cdot 10^{-193}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;j \leq 2150000000000:\\
\;\;\;\;t\_2\\
\mathbf{else}:\\
\;\;\;\;t\_3\\
\end{array}
\end{array}
if j < -4.1999999999999998e136 or 2.15e12 < j Initial program 68.8%
Taylor expanded in b around 0 67.0%
Taylor expanded in x around inf 64.2%
Taylor expanded in c around inf 53.4%
*-commutative53.4%
Simplified53.4%
if -4.1999999999999998e136 < j < -3.19999999999999986e112Initial program 64.1%
Taylor expanded in y around inf 87.6%
+-commutative87.6%
mul-1-neg87.6%
unsub-neg87.6%
*-commutative87.6%
Simplified87.6%
Taylor expanded in x around inf 52.3%
if -3.19999999999999986e112 < j < -1.79999999999999998e31 or -1.5e-102 < j < -5.7000000000000002e-181 or 6.2000000000000004e-193 < j < 2.15e12Initial program 70.2%
Taylor expanded in a around inf 55.8%
distribute-lft-out--55.8%
*-commutative55.8%
*-commutative55.8%
Simplified55.8%
Taylor expanded in x around inf 37.9%
associate-*r*37.9%
mul-1-neg37.9%
Simplified37.9%
if -1.79999999999999998e31 < j < -1.5e-102Initial program 86.2%
Taylor expanded in y around inf 53.1%
+-commutative53.1%
mul-1-neg53.1%
unsub-neg53.1%
*-commutative53.1%
Simplified53.1%
Taylor expanded in x around inf 39.8%
if -5.7000000000000002e-181 < j < -1.55999999999999989e-274 or 7.50000000000000009e-250 < j < 6.2000000000000004e-193Initial program 75.2%
Taylor expanded in b around inf 62.5%
*-commutative62.5%
Simplified62.5%
Taylor expanded in a around 0 46.5%
associate-*r*46.5%
neg-mul-146.5%
*-commutative46.5%
Simplified46.5%
Taylor expanded in b around 0 46.5%
neg-mul-146.5%
distribute-lft-neg-in46.5%
*-commutative46.5%
associate-*l*55.3%
Simplified55.3%
if -1.55999999999999989e-274 < j < 7.50000000000000009e-250Initial program 81.0%
Taylor expanded in b around inf 62.5%
*-commutative62.5%
Simplified62.5%
Taylor expanded in a around inf 48.7%
*-commutative48.7%
Simplified48.7%
Final simplification47.5%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (- (* t c) (* y i))))
(if (<= j -4.2e+172)
(* j t_1)
(if (<= j -1.28e-104)
(* x (- (* y z) (* t a)))
(if (<= j -1.65e-202)
(* a (* t (- (* b (/ i t)) x)))
(if (<= j -1.2e-210)
(* y (* x z))
(if (<= j 8.2e-224)
(* b (- (* a i) (* z c)))
(if (<= j 1.65e-124)
(* z (- (* x y) (* b c)))
(if (<= j 5.4e+49)
(* t (- (* c j) (* x a)))
(* (* x j) (/ t_1 x)))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = (t * c) - (y * i);
double tmp;
if (j <= -4.2e+172) {
tmp = j * t_1;
} else if (j <= -1.28e-104) {
tmp = x * ((y * z) - (t * a));
} else if (j <= -1.65e-202) {
tmp = a * (t * ((b * (i / t)) - x));
} else if (j <= -1.2e-210) {
tmp = y * (x * z);
} else if (j <= 8.2e-224) {
tmp = b * ((a * i) - (z * c));
} else if (j <= 1.65e-124) {
tmp = z * ((x * y) - (b * c));
} else if (j <= 5.4e+49) {
tmp = t * ((c * j) - (x * a));
} else {
tmp = (x * j) * (t_1 / x);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: tmp
t_1 = (t * c) - (y * i)
if (j <= (-4.2d+172)) then
tmp = j * t_1
else if (j <= (-1.28d-104)) then
tmp = x * ((y * z) - (t * a))
else if (j <= (-1.65d-202)) then
tmp = a * (t * ((b * (i / t)) - x))
else if (j <= (-1.2d-210)) then
tmp = y * (x * z)
else if (j <= 8.2d-224) then
tmp = b * ((a * i) - (z * c))
else if (j <= 1.65d-124) then
tmp = z * ((x * y) - (b * c))
else if (j <= 5.4d+49) then
tmp = t * ((c * j) - (x * a))
else
tmp = (x * j) * (t_1 / x)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = (t * c) - (y * i);
double tmp;
if (j <= -4.2e+172) {
tmp = j * t_1;
} else if (j <= -1.28e-104) {
tmp = x * ((y * z) - (t * a));
} else if (j <= -1.65e-202) {
tmp = a * (t * ((b * (i / t)) - x));
} else if (j <= -1.2e-210) {
tmp = y * (x * z);
} else if (j <= 8.2e-224) {
tmp = b * ((a * i) - (z * c));
} else if (j <= 1.65e-124) {
tmp = z * ((x * y) - (b * c));
} else if (j <= 5.4e+49) {
tmp = t * ((c * j) - (x * a));
} else {
tmp = (x * j) * (t_1 / x);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = (t * c) - (y * i) tmp = 0 if j <= -4.2e+172: tmp = j * t_1 elif j <= -1.28e-104: tmp = x * ((y * z) - (t * a)) elif j <= -1.65e-202: tmp = a * (t * ((b * (i / t)) - x)) elif j <= -1.2e-210: tmp = y * (x * z) elif j <= 8.2e-224: tmp = b * ((a * i) - (z * c)) elif j <= 1.65e-124: tmp = z * ((x * y) - (b * c)) elif j <= 5.4e+49: tmp = t * ((c * j) - (x * a)) else: tmp = (x * j) * (t_1 / x) return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(Float64(t * c) - Float64(y * i)) tmp = 0.0 if (j <= -4.2e+172) tmp = Float64(j * t_1); elseif (j <= -1.28e-104) tmp = Float64(x * Float64(Float64(y * z) - Float64(t * a))); elseif (j <= -1.65e-202) tmp = Float64(a * Float64(t * Float64(Float64(b * Float64(i / t)) - x))); elseif (j <= -1.2e-210) tmp = Float64(y * Float64(x * z)); elseif (j <= 8.2e-224) tmp = Float64(b * Float64(Float64(a * i) - Float64(z * c))); elseif (j <= 1.65e-124) tmp = Float64(z * Float64(Float64(x * y) - Float64(b * c))); elseif (j <= 5.4e+49) tmp = Float64(t * Float64(Float64(c * j) - Float64(x * a))); else tmp = Float64(Float64(x * j) * Float64(t_1 / x)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = (t * c) - (y * i); tmp = 0.0; if (j <= -4.2e+172) tmp = j * t_1; elseif (j <= -1.28e-104) tmp = x * ((y * z) - (t * a)); elseif (j <= -1.65e-202) tmp = a * (t * ((b * (i / t)) - x)); elseif (j <= -1.2e-210) tmp = y * (x * z); elseif (j <= 8.2e-224) tmp = b * ((a * i) - (z * c)); elseif (j <= 1.65e-124) tmp = z * ((x * y) - (b * c)); elseif (j <= 5.4e+49) tmp = t * ((c * j) - (x * a)); else tmp = (x * j) * (t_1 / x); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -4.2e+172], N[(j * t$95$1), $MachinePrecision], If[LessEqual[j, -1.28e-104], N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -1.65e-202], N[(a * N[(t * N[(N[(b * N[(i / t), $MachinePrecision]), $MachinePrecision] - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -1.2e-210], N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 8.2e-224], N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.65e-124], N[(z * N[(N[(x * y), $MachinePrecision] - N[(b * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 5.4e+49], N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(x * j), $MachinePrecision] * N[(t$95$1 / x), $MachinePrecision]), $MachinePrecision]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot c - y \cdot i\\
\mathbf{if}\;j \leq -4.2 \cdot 10^{+172}:\\
\;\;\;\;j \cdot t\_1\\
\mathbf{elif}\;j \leq -1.28 \cdot 10^{-104}:\\
\;\;\;\;x \cdot \left(y \cdot z - t \cdot a\right)\\
\mathbf{elif}\;j \leq -1.65 \cdot 10^{-202}:\\
\;\;\;\;a \cdot \left(t \cdot \left(b \cdot \frac{i}{t} - x\right)\right)\\
\mathbf{elif}\;j \leq -1.2 \cdot 10^{-210}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\mathbf{elif}\;j \leq 8.2 \cdot 10^{-224}:\\
\;\;\;\;b \cdot \left(a \cdot i - z \cdot c\right)\\
\mathbf{elif}\;j \leq 1.65 \cdot 10^{-124}:\\
\;\;\;\;z \cdot \left(x \cdot y - b \cdot c\right)\\
\mathbf{elif}\;j \leq 5.4 \cdot 10^{+49}:\\
\;\;\;\;t \cdot \left(c \cdot j - x \cdot a\right)\\
\mathbf{else}:\\
\;\;\;\;\left(x \cdot j\right) \cdot \frac{t\_1}{x}\\
\end{array}
\end{array}
if j < -4.2000000000000003e172Initial program 72.7%
Taylor expanded in j around inf 75.4%
*-commutative75.4%
*-commutative75.4%
Simplified75.4%
if -4.2000000000000003e172 < j < -1.27999999999999992e-104Initial program 74.9%
Taylor expanded in y around 0 69.0%
Simplified72.8%
Taylor expanded in x around inf 57.6%
neg-mul-157.6%
+-commutative57.6%
sub-neg57.6%
Simplified57.6%
if -1.27999999999999992e-104 < j < -1.64999999999999995e-202Initial program 76.3%
Taylor expanded in a around inf 61.1%
distribute-lft-out--61.1%
*-commutative61.1%
*-commutative61.1%
Simplified61.1%
Taylor expanded in t around inf 66.7%
+-commutative66.7%
neg-mul-166.7%
unsub-neg66.7%
associate-/l*72.6%
Simplified72.6%
if -1.64999999999999995e-202 < j < -1.20000000000000002e-210Initial program 66.7%
Taylor expanded in y around inf 100.0%
+-commutative100.0%
mul-1-neg100.0%
unsub-neg100.0%
*-commutative100.0%
Simplified100.0%
Taylor expanded in x around inf 100.0%
if -1.20000000000000002e-210 < j < 8.19999999999999972e-224Initial program 79.5%
Taylor expanded in b around inf 70.7%
*-commutative70.7%
Simplified70.7%
if 8.19999999999999972e-224 < j < 1.64999999999999992e-124Initial program 67.3%
Taylor expanded in z around inf 77.2%
*-commutative77.2%
Simplified77.2%
if 1.64999999999999992e-124 < j < 5.4000000000000002e49Initial program 73.9%
Taylor expanded in t around inf 66.4%
+-commutative66.4%
mul-1-neg66.4%
unsub-neg66.4%
*-commutative66.4%
*-commutative66.4%
Simplified66.4%
if 5.4000000000000002e49 < j Initial program 65.3%
Taylor expanded in b around 0 65.6%
Taylor expanded in x around inf 65.8%
Taylor expanded in j around inf 62.1%
associate-*r*63.9%
*-commutative63.9%
div-sub69.7%
*-commutative69.7%
Simplified69.7%
Final simplification69.0%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* b (- (* a i) (* z c))))
(t_2 (* y (- (- (* x z) (/ (* t (- (* x a) (* c j))) y)) (* i j)))))
(if (<= y -65000.0)
t_2
(if (<= y 1.32e-307)
(+ (* j (- (* t c) (* y i))) t_1)
(if (or (<= y 6e-61) (and (not (<= y 4e+73)) (<= y 1.8e+102)))
(+ (* x (- (* y z) (* t a))) t_1)
t_2)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = b * ((a * i) - (z * c));
double t_2 = y * (((x * z) - ((t * ((x * a) - (c * j))) / y)) - (i * j));
double tmp;
if (y <= -65000.0) {
tmp = t_2;
} else if (y <= 1.32e-307) {
tmp = (j * ((t * c) - (y * i))) + t_1;
} else if ((y <= 6e-61) || (!(y <= 4e+73) && (y <= 1.8e+102))) {
tmp = (x * ((y * z) - (t * a))) + 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 = b * ((a * i) - (z * c))
t_2 = y * (((x * z) - ((t * ((x * a) - (c * j))) / y)) - (i * j))
if (y <= (-65000.0d0)) then
tmp = t_2
else if (y <= 1.32d-307) then
tmp = (j * ((t * c) - (y * i))) + t_1
else if ((y <= 6d-61) .or. (.not. (y <= 4d+73)) .and. (y <= 1.8d+102)) then
tmp = (x * ((y * z) - (t * a))) + t_1
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = b * ((a * i) - (z * c));
double t_2 = y * (((x * z) - ((t * ((x * a) - (c * j))) / y)) - (i * j));
double tmp;
if (y <= -65000.0) {
tmp = t_2;
} else if (y <= 1.32e-307) {
tmp = (j * ((t * c) - (y * i))) + t_1;
} else if ((y <= 6e-61) || (!(y <= 4e+73) && (y <= 1.8e+102))) {
tmp = (x * ((y * z) - (t * a))) + t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = b * ((a * i) - (z * c)) t_2 = y * (((x * z) - ((t * ((x * a) - (c * j))) / y)) - (i * j)) tmp = 0 if y <= -65000.0: tmp = t_2 elif y <= 1.32e-307: tmp = (j * ((t * c) - (y * i))) + t_1 elif (y <= 6e-61) or (not (y <= 4e+73) and (y <= 1.8e+102)): tmp = (x * ((y * z) - (t * a))) + t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(b * Float64(Float64(a * i) - Float64(z * c))) t_2 = Float64(y * Float64(Float64(Float64(x * z) - Float64(Float64(t * Float64(Float64(x * a) - Float64(c * j))) / y)) - Float64(i * j))) tmp = 0.0 if (y <= -65000.0) tmp = t_2; elseif (y <= 1.32e-307) tmp = Float64(Float64(j * Float64(Float64(t * c) - Float64(y * i))) + t_1); elseif ((y <= 6e-61) || (!(y <= 4e+73) && (y <= 1.8e+102))) tmp = Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) + t_1); else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = b * ((a * i) - (z * c)); t_2 = y * (((x * z) - ((t * ((x * a) - (c * j))) / y)) - (i * j)); tmp = 0.0; if (y <= -65000.0) tmp = t_2; elseif (y <= 1.32e-307) tmp = (j * ((t * c) - (y * i))) + t_1; elseif ((y <= 6e-61) || (~((y <= 4e+73)) && (y <= 1.8e+102))) tmp = (x * ((y * z) - (t * a))) + 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[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y * N[(N[(N[(x * z), $MachinePrecision] - N[(N[(t * N[(N[(x * a), $MachinePrecision] - N[(c * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision] - N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -65000.0], t$95$2, If[LessEqual[y, 1.32e-307], N[(N[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision], If[Or[LessEqual[y, 6e-61], And[N[Not[LessEqual[y, 4e+73]], $MachinePrecision], LessEqual[y, 1.8e+102]]], N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision], t$95$2]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot \left(a \cdot i - z \cdot c\right)\\
t_2 := y \cdot \left(\left(x \cdot z - \frac{t \cdot \left(x \cdot a - c \cdot j\right)}{y}\right) - i \cdot j\right)\\
\mathbf{if}\;y \leq -65000:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;y \leq 1.32 \cdot 10^{-307}:\\
\;\;\;\;j \cdot \left(t \cdot c - y \cdot i\right) + t\_1\\
\mathbf{elif}\;y \leq 6 \cdot 10^{-61} \lor \neg \left(y \leq 4 \cdot 10^{+73}\right) \land y \leq 1.8 \cdot 10^{+102}:\\
\;\;\;\;x \cdot \left(y \cdot z - t \cdot a\right) + t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if y < -65000 or 6.00000000000000024e-61 < y < 3.99999999999999993e73 or 1.8000000000000001e102 < y Initial program 66.6%
Taylor expanded in y around -inf 80.3%
Simplified83.8%
Taylor expanded in b around 0 83.9%
if -65000 < y < 1.3199999999999999e-307Initial program 81.7%
Taylor expanded in x around 0 76.6%
fma-neg76.6%
*-rgt-identity76.6%
*-commutative76.6%
*-commutative76.6%
fma-neg76.6%
associate-*l*76.6%
*-rgt-identity76.6%
*-commutative76.6%
Simplified76.6%
if 1.3199999999999999e-307 < y < 6.00000000000000024e-61 or 3.99999999999999993e73 < y < 1.8000000000000001e102Initial program 75.9%
Taylor expanded in j around 0 79.3%
*-commutative79.3%
Simplified79.3%
Final simplification81.1%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* j (- (* t c) (* y i))))
(t_2 (+ t_1 (* b (* a i))))
(t_3 (* x (- (* y z) (* t a)))))
(if (<= x -3.5e+126)
t_3
(if (<= x -9.5e+86)
t_2
(if (<= x -3e-78)
(- t_3 (* i (* y j)))
(if (<= x 4.2e-279)
t_2
(if (<= x 4.5e-116)
(- t_1 (* b (* z c)))
(if (<= x 2.4e+100) t_2 t_3))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = j * ((t * c) - (y * i));
double t_2 = t_1 + (b * (a * i));
double t_3 = x * ((y * z) - (t * a));
double tmp;
if (x <= -3.5e+126) {
tmp = t_3;
} else if (x <= -9.5e+86) {
tmp = t_2;
} else if (x <= -3e-78) {
tmp = t_3 - (i * (y * j));
} else if (x <= 4.2e-279) {
tmp = t_2;
} else if (x <= 4.5e-116) {
tmp = t_1 - (b * (z * c));
} else if (x <= 2.4e+100) {
tmp = t_2;
} else {
tmp = t_3;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = j * ((t * c) - (y * i))
t_2 = t_1 + (b * (a * i))
t_3 = x * ((y * z) - (t * a))
if (x <= (-3.5d+126)) then
tmp = t_3
else if (x <= (-9.5d+86)) then
tmp = t_2
else if (x <= (-3d-78)) then
tmp = t_3 - (i * (y * j))
else if (x <= 4.2d-279) then
tmp = t_2
else if (x <= 4.5d-116) then
tmp = t_1 - (b * (z * c))
else if (x <= 2.4d+100) then
tmp = t_2
else
tmp = t_3
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = j * ((t * c) - (y * i));
double t_2 = t_1 + (b * (a * i));
double t_3 = x * ((y * z) - (t * a));
double tmp;
if (x <= -3.5e+126) {
tmp = t_3;
} else if (x <= -9.5e+86) {
tmp = t_2;
} else if (x <= -3e-78) {
tmp = t_3 - (i * (y * j));
} else if (x <= 4.2e-279) {
tmp = t_2;
} else if (x <= 4.5e-116) {
tmp = t_1 - (b * (z * c));
} else if (x <= 2.4e+100) {
tmp = t_2;
} else {
tmp = t_3;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = j * ((t * c) - (y * i)) t_2 = t_1 + (b * (a * i)) t_3 = x * ((y * z) - (t * a)) tmp = 0 if x <= -3.5e+126: tmp = t_3 elif x <= -9.5e+86: tmp = t_2 elif x <= -3e-78: tmp = t_3 - (i * (y * j)) elif x <= 4.2e-279: tmp = t_2 elif x <= 4.5e-116: tmp = t_1 - (b * (z * c)) elif x <= 2.4e+100: tmp = t_2 else: tmp = t_3 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(j * Float64(Float64(t * c) - Float64(y * i))) t_2 = Float64(t_1 + Float64(b * Float64(a * i))) t_3 = Float64(x * Float64(Float64(y * z) - Float64(t * a))) tmp = 0.0 if (x <= -3.5e+126) tmp = t_3; elseif (x <= -9.5e+86) tmp = t_2; elseif (x <= -3e-78) tmp = Float64(t_3 - Float64(i * Float64(y * j))); elseif (x <= 4.2e-279) tmp = t_2; elseif (x <= 4.5e-116) tmp = Float64(t_1 - Float64(b * Float64(z * c))); elseif (x <= 2.4e+100) tmp = t_2; else tmp = t_3; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = j * ((t * c) - (y * i)); t_2 = t_1 + (b * (a * i)); t_3 = x * ((y * z) - (t * a)); tmp = 0.0; if (x <= -3.5e+126) tmp = t_3; elseif (x <= -9.5e+86) tmp = t_2; elseif (x <= -3e-78) tmp = t_3 - (i * (y * j)); elseif (x <= 4.2e-279) tmp = t_2; elseif (x <= 4.5e-116) tmp = t_1 - (b * (z * c)); elseif (x <= 2.4e+100) tmp = t_2; else tmp = t_3; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t$95$1 + N[(b * N[(a * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -3.5e+126], t$95$3, If[LessEqual[x, -9.5e+86], t$95$2, If[LessEqual[x, -3e-78], N[(t$95$3 - N[(i * N[(y * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 4.2e-279], t$95$2, If[LessEqual[x, 4.5e-116], N[(t$95$1 - N[(b * N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 2.4e+100], t$95$2, t$95$3]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(t \cdot c - y \cdot i\right)\\
t_2 := t\_1 + b \cdot \left(a \cdot i\right)\\
t_3 := x \cdot \left(y \cdot z - t \cdot a\right)\\
\mathbf{if}\;x \leq -3.5 \cdot 10^{+126}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \leq -9.5 \cdot 10^{+86}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \leq -3 \cdot 10^{-78}:\\
\;\;\;\;t\_3 - i \cdot \left(y \cdot j\right)\\
\mathbf{elif}\;x \leq 4.2 \cdot 10^{-279}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \leq 4.5 \cdot 10^{-116}:\\
\;\;\;\;t\_1 - b \cdot \left(z \cdot c\right)\\
\mathbf{elif}\;x \leq 2.4 \cdot 10^{+100}:\\
\;\;\;\;t\_2\\
\mathbf{else}:\\
\;\;\;\;t\_3\\
\end{array}
\end{array}
if x < -3.5000000000000003e126 or 2.40000000000000012e100 < x Initial program 67.8%
Taylor expanded in y around 0 58.1%
Simplified64.6%
Taylor expanded in x around inf 77.6%
neg-mul-177.6%
+-commutative77.6%
sub-neg77.6%
Simplified77.6%
if -3.5000000000000003e126 < x < -9.50000000000000028e86 or -2.99999999999999988e-78 < x < 4.20000000000000011e-279 or 4.50000000000000012e-116 < x < 2.40000000000000012e100Initial program 75.7%
Taylor expanded in i around inf 74.8%
associate-/l*72.0%
Simplified72.0%
Taylor expanded in x around 0 76.7%
cancel-sign-sub-inv76.7%
+-commutative76.7%
+-commutative76.7%
cancel-sign-sub-inv76.7%
*-commutative76.7%
*-commutative76.7%
associate-/l*74.8%
Simplified74.8%
Taylor expanded in i around inf 70.1%
associate-*r*70.1%
neg-mul-170.1%
Simplified70.1%
if -9.50000000000000028e86 < x < -2.99999999999999988e-78Initial program 75.0%
Taylor expanded in b around 0 65.7%
Taylor expanded in c around 0 66.4%
+-commutative66.4%
cancel-sign-sub-inv66.4%
fma-define66.4%
mul-1-neg66.4%
unsub-neg66.4%
fma-define66.4%
cancel-sign-sub-inv66.4%
*-commutative66.4%
Simplified66.4%
if 4.20000000000000011e-279 < x < 4.50000000000000012e-116Initial program 70.8%
Taylor expanded in i around inf 68.2%
associate-/l*62.1%
Simplified62.1%
Taylor expanded in x around 0 74.1%
cancel-sign-sub-inv74.1%
+-commutative74.1%
+-commutative74.1%
cancel-sign-sub-inv74.1%
*-commutative74.1%
*-commutative74.1%
associate-/l*68.3%
Simplified68.3%
Taylor expanded in i around 0 76.7%
Final simplification73.1%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* j (- (* t c) (* y i)))))
(if (<= j -1.5e+172)
t_1
(if (<= j -4.5e-103)
(* x (- (* y z) (* t a)))
(if (<= j -1.65e-202)
(* a (* t (- (* b (/ i t)) x)))
(if (<= j -1.9e-210)
(* y (* x z))
(if (<= j 8e-222)
(* b (- (* a i) (* z c)))
(if (<= j 7.2e-125)
(* z (- (* x y) (* b c)))
(if (<= j 3.8e+26) (* t (- (* c j) (* 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 = j * ((t * c) - (y * i));
double tmp;
if (j <= -1.5e+172) {
tmp = t_1;
} else if (j <= -4.5e-103) {
tmp = x * ((y * z) - (t * a));
} else if (j <= -1.65e-202) {
tmp = a * (t * ((b * (i / t)) - x));
} else if (j <= -1.9e-210) {
tmp = y * (x * z);
} else if (j <= 8e-222) {
tmp = b * ((a * i) - (z * c));
} else if (j <= 7.2e-125) {
tmp = z * ((x * y) - (b * c));
} else if (j <= 3.8e+26) {
tmp = t * ((c * j) - (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 = j * ((t * c) - (y * i))
if (j <= (-1.5d+172)) then
tmp = t_1
else if (j <= (-4.5d-103)) then
tmp = x * ((y * z) - (t * a))
else if (j <= (-1.65d-202)) then
tmp = a * (t * ((b * (i / t)) - x))
else if (j <= (-1.9d-210)) then
tmp = y * (x * z)
else if (j <= 8d-222) then
tmp = b * ((a * i) - (z * c))
else if (j <= 7.2d-125) then
tmp = z * ((x * y) - (b * c))
else if (j <= 3.8d+26) then
tmp = t * ((c * j) - (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 = j * ((t * c) - (y * i));
double tmp;
if (j <= -1.5e+172) {
tmp = t_1;
} else if (j <= -4.5e-103) {
tmp = x * ((y * z) - (t * a));
} else if (j <= -1.65e-202) {
tmp = a * (t * ((b * (i / t)) - x));
} else if (j <= -1.9e-210) {
tmp = y * (x * z);
} else if (j <= 8e-222) {
tmp = b * ((a * i) - (z * c));
} else if (j <= 7.2e-125) {
tmp = z * ((x * y) - (b * c));
} else if (j <= 3.8e+26) {
tmp = t * ((c * j) - (x * a));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = j * ((t * c) - (y * i)) tmp = 0 if j <= -1.5e+172: tmp = t_1 elif j <= -4.5e-103: tmp = x * ((y * z) - (t * a)) elif j <= -1.65e-202: tmp = a * (t * ((b * (i / t)) - x)) elif j <= -1.9e-210: tmp = y * (x * z) elif j <= 8e-222: tmp = b * ((a * i) - (z * c)) elif j <= 7.2e-125: tmp = z * ((x * y) - (b * c)) elif j <= 3.8e+26: tmp = t * ((c * j) - (x * a)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(j * Float64(Float64(t * c) - Float64(y * i))) tmp = 0.0 if (j <= -1.5e+172) tmp = t_1; elseif (j <= -4.5e-103) tmp = Float64(x * Float64(Float64(y * z) - Float64(t * a))); elseif (j <= -1.65e-202) tmp = Float64(a * Float64(t * Float64(Float64(b * Float64(i / t)) - x))); elseif (j <= -1.9e-210) tmp = Float64(y * Float64(x * z)); elseif (j <= 8e-222) tmp = Float64(b * Float64(Float64(a * i) - Float64(z * c))); elseif (j <= 7.2e-125) tmp = Float64(z * Float64(Float64(x * y) - Float64(b * c))); elseif (j <= 3.8e+26) tmp = Float64(t * Float64(Float64(c * j) - 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 = j * ((t * c) - (y * i)); tmp = 0.0; if (j <= -1.5e+172) tmp = t_1; elseif (j <= -4.5e-103) tmp = x * ((y * z) - (t * a)); elseif (j <= -1.65e-202) tmp = a * (t * ((b * (i / t)) - x)); elseif (j <= -1.9e-210) tmp = y * (x * z); elseif (j <= 8e-222) tmp = b * ((a * i) - (z * c)); elseif (j <= 7.2e-125) tmp = z * ((x * y) - (b * c)); elseif (j <= 3.8e+26) tmp = t * ((c * j) - (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[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -1.5e+172], t$95$1, If[LessEqual[j, -4.5e-103], N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -1.65e-202], N[(a * N[(t * N[(N[(b * N[(i / t), $MachinePrecision]), $MachinePrecision] - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -1.9e-210], N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 8e-222], N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 7.2e-125], N[(z * N[(N[(x * y), $MachinePrecision] - N[(b * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 3.8e+26], N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(t \cdot c - y \cdot i\right)\\
\mathbf{if}\;j \leq -1.5 \cdot 10^{+172}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;j \leq -4.5 \cdot 10^{-103}:\\
\;\;\;\;x \cdot \left(y \cdot z - t \cdot a\right)\\
\mathbf{elif}\;j \leq -1.65 \cdot 10^{-202}:\\
\;\;\;\;a \cdot \left(t \cdot \left(b \cdot \frac{i}{t} - x\right)\right)\\
\mathbf{elif}\;j \leq -1.9 \cdot 10^{-210}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\mathbf{elif}\;j \leq 8 \cdot 10^{-222}:\\
\;\;\;\;b \cdot \left(a \cdot i - z \cdot c\right)\\
\mathbf{elif}\;j \leq 7.2 \cdot 10^{-125}:\\
\;\;\;\;z \cdot \left(x \cdot y - b \cdot c\right)\\
\mathbf{elif}\;j \leq 3.8 \cdot 10^{+26}:\\
\;\;\;\;t \cdot \left(c \cdot j - x \cdot a\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if j < -1.5e172 or 3.8000000000000002e26 < j Initial program 69.0%
Taylor expanded in j around inf 71.7%
*-commutative71.7%
*-commutative71.7%
Simplified71.7%
if -1.5e172 < j < -4.5e-103Initial program 74.9%
Taylor expanded in y around 0 69.0%
Simplified72.8%
Taylor expanded in x around inf 57.6%
neg-mul-157.6%
+-commutative57.6%
sub-neg57.6%
Simplified57.6%
if -4.5e-103 < j < -1.64999999999999995e-202Initial program 76.3%
Taylor expanded in a around inf 61.1%
distribute-lft-out--61.1%
*-commutative61.1%
*-commutative61.1%
Simplified61.1%
Taylor expanded in t around inf 66.7%
+-commutative66.7%
neg-mul-166.7%
unsub-neg66.7%
associate-/l*72.6%
Simplified72.6%
if -1.64999999999999995e-202 < j < -1.90000000000000002e-210Initial program 66.7%
Taylor expanded in y around inf 100.0%
+-commutative100.0%
mul-1-neg100.0%
unsub-neg100.0%
*-commutative100.0%
Simplified100.0%
Taylor expanded in x around inf 100.0%
if -1.90000000000000002e-210 < j < 8.00000000000000038e-222Initial program 79.5%
Taylor expanded in b around inf 70.7%
*-commutative70.7%
Simplified70.7%
if 8.00000000000000038e-222 < j < 7.2000000000000004e-125Initial program 67.3%
Taylor expanded in z around inf 77.2%
*-commutative77.2%
Simplified77.2%
if 7.2000000000000004e-125 < j < 3.8000000000000002e26Initial program 72.4%
Taylor expanded in t around inf 64.5%
+-commutative64.5%
mul-1-neg64.5%
unsub-neg64.5%
*-commutative64.5%
*-commutative64.5%
Simplified64.5%
Final simplification68.7%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* j (- (* t c) (* y i)))))
(if (<= j -1.5e+172)
t_1
(if (<= j -5.5e-103)
(* x (- (* y z) (* t a)))
(if (<= j -1.65e-202)
(* a (* i (- b (* t (/ x i)))))
(if (<= j -2.1e-210)
(* y (* x z))
(if (<= j 1.75e-224)
(* b (- (* a i) (* z c)))
(if (<= j 2.1e-125)
(* z (- (* x y) (* b c)))
(if (<= j 7e+24) (* t (- (* c j) (* 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 = j * ((t * c) - (y * i));
double tmp;
if (j <= -1.5e+172) {
tmp = t_1;
} else if (j <= -5.5e-103) {
tmp = x * ((y * z) - (t * a));
} else if (j <= -1.65e-202) {
tmp = a * (i * (b - (t * (x / i))));
} else if (j <= -2.1e-210) {
tmp = y * (x * z);
} else if (j <= 1.75e-224) {
tmp = b * ((a * i) - (z * c));
} else if (j <= 2.1e-125) {
tmp = z * ((x * y) - (b * c));
} else if (j <= 7e+24) {
tmp = t * ((c * j) - (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 = j * ((t * c) - (y * i))
if (j <= (-1.5d+172)) then
tmp = t_1
else if (j <= (-5.5d-103)) then
tmp = x * ((y * z) - (t * a))
else if (j <= (-1.65d-202)) then
tmp = a * (i * (b - (t * (x / i))))
else if (j <= (-2.1d-210)) then
tmp = y * (x * z)
else if (j <= 1.75d-224) then
tmp = b * ((a * i) - (z * c))
else if (j <= 2.1d-125) then
tmp = z * ((x * y) - (b * c))
else if (j <= 7d+24) then
tmp = t * ((c * j) - (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 = j * ((t * c) - (y * i));
double tmp;
if (j <= -1.5e+172) {
tmp = t_1;
} else if (j <= -5.5e-103) {
tmp = x * ((y * z) - (t * a));
} else if (j <= -1.65e-202) {
tmp = a * (i * (b - (t * (x / i))));
} else if (j <= -2.1e-210) {
tmp = y * (x * z);
} else if (j <= 1.75e-224) {
tmp = b * ((a * i) - (z * c));
} else if (j <= 2.1e-125) {
tmp = z * ((x * y) - (b * c));
} else if (j <= 7e+24) {
tmp = t * ((c * j) - (x * a));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = j * ((t * c) - (y * i)) tmp = 0 if j <= -1.5e+172: tmp = t_1 elif j <= -5.5e-103: tmp = x * ((y * z) - (t * a)) elif j <= -1.65e-202: tmp = a * (i * (b - (t * (x / i)))) elif j <= -2.1e-210: tmp = y * (x * z) elif j <= 1.75e-224: tmp = b * ((a * i) - (z * c)) elif j <= 2.1e-125: tmp = z * ((x * y) - (b * c)) elif j <= 7e+24: tmp = t * ((c * j) - (x * a)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(j * Float64(Float64(t * c) - Float64(y * i))) tmp = 0.0 if (j <= -1.5e+172) tmp = t_1; elseif (j <= -5.5e-103) tmp = Float64(x * Float64(Float64(y * z) - Float64(t * a))); elseif (j <= -1.65e-202) tmp = Float64(a * Float64(i * Float64(b - Float64(t * Float64(x / i))))); elseif (j <= -2.1e-210) tmp = Float64(y * Float64(x * z)); elseif (j <= 1.75e-224) tmp = Float64(b * Float64(Float64(a * i) - Float64(z * c))); elseif (j <= 2.1e-125) tmp = Float64(z * Float64(Float64(x * y) - Float64(b * c))); elseif (j <= 7e+24) tmp = Float64(t * Float64(Float64(c * j) - 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 = j * ((t * c) - (y * i)); tmp = 0.0; if (j <= -1.5e+172) tmp = t_1; elseif (j <= -5.5e-103) tmp = x * ((y * z) - (t * a)); elseif (j <= -1.65e-202) tmp = a * (i * (b - (t * (x / i)))); elseif (j <= -2.1e-210) tmp = y * (x * z); elseif (j <= 1.75e-224) tmp = b * ((a * i) - (z * c)); elseif (j <= 2.1e-125) tmp = z * ((x * y) - (b * c)); elseif (j <= 7e+24) tmp = t * ((c * j) - (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[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -1.5e+172], t$95$1, If[LessEqual[j, -5.5e-103], N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -1.65e-202], N[(a * N[(i * N[(b - N[(t * N[(x / i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -2.1e-210], N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.75e-224], N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 2.1e-125], N[(z * N[(N[(x * y), $MachinePrecision] - N[(b * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 7e+24], N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(t \cdot c - y \cdot i\right)\\
\mathbf{if}\;j \leq -1.5 \cdot 10^{+172}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;j \leq -5.5 \cdot 10^{-103}:\\
\;\;\;\;x \cdot \left(y \cdot z - t \cdot a\right)\\
\mathbf{elif}\;j \leq -1.65 \cdot 10^{-202}:\\
\;\;\;\;a \cdot \left(i \cdot \left(b - t \cdot \frac{x}{i}\right)\right)\\
\mathbf{elif}\;j \leq -2.1 \cdot 10^{-210}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\mathbf{elif}\;j \leq 1.75 \cdot 10^{-224}:\\
\;\;\;\;b \cdot \left(a \cdot i - z \cdot c\right)\\
\mathbf{elif}\;j \leq 2.1 \cdot 10^{-125}:\\
\;\;\;\;z \cdot \left(x \cdot y - b \cdot c\right)\\
\mathbf{elif}\;j \leq 7 \cdot 10^{+24}:\\
\;\;\;\;t \cdot \left(c \cdot j - x \cdot a\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if j < -1.5e172 or 7.0000000000000004e24 < j Initial program 69.0%
Taylor expanded in j around inf 71.7%
*-commutative71.7%
*-commutative71.7%
Simplified71.7%
if -1.5e172 < j < -5.50000000000000032e-103Initial program 74.9%
Taylor expanded in y around 0 69.0%
Simplified72.8%
Taylor expanded in x around inf 57.6%
neg-mul-157.6%
+-commutative57.6%
sub-neg57.6%
Simplified57.6%
if -5.50000000000000032e-103 < j < -1.64999999999999995e-202Initial program 76.3%
Taylor expanded in a around inf 61.1%
distribute-lft-out--61.1%
*-commutative61.1%
*-commutative61.1%
Simplified61.1%
Taylor expanded in i around inf 72.1%
mul-1-neg72.1%
unsub-neg72.1%
associate-/l*72.1%
Simplified72.1%
if -1.64999999999999995e-202 < j < -2.10000000000000016e-210Initial program 66.7%
Taylor expanded in y around inf 100.0%
+-commutative100.0%
mul-1-neg100.0%
unsub-neg100.0%
*-commutative100.0%
Simplified100.0%
Taylor expanded in x around inf 100.0%
if -2.10000000000000016e-210 < j < 1.75000000000000009e-224Initial program 79.5%
Taylor expanded in b around inf 70.7%
*-commutative70.7%
Simplified70.7%
if 1.75000000000000009e-224 < j < 2.1e-125Initial program 67.3%
Taylor expanded in z around inf 77.2%
*-commutative77.2%
Simplified77.2%
if 2.1e-125 < j < 7.0000000000000004e24Initial program 72.4%
Taylor expanded in t around inf 64.5%
+-commutative64.5%
mul-1-neg64.5%
unsub-neg64.5%
*-commutative64.5%
*-commutative64.5%
Simplified64.5%
Final simplification68.7%
(FPCore (x y z t a b c i j)
:precision binary64
(if (<= c -1.42e+137)
(* b (* z (- c)))
(if (<= c -26500.0)
(* x (* t (- a)))
(if (<= c -1.4e-109)
(* i (* a b))
(if (<= c -1.5e-237)
(* a (* t (- x)))
(if (<= c 2.9e-296)
(* b (* a i))
(if (<= c 4.8e-85)
(* y (* x z))
(if (<= c 2.2e+125) (* i (* y (- j))) (* c (* t j))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (c <= -1.42e+137) {
tmp = b * (z * -c);
} else if (c <= -26500.0) {
tmp = x * (t * -a);
} else if (c <= -1.4e-109) {
tmp = i * (a * b);
} else if (c <= -1.5e-237) {
tmp = a * (t * -x);
} else if (c <= 2.9e-296) {
tmp = b * (a * i);
} else if (c <= 4.8e-85) {
tmp = y * (x * z);
} else if (c <= 2.2e+125) {
tmp = i * (y * -j);
} else {
tmp = c * (t * j);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: tmp
if (c <= (-1.42d+137)) then
tmp = b * (z * -c)
else if (c <= (-26500.0d0)) then
tmp = x * (t * -a)
else if (c <= (-1.4d-109)) then
tmp = i * (a * b)
else if (c <= (-1.5d-237)) then
tmp = a * (t * -x)
else if (c <= 2.9d-296) then
tmp = b * (a * i)
else if (c <= 4.8d-85) then
tmp = y * (x * z)
else if (c <= 2.2d+125) then
tmp = i * (y * -j)
else
tmp = c * (t * j)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (c <= -1.42e+137) {
tmp = b * (z * -c);
} else if (c <= -26500.0) {
tmp = x * (t * -a);
} else if (c <= -1.4e-109) {
tmp = i * (a * b);
} else if (c <= -1.5e-237) {
tmp = a * (t * -x);
} else if (c <= 2.9e-296) {
tmp = b * (a * i);
} else if (c <= 4.8e-85) {
tmp = y * (x * z);
} else if (c <= 2.2e+125) {
tmp = i * (y * -j);
} else {
tmp = c * (t * j);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if c <= -1.42e+137: tmp = b * (z * -c) elif c <= -26500.0: tmp = x * (t * -a) elif c <= -1.4e-109: tmp = i * (a * b) elif c <= -1.5e-237: tmp = a * (t * -x) elif c <= 2.9e-296: tmp = b * (a * i) elif c <= 4.8e-85: tmp = y * (x * z) elif c <= 2.2e+125: tmp = i * (y * -j) else: tmp = c * (t * j) return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if (c <= -1.42e+137) tmp = Float64(b * Float64(z * Float64(-c))); elseif (c <= -26500.0) tmp = Float64(x * Float64(t * Float64(-a))); elseif (c <= -1.4e-109) tmp = Float64(i * Float64(a * b)); elseif (c <= -1.5e-237) tmp = Float64(a * Float64(t * Float64(-x))); elseif (c <= 2.9e-296) tmp = Float64(b * Float64(a * i)); elseif (c <= 4.8e-85) tmp = Float64(y * Float64(x * z)); elseif (c <= 2.2e+125) tmp = Float64(i * Float64(y * Float64(-j))); else tmp = Float64(c * Float64(t * j)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if (c <= -1.42e+137) tmp = b * (z * -c); elseif (c <= -26500.0) tmp = x * (t * -a); elseif (c <= -1.4e-109) tmp = i * (a * b); elseif (c <= -1.5e-237) tmp = a * (t * -x); elseif (c <= 2.9e-296) tmp = b * (a * i); elseif (c <= 4.8e-85) tmp = y * (x * z); elseif (c <= 2.2e+125) tmp = i * (y * -j); else tmp = c * (t * j); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[LessEqual[c, -1.42e+137], N[(b * N[(z * (-c)), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, -26500.0], N[(x * N[(t * (-a)), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, -1.4e-109], N[(i * N[(a * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, -1.5e-237], N[(a * N[(t * (-x)), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 2.9e-296], N[(b * N[(a * i), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 4.8e-85], N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 2.2e+125], N[(i * N[(y * (-j)), $MachinePrecision]), $MachinePrecision], N[(c * N[(t * j), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;c \leq -1.42 \cdot 10^{+137}:\\
\;\;\;\;b \cdot \left(z \cdot \left(-c\right)\right)\\
\mathbf{elif}\;c \leq -26500:\\
\;\;\;\;x \cdot \left(t \cdot \left(-a\right)\right)\\
\mathbf{elif}\;c \leq -1.4 \cdot 10^{-109}:\\
\;\;\;\;i \cdot \left(a \cdot b\right)\\
\mathbf{elif}\;c \leq -1.5 \cdot 10^{-237}:\\
\;\;\;\;a \cdot \left(t \cdot \left(-x\right)\right)\\
\mathbf{elif}\;c \leq 2.9 \cdot 10^{-296}:\\
\;\;\;\;b \cdot \left(a \cdot i\right)\\
\mathbf{elif}\;c \leq 4.8 \cdot 10^{-85}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\mathbf{elif}\;c \leq 2.2 \cdot 10^{+125}:\\
\;\;\;\;i \cdot \left(y \cdot \left(-j\right)\right)\\
\mathbf{else}:\\
\;\;\;\;c \cdot \left(t \cdot j\right)\\
\end{array}
\end{array}
if c < -1.42e137Initial program 56.4%
Taylor expanded in b around inf 55.0%
*-commutative55.0%
Simplified55.0%
Taylor expanded in a around 0 52.7%
associate-*r*52.7%
neg-mul-152.7%
*-commutative52.7%
Simplified52.7%
if -1.42e137 < c < -26500Initial program 65.2%
Taylor expanded in b around 0 69.0%
Taylor expanded in x around inf 61.8%
Taylor expanded in a around inf 41.3%
neg-mul-141.3%
distribute-lft-neg-in41.3%
*-commutative41.3%
Simplified41.3%
if -26500 < c < -1.39999999999999989e-109Initial program 81.1%
Taylor expanded in b around inf 68.6%
*-commutative68.6%
Simplified68.6%
Taylor expanded in a around inf 57.1%
associate-*r*61.0%
*-commutative61.0%
Simplified61.0%
if -1.39999999999999989e-109 < c < -1.50000000000000012e-237Initial program 86.5%
Taylor expanded in a around inf 50.2%
distribute-lft-out--50.2%
*-commutative50.2%
*-commutative50.2%
Simplified50.2%
Taylor expanded in x around inf 38.9%
associate-*r*38.9%
mul-1-neg38.9%
Simplified38.9%
if -1.50000000000000012e-237 < c < 2.89999999999999983e-296Initial program 81.1%
Taylor expanded in b around inf 47.9%
*-commutative47.9%
Simplified47.9%
Taylor expanded in a around inf 47.9%
*-commutative47.9%
Simplified47.9%
if 2.89999999999999983e-296 < c < 4.8000000000000001e-85Initial program 77.8%
Taylor expanded in y around inf 60.3%
+-commutative60.3%
mul-1-neg60.3%
unsub-neg60.3%
*-commutative60.3%
Simplified60.3%
Taylor expanded in x around inf 45.3%
if 4.8000000000000001e-85 < c < 2.19999999999999991e125Initial program 73.0%
Taylor expanded in y around inf 48.9%
+-commutative48.9%
mul-1-neg48.9%
unsub-neg48.9%
*-commutative48.9%
Simplified48.9%
Taylor expanded in x around 0 37.8%
associate-*r*37.8%
neg-mul-137.8%
*-commutative37.8%
Simplified37.8%
if 2.19999999999999991e125 < c Initial program 66.0%
Taylor expanded in b around 0 63.0%
Taylor expanded in x around inf 59.7%
Taylor expanded in c around inf 49.6%
*-commutative49.6%
Simplified49.6%
Final simplification46.4%
(FPCore (x y z t a b c i j)
:precision binary64
(if (<= c -2e+138)
(* b (* z (- c)))
(if (<= c -14000.0)
(* x (* t (- a)))
(if (<= c -3.4e-109)
(* i (* a b))
(if (<= c -1.4e-236)
(* a (* t (- x)))
(if (<= c 4e-296)
(* b (* a i))
(if (<= c 4.6e-85)
(* y (* x z))
(if (<= c 4.8e+126) (* y (* i (- j))) (* c (* t j))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (c <= -2e+138) {
tmp = b * (z * -c);
} else if (c <= -14000.0) {
tmp = x * (t * -a);
} else if (c <= -3.4e-109) {
tmp = i * (a * b);
} else if (c <= -1.4e-236) {
tmp = a * (t * -x);
} else if (c <= 4e-296) {
tmp = b * (a * i);
} else if (c <= 4.6e-85) {
tmp = y * (x * z);
} else if (c <= 4.8e+126) {
tmp = y * (i * -j);
} else {
tmp = c * (t * j);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: tmp
if (c <= (-2d+138)) then
tmp = b * (z * -c)
else if (c <= (-14000.0d0)) then
tmp = x * (t * -a)
else if (c <= (-3.4d-109)) then
tmp = i * (a * b)
else if (c <= (-1.4d-236)) then
tmp = a * (t * -x)
else if (c <= 4d-296) then
tmp = b * (a * i)
else if (c <= 4.6d-85) then
tmp = y * (x * z)
else if (c <= 4.8d+126) then
tmp = y * (i * -j)
else
tmp = c * (t * j)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (c <= -2e+138) {
tmp = b * (z * -c);
} else if (c <= -14000.0) {
tmp = x * (t * -a);
} else if (c <= -3.4e-109) {
tmp = i * (a * b);
} else if (c <= -1.4e-236) {
tmp = a * (t * -x);
} else if (c <= 4e-296) {
tmp = b * (a * i);
} else if (c <= 4.6e-85) {
tmp = y * (x * z);
} else if (c <= 4.8e+126) {
tmp = y * (i * -j);
} else {
tmp = c * (t * j);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if c <= -2e+138: tmp = b * (z * -c) elif c <= -14000.0: tmp = x * (t * -a) elif c <= -3.4e-109: tmp = i * (a * b) elif c <= -1.4e-236: tmp = a * (t * -x) elif c <= 4e-296: tmp = b * (a * i) elif c <= 4.6e-85: tmp = y * (x * z) elif c <= 4.8e+126: tmp = y * (i * -j) else: tmp = c * (t * j) return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if (c <= -2e+138) tmp = Float64(b * Float64(z * Float64(-c))); elseif (c <= -14000.0) tmp = Float64(x * Float64(t * Float64(-a))); elseif (c <= -3.4e-109) tmp = Float64(i * Float64(a * b)); elseif (c <= -1.4e-236) tmp = Float64(a * Float64(t * Float64(-x))); elseif (c <= 4e-296) tmp = Float64(b * Float64(a * i)); elseif (c <= 4.6e-85) tmp = Float64(y * Float64(x * z)); elseif (c <= 4.8e+126) tmp = Float64(y * Float64(i * Float64(-j))); else tmp = Float64(c * Float64(t * j)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if (c <= -2e+138) tmp = b * (z * -c); elseif (c <= -14000.0) tmp = x * (t * -a); elseif (c <= -3.4e-109) tmp = i * (a * b); elseif (c <= -1.4e-236) tmp = a * (t * -x); elseif (c <= 4e-296) tmp = b * (a * i); elseif (c <= 4.6e-85) tmp = y * (x * z); elseif (c <= 4.8e+126) tmp = y * (i * -j); else tmp = c * (t * j); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[LessEqual[c, -2e+138], N[(b * N[(z * (-c)), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, -14000.0], N[(x * N[(t * (-a)), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, -3.4e-109], N[(i * N[(a * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, -1.4e-236], N[(a * N[(t * (-x)), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 4e-296], N[(b * N[(a * i), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 4.6e-85], N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 4.8e+126], N[(y * N[(i * (-j)), $MachinePrecision]), $MachinePrecision], N[(c * N[(t * j), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;c \leq -2 \cdot 10^{+138}:\\
\;\;\;\;b \cdot \left(z \cdot \left(-c\right)\right)\\
\mathbf{elif}\;c \leq -14000:\\
\;\;\;\;x \cdot \left(t \cdot \left(-a\right)\right)\\
\mathbf{elif}\;c \leq -3.4 \cdot 10^{-109}:\\
\;\;\;\;i \cdot \left(a \cdot b\right)\\
\mathbf{elif}\;c \leq -1.4 \cdot 10^{-236}:\\
\;\;\;\;a \cdot \left(t \cdot \left(-x\right)\right)\\
\mathbf{elif}\;c \leq 4 \cdot 10^{-296}:\\
\;\;\;\;b \cdot \left(a \cdot i\right)\\
\mathbf{elif}\;c \leq 4.6 \cdot 10^{-85}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\mathbf{elif}\;c \leq 4.8 \cdot 10^{+126}:\\
\;\;\;\;y \cdot \left(i \cdot \left(-j\right)\right)\\
\mathbf{else}:\\
\;\;\;\;c \cdot \left(t \cdot j\right)\\
\end{array}
\end{array}
if c < -2.0000000000000001e138Initial program 56.4%
Taylor expanded in b around inf 55.0%
*-commutative55.0%
Simplified55.0%
Taylor expanded in a around 0 52.7%
associate-*r*52.7%
neg-mul-152.7%
*-commutative52.7%
Simplified52.7%
if -2.0000000000000001e138 < c < -14000Initial program 65.2%
Taylor expanded in b around 0 69.0%
Taylor expanded in x around inf 61.8%
Taylor expanded in a around inf 41.3%
neg-mul-141.3%
distribute-lft-neg-in41.3%
*-commutative41.3%
Simplified41.3%
if -14000 < c < -3.40000000000000012e-109Initial program 81.1%
Taylor expanded in b around inf 68.6%
*-commutative68.6%
Simplified68.6%
Taylor expanded in a around inf 57.1%
associate-*r*61.0%
*-commutative61.0%
Simplified61.0%
if -3.40000000000000012e-109 < c < -1.39999999999999993e-236Initial program 86.5%
Taylor expanded in a around inf 50.2%
distribute-lft-out--50.2%
*-commutative50.2%
*-commutative50.2%
Simplified50.2%
Taylor expanded in x around inf 38.9%
associate-*r*38.9%
mul-1-neg38.9%
Simplified38.9%
if -1.39999999999999993e-236 < c < 4e-296Initial program 81.1%
Taylor expanded in b around inf 47.9%
*-commutative47.9%
Simplified47.9%
Taylor expanded in a around inf 47.9%
*-commutative47.9%
Simplified47.9%
if 4e-296 < c < 4.6000000000000001e-85Initial program 77.8%
Taylor expanded in y around inf 60.3%
+-commutative60.3%
mul-1-neg60.3%
unsub-neg60.3%
*-commutative60.3%
Simplified60.3%
Taylor expanded in x around inf 45.3%
if 4.6000000000000001e-85 < c < 4.80000000000000024e126Initial program 73.0%
Taylor expanded in y around inf 48.9%
+-commutative48.9%
mul-1-neg48.9%
unsub-neg48.9%
*-commutative48.9%
Simplified48.9%
Taylor expanded in x around 0 35.6%
mul-1-neg35.6%
distribute-rgt-neg-in35.6%
Simplified35.6%
if 4.80000000000000024e126 < c Initial program 66.0%
Taylor expanded in b around 0 63.0%
Taylor expanded in x around inf 59.7%
Taylor expanded in c around inf 49.6%
*-commutative49.6%
Simplified49.6%
Final simplification46.0%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* j (- (* t c) (* y i))))
(t_2 (+ t_1 (* b (* a i))))
(t_3 (* x (- (* y z) (* t a)))))
(if (<= x -2.3e+186)
t_3
(if (<= x -2e-89)
(* y (+ (* x z) (- (/ (* a (* b i)) y) (* i j))))
(if (<= x 3.25e-273)
t_2
(if (<= x 1.1e-116)
(- t_1 (* b (* z c)))
(if (<= x 3.9e+84) t_2 t_3)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = j * ((t * c) - (y * i));
double t_2 = t_1 + (b * (a * i));
double t_3 = x * ((y * z) - (t * a));
double tmp;
if (x <= -2.3e+186) {
tmp = t_3;
} else if (x <= -2e-89) {
tmp = y * ((x * z) + (((a * (b * i)) / y) - (i * j)));
} else if (x <= 3.25e-273) {
tmp = t_2;
} else if (x <= 1.1e-116) {
tmp = t_1 - (b * (z * c));
} else if (x <= 3.9e+84) {
tmp = t_2;
} else {
tmp = t_3;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = j * ((t * c) - (y * i))
t_2 = t_1 + (b * (a * i))
t_3 = x * ((y * z) - (t * a))
if (x <= (-2.3d+186)) then
tmp = t_3
else if (x <= (-2d-89)) then
tmp = y * ((x * z) + (((a * (b * i)) / y) - (i * j)))
else if (x <= 3.25d-273) then
tmp = t_2
else if (x <= 1.1d-116) then
tmp = t_1 - (b * (z * c))
else if (x <= 3.9d+84) then
tmp = t_2
else
tmp = t_3
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = j * ((t * c) - (y * i));
double t_2 = t_1 + (b * (a * i));
double t_3 = x * ((y * z) - (t * a));
double tmp;
if (x <= -2.3e+186) {
tmp = t_3;
} else if (x <= -2e-89) {
tmp = y * ((x * z) + (((a * (b * i)) / y) - (i * j)));
} else if (x <= 3.25e-273) {
tmp = t_2;
} else if (x <= 1.1e-116) {
tmp = t_1 - (b * (z * c));
} else if (x <= 3.9e+84) {
tmp = t_2;
} else {
tmp = t_3;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = j * ((t * c) - (y * i)) t_2 = t_1 + (b * (a * i)) t_3 = x * ((y * z) - (t * a)) tmp = 0 if x <= -2.3e+186: tmp = t_3 elif x <= -2e-89: tmp = y * ((x * z) + (((a * (b * i)) / y) - (i * j))) elif x <= 3.25e-273: tmp = t_2 elif x <= 1.1e-116: tmp = t_1 - (b * (z * c)) elif x <= 3.9e+84: tmp = t_2 else: tmp = t_3 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(j * Float64(Float64(t * c) - Float64(y * i))) t_2 = Float64(t_1 + Float64(b * Float64(a * i))) t_3 = Float64(x * Float64(Float64(y * z) - Float64(t * a))) tmp = 0.0 if (x <= -2.3e+186) tmp = t_3; elseif (x <= -2e-89) tmp = Float64(y * Float64(Float64(x * z) + Float64(Float64(Float64(a * Float64(b * i)) / y) - Float64(i * j)))); elseif (x <= 3.25e-273) tmp = t_2; elseif (x <= 1.1e-116) tmp = Float64(t_1 - Float64(b * Float64(z * c))); elseif (x <= 3.9e+84) tmp = t_2; else tmp = t_3; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = j * ((t * c) - (y * i)); t_2 = t_1 + (b * (a * i)); t_3 = x * ((y * z) - (t * a)); tmp = 0.0; if (x <= -2.3e+186) tmp = t_3; elseif (x <= -2e-89) tmp = y * ((x * z) + (((a * (b * i)) / y) - (i * j))); elseif (x <= 3.25e-273) tmp = t_2; elseif (x <= 1.1e-116) tmp = t_1 - (b * (z * c)); elseif (x <= 3.9e+84) tmp = t_2; else tmp = t_3; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t$95$1 + N[(b * N[(a * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -2.3e+186], t$95$3, If[LessEqual[x, -2e-89], N[(y * N[(N[(x * z), $MachinePrecision] + N[(N[(N[(a * N[(b * i), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision] - N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 3.25e-273], t$95$2, If[LessEqual[x, 1.1e-116], N[(t$95$1 - N[(b * N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 3.9e+84], t$95$2, t$95$3]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(t \cdot c - y \cdot i\right)\\
t_2 := t\_1 + b \cdot \left(a \cdot i\right)\\
t_3 := x \cdot \left(y \cdot z - t \cdot a\right)\\
\mathbf{if}\;x \leq -2.3 \cdot 10^{+186}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \leq -2 \cdot 10^{-89}:\\
\;\;\;\;y \cdot \left(x \cdot z + \left(\frac{a \cdot \left(b \cdot i\right)}{y} - i \cdot j\right)\right)\\
\mathbf{elif}\;x \leq 3.25 \cdot 10^{-273}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \leq 1.1 \cdot 10^{-116}:\\
\;\;\;\;t\_1 - b \cdot \left(z \cdot c\right)\\
\mathbf{elif}\;x \leq 3.9 \cdot 10^{+84}:\\
\;\;\;\;t\_2\\
\mathbf{else}:\\
\;\;\;\;t\_3\\
\end{array}
\end{array}
if x < -2.30000000000000013e186 or 3.90000000000000016e84 < x Initial program 66.7%
Taylor expanded in y around 0 52.1%
Simplified60.0%
Taylor expanded in x around inf 79.7%
neg-mul-179.7%
+-commutative79.7%
sub-neg79.7%
Simplified79.7%
if -2.30000000000000013e186 < x < -2.00000000000000008e-89Initial program 76.5%
Taylor expanded in y around -inf 74.8%
Simplified80.1%
Taylor expanded in i around inf 70.3%
if -2.00000000000000008e-89 < x < 3.2499999999999999e-273 or 1.10000000000000005e-116 < x < 3.90000000000000016e84Initial program 74.7%
Taylor expanded in i around inf 73.7%
associate-/l*70.6%
Simplified70.6%
Taylor expanded in x around 0 76.0%
cancel-sign-sub-inv76.0%
+-commutative76.0%
+-commutative76.0%
cancel-sign-sub-inv76.0%
*-commutative76.0%
*-commutative76.0%
associate-/l*75.0%
Simplified75.0%
Taylor expanded in i around inf 69.0%
associate-*r*69.0%
neg-mul-169.0%
Simplified69.0%
if 3.2499999999999999e-273 < x < 1.10000000000000005e-116Initial program 70.8%
Taylor expanded in i around inf 68.2%
associate-/l*62.1%
Simplified62.1%
Taylor expanded in x around 0 74.1%
cancel-sign-sub-inv74.1%
+-commutative74.1%
+-commutative74.1%
cancel-sign-sub-inv74.1%
*-commutative74.1%
*-commutative74.1%
associate-/l*68.3%
Simplified68.3%
Taylor expanded in i around 0 76.7%
Final simplification73.3%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* b (- (* a i) (* z c)))))
(if (<= y -12.0)
(* y (- (- (* x z) (/ (* t (- (* x a) (* c j))) y)) (* i j)))
(if (<= y 1.2e-304)
(+ (* j (- (* t c) (* y i))) t_1)
(if (<= y 9.5e-61)
(+ (* x (- (* y z) (* t a))) t_1)
(-
(- (* t (- (* c j) (* x a))) (* y (- (* i j) (* x z))))
(* b (* z c))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = b * ((a * i) - (z * c));
double tmp;
if (y <= -12.0) {
tmp = y * (((x * z) - ((t * ((x * a) - (c * j))) / y)) - (i * j));
} else if (y <= 1.2e-304) {
tmp = (j * ((t * c) - (y * i))) + t_1;
} else if (y <= 9.5e-61) {
tmp = (x * ((y * z) - (t * a))) + t_1;
} else {
tmp = ((t * ((c * j) - (x * a))) - (y * ((i * j) - (x * z)))) - (b * (z * c));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: tmp
t_1 = b * ((a * i) - (z * c))
if (y <= (-12.0d0)) then
tmp = y * (((x * z) - ((t * ((x * a) - (c * j))) / y)) - (i * j))
else if (y <= 1.2d-304) then
tmp = (j * ((t * c) - (y * i))) + t_1
else if (y <= 9.5d-61) then
tmp = (x * ((y * z) - (t * a))) + t_1
else
tmp = ((t * ((c * j) - (x * a))) - (y * ((i * j) - (x * z)))) - (b * (z * c))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = b * ((a * i) - (z * c));
double tmp;
if (y <= -12.0) {
tmp = y * (((x * z) - ((t * ((x * a) - (c * j))) / y)) - (i * j));
} else if (y <= 1.2e-304) {
tmp = (j * ((t * c) - (y * i))) + t_1;
} else if (y <= 9.5e-61) {
tmp = (x * ((y * z) - (t * a))) + t_1;
} else {
tmp = ((t * ((c * j) - (x * a))) - (y * ((i * j) - (x * z)))) - (b * (z * c));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = b * ((a * i) - (z * c)) tmp = 0 if y <= -12.0: tmp = y * (((x * z) - ((t * ((x * a) - (c * j))) / y)) - (i * j)) elif y <= 1.2e-304: tmp = (j * ((t * c) - (y * i))) + t_1 elif y <= 9.5e-61: tmp = (x * ((y * z) - (t * a))) + t_1 else: tmp = ((t * ((c * j) - (x * a))) - (y * ((i * j) - (x * z)))) - (b * (z * c)) return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(b * Float64(Float64(a * i) - Float64(z * c))) tmp = 0.0 if (y <= -12.0) tmp = Float64(y * Float64(Float64(Float64(x * z) - Float64(Float64(t * Float64(Float64(x * a) - Float64(c * j))) / y)) - Float64(i * j))); elseif (y <= 1.2e-304) tmp = Float64(Float64(j * Float64(Float64(t * c) - Float64(y * i))) + t_1); elseif (y <= 9.5e-61) tmp = Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) + t_1); else tmp = Float64(Float64(Float64(t * Float64(Float64(c * j) - Float64(x * a))) - Float64(y * Float64(Float64(i * j) - Float64(x * z)))) - Float64(b * Float64(z * c))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = b * ((a * i) - (z * c)); tmp = 0.0; if (y <= -12.0) tmp = y * (((x * z) - ((t * ((x * a) - (c * j))) / y)) - (i * j)); elseif (y <= 1.2e-304) tmp = (j * ((t * c) - (y * i))) + t_1; elseif (y <= 9.5e-61) tmp = (x * ((y * z) - (t * a))) + t_1; else tmp = ((t * ((c * j) - (x * a))) - (y * ((i * j) - (x * z)))) - (b * (z * c)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y, -12.0], N[(y * N[(N[(N[(x * z), $MachinePrecision] - N[(N[(t * N[(N[(x * a), $MachinePrecision] - N[(c * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision] - N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.2e-304], N[(N[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision], If[LessEqual[y, 9.5e-61], N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision], N[(N[(N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(y * N[(N[(i * j), $MachinePrecision] - N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b * N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot \left(a \cdot i - z \cdot c\right)\\
\mathbf{if}\;y \leq -12:\\
\;\;\;\;y \cdot \left(\left(x \cdot z - \frac{t \cdot \left(x \cdot a - c \cdot j\right)}{y}\right) - i \cdot j\right)\\
\mathbf{elif}\;y \leq 1.2 \cdot 10^{-304}:\\
\;\;\;\;j \cdot \left(t \cdot c - y \cdot i\right) + t\_1\\
\mathbf{elif}\;y \leq 9.5 \cdot 10^{-61}:\\
\;\;\;\;x \cdot \left(y \cdot z - t \cdot a\right) + t\_1\\
\mathbf{else}:\\
\;\;\;\;\left(t \cdot \left(c \cdot j - x \cdot a\right) - y \cdot \left(i \cdot j - x \cdot z\right)\right) - b \cdot \left(z \cdot c\right)\\
\end{array}
\end{array}
if y < -12Initial program 64.7%
Taylor expanded in y around -inf 82.2%
Simplified85.1%
Taylor expanded in b around 0 83.4%
if -12 < y < 1.2e-304Initial program 81.7%
Taylor expanded in x around 0 76.6%
fma-neg76.6%
*-rgt-identity76.6%
*-commutative76.6%
*-commutative76.6%
fma-neg76.6%
associate-*l*76.6%
*-rgt-identity76.6%
*-commutative76.6%
Simplified76.6%
if 1.2e-304 < y < 9.49999999999999986e-61Initial program 73.4%
Taylor expanded in j around 0 77.1%
*-commutative77.1%
Simplified77.1%
if 9.49999999999999986e-61 < y Initial program 71.0%
Taylor expanded in y around 0 77.5%
Simplified81.3%
Taylor expanded in z around inf 78.9%
*-commutative78.9%
Simplified78.9%
Final simplification79.2%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* b (- (* a i) (* z c))))
(t_2 (+ (* x (- (* y z) (* t a))) t_1)))
(if (<= x -1.9e+42)
t_2
(if (<= x -3e-110)
(* y (+ (* x z) (- (/ (* a (* b i)) y) (* i j))))
(if (<= x -1.35e-143)
(* t (- (* c j) (* x a)))
(if (<= x 1.06e+70) (+ (* j (- (* t c) (* y i))) 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 = b * ((a * i) - (z * c));
double t_2 = (x * ((y * z) - (t * a))) + t_1;
double tmp;
if (x <= -1.9e+42) {
tmp = t_2;
} else if (x <= -3e-110) {
tmp = y * ((x * z) + (((a * (b * i)) / y) - (i * j)));
} else if (x <= -1.35e-143) {
tmp = t * ((c * j) - (x * a));
} else if (x <= 1.06e+70) {
tmp = (j * ((t * c) - (y * i))) + 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 = b * ((a * i) - (z * c))
t_2 = (x * ((y * z) - (t * a))) + t_1
if (x <= (-1.9d+42)) then
tmp = t_2
else if (x <= (-3d-110)) then
tmp = y * ((x * z) + (((a * (b * i)) / y) - (i * j)))
else if (x <= (-1.35d-143)) then
tmp = t * ((c * j) - (x * a))
else if (x <= 1.06d+70) then
tmp = (j * ((t * c) - (y * i))) + 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 = b * ((a * i) - (z * c));
double t_2 = (x * ((y * z) - (t * a))) + t_1;
double tmp;
if (x <= -1.9e+42) {
tmp = t_2;
} else if (x <= -3e-110) {
tmp = y * ((x * z) + (((a * (b * i)) / y) - (i * j)));
} else if (x <= -1.35e-143) {
tmp = t * ((c * j) - (x * a));
} else if (x <= 1.06e+70) {
tmp = (j * ((t * c) - (y * i))) + t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = b * ((a * i) - (z * c)) t_2 = (x * ((y * z) - (t * a))) + t_1 tmp = 0 if x <= -1.9e+42: tmp = t_2 elif x <= -3e-110: tmp = y * ((x * z) + (((a * (b * i)) / y) - (i * j))) elif x <= -1.35e-143: tmp = t * ((c * j) - (x * a)) elif x <= 1.06e+70: tmp = (j * ((t * c) - (y * i))) + t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(b * Float64(Float64(a * i) - Float64(z * c))) t_2 = Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) + t_1) tmp = 0.0 if (x <= -1.9e+42) tmp = t_2; elseif (x <= -3e-110) tmp = Float64(y * Float64(Float64(x * z) + Float64(Float64(Float64(a * Float64(b * i)) / y) - Float64(i * j)))); elseif (x <= -1.35e-143) tmp = Float64(t * Float64(Float64(c * j) - Float64(x * a))); elseif (x <= 1.06e+70) tmp = Float64(Float64(j * Float64(Float64(t * c) - Float64(y * i))) + 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 = b * ((a * i) - (z * c)); t_2 = (x * ((y * z) - (t * a))) + t_1; tmp = 0.0; if (x <= -1.9e+42) tmp = t_2; elseif (x <= -3e-110) tmp = y * ((x * z) + (((a * (b * i)) / y) - (i * j))); elseif (x <= -1.35e-143) tmp = t * ((c * j) - (x * a)); elseif (x <= 1.06e+70) tmp = (j * ((t * c) - (y * i))) + 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[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision]}, If[LessEqual[x, -1.9e+42], t$95$2, If[LessEqual[x, -3e-110], N[(y * N[(N[(x * z), $MachinePrecision] + N[(N[(N[(a * N[(b * i), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision] - N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -1.35e-143], N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 1.06e+70], N[(N[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision], t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot \left(a \cdot i - z \cdot c\right)\\
t_2 := x \cdot \left(y \cdot z - t \cdot a\right) + t\_1\\
\mathbf{if}\;x \leq -1.9 \cdot 10^{+42}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;x \leq -3 \cdot 10^{-110}:\\
\;\;\;\;y \cdot \left(x \cdot z + \left(\frac{a \cdot \left(b \cdot i\right)}{y} - i \cdot j\right)\right)\\
\mathbf{elif}\;x \leq -1.35 \cdot 10^{-143}:\\
\;\;\;\;t \cdot \left(c \cdot j - x \cdot a\right)\\
\mathbf{elif}\;x \leq 1.06 \cdot 10^{+70}:\\
\;\;\;\;j \cdot \left(t \cdot c - y \cdot i\right) + t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if x < -1.8999999999999999e42 or 1.06e70 < x Initial program 69.9%
Taylor expanded in j around 0 76.8%
*-commutative76.8%
Simplified76.8%
if -1.8999999999999999e42 < x < -2.99999999999999986e-110Initial program 75.5%
Taylor expanded in y around -inf 78.5%
Simplified78.2%
Taylor expanded in i around inf 78.9%
if -2.99999999999999986e-110 < x < -1.35000000000000005e-143Initial program 71.2%
Taylor expanded in t around inf 86.6%
+-commutative86.6%
mul-1-neg86.6%
unsub-neg86.6%
*-commutative86.6%
*-commutative86.6%
Simplified86.6%
if -1.35000000000000005e-143 < x < 1.06e70Initial program 73.8%
Taylor expanded in x around 0 78.7%
fma-neg81.2%
*-rgt-identity81.2%
*-commutative81.2%
*-commutative81.2%
fma-neg78.7%
associate-*l*78.7%
*-rgt-identity78.7%
*-commutative78.7%
Simplified78.7%
Final simplification78.2%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* x (- (* y z) (* t a)))))
(if (<= x -2.2e+186)
t_1
(if (<= x -1.3e-91)
(* y (+ (* x z) (- (/ (* a (* b i)) y) (* i j))))
(if (<= x 1.85e-177)
(+ (* j (- (* t c) (* y i))) (* b (* a i)))
(if (<= x 4.8e+86)
(- (* b (* i (- a (* z (/ c i))))) (* i (* y 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 = x * ((y * z) - (t * a));
double tmp;
if (x <= -2.2e+186) {
tmp = t_1;
} else if (x <= -1.3e-91) {
tmp = y * ((x * z) + (((a * (b * i)) / y) - (i * j)));
} else if (x <= 1.85e-177) {
tmp = (j * ((t * c) - (y * i))) + (b * (a * i));
} else if (x <= 4.8e+86) {
tmp = (b * (i * (a - (z * (c / i))))) - (i * (y * 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 = x * ((y * z) - (t * a))
if (x <= (-2.2d+186)) then
tmp = t_1
else if (x <= (-1.3d-91)) then
tmp = y * ((x * z) + (((a * (b * i)) / y) - (i * j)))
else if (x <= 1.85d-177) then
tmp = (j * ((t * c) - (y * i))) + (b * (a * i))
else if (x <= 4.8d+86) then
tmp = (b * (i * (a - (z * (c / i))))) - (i * (y * 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 = x * ((y * z) - (t * a));
double tmp;
if (x <= -2.2e+186) {
tmp = t_1;
} else if (x <= -1.3e-91) {
tmp = y * ((x * z) + (((a * (b * i)) / y) - (i * j)));
} else if (x <= 1.85e-177) {
tmp = (j * ((t * c) - (y * i))) + (b * (a * i));
} else if (x <= 4.8e+86) {
tmp = (b * (i * (a - (z * (c / i))))) - (i * (y * j));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = x * ((y * z) - (t * a)) tmp = 0 if x <= -2.2e+186: tmp = t_1 elif x <= -1.3e-91: tmp = y * ((x * z) + (((a * (b * i)) / y) - (i * j))) elif x <= 1.85e-177: tmp = (j * ((t * c) - (y * i))) + (b * (a * i)) elif x <= 4.8e+86: tmp = (b * (i * (a - (z * (c / i))))) - (i * (y * j)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(x * Float64(Float64(y * z) - Float64(t * a))) tmp = 0.0 if (x <= -2.2e+186) tmp = t_1; elseif (x <= -1.3e-91) tmp = Float64(y * Float64(Float64(x * z) + Float64(Float64(Float64(a * Float64(b * i)) / y) - Float64(i * j)))); elseif (x <= 1.85e-177) tmp = Float64(Float64(j * Float64(Float64(t * c) - Float64(y * i))) + Float64(b * Float64(a * i))); elseif (x <= 4.8e+86) tmp = Float64(Float64(b * Float64(i * Float64(a - Float64(z * Float64(c / i))))) - Float64(i * Float64(y * j))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = x * ((y * z) - (t * a)); tmp = 0.0; if (x <= -2.2e+186) tmp = t_1; elseif (x <= -1.3e-91) tmp = y * ((x * z) + (((a * (b * i)) / y) - (i * j))); elseif (x <= 1.85e-177) tmp = (j * ((t * c) - (y * i))) + (b * (a * i)); elseif (x <= 4.8e+86) tmp = (b * (i * (a - (z * (c / i))))) - (i * (y * 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[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -2.2e+186], t$95$1, If[LessEqual[x, -1.3e-91], N[(y * N[(N[(x * z), $MachinePrecision] + N[(N[(N[(a * N[(b * i), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision] - N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 1.85e-177], N[(N[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(b * N[(a * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 4.8e+86], N[(N[(b * N[(i * N[(a - N[(z * N[(c / i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(i * N[(y * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(y \cdot z - t \cdot a\right)\\
\mathbf{if}\;x \leq -2.2 \cdot 10^{+186}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \leq -1.3 \cdot 10^{-91}:\\
\;\;\;\;y \cdot \left(x \cdot z + \left(\frac{a \cdot \left(b \cdot i\right)}{y} - i \cdot j\right)\right)\\
\mathbf{elif}\;x \leq 1.85 \cdot 10^{-177}:\\
\;\;\;\;j \cdot \left(t \cdot c - y \cdot i\right) + b \cdot \left(a \cdot i\right)\\
\mathbf{elif}\;x \leq 4.8 \cdot 10^{+86}:\\
\;\;\;\;b \cdot \left(i \cdot \left(a - z \cdot \frac{c}{i}\right)\right) - i \cdot \left(y \cdot j\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if x < -2.1999999999999998e186 or 4.8000000000000001e86 < x Initial program 66.7%
Taylor expanded in y around 0 52.1%
Simplified60.0%
Taylor expanded in x around inf 79.7%
neg-mul-179.7%
+-commutative79.7%
sub-neg79.7%
Simplified79.7%
if -2.1999999999999998e186 < x < -1.30000000000000007e-91Initial program 76.5%
Taylor expanded in y around -inf 74.8%
Simplified80.1%
Taylor expanded in i around inf 70.3%
if -1.30000000000000007e-91 < x < 1.84999999999999997e-177Initial program 69.9%
Taylor expanded in i around inf 67.3%
associate-/l*63.1%
Simplified63.1%
Taylor expanded in x around 0 76.8%
cancel-sign-sub-inv76.8%
+-commutative76.8%
+-commutative76.8%
cancel-sign-sub-inv76.8%
*-commutative76.8%
*-commutative76.8%
associate-/l*72.8%
Simplified72.8%
Taylor expanded in i around inf 67.5%
associate-*r*67.5%
neg-mul-167.5%
Simplified67.5%
if 1.84999999999999997e-177 < x < 4.8000000000000001e86Initial program 78.4%
Taylor expanded in i around inf 78.5%
associate-/l*75.2%
Simplified75.2%
Taylor expanded in x around 0 73.9%
cancel-sign-sub-inv73.9%
+-commutative73.9%
+-commutative73.9%
cancel-sign-sub-inv73.9%
*-commutative73.9%
*-commutative73.9%
associate-/l*73.9%
Simplified73.9%
Taylor expanded in c around 0 69.0%
associate-*r*69.0%
neg-mul-169.0%
*-commutative69.0%
Simplified69.0%
Final simplification71.9%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* c (* t j))))
(if (<= c -13000.0)
t_1
(if (<= c -2e-110)
(* i (* a b))
(if (<= c -9.6e-238)
(* a (* t (- x)))
(if (<= c 4.1e-296)
(* b (* a i))
(if (<= c 1.1e-85)
(* y (* x z))
(if (<= c 2e+125) (* y (* i (- 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 * (t * j);
double tmp;
if (c <= -13000.0) {
tmp = t_1;
} else if (c <= -2e-110) {
tmp = i * (a * b);
} else if (c <= -9.6e-238) {
tmp = a * (t * -x);
} else if (c <= 4.1e-296) {
tmp = b * (a * i);
} else if (c <= 1.1e-85) {
tmp = y * (x * z);
} else if (c <= 2e+125) {
tmp = y * (i * -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 * (t * j)
if (c <= (-13000.0d0)) then
tmp = t_1
else if (c <= (-2d-110)) then
tmp = i * (a * b)
else if (c <= (-9.6d-238)) then
tmp = a * (t * -x)
else if (c <= 4.1d-296) then
tmp = b * (a * i)
else if (c <= 1.1d-85) then
tmp = y * (x * z)
else if (c <= 2d+125) then
tmp = y * (i * -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 * (t * j);
double tmp;
if (c <= -13000.0) {
tmp = t_1;
} else if (c <= -2e-110) {
tmp = i * (a * b);
} else if (c <= -9.6e-238) {
tmp = a * (t * -x);
} else if (c <= 4.1e-296) {
tmp = b * (a * i);
} else if (c <= 1.1e-85) {
tmp = y * (x * z);
} else if (c <= 2e+125) {
tmp = y * (i * -j);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = c * (t * j) tmp = 0 if c <= -13000.0: tmp = t_1 elif c <= -2e-110: tmp = i * (a * b) elif c <= -9.6e-238: tmp = a * (t * -x) elif c <= 4.1e-296: tmp = b * (a * i) elif c <= 1.1e-85: tmp = y * (x * z) elif c <= 2e+125: tmp = y * (i * -j) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(c * Float64(t * j)) tmp = 0.0 if (c <= -13000.0) tmp = t_1; elseif (c <= -2e-110) tmp = Float64(i * Float64(a * b)); elseif (c <= -9.6e-238) tmp = Float64(a * Float64(t * Float64(-x))); elseif (c <= 4.1e-296) tmp = Float64(b * Float64(a * i)); elseif (c <= 1.1e-85) tmp = Float64(y * Float64(x * z)); elseif (c <= 2e+125) tmp = Float64(y * Float64(i * Float64(-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 * (t * j); tmp = 0.0; if (c <= -13000.0) tmp = t_1; elseif (c <= -2e-110) tmp = i * (a * b); elseif (c <= -9.6e-238) tmp = a * (t * -x); elseif (c <= 4.1e-296) tmp = b * (a * i); elseif (c <= 1.1e-85) tmp = y * (x * z); elseif (c <= 2e+125) tmp = y * (i * -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[(t * j), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[c, -13000.0], t$95$1, If[LessEqual[c, -2e-110], N[(i * N[(a * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, -9.6e-238], N[(a * N[(t * (-x)), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 4.1e-296], N[(b * N[(a * i), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 1.1e-85], N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 2e+125], N[(y * N[(i * (-j)), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c \cdot \left(t \cdot j\right)\\
\mathbf{if}\;c \leq -13000:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;c \leq -2 \cdot 10^{-110}:\\
\;\;\;\;i \cdot \left(a \cdot b\right)\\
\mathbf{elif}\;c \leq -9.6 \cdot 10^{-238}:\\
\;\;\;\;a \cdot \left(t \cdot \left(-x\right)\right)\\
\mathbf{elif}\;c \leq 4.1 \cdot 10^{-296}:\\
\;\;\;\;b \cdot \left(a \cdot i\right)\\
\mathbf{elif}\;c \leq 1.1 \cdot 10^{-85}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\mathbf{elif}\;c \leq 2 \cdot 10^{+125}:\\
\;\;\;\;y \cdot \left(i \cdot \left(-j\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if c < -13000 or 1.9999999999999998e125 < c Initial program 61.6%
Taylor expanded in b around 0 55.9%
Taylor expanded in x around inf 53.1%
Taylor expanded in c around inf 43.1%
*-commutative43.1%
Simplified43.1%
if -13000 < c < -2.0000000000000001e-110Initial program 81.1%
Taylor expanded in b around inf 68.6%
*-commutative68.6%
Simplified68.6%
Taylor expanded in a around inf 57.1%
associate-*r*61.0%
*-commutative61.0%
Simplified61.0%
if -2.0000000000000001e-110 < c < -9.5999999999999994e-238Initial program 86.5%
Taylor expanded in a around inf 50.2%
distribute-lft-out--50.2%
*-commutative50.2%
*-commutative50.2%
Simplified50.2%
Taylor expanded in x around inf 38.9%
associate-*r*38.9%
mul-1-neg38.9%
Simplified38.9%
if -9.5999999999999994e-238 < c < 4.09999999999999994e-296Initial program 81.1%
Taylor expanded in b around inf 47.9%
*-commutative47.9%
Simplified47.9%
Taylor expanded in a around inf 47.9%
*-commutative47.9%
Simplified47.9%
if 4.09999999999999994e-296 < c < 1.1e-85Initial program 77.8%
Taylor expanded in y around inf 60.3%
+-commutative60.3%
mul-1-neg60.3%
unsub-neg60.3%
*-commutative60.3%
Simplified60.3%
Taylor expanded in x around inf 45.3%
if 1.1e-85 < c < 1.9999999999999998e125Initial program 73.0%
Taylor expanded in y around inf 48.9%
+-commutative48.9%
mul-1-neg48.9%
unsub-neg48.9%
*-commutative48.9%
Simplified48.9%
Taylor expanded in x around 0 35.6%
mul-1-neg35.6%
distribute-rgt-neg-in35.6%
Simplified35.6%
Final simplification43.8%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* a (* t (- x)))) (t_2 (* c (* t j))))
(if (<= t -6.5e+242)
t_2
(if (<= t -1.65e+99)
t_1
(if (<= t -3.3e-29)
t_2
(if (<= t 1.8e-193)
(* b (* a i))
(if (<= t 7.2e-72)
(* y (* x z))
(if (<= t 1.15e+179) 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 = a * (t * -x);
double t_2 = c * (t * j);
double tmp;
if (t <= -6.5e+242) {
tmp = t_2;
} else if (t <= -1.65e+99) {
tmp = t_1;
} else if (t <= -3.3e-29) {
tmp = t_2;
} else if (t <= 1.8e-193) {
tmp = b * (a * i);
} else if (t <= 7.2e-72) {
tmp = y * (x * z);
} else if (t <= 1.15e+179) {
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 = a * (t * -x)
t_2 = c * (t * j)
if (t <= (-6.5d+242)) then
tmp = t_2
else if (t <= (-1.65d+99)) then
tmp = t_1
else if (t <= (-3.3d-29)) then
tmp = t_2
else if (t <= 1.8d-193) then
tmp = b * (a * i)
else if (t <= 7.2d-72) then
tmp = y * (x * z)
else if (t <= 1.15d+179) 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 = a * (t * -x);
double t_2 = c * (t * j);
double tmp;
if (t <= -6.5e+242) {
tmp = t_2;
} else if (t <= -1.65e+99) {
tmp = t_1;
} else if (t <= -3.3e-29) {
tmp = t_2;
} else if (t <= 1.8e-193) {
tmp = b * (a * i);
} else if (t <= 7.2e-72) {
tmp = y * (x * z);
} else if (t <= 1.15e+179) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = a * (t * -x) t_2 = c * (t * j) tmp = 0 if t <= -6.5e+242: tmp = t_2 elif t <= -1.65e+99: tmp = t_1 elif t <= -3.3e-29: tmp = t_2 elif t <= 1.8e-193: tmp = b * (a * i) elif t <= 7.2e-72: tmp = y * (x * z) elif t <= 1.15e+179: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(a * Float64(t * Float64(-x))) t_2 = Float64(c * Float64(t * j)) tmp = 0.0 if (t <= -6.5e+242) tmp = t_2; elseif (t <= -1.65e+99) tmp = t_1; elseif (t <= -3.3e-29) tmp = t_2; elseif (t <= 1.8e-193) tmp = Float64(b * Float64(a * i)); elseif (t <= 7.2e-72) tmp = Float64(y * Float64(x * z)); elseif (t <= 1.15e+179) 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 = a * (t * -x); t_2 = c * (t * j); tmp = 0.0; if (t <= -6.5e+242) tmp = t_2; elseif (t <= -1.65e+99) tmp = t_1; elseif (t <= -3.3e-29) tmp = t_2; elseif (t <= 1.8e-193) tmp = b * (a * i); elseif (t <= 7.2e-72) tmp = y * (x * z); elseif (t <= 1.15e+179) 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[(a * N[(t * (-x)), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(c * N[(t * j), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -6.5e+242], t$95$2, If[LessEqual[t, -1.65e+99], t$95$1, If[LessEqual[t, -3.3e-29], t$95$2, If[LessEqual[t, 1.8e-193], N[(b * N[(a * i), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 7.2e-72], N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.15e+179], t$95$1, t$95$2]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(t \cdot \left(-x\right)\right)\\
t_2 := c \cdot \left(t \cdot j\right)\\
\mathbf{if}\;t \leq -6.5 \cdot 10^{+242}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;t \leq -1.65 \cdot 10^{+99}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq -3.3 \cdot 10^{-29}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;t \leq 1.8 \cdot 10^{-193}:\\
\;\;\;\;b \cdot \left(a \cdot i\right)\\
\mathbf{elif}\;t \leq 7.2 \cdot 10^{-72}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\mathbf{elif}\;t \leq 1.15 \cdot 10^{+179}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if t < -6.49999999999999992e242 or -1.65e99 < t < -3.30000000000000028e-29 or 1.14999999999999997e179 < t Initial program 61.8%
Taylor expanded in b around 0 59.7%
Taylor expanded in x around inf 56.2%
Taylor expanded in c around inf 50.3%
*-commutative50.3%
Simplified50.3%
if -6.49999999999999992e242 < t < -1.65e99 or 7.2e-72 < t < 1.14999999999999997e179Initial program 71.2%
Taylor expanded in a around inf 48.0%
distribute-lft-out--48.0%
*-commutative48.0%
*-commutative48.0%
Simplified48.0%
Taylor expanded in x around inf 38.2%
associate-*r*38.2%
mul-1-neg38.2%
Simplified38.2%
if -3.30000000000000028e-29 < t < 1.7999999999999999e-193Initial program 88.5%
Taylor expanded in b around inf 56.2%
*-commutative56.2%
Simplified56.2%
Taylor expanded in a around inf 38.6%
*-commutative38.6%
Simplified38.6%
if 1.7999999999999999e-193 < t < 7.2e-72Initial program 67.3%
Taylor expanded in y around inf 56.8%
+-commutative56.8%
mul-1-neg56.8%
unsub-neg56.8%
*-commutative56.8%
Simplified56.8%
Taylor expanded in x around inf 44.0%
Final simplification42.8%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* x (- (* y z) (* t a))))
(t_2 (* b (- (* a i) (* z c))))
(t_3 (+ (* a (* b i)) (- t_1 (* i (* y j))))))
(if (<= x -4.05e-84)
t_3
(if (<= x 4.5e+66)
(+ (* j (- (* t c) (* y i))) t_2)
(if (<= x 8e+194) t_3 (+ t_1 t_2))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = x * ((y * z) - (t * a));
double t_2 = b * ((a * i) - (z * c));
double t_3 = (a * (b * i)) + (t_1 - (i * (y * j)));
double tmp;
if (x <= -4.05e-84) {
tmp = t_3;
} else if (x <= 4.5e+66) {
tmp = (j * ((t * c) - (y * i))) + t_2;
} else if (x <= 8e+194) {
tmp = t_3;
} else {
tmp = t_1 + 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 = x * ((y * z) - (t * a))
t_2 = b * ((a * i) - (z * c))
t_3 = (a * (b * i)) + (t_1 - (i * (y * j)))
if (x <= (-4.05d-84)) then
tmp = t_3
else if (x <= 4.5d+66) then
tmp = (j * ((t * c) - (y * i))) + t_2
else if (x <= 8d+194) then
tmp = t_3
else
tmp = t_1 + t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = x * ((y * z) - (t * a));
double t_2 = b * ((a * i) - (z * c));
double t_3 = (a * (b * i)) + (t_1 - (i * (y * j)));
double tmp;
if (x <= -4.05e-84) {
tmp = t_3;
} else if (x <= 4.5e+66) {
tmp = (j * ((t * c) - (y * i))) + t_2;
} else if (x <= 8e+194) {
tmp = t_3;
} else {
tmp = t_1 + t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = x * ((y * z) - (t * a)) t_2 = b * ((a * i) - (z * c)) t_3 = (a * (b * i)) + (t_1 - (i * (y * j))) tmp = 0 if x <= -4.05e-84: tmp = t_3 elif x <= 4.5e+66: tmp = (j * ((t * c) - (y * i))) + t_2 elif x <= 8e+194: tmp = t_3 else: tmp = t_1 + t_2 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(x * Float64(Float64(y * z) - Float64(t * a))) t_2 = Float64(b * Float64(Float64(a * i) - Float64(z * c))) t_3 = Float64(Float64(a * Float64(b * i)) + Float64(t_1 - Float64(i * Float64(y * j)))) tmp = 0.0 if (x <= -4.05e-84) tmp = t_3; elseif (x <= 4.5e+66) tmp = Float64(Float64(j * Float64(Float64(t * c) - Float64(y * i))) + t_2); elseif (x <= 8e+194) tmp = t_3; else tmp = Float64(t_1 + t_2); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = x * ((y * z) - (t * a)); t_2 = b * ((a * i) - (z * c)); t_3 = (a * (b * i)) + (t_1 - (i * (y * j))); tmp = 0.0; if (x <= -4.05e-84) tmp = t_3; elseif (x <= 4.5e+66) tmp = (j * ((t * c) - (y * i))) + t_2; elseif (x <= 8e+194) tmp = t_3; else tmp = t_1 + t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(a * N[(b * i), $MachinePrecision]), $MachinePrecision] + N[(t$95$1 - N[(i * N[(y * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -4.05e-84], t$95$3, If[LessEqual[x, 4.5e+66], N[(N[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$2), $MachinePrecision], If[LessEqual[x, 8e+194], t$95$3, N[(t$95$1 + t$95$2), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(y \cdot z - t \cdot a\right)\\
t_2 := b \cdot \left(a \cdot i - z \cdot c\right)\\
t_3 := a \cdot \left(b \cdot i\right) + \left(t\_1 - i \cdot \left(y \cdot j\right)\right)\\
\mathbf{if}\;x \leq -4.05 \cdot 10^{-84}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;x \leq 4.5 \cdot 10^{+66}:\\
\;\;\;\;j \cdot \left(t \cdot c - y \cdot i\right) + t\_2\\
\mathbf{elif}\;x \leq 8 \cdot 10^{+194}:\\
\;\;\;\;t\_3\\
\mathbf{else}:\\
\;\;\;\;t\_1 + t\_2\\
\end{array}
\end{array}
if x < -4.0499999999999999e-84 or 4.4999999999999998e66 < x < 7.99999999999999956e194Initial program 70.4%
Taylor expanded in c around 0 78.7%
if -4.0499999999999999e-84 < x < 4.4999999999999998e66Initial program 74.1%
Taylor expanded in x around 0 77.9%
fma-neg80.3%
*-rgt-identity80.3%
*-commutative80.3%
*-commutative80.3%
fma-neg77.9%
associate-*l*77.9%
*-rgt-identity77.9%
*-commutative77.9%
Simplified77.9%
if 7.99999999999999956e194 < x Initial program 71.3%
Taylor expanded in j around 0 89.1%
*-commutative89.1%
Simplified89.1%
Final simplification79.5%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (+ (* j (- (* t c) (* y i))) (* b (* a i))))
(t_2 (- (* x (- (* y z) (* t a))) (* i (* y j)))))
(if (<= j -1.2e+173)
t_1
(if (<= j -9e-71)
t_2
(if (<= j 4.7e-101)
(* b (- (+ (* a i) (/ (* x (* y z)) b)) (* z c)))
(if (<= j 1100000000.0) t_2 t_1))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = (j * ((t * c) - (y * i))) + (b * (a * i));
double t_2 = (x * ((y * z) - (t * a))) - (i * (y * j));
double tmp;
if (j <= -1.2e+173) {
tmp = t_1;
} else if (j <= -9e-71) {
tmp = t_2;
} else if (j <= 4.7e-101) {
tmp = b * (((a * i) + ((x * (y * z)) / b)) - (z * c));
} else if (j <= 1100000000.0) {
tmp = t_2;
} 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) :: t_2
real(8) :: tmp
t_1 = (j * ((t * c) - (y * i))) + (b * (a * i))
t_2 = (x * ((y * z) - (t * a))) - (i * (y * j))
if (j <= (-1.2d+173)) then
tmp = t_1
else if (j <= (-9d-71)) then
tmp = t_2
else if (j <= 4.7d-101) then
tmp = b * (((a * i) + ((x * (y * z)) / b)) - (z * c))
else if (j <= 1100000000.0d0) then
tmp = t_2
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = (j * ((t * c) - (y * i))) + (b * (a * i));
double t_2 = (x * ((y * z) - (t * a))) - (i * (y * j));
double tmp;
if (j <= -1.2e+173) {
tmp = t_1;
} else if (j <= -9e-71) {
tmp = t_2;
} else if (j <= 4.7e-101) {
tmp = b * (((a * i) + ((x * (y * z)) / b)) - (z * c));
} else if (j <= 1100000000.0) {
tmp = t_2;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = (j * ((t * c) - (y * i))) + (b * (a * i)) t_2 = (x * ((y * z) - (t * a))) - (i * (y * j)) tmp = 0 if j <= -1.2e+173: tmp = t_1 elif j <= -9e-71: tmp = t_2 elif j <= 4.7e-101: tmp = b * (((a * i) + ((x * (y * z)) / b)) - (z * c)) elif j <= 1100000000.0: tmp = t_2 else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(Float64(j * Float64(Float64(t * c) - Float64(y * i))) + Float64(b * Float64(a * i))) t_2 = Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) - Float64(i * Float64(y * j))) tmp = 0.0 if (j <= -1.2e+173) tmp = t_1; elseif (j <= -9e-71) tmp = t_2; elseif (j <= 4.7e-101) tmp = Float64(b * Float64(Float64(Float64(a * i) + Float64(Float64(x * Float64(y * z)) / b)) - Float64(z * c))); elseif (j <= 1100000000.0) tmp = t_2; else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = (j * ((t * c) - (y * i))) + (b * (a * i)); t_2 = (x * ((y * z) - (t * a))) - (i * (y * j)); tmp = 0.0; if (j <= -1.2e+173) tmp = t_1; elseif (j <= -9e-71) tmp = t_2; elseif (j <= 4.7e-101) tmp = b * (((a * i) + ((x * (y * z)) / b)) - (z * c)); elseif (j <= 1100000000.0) tmp = t_2; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(b * N[(a * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(i * N[(y * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -1.2e+173], t$95$1, If[LessEqual[j, -9e-71], t$95$2, If[LessEqual[j, 4.7e-101], N[(b * N[(N[(N[(a * i), $MachinePrecision] + N[(N[(x * N[(y * z), $MachinePrecision]), $MachinePrecision] / b), $MachinePrecision]), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1100000000.0], t$95$2, t$95$1]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(t \cdot c - y \cdot i\right) + b \cdot \left(a \cdot i\right)\\
t_2 := x \cdot \left(y \cdot z - t \cdot a\right) - i \cdot \left(y \cdot j\right)\\
\mathbf{if}\;j \leq -1.2 \cdot 10^{+173}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;j \leq -9 \cdot 10^{-71}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;j \leq 4.7 \cdot 10^{-101}:\\
\;\;\;\;b \cdot \left(\left(a \cdot i + \frac{x \cdot \left(y \cdot z\right)}{b}\right) - z \cdot c\right)\\
\mathbf{elif}\;j \leq 1100000000:\\
\;\;\;\;t\_2\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if j < -1.2e173 or 1.1e9 < j Initial program 69.3%
Taylor expanded in i around inf 66.1%
associate-/l*64.0%
Simplified64.0%
Taylor expanded in x around 0 70.6%
cancel-sign-sub-inv70.6%
+-commutative70.6%
+-commutative70.6%
cancel-sign-sub-inv70.6%
*-commutative70.6%
*-commutative70.6%
associate-/l*68.5%
Simplified68.5%
Taylor expanded in i around inf 74.9%
associate-*r*74.9%
neg-mul-174.9%
Simplified74.9%
if -1.2e173 < j < -9.0000000000000004e-71 or 4.6999999999999999e-101 < j < 1.1e9Initial program 73.3%
Taylor expanded in b around 0 68.5%
Taylor expanded in c around 0 67.2%
+-commutative67.2%
cancel-sign-sub-inv67.2%
fma-define67.2%
mul-1-neg67.2%
unsub-neg67.2%
fma-define67.2%
cancel-sign-sub-inv67.2%
*-commutative67.2%
Simplified67.2%
if -9.0000000000000004e-71 < j < 4.6999999999999999e-101Initial program 74.8%
Taylor expanded in y around 0 79.4%
Simplified82.3%
Taylor expanded in b around inf 73.9%
Taylor expanded in z around inf 69.5%
Final simplification70.9%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* x (- (* y z) (* t a)))))
(if (<= x -3.3e+42)
t_1
(if (<= x -1.9e-109)
(* y (- (* x z) (* i j)))
(if (<= x -1.22e-151)
(* t (- (* c j) (* x a)))
(if (<= x 4.05e+89)
(- (* j (- (* t c) (* y i))) (* b (* z c)))
t_1))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = x * ((y * z) - (t * a));
double tmp;
if (x <= -3.3e+42) {
tmp = t_1;
} else if (x <= -1.9e-109) {
tmp = y * ((x * z) - (i * j));
} else if (x <= -1.22e-151) {
tmp = t * ((c * j) - (x * a));
} else if (x <= 4.05e+89) {
tmp = (j * ((t * c) - (y * i))) - (b * (z * c));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: tmp
t_1 = x * ((y * z) - (t * a))
if (x <= (-3.3d+42)) then
tmp = t_1
else if (x <= (-1.9d-109)) then
tmp = y * ((x * z) - (i * j))
else if (x <= (-1.22d-151)) then
tmp = t * ((c * j) - (x * a))
else if (x <= 4.05d+89) then
tmp = (j * ((t * c) - (y * i))) - (b * (z * c))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = x * ((y * z) - (t * a));
double tmp;
if (x <= -3.3e+42) {
tmp = t_1;
} else if (x <= -1.9e-109) {
tmp = y * ((x * z) - (i * j));
} else if (x <= -1.22e-151) {
tmp = t * ((c * j) - (x * a));
} else if (x <= 4.05e+89) {
tmp = (j * ((t * c) - (y * i))) - (b * (z * c));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = x * ((y * z) - (t * a)) tmp = 0 if x <= -3.3e+42: tmp = t_1 elif x <= -1.9e-109: tmp = y * ((x * z) - (i * j)) elif x <= -1.22e-151: tmp = t * ((c * j) - (x * a)) elif x <= 4.05e+89: tmp = (j * ((t * c) - (y * i))) - (b * (z * c)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(x * Float64(Float64(y * z) - Float64(t * a))) tmp = 0.0 if (x <= -3.3e+42) tmp = t_1; elseif (x <= -1.9e-109) tmp = Float64(y * Float64(Float64(x * z) - Float64(i * j))); elseif (x <= -1.22e-151) tmp = Float64(t * Float64(Float64(c * j) - Float64(x * a))); elseif (x <= 4.05e+89) tmp = Float64(Float64(j * Float64(Float64(t * c) - Float64(y * i))) - Float64(b * Float64(z * c))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = x * ((y * z) - (t * a)); tmp = 0.0; if (x <= -3.3e+42) tmp = t_1; elseif (x <= -1.9e-109) tmp = y * ((x * z) - (i * j)); elseif (x <= -1.22e-151) tmp = t * ((c * j) - (x * a)); elseif (x <= 4.05e+89) tmp = (j * ((t * c) - (y * i))) - (b * (z * c)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -3.3e+42], t$95$1, If[LessEqual[x, -1.9e-109], N[(y * N[(N[(x * z), $MachinePrecision] - N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -1.22e-151], N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 4.05e+89], N[(N[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b * N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(y \cdot z - t \cdot a\right)\\
\mathbf{if}\;x \leq -3.3 \cdot 10^{+42}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \leq -1.9 \cdot 10^{-109}:\\
\;\;\;\;y \cdot \left(x \cdot z - i \cdot j\right)\\
\mathbf{elif}\;x \leq -1.22 \cdot 10^{-151}:\\
\;\;\;\;t \cdot \left(c \cdot j - x \cdot a\right)\\
\mathbf{elif}\;x \leq 4.05 \cdot 10^{+89}:\\
\;\;\;\;j \cdot \left(t \cdot c - y \cdot i\right) - b \cdot \left(z \cdot c\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if x < -3.2999999999999999e42 or 4.05e89 < x Initial program 70.3%
Taylor expanded in y around 0 61.0%
Simplified68.4%
Taylor expanded in x around inf 73.0%
neg-mul-173.0%
+-commutative73.0%
sub-neg73.0%
Simplified73.0%
if -3.2999999999999999e42 < x < -1.90000000000000001e-109Initial program 75.5%
Taylor expanded in y around inf 60.8%
+-commutative60.8%
mul-1-neg60.8%
unsub-neg60.8%
*-commutative60.8%
Simplified60.8%
if -1.90000000000000001e-109 < x < -1.21999999999999997e-151Initial program 56.2%
Taylor expanded in t around inf 64.3%
+-commutative64.3%
mul-1-neg64.3%
unsub-neg64.3%
*-commutative64.3%
*-commutative64.3%
Simplified64.3%
if -1.21999999999999997e-151 < x < 4.05e89Initial program 74.9%
Taylor expanded in i around inf 73.3%
associate-/l*70.0%
Simplified70.0%
Taylor expanded in x around 0 77.8%
cancel-sign-sub-inv77.8%
+-commutative77.8%
+-commutative77.8%
cancel-sign-sub-inv77.8%
*-commutative77.8%
*-commutative77.8%
associate-/l*75.3%
Simplified75.3%
Taylor expanded in i around 0 64.4%
Final simplification67.4%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* c (- (* t j) (* z b)))))
(if (<= j -3.8e+138)
t_1
(if (<= j -5.8e+97)
(* i (* y (- j)))
(if (<= j 7.2e-49)
(* b (- (* a i) (* z c)))
(if (or (<= j 1.35e+54) (not (<= j 2.2e+73)))
t_1
(* y (* i (- j)))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = c * ((t * j) - (z * b));
double tmp;
if (j <= -3.8e+138) {
tmp = t_1;
} else if (j <= -5.8e+97) {
tmp = i * (y * -j);
} else if (j <= 7.2e-49) {
tmp = b * ((a * i) - (z * c));
} else if ((j <= 1.35e+54) || !(j <= 2.2e+73)) {
tmp = t_1;
} else {
tmp = y * (i * -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 = c * ((t * j) - (z * b))
if (j <= (-3.8d+138)) then
tmp = t_1
else if (j <= (-5.8d+97)) then
tmp = i * (y * -j)
else if (j <= 7.2d-49) then
tmp = b * ((a * i) - (z * c))
else if ((j <= 1.35d+54) .or. (.not. (j <= 2.2d+73))) then
tmp = t_1
else
tmp = y * (i * -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 = c * ((t * j) - (z * b));
double tmp;
if (j <= -3.8e+138) {
tmp = t_1;
} else if (j <= -5.8e+97) {
tmp = i * (y * -j);
} else if (j <= 7.2e-49) {
tmp = b * ((a * i) - (z * c));
} else if ((j <= 1.35e+54) || !(j <= 2.2e+73)) {
tmp = t_1;
} else {
tmp = y * (i * -j);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = c * ((t * j) - (z * b)) tmp = 0 if j <= -3.8e+138: tmp = t_1 elif j <= -5.8e+97: tmp = i * (y * -j) elif j <= 7.2e-49: tmp = b * ((a * i) - (z * c)) elif (j <= 1.35e+54) or not (j <= 2.2e+73): tmp = t_1 else: tmp = y * (i * -j) return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(c * Float64(Float64(t * j) - Float64(z * b))) tmp = 0.0 if (j <= -3.8e+138) tmp = t_1; elseif (j <= -5.8e+97) tmp = Float64(i * Float64(y * Float64(-j))); elseif (j <= 7.2e-49) tmp = Float64(b * Float64(Float64(a * i) - Float64(z * c))); elseif ((j <= 1.35e+54) || !(j <= 2.2e+73)) tmp = t_1; else tmp = Float64(y * Float64(i * Float64(-j))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = c * ((t * j) - (z * b)); tmp = 0.0; if (j <= -3.8e+138) tmp = t_1; elseif (j <= -5.8e+97) tmp = i * (y * -j); elseif (j <= 7.2e-49) tmp = b * ((a * i) - (z * c)); elseif ((j <= 1.35e+54) || ~((j <= 2.2e+73))) tmp = t_1; else tmp = y * (i * -j); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(c * N[(N[(t * j), $MachinePrecision] - N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -3.8e+138], t$95$1, If[LessEqual[j, -5.8e+97], N[(i * N[(y * (-j)), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 7.2e-49], N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[j, 1.35e+54], N[Not[LessEqual[j, 2.2e+73]], $MachinePrecision]], t$95$1, N[(y * N[(i * (-j)), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c \cdot \left(t \cdot j - z \cdot b\right)\\
\mathbf{if}\;j \leq -3.8 \cdot 10^{+138}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;j \leq -5.8 \cdot 10^{+97}:\\
\;\;\;\;i \cdot \left(y \cdot \left(-j\right)\right)\\
\mathbf{elif}\;j \leq 7.2 \cdot 10^{-49}:\\
\;\;\;\;b \cdot \left(a \cdot i - z \cdot c\right)\\
\mathbf{elif}\;j \leq 1.35 \cdot 10^{+54} \lor \neg \left(j \leq 2.2 \cdot 10^{+73}\right):\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;y \cdot \left(i \cdot \left(-j\right)\right)\\
\end{array}
\end{array}
if j < -3.80000000000000012e138 or 7.19999999999999939e-49 < j < 1.35000000000000005e54 or 2.2e73 < j Initial program 69.3%
Taylor expanded in c around inf 59.0%
*-commutative59.0%
*-commutative59.0%
Simplified59.0%
if -3.80000000000000012e138 < j < -5.79999999999999974e97Initial program 55.7%
Taylor expanded in y around inf 91.0%
+-commutative91.0%
mul-1-neg91.0%
unsub-neg91.0%
*-commutative91.0%
Simplified91.0%
Taylor expanded in x around 0 74.8%
associate-*r*74.8%
neg-mul-174.8%
*-commutative74.8%
Simplified74.8%
if -5.79999999999999974e97 < j < 7.19999999999999939e-49Initial program 76.1%
Taylor expanded in b around inf 48.6%
*-commutative48.6%
Simplified48.6%
if 1.35000000000000005e54 < j < 2.2e73Initial program 71.2%
Taylor expanded in y around inf 71.6%
+-commutative71.6%
mul-1-neg71.6%
unsub-neg71.6%
*-commutative71.6%
Simplified71.6%
Taylor expanded in x around 0 71.6%
mul-1-neg71.6%
distribute-rgt-neg-in71.6%
Simplified71.6%
Final simplification54.5%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* j (- (* t c) (* y i)))))
(if (<= j -1.5e+172)
t_1
(if (<= j -8.5e-217)
(* x (- (* y z) (* t a)))
(if (<= j 9.5e-226)
(* b (- (* a i) (* z c)))
(if (<= j 9.2e-124)
(* z (- (* x y) (* b c)))
(if (<= j 9.5e+26) (* t (- (* c j) (* 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 = j * ((t * c) - (y * i));
double tmp;
if (j <= -1.5e+172) {
tmp = t_1;
} else if (j <= -8.5e-217) {
tmp = x * ((y * z) - (t * a));
} else if (j <= 9.5e-226) {
tmp = b * ((a * i) - (z * c));
} else if (j <= 9.2e-124) {
tmp = z * ((x * y) - (b * c));
} else if (j <= 9.5e+26) {
tmp = t * ((c * j) - (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 = j * ((t * c) - (y * i))
if (j <= (-1.5d+172)) then
tmp = t_1
else if (j <= (-8.5d-217)) then
tmp = x * ((y * z) - (t * a))
else if (j <= 9.5d-226) then
tmp = b * ((a * i) - (z * c))
else if (j <= 9.2d-124) then
tmp = z * ((x * y) - (b * c))
else if (j <= 9.5d+26) then
tmp = t * ((c * j) - (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 = j * ((t * c) - (y * i));
double tmp;
if (j <= -1.5e+172) {
tmp = t_1;
} else if (j <= -8.5e-217) {
tmp = x * ((y * z) - (t * a));
} else if (j <= 9.5e-226) {
tmp = b * ((a * i) - (z * c));
} else if (j <= 9.2e-124) {
tmp = z * ((x * y) - (b * c));
} else if (j <= 9.5e+26) {
tmp = t * ((c * j) - (x * a));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = j * ((t * c) - (y * i)) tmp = 0 if j <= -1.5e+172: tmp = t_1 elif j <= -8.5e-217: tmp = x * ((y * z) - (t * a)) elif j <= 9.5e-226: tmp = b * ((a * i) - (z * c)) elif j <= 9.2e-124: tmp = z * ((x * y) - (b * c)) elif j <= 9.5e+26: tmp = t * ((c * j) - (x * a)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(j * Float64(Float64(t * c) - Float64(y * i))) tmp = 0.0 if (j <= -1.5e+172) tmp = t_1; elseif (j <= -8.5e-217) tmp = Float64(x * Float64(Float64(y * z) - Float64(t * a))); elseif (j <= 9.5e-226) tmp = Float64(b * Float64(Float64(a * i) - Float64(z * c))); elseif (j <= 9.2e-124) tmp = Float64(z * Float64(Float64(x * y) - Float64(b * c))); elseif (j <= 9.5e+26) tmp = Float64(t * Float64(Float64(c * j) - 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 = j * ((t * c) - (y * i)); tmp = 0.0; if (j <= -1.5e+172) tmp = t_1; elseif (j <= -8.5e-217) tmp = x * ((y * z) - (t * a)); elseif (j <= 9.5e-226) tmp = b * ((a * i) - (z * c)); elseif (j <= 9.2e-124) tmp = z * ((x * y) - (b * c)); elseif (j <= 9.5e+26) tmp = t * ((c * j) - (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[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -1.5e+172], t$95$1, If[LessEqual[j, -8.5e-217], N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 9.5e-226], N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 9.2e-124], N[(z * N[(N[(x * y), $MachinePrecision] - N[(b * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 9.5e+26], N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(t \cdot c - y \cdot i\right)\\
\mathbf{if}\;j \leq -1.5 \cdot 10^{+172}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;j \leq -8.5 \cdot 10^{-217}:\\
\;\;\;\;x \cdot \left(y \cdot z - t \cdot a\right)\\
\mathbf{elif}\;j \leq 9.5 \cdot 10^{-226}:\\
\;\;\;\;b \cdot \left(a \cdot i - z \cdot c\right)\\
\mathbf{elif}\;j \leq 9.2 \cdot 10^{-124}:\\
\;\;\;\;z \cdot \left(x \cdot y - b \cdot c\right)\\
\mathbf{elif}\;j \leq 9.5 \cdot 10^{+26}:\\
\;\;\;\;t \cdot \left(c \cdot j - x \cdot a\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if j < -1.5e172 or 9.50000000000000054e26 < j Initial program 69.0%
Taylor expanded in j around inf 71.7%
*-commutative71.7%
*-commutative71.7%
Simplified71.7%
if -1.5e172 < j < -8.4999999999999994e-217Initial program 74.9%
Taylor expanded in y around 0 70.8%
Simplified72.0%
Taylor expanded in x around inf 55.9%
neg-mul-155.9%
+-commutative55.9%
sub-neg55.9%
Simplified55.9%
if -8.4999999999999994e-217 < j < 9.5000000000000007e-226Initial program 79.5%
Taylor expanded in b around inf 70.7%
*-commutative70.7%
Simplified70.7%
if 9.5000000000000007e-226 < j < 9.20000000000000048e-124Initial program 67.3%
Taylor expanded in z around inf 77.2%
*-commutative77.2%
Simplified77.2%
if 9.20000000000000048e-124 < j < 9.50000000000000054e26Initial program 72.4%
Taylor expanded in t around inf 64.5%
+-commutative64.5%
mul-1-neg64.5%
unsub-neg64.5%
*-commutative64.5%
*-commutative64.5%
Simplified64.5%
Final simplification66.7%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* j (- (* t c) (* y i)))))
(if (<= j -1.5e+172)
t_1
(if (<= j -8.5e-213)
(* x (- (* y z) (* t a)))
(if (<= j 9.5e-175)
(* b (- (* a i) (* z c)))
(if (<= j 6e-125)
(* y (- (* x z) (* i j)))
(if (<= j 2.2e+26) (* t (- (* c j) (* 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 = j * ((t * c) - (y * i));
double tmp;
if (j <= -1.5e+172) {
tmp = t_1;
} else if (j <= -8.5e-213) {
tmp = x * ((y * z) - (t * a));
} else if (j <= 9.5e-175) {
tmp = b * ((a * i) - (z * c));
} else if (j <= 6e-125) {
tmp = y * ((x * z) - (i * j));
} else if (j <= 2.2e+26) {
tmp = t * ((c * j) - (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 = j * ((t * c) - (y * i))
if (j <= (-1.5d+172)) then
tmp = t_1
else if (j <= (-8.5d-213)) then
tmp = x * ((y * z) - (t * a))
else if (j <= 9.5d-175) then
tmp = b * ((a * i) - (z * c))
else if (j <= 6d-125) then
tmp = y * ((x * z) - (i * j))
else if (j <= 2.2d+26) then
tmp = t * ((c * j) - (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 = j * ((t * c) - (y * i));
double tmp;
if (j <= -1.5e+172) {
tmp = t_1;
} else if (j <= -8.5e-213) {
tmp = x * ((y * z) - (t * a));
} else if (j <= 9.5e-175) {
tmp = b * ((a * i) - (z * c));
} else if (j <= 6e-125) {
tmp = y * ((x * z) - (i * j));
} else if (j <= 2.2e+26) {
tmp = t * ((c * j) - (x * a));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = j * ((t * c) - (y * i)) tmp = 0 if j <= -1.5e+172: tmp = t_1 elif j <= -8.5e-213: tmp = x * ((y * z) - (t * a)) elif j <= 9.5e-175: tmp = b * ((a * i) - (z * c)) elif j <= 6e-125: tmp = y * ((x * z) - (i * j)) elif j <= 2.2e+26: tmp = t * ((c * j) - (x * a)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(j * Float64(Float64(t * c) - Float64(y * i))) tmp = 0.0 if (j <= -1.5e+172) tmp = t_1; elseif (j <= -8.5e-213) tmp = Float64(x * Float64(Float64(y * z) - Float64(t * a))); elseif (j <= 9.5e-175) tmp = Float64(b * Float64(Float64(a * i) - Float64(z * c))); elseif (j <= 6e-125) tmp = Float64(y * Float64(Float64(x * z) - Float64(i * j))); elseif (j <= 2.2e+26) tmp = Float64(t * Float64(Float64(c * j) - 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 = j * ((t * c) - (y * i)); tmp = 0.0; if (j <= -1.5e+172) tmp = t_1; elseif (j <= -8.5e-213) tmp = x * ((y * z) - (t * a)); elseif (j <= 9.5e-175) tmp = b * ((a * i) - (z * c)); elseif (j <= 6e-125) tmp = y * ((x * z) - (i * j)); elseif (j <= 2.2e+26) tmp = t * ((c * j) - (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[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -1.5e+172], t$95$1, If[LessEqual[j, -8.5e-213], N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 9.5e-175], N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 6e-125], N[(y * N[(N[(x * z), $MachinePrecision] - N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 2.2e+26], N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(t \cdot c - y \cdot i\right)\\
\mathbf{if}\;j \leq -1.5 \cdot 10^{+172}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;j \leq -8.5 \cdot 10^{-213}:\\
\;\;\;\;x \cdot \left(y \cdot z - t \cdot a\right)\\
\mathbf{elif}\;j \leq 9.5 \cdot 10^{-175}:\\
\;\;\;\;b \cdot \left(a \cdot i - z \cdot c\right)\\
\mathbf{elif}\;j \leq 6 \cdot 10^{-125}:\\
\;\;\;\;y \cdot \left(x \cdot z - i \cdot j\right)\\
\mathbf{elif}\;j \leq 2.2 \cdot 10^{+26}:\\
\;\;\;\;t \cdot \left(c \cdot j - x \cdot a\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if j < -1.5e172 or 2.20000000000000007e26 < j Initial program 69.0%
Taylor expanded in j around inf 71.7%
*-commutative71.7%
*-commutative71.7%
Simplified71.7%
if -1.5e172 < j < -8.49999999999999994e-213Initial program 74.9%
Taylor expanded in y around 0 70.8%
Simplified72.0%
Taylor expanded in x around inf 55.9%
neg-mul-155.9%
+-commutative55.9%
sub-neg55.9%
Simplified55.9%
if -8.49999999999999994e-213 < j < 9.50000000000000052e-175Initial program 78.2%
Taylor expanded in b around inf 66.1%
*-commutative66.1%
Simplified66.1%
if 9.50000000000000052e-175 < j < 5.99999999999999981e-125Initial program 56.3%
Taylor expanded in y around inf 73.8%
+-commutative73.8%
mul-1-neg73.8%
unsub-neg73.8%
*-commutative73.8%
Simplified73.8%
if 5.99999999999999981e-125 < j < 2.20000000000000007e26Initial program 72.4%
Taylor expanded in t around inf 64.5%
+-commutative64.5%
mul-1-neg64.5%
unsub-neg64.5%
*-commutative64.5%
*-commutative64.5%
Simplified64.5%
Final simplification65.3%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* x (- (* y z) (* t a)))))
(if (<= x -2.7e+186)
t_1
(if (<= x -5.1e-84)
(* y (+ (* x z) (- (/ (* a (* b i)) y) (* i j))))
(if (<= x 1.95e+98)
(+ (* j (- (* t c) (* y i))) (* b (- (* a i) (* z c))))
t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = x * ((y * z) - (t * a));
double tmp;
if (x <= -2.7e+186) {
tmp = t_1;
} else if (x <= -5.1e-84) {
tmp = y * ((x * z) + (((a * (b * i)) / y) - (i * j)));
} else if (x <= 1.95e+98) {
tmp = (j * ((t * c) - (y * i))) + (b * ((a * i) - (z * c)));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: tmp
t_1 = x * ((y * z) - (t * a))
if (x <= (-2.7d+186)) then
tmp = t_1
else if (x <= (-5.1d-84)) then
tmp = y * ((x * z) + (((a * (b * i)) / y) - (i * j)))
else if (x <= 1.95d+98) then
tmp = (j * ((t * c) - (y * i))) + (b * ((a * i) - (z * c)))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = x * ((y * z) - (t * a));
double tmp;
if (x <= -2.7e+186) {
tmp = t_1;
} else if (x <= -5.1e-84) {
tmp = y * ((x * z) + (((a * (b * i)) / y) - (i * j)));
} else if (x <= 1.95e+98) {
tmp = (j * ((t * c) - (y * i))) + (b * ((a * i) - (z * c)));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = x * ((y * z) - (t * a)) tmp = 0 if x <= -2.7e+186: tmp = t_1 elif x <= -5.1e-84: tmp = y * ((x * z) + (((a * (b * i)) / y) - (i * j))) elif x <= 1.95e+98: tmp = (j * ((t * c) - (y * i))) + (b * ((a * i) - (z * c))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(x * Float64(Float64(y * z) - Float64(t * a))) tmp = 0.0 if (x <= -2.7e+186) tmp = t_1; elseif (x <= -5.1e-84) tmp = Float64(y * Float64(Float64(x * z) + Float64(Float64(Float64(a * Float64(b * i)) / y) - Float64(i * j)))); elseif (x <= 1.95e+98) tmp = Float64(Float64(j * Float64(Float64(t * c) - Float64(y * i))) + Float64(b * Float64(Float64(a * i) - Float64(z * c)))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = x * ((y * z) - (t * a)); tmp = 0.0; if (x <= -2.7e+186) tmp = t_1; elseif (x <= -5.1e-84) tmp = y * ((x * z) + (((a * (b * i)) / y) - (i * j))); elseif (x <= 1.95e+98) tmp = (j * ((t * c) - (y * i))) + (b * ((a * i) - (z * c))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -2.7e+186], t$95$1, If[LessEqual[x, -5.1e-84], N[(y * N[(N[(x * z), $MachinePrecision] + N[(N[(N[(a * N[(b * i), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision] - N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 1.95e+98], N[(N[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(y \cdot z - t \cdot a\right)\\
\mathbf{if}\;x \leq -2.7 \cdot 10^{+186}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \leq -5.1 \cdot 10^{-84}:\\
\;\;\;\;y \cdot \left(x \cdot z + \left(\frac{a \cdot \left(b \cdot i\right)}{y} - i \cdot j\right)\right)\\
\mathbf{elif}\;x \leq 1.95 \cdot 10^{+98}:\\
\;\;\;\;j \cdot \left(t \cdot c - y \cdot i\right) + b \cdot \left(a \cdot i - z \cdot c\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if x < -2.6999999999999999e186 or 1.95e98 < x Initial program 66.7%
Taylor expanded in y around 0 52.1%
Simplified60.0%
Taylor expanded in x around inf 79.7%
neg-mul-179.7%
+-commutative79.7%
sub-neg79.7%
Simplified79.7%
if -2.6999999999999999e186 < x < -5.0999999999999996e-84Initial program 76.5%
Taylor expanded in y around -inf 74.8%
Simplified80.1%
Taylor expanded in i around inf 70.3%
if -5.0999999999999996e-84 < x < 1.95e98Initial program 73.7%
Taylor expanded in x around 0 77.5%
fma-neg79.8%
*-rgt-identity79.8%
*-commutative79.8%
*-commutative79.8%
fma-neg77.5%
associate-*l*77.5%
*-rgt-identity77.5%
*-commutative77.5%
Simplified77.5%
Final simplification76.6%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* c (* t j))))
(if (<= j -1.7e+141)
t_1
(if (<= j -1.55e+99)
(* i (* y (- j)))
(if (<= j 1.32e-36)
(* b (- (* a i) (* z c)))
(if (or (<= j 1.15e+54) (not (<= j 1.38e+191)))
t_1
(* y (* i (- j)))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = c * (t * j);
double tmp;
if (j <= -1.7e+141) {
tmp = t_1;
} else if (j <= -1.55e+99) {
tmp = i * (y * -j);
} else if (j <= 1.32e-36) {
tmp = b * ((a * i) - (z * c));
} else if ((j <= 1.15e+54) || !(j <= 1.38e+191)) {
tmp = t_1;
} else {
tmp = y * (i * -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 = c * (t * j)
if (j <= (-1.7d+141)) then
tmp = t_1
else if (j <= (-1.55d+99)) then
tmp = i * (y * -j)
else if (j <= 1.32d-36) then
tmp = b * ((a * i) - (z * c))
else if ((j <= 1.15d+54) .or. (.not. (j <= 1.38d+191))) then
tmp = t_1
else
tmp = y * (i * -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 = c * (t * j);
double tmp;
if (j <= -1.7e+141) {
tmp = t_1;
} else if (j <= -1.55e+99) {
tmp = i * (y * -j);
} else if (j <= 1.32e-36) {
tmp = b * ((a * i) - (z * c));
} else if ((j <= 1.15e+54) || !(j <= 1.38e+191)) {
tmp = t_1;
} else {
tmp = y * (i * -j);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = c * (t * j) tmp = 0 if j <= -1.7e+141: tmp = t_1 elif j <= -1.55e+99: tmp = i * (y * -j) elif j <= 1.32e-36: tmp = b * ((a * i) - (z * c)) elif (j <= 1.15e+54) or not (j <= 1.38e+191): tmp = t_1 else: tmp = y * (i * -j) return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(c * Float64(t * j)) tmp = 0.0 if (j <= -1.7e+141) tmp = t_1; elseif (j <= -1.55e+99) tmp = Float64(i * Float64(y * Float64(-j))); elseif (j <= 1.32e-36) tmp = Float64(b * Float64(Float64(a * i) - Float64(z * c))); elseif ((j <= 1.15e+54) || !(j <= 1.38e+191)) tmp = t_1; else tmp = Float64(y * Float64(i * Float64(-j))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = c * (t * j); tmp = 0.0; if (j <= -1.7e+141) tmp = t_1; elseif (j <= -1.55e+99) tmp = i * (y * -j); elseif (j <= 1.32e-36) tmp = b * ((a * i) - (z * c)); elseif ((j <= 1.15e+54) || ~((j <= 1.38e+191))) tmp = t_1; else tmp = y * (i * -j); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(c * N[(t * j), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -1.7e+141], t$95$1, If[LessEqual[j, -1.55e+99], N[(i * N[(y * (-j)), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.32e-36], N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[j, 1.15e+54], N[Not[LessEqual[j, 1.38e+191]], $MachinePrecision]], t$95$1, N[(y * N[(i * (-j)), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c \cdot \left(t \cdot j\right)\\
\mathbf{if}\;j \leq -1.7 \cdot 10^{+141}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;j \leq -1.55 \cdot 10^{+99}:\\
\;\;\;\;i \cdot \left(y \cdot \left(-j\right)\right)\\
\mathbf{elif}\;j \leq 1.32 \cdot 10^{-36}:\\
\;\;\;\;b \cdot \left(a \cdot i - z \cdot c\right)\\
\mathbf{elif}\;j \leq 1.15 \cdot 10^{+54} \lor \neg \left(j \leq 1.38 \cdot 10^{+191}\right):\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;y \cdot \left(i \cdot \left(-j\right)\right)\\
\end{array}
\end{array}
if j < -1.6999999999999999e141 or 1.31999999999999993e-36 < j < 1.14999999999999997e54 or 1.38e191 < j Initial program 69.8%
Taylor expanded in b around 0 68.8%
Taylor expanded in x around inf 64.0%
Taylor expanded in c around inf 60.4%
*-commutative60.4%
Simplified60.4%
if -1.6999999999999999e141 < j < -1.55e99Initial program 55.7%
Taylor expanded in y around inf 91.0%
+-commutative91.0%
mul-1-neg91.0%
unsub-neg91.0%
*-commutative91.0%
Simplified91.0%
Taylor expanded in x around 0 74.8%
associate-*r*74.8%
neg-mul-174.8%
*-commutative74.8%
Simplified74.8%
if -1.55e99 < j < 1.31999999999999993e-36Initial program 75.7%
Taylor expanded in b around inf 48.3%
*-commutative48.3%
Simplified48.3%
if 1.14999999999999997e54 < j < 1.38e191Initial program 69.9%
Taylor expanded in y around inf 63.7%
+-commutative63.7%
mul-1-neg63.7%
unsub-neg63.7%
*-commutative63.7%
Simplified63.7%
Taylor expanded in x around 0 50.6%
mul-1-neg50.6%
distribute-rgt-neg-in50.6%
Simplified50.6%
Final simplification53.4%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* j (- (* t c) (* y i)))))
(if (<= j -1.5e+172)
t_1
(if (<= j -7.6e-211)
(* x (- (* y z) (* t a)))
(if (<= j 1.7e-103)
(* b (- (* a i) (* z c)))
(if (<= j 9.8e+26) (* t (- (* c j) (* 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 = j * ((t * c) - (y * i));
double tmp;
if (j <= -1.5e+172) {
tmp = t_1;
} else if (j <= -7.6e-211) {
tmp = x * ((y * z) - (t * a));
} else if (j <= 1.7e-103) {
tmp = b * ((a * i) - (z * c));
} else if (j <= 9.8e+26) {
tmp = t * ((c * j) - (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 = j * ((t * c) - (y * i))
if (j <= (-1.5d+172)) then
tmp = t_1
else if (j <= (-7.6d-211)) then
tmp = x * ((y * z) - (t * a))
else if (j <= 1.7d-103) then
tmp = b * ((a * i) - (z * c))
else if (j <= 9.8d+26) then
tmp = t * ((c * j) - (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 = j * ((t * c) - (y * i));
double tmp;
if (j <= -1.5e+172) {
tmp = t_1;
} else if (j <= -7.6e-211) {
tmp = x * ((y * z) - (t * a));
} else if (j <= 1.7e-103) {
tmp = b * ((a * i) - (z * c));
} else if (j <= 9.8e+26) {
tmp = t * ((c * j) - (x * a));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = j * ((t * c) - (y * i)) tmp = 0 if j <= -1.5e+172: tmp = t_1 elif j <= -7.6e-211: tmp = x * ((y * z) - (t * a)) elif j <= 1.7e-103: tmp = b * ((a * i) - (z * c)) elif j <= 9.8e+26: tmp = t * ((c * j) - (x * a)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(j * Float64(Float64(t * c) - Float64(y * i))) tmp = 0.0 if (j <= -1.5e+172) tmp = t_1; elseif (j <= -7.6e-211) tmp = Float64(x * Float64(Float64(y * z) - Float64(t * a))); elseif (j <= 1.7e-103) tmp = Float64(b * Float64(Float64(a * i) - Float64(z * c))); elseif (j <= 9.8e+26) tmp = Float64(t * Float64(Float64(c * j) - 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 = j * ((t * c) - (y * i)); tmp = 0.0; if (j <= -1.5e+172) tmp = t_1; elseif (j <= -7.6e-211) tmp = x * ((y * z) - (t * a)); elseif (j <= 1.7e-103) tmp = b * ((a * i) - (z * c)); elseif (j <= 9.8e+26) tmp = t * ((c * j) - (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[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -1.5e+172], t$95$1, If[LessEqual[j, -7.6e-211], N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.7e-103], N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 9.8e+26], N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(t \cdot c - y \cdot i\right)\\
\mathbf{if}\;j \leq -1.5 \cdot 10^{+172}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;j \leq -7.6 \cdot 10^{-211}:\\
\;\;\;\;x \cdot \left(y \cdot z - t \cdot a\right)\\
\mathbf{elif}\;j \leq 1.7 \cdot 10^{-103}:\\
\;\;\;\;b \cdot \left(a \cdot i - z \cdot c\right)\\
\mathbf{elif}\;j \leq 9.8 \cdot 10^{+26}:\\
\;\;\;\;t \cdot \left(c \cdot j - x \cdot a\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if j < -1.5e172 or 9.79999999999999947e26 < j Initial program 69.0%
Taylor expanded in j around inf 71.7%
*-commutative71.7%
*-commutative71.7%
Simplified71.7%
if -1.5e172 < j < -7.60000000000000023e-211Initial program 74.9%
Taylor expanded in y around 0 70.8%
Simplified72.0%
Taylor expanded in x around inf 55.9%
neg-mul-155.9%
+-commutative55.9%
sub-neg55.9%
Simplified55.9%
if -7.60000000000000023e-211 < j < 1.70000000000000001e-103Initial program 72.8%
Taylor expanded in b around inf 59.0%
*-commutative59.0%
Simplified59.0%
if 1.70000000000000001e-103 < j < 9.79999999999999947e26Initial program 75.1%
Taylor expanded in t around inf 66.3%
+-commutative66.3%
mul-1-neg66.3%
unsub-neg66.3%
*-commutative66.3%
*-commutative66.3%
Simplified66.3%
Final simplification63.5%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* x (- (* y z) (* t a)))))
(if (<= x -1.02e-143)
(- t_1 (* i (* y j)))
(if (<= x 5.2e+98) (- (* j (- (* t c) (* y i))) (* b (* z c))) t_1))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = x * ((y * z) - (t * a));
double tmp;
if (x <= -1.02e-143) {
tmp = t_1 - (i * (y * j));
} else if (x <= 5.2e+98) {
tmp = (j * ((t * c) - (y * i))) - (b * (z * c));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: tmp
t_1 = x * ((y * z) - (t * a))
if (x <= (-1.02d-143)) then
tmp = t_1 - (i * (y * j))
else if (x <= 5.2d+98) then
tmp = (j * ((t * c) - (y * i))) - (b * (z * c))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = x * ((y * z) - (t * a));
double tmp;
if (x <= -1.02e-143) {
tmp = t_1 - (i * (y * j));
} else if (x <= 5.2e+98) {
tmp = (j * ((t * c) - (y * i))) - (b * (z * c));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = x * ((y * z) - (t * a)) tmp = 0 if x <= -1.02e-143: tmp = t_1 - (i * (y * j)) elif x <= 5.2e+98: tmp = (j * ((t * c) - (y * i))) - (b * (z * c)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(x * Float64(Float64(y * z) - Float64(t * a))) tmp = 0.0 if (x <= -1.02e-143) tmp = Float64(t_1 - Float64(i * Float64(y * j))); elseif (x <= 5.2e+98) tmp = Float64(Float64(j * Float64(Float64(t * c) - Float64(y * i))) - Float64(b * Float64(z * c))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = x * ((y * z) - (t * a)); tmp = 0.0; if (x <= -1.02e-143) tmp = t_1 - (i * (y * j)); elseif (x <= 5.2e+98) tmp = (j * ((t * c) - (y * i))) - (b * (z * c)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -1.02e-143], N[(t$95$1 - N[(i * N[(y * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 5.2e+98], N[(N[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b * N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(y \cdot z - t \cdot a\right)\\
\mathbf{if}\;x \leq -1.02 \cdot 10^{-143}:\\
\;\;\;\;t\_1 - i \cdot \left(y \cdot j\right)\\
\mathbf{elif}\;x \leq 5.2 \cdot 10^{+98}:\\
\;\;\;\;j \cdot \left(t \cdot c - y \cdot i\right) - b \cdot \left(z \cdot c\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if x < -1.02e-143Initial program 73.1%
Taylor expanded in b around 0 70.2%
Taylor expanded in c around 0 67.3%
+-commutative67.3%
cancel-sign-sub-inv67.3%
fma-define67.3%
mul-1-neg67.3%
unsub-neg67.3%
fma-define67.3%
cancel-sign-sub-inv67.3%
*-commutative67.3%
Simplified67.3%
if -1.02e-143 < x < 5.1999999999999999e98Initial program 73.4%
Taylor expanded in i around inf 71.9%
associate-/l*68.6%
Simplified68.6%
Taylor expanded in x around 0 76.2%
cancel-sign-sub-inv76.2%
+-commutative76.2%
+-commutative76.2%
cancel-sign-sub-inv76.2%
*-commutative76.2%
*-commutative76.2%
associate-/l*73.7%
Simplified73.7%
Taylor expanded in i around 0 63.1%
if 5.1999999999999999e98 < x Initial program 68.1%
Taylor expanded in y around 0 56.1%
Simplified57.9%
Taylor expanded in x around inf 75.2%
neg-mul-175.2%
+-commutative75.2%
sub-neg75.2%
Simplified75.2%
Final simplification66.8%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* j (- (* t c) (* y i)))))
(if (<= j -5.8e+33)
t_1
(if (<= j 7e-105)
(* b (- (* a i) (* z c)))
(if (<= j 3.6e+26) (* t (- (* c j) (* 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 = j * ((t * c) - (y * i));
double tmp;
if (j <= -5.8e+33) {
tmp = t_1;
} else if (j <= 7e-105) {
tmp = b * ((a * i) - (z * c));
} else if (j <= 3.6e+26) {
tmp = t * ((c * j) - (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 = j * ((t * c) - (y * i))
if (j <= (-5.8d+33)) then
tmp = t_1
else if (j <= 7d-105) then
tmp = b * ((a * i) - (z * c))
else if (j <= 3.6d+26) then
tmp = t * ((c * j) - (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 = j * ((t * c) - (y * i));
double tmp;
if (j <= -5.8e+33) {
tmp = t_1;
} else if (j <= 7e-105) {
tmp = b * ((a * i) - (z * c));
} else if (j <= 3.6e+26) {
tmp = t * ((c * j) - (x * a));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = j * ((t * c) - (y * i)) tmp = 0 if j <= -5.8e+33: tmp = t_1 elif j <= 7e-105: tmp = b * ((a * i) - (z * c)) elif j <= 3.6e+26: tmp = t * ((c * j) - (x * a)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(j * Float64(Float64(t * c) - Float64(y * i))) tmp = 0.0 if (j <= -5.8e+33) tmp = t_1; elseif (j <= 7e-105) tmp = Float64(b * Float64(Float64(a * i) - Float64(z * c))); elseif (j <= 3.6e+26) tmp = Float64(t * Float64(Float64(c * j) - 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 = j * ((t * c) - (y * i)); tmp = 0.0; if (j <= -5.8e+33) tmp = t_1; elseif (j <= 7e-105) tmp = b * ((a * i) - (z * c)); elseif (j <= 3.6e+26) tmp = t * ((c * j) - (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[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -5.8e+33], t$95$1, If[LessEqual[j, 7e-105], N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 3.6e+26], N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(t \cdot c - y \cdot i\right)\\
\mathbf{if}\;j \leq -5.8 \cdot 10^{+33}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;j \leq 7 \cdot 10^{-105}:\\
\;\;\;\;b \cdot \left(a \cdot i - z \cdot c\right)\\
\mathbf{elif}\;j \leq 3.6 \cdot 10^{+26}:\\
\;\;\;\;t \cdot \left(c \cdot j - x \cdot a\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if j < -5.80000000000000049e33 or 3.60000000000000024e26 < j Initial program 68.1%
Taylor expanded in j around inf 67.2%
*-commutative67.2%
*-commutative67.2%
Simplified67.2%
if -5.80000000000000049e33 < j < 7e-105Initial program 76.2%
Taylor expanded in b around inf 51.6%
*-commutative51.6%
Simplified51.6%
if 7e-105 < j < 3.60000000000000024e26Initial program 75.1%
Taylor expanded in t around inf 66.3%
+-commutative66.3%
mul-1-neg66.3%
unsub-neg66.3%
*-commutative66.3%
*-commutative66.3%
Simplified66.3%
Final simplification60.6%
(FPCore (x y z t a b c i j)
:precision binary64
(if (<= z -1.66e+89)
(* c (* z (- b)))
(if (<= z -4.4e-182)
(* i (* a b))
(if (<= z 3.4e+142) (* x (* t (- a))) (* y (* x z))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (z <= -1.66e+89) {
tmp = c * (z * -b);
} else if (z <= -4.4e-182) {
tmp = i * (a * b);
} else if (z <= 3.4e+142) {
tmp = x * (t * -a);
} else {
tmp = y * (x * z);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: tmp
if (z <= (-1.66d+89)) then
tmp = c * (z * -b)
else if (z <= (-4.4d-182)) then
tmp = i * (a * b)
else if (z <= 3.4d+142) then
tmp = x * (t * -a)
else
tmp = y * (x * z)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (z <= -1.66e+89) {
tmp = c * (z * -b);
} else if (z <= -4.4e-182) {
tmp = i * (a * b);
} else if (z <= 3.4e+142) {
tmp = x * (t * -a);
} else {
tmp = y * (x * z);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if z <= -1.66e+89: tmp = c * (z * -b) elif z <= -4.4e-182: tmp = i * (a * b) elif z <= 3.4e+142: tmp = x * (t * -a) else: tmp = y * (x * z) return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if (z <= -1.66e+89) tmp = Float64(c * Float64(z * Float64(-b))); elseif (z <= -4.4e-182) tmp = Float64(i * Float64(a * b)); elseif (z <= 3.4e+142) tmp = Float64(x * Float64(t * Float64(-a))); else tmp = Float64(y * Float64(x * z)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if (z <= -1.66e+89) tmp = c * (z * -b); elseif (z <= -4.4e-182) tmp = i * (a * b); elseif (z <= 3.4e+142) tmp = x * (t * -a); else tmp = y * (x * z); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[LessEqual[z, -1.66e+89], N[(c * N[(z * (-b)), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, -4.4e-182], N[(i * N[(a * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 3.4e+142], N[(x * N[(t * (-a)), $MachinePrecision]), $MachinePrecision], N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;z \leq -1.66 \cdot 10^{+89}:\\
\;\;\;\;c \cdot \left(z \cdot \left(-b\right)\right)\\
\mathbf{elif}\;z \leq -4.4 \cdot 10^{-182}:\\
\;\;\;\;i \cdot \left(a \cdot b\right)\\
\mathbf{elif}\;z \leq 3.4 \cdot 10^{+142}:\\
\;\;\;\;x \cdot \left(t \cdot \left(-a\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\end{array}
\end{array}
if z < -1.6599999999999999e89Initial program 71.2%
Taylor expanded in b around inf 63.5%
*-commutative63.5%
Simplified63.5%
Taylor expanded in a around 0 43.7%
associate-*r*43.7%
neg-mul-143.7%
*-commutative43.7%
Simplified43.7%
Taylor expanded in b around 0 43.7%
neg-mul-143.7%
distribute-lft-neg-in43.7%
*-commutative43.7%
associate-*l*41.7%
Simplified41.7%
if -1.6599999999999999e89 < z < -4.3999999999999999e-182Initial program 77.1%
Taylor expanded in b around inf 54.6%
*-commutative54.6%
Simplified54.6%
Taylor expanded in a around inf 37.5%
associate-*r*42.3%
*-commutative42.3%
Simplified42.3%
if -4.3999999999999999e-182 < z < 3.3999999999999998e142Initial program 74.9%
Taylor expanded in b around 0 67.6%
Taylor expanded in x around inf 61.0%
Taylor expanded in a around inf 35.2%
neg-mul-135.2%
distribute-lft-neg-in35.2%
*-commutative35.2%
Simplified35.2%
if 3.3999999999999998e142 < z Initial program 58.6%
Taylor expanded in y around inf 49.7%
+-commutative49.7%
mul-1-neg49.7%
unsub-neg49.7%
*-commutative49.7%
Simplified49.7%
Taylor expanded in x around inf 44.4%
Final simplification38.8%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* c (* t j))))
(if (<= t -2.05e-25)
t_1
(if (<= t 7.8e-196)
(* b (* a i))
(if (<= t 2.7e+41) (* y (* x 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 = c * (t * j);
double tmp;
if (t <= -2.05e-25) {
tmp = t_1;
} else if (t <= 7.8e-196) {
tmp = b * (a * i);
} else if (t <= 2.7e+41) {
tmp = y * (x * z);
} 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 * (t * j)
if (t <= (-2.05d-25)) then
tmp = t_1
else if (t <= 7.8d-196) then
tmp = b * (a * i)
else if (t <= 2.7d+41) then
tmp = y * (x * z)
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = c * (t * j);
double tmp;
if (t <= -2.05e-25) {
tmp = t_1;
} else if (t <= 7.8e-196) {
tmp = b * (a * i);
} else if (t <= 2.7e+41) {
tmp = y * (x * z);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = c * (t * j) tmp = 0 if t <= -2.05e-25: tmp = t_1 elif t <= 7.8e-196: tmp = b * (a * i) elif t <= 2.7e+41: tmp = y * (x * z) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(c * Float64(t * j)) tmp = 0.0 if (t <= -2.05e-25) tmp = t_1; elseif (t <= 7.8e-196) tmp = Float64(b * Float64(a * i)); elseif (t <= 2.7e+41) tmp = Float64(y * Float64(x * z)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = c * (t * j); tmp = 0.0; if (t <= -2.05e-25) tmp = t_1; elseif (t <= 7.8e-196) tmp = b * (a * i); elseif (t <= 2.7e+41) tmp = y * (x * z); 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[(t * j), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -2.05e-25], t$95$1, If[LessEqual[t, 7.8e-196], N[(b * N[(a * i), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 2.7e+41], N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c \cdot \left(t \cdot j\right)\\
\mathbf{if}\;t \leq -2.05 \cdot 10^{-25}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq 7.8 \cdot 10^{-196}:\\
\;\;\;\;b \cdot \left(a \cdot i\right)\\
\mathbf{elif}\;t \leq 2.7 \cdot 10^{+41}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -2.04999999999999994e-25 or 2.7e41 < t Initial program 62.2%
Taylor expanded in b around 0 60.4%
Taylor expanded in x around inf 57.7%
Taylor expanded in c around inf 40.1%
*-commutative40.1%
Simplified40.1%
if -2.04999999999999994e-25 < t < 7.80000000000000031e-196Initial program 88.5%
Taylor expanded in b around inf 56.2%
*-commutative56.2%
Simplified56.2%
Taylor expanded in a around inf 38.6%
*-commutative38.6%
Simplified38.6%
if 7.80000000000000031e-196 < t < 2.7e41Initial program 78.7%
Taylor expanded in y around inf 50.1%
+-commutative50.1%
mul-1-neg50.1%
unsub-neg50.1%
*-commutative50.1%
Simplified50.1%
Taylor expanded in x around inf 32.2%
Final simplification38.1%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* c (* t j))))
(if (<= t -9.8e-26)
t_1
(if (<= t 1.8e-197)
(* b (* a i))
(if (<= t 8.2e+42) (* 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 = c * (t * j);
double tmp;
if (t <= -9.8e-26) {
tmp = t_1;
} else if (t <= 1.8e-197) {
tmp = b * (a * i);
} else if (t <= 8.2e+42) {
tmp = x * (y * z);
} 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 * (t * j)
if (t <= (-9.8d-26)) then
tmp = t_1
else if (t <= 1.8d-197) then
tmp = b * (a * i)
else if (t <= 8.2d+42) then
tmp = x * (y * z)
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = c * (t * j);
double tmp;
if (t <= -9.8e-26) {
tmp = t_1;
} else if (t <= 1.8e-197) {
tmp = b * (a * i);
} else if (t <= 8.2e+42) {
tmp = x * (y * z);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = c * (t * j) tmp = 0 if t <= -9.8e-26: tmp = t_1 elif t <= 1.8e-197: tmp = b * (a * i) elif t <= 8.2e+42: tmp = x * (y * z) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(c * Float64(t * j)) tmp = 0.0 if (t <= -9.8e-26) tmp = t_1; elseif (t <= 1.8e-197) tmp = Float64(b * Float64(a * i)); elseif (t <= 8.2e+42) tmp = Float64(x * Float64(y * z)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = c * (t * j); tmp = 0.0; if (t <= -9.8e-26) tmp = t_1; elseif (t <= 1.8e-197) tmp = b * (a * i); elseif (t <= 8.2e+42) tmp = x * (y * z); 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[(t * j), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -9.8e-26], t$95$1, If[LessEqual[t, 1.8e-197], N[(b * N[(a * i), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 8.2e+42], N[(x * N[(y * z), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c \cdot \left(t \cdot j\right)\\
\mathbf{if}\;t \leq -9.8 \cdot 10^{-26}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t \leq 1.8 \cdot 10^{-197}:\\
\;\;\;\;b \cdot \left(a \cdot i\right)\\
\mathbf{elif}\;t \leq 8.2 \cdot 10^{+42}:\\
\;\;\;\;x \cdot \left(y \cdot z\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if t < -9.7999999999999998e-26 or 8.2000000000000001e42 < t Initial program 62.2%
Taylor expanded in b around 0 60.4%
Taylor expanded in x around inf 57.7%
Taylor expanded in c around inf 40.1%
*-commutative40.1%
Simplified40.1%
if -9.7999999999999998e-26 < t < 1.7999999999999999e-197Initial program 88.5%
Taylor expanded in b around inf 56.2%
*-commutative56.2%
Simplified56.2%
Taylor expanded in a around inf 38.6%
*-commutative38.6%
Simplified38.6%
if 1.7999999999999999e-197 < t < 8.2000000000000001e42Initial program 78.7%
Taylor expanded in y around inf 50.1%
+-commutative50.1%
mul-1-neg50.1%
unsub-neg50.1%
*-commutative50.1%
Simplified50.1%
Taylor expanded in x around inf 30.5%
Final simplification37.8%
(FPCore (x y z t a b c i j) :precision binary64 (if (or (<= j -1.45e+34) (not (<= j 5.2e-37))) (* j (- (* t c) (* y i))) (* b (- (* a i) (* z c)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if ((j <= -1.45e+34) || !(j <= 5.2e-37)) {
tmp = j * ((t * c) - (y * i));
} else {
tmp = b * ((a * i) - (z * c));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: tmp
if ((j <= (-1.45d+34)) .or. (.not. (j <= 5.2d-37))) then
tmp = j * ((t * c) - (y * i))
else
tmp = b * ((a * i) - (z * c))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if ((j <= -1.45e+34) || !(j <= 5.2e-37)) {
tmp = j * ((t * c) - (y * i));
} else {
tmp = b * ((a * i) - (z * c));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if (j <= -1.45e+34) or not (j <= 5.2e-37): tmp = j * ((t * c) - (y * i)) else: tmp = b * ((a * i) - (z * c)) return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if ((j <= -1.45e+34) || !(j <= 5.2e-37)) tmp = Float64(j * Float64(Float64(t * c) - Float64(y * i))); else tmp = Float64(b * Float64(Float64(a * i) - Float64(z * c))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if ((j <= -1.45e+34) || ~((j <= 5.2e-37))) tmp = j * ((t * c) - (y * i)); else tmp = b * ((a * i) - (z * c)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[Or[LessEqual[j, -1.45e+34], N[Not[LessEqual[j, 5.2e-37]], $MachinePrecision]], N[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;j \leq -1.45 \cdot 10^{+34} \lor \neg \left(j \leq 5.2 \cdot 10^{-37}\right):\\
\;\;\;\;j \cdot \left(t \cdot c - y \cdot i\right)\\
\mathbf{else}:\\
\;\;\;\;b \cdot \left(a \cdot i - z \cdot c\right)\\
\end{array}
\end{array}
if j < -1.4500000000000001e34 or 5.19999999999999959e-37 < j Initial program 69.0%
Taylor expanded in j around inf 65.2%
*-commutative65.2%
*-commutative65.2%
Simplified65.2%
if -1.4500000000000001e34 < j < 5.19999999999999959e-37Initial program 75.8%
Taylor expanded in b around inf 49.2%
*-commutative49.2%
Simplified49.2%
Final simplification57.4%
(FPCore (x y z t a b c i j) :precision binary64 (if (or (<= c -28500.0) (not (<= c 6e+73))) (* c (* t j)) (* b (* a i))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if ((c <= -28500.0) || !(c <= 6e+73)) {
tmp = c * (t * j);
} else {
tmp = b * (a * i);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: tmp
if ((c <= (-28500.0d0)) .or. (.not. (c <= 6d+73))) then
tmp = c * (t * j)
else
tmp = b * (a * i)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if ((c <= -28500.0) || !(c <= 6e+73)) {
tmp = c * (t * j);
} else {
tmp = b * (a * i);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if (c <= -28500.0) or not (c <= 6e+73): tmp = c * (t * j) else: tmp = b * (a * i) return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if ((c <= -28500.0) || !(c <= 6e+73)) tmp = Float64(c * Float64(t * j)); else tmp = Float64(b * Float64(a * i)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if ((c <= -28500.0) || ~((c <= 6e+73))) tmp = c * (t * j); else tmp = b * (a * i); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[Or[LessEqual[c, -28500.0], N[Not[LessEqual[c, 6e+73]], $MachinePrecision]], N[(c * N[(t * j), $MachinePrecision]), $MachinePrecision], N[(b * N[(a * i), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;c \leq -28500 \lor \neg \left(c \leq 6 \cdot 10^{+73}\right):\\
\;\;\;\;c \cdot \left(t \cdot j\right)\\
\mathbf{else}:\\
\;\;\;\;b \cdot \left(a \cdot i\right)\\
\end{array}
\end{array}
if c < -28500 or 6.00000000000000021e73 < c Initial program 61.3%
Taylor expanded in b around 0 55.4%
Taylor expanded in x around inf 52.9%
Taylor expanded in c around inf 42.1%
*-commutative42.1%
Simplified42.1%
if -28500 < c < 6.00000000000000021e73Initial program 80.7%
Taylor expanded in b around inf 41.9%
*-commutative41.9%
Simplified41.9%
Taylor expanded in a around inf 33.7%
*-commutative33.7%
Simplified33.7%
Final simplification37.3%
(FPCore (x y z t a b c i j) :precision binary64 (* b (* a i)))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return b * (a * 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 = b * (a * 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 b * (a * i);
}
def code(x, y, z, t, a, b, c, i, j): return b * (a * i)
function code(x, y, z, t, a, b, c, i, j) return Float64(b * Float64(a * i)) end
function tmp = code(x, y, z, t, a, b, c, i, j) tmp = b * (a * i); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := N[(b * N[(a * i), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
b \cdot \left(a \cdot i\right)
\end{array}
Initial program 72.3%
Taylor expanded in b around inf 40.1%
*-commutative40.1%
Simplified40.1%
Taylor expanded in a around inf 22.1%
*-commutative22.1%
Simplified22.1%
Final simplification22.1%
(FPCore (x y z t a b c i j) :precision binary64 (* a (* b i)))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return a * (b * i);
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
code = a * (b * i)
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return a * (b * i);
}
def code(x, y, z, t, a, b, c, i, j): return a * (b * i)
function code(x, y, z, t, a, b, c, i, j) return Float64(a * Float64(b * i)) end
function tmp = code(x, y, z, t, a, b, c, i, j) tmp = a * (b * i); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := N[(a * N[(b * i), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
a \cdot \left(b \cdot i\right)
\end{array}
Initial program 72.3%
Taylor expanded in b around inf 40.1%
*-commutative40.1%
Simplified40.1%
Taylor expanded in a around inf 21.4%
*-commutative21.4%
Simplified21.4%
Final simplification21.4%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1
(+
(- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a))))
(/
(* j (- (pow (* c t) 2.0) (pow (* i y) 2.0)))
(+ (* c t) (* i y)))))
(t_2
(-
(* x (- (* z y) (* a t)))
(- (* b (- (* z c) (* a i))) (* (- (* c t) (* y i)) j)))))
(if (< t -8.120978919195912e-33)
t_2
(if (< t -4.712553818218485e-169)
t_1
(if (< t -7.633533346031584e-308)
t_2
(if (< t 1.0535888557455487e-139) t_1 t_2))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + ((j * (pow((c * t), 2.0) - pow((i * y), 2.0))) / ((c * t) + (i * y)));
double t_2 = (x * ((z * y) - (a * t))) - ((b * ((z * c) - (a * i))) - (((c * t) - (y * i)) * j));
double tmp;
if (t < -8.120978919195912e-33) {
tmp = t_2;
} else if (t < -4.712553818218485e-169) {
tmp = t_1;
} else if (t < -7.633533346031584e-308) {
tmp = t_2;
} else if (t < 1.0535888557455487e-139) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + ((j * (((c * t) ** 2.0d0) - ((i * y) ** 2.0d0))) / ((c * t) + (i * y)))
t_2 = (x * ((z * y) - (a * t))) - ((b * ((z * c) - (a * i))) - (((c * t) - (y * i)) * j))
if (t < (-8.120978919195912d-33)) then
tmp = t_2
else if (t < (-4.712553818218485d-169)) then
tmp = t_1
else if (t < (-7.633533346031584d-308)) then
tmp = t_2
else if (t < 1.0535888557455487d-139) then
tmp = t_1
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + ((j * (Math.pow((c * t), 2.0) - Math.pow((i * y), 2.0))) / ((c * t) + (i * y)));
double t_2 = (x * ((z * y) - (a * t))) - ((b * ((z * c) - (a * i))) - (((c * t) - (y * i)) * j));
double tmp;
if (t < -8.120978919195912e-33) {
tmp = t_2;
} else if (t < -4.712553818218485e-169) {
tmp = t_1;
} else if (t < -7.633533346031584e-308) {
tmp = t_2;
} else if (t < 1.0535888557455487e-139) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + ((j * (math.pow((c * t), 2.0) - math.pow((i * y), 2.0))) / ((c * t) + (i * y))) t_2 = (x * ((z * y) - (a * t))) - ((b * ((z * c) - (a * i))) - (((c * t) - (y * i)) * j)) tmp = 0 if t < -8.120978919195912e-33: tmp = t_2 elif t < -4.712553818218485e-169: tmp = t_1 elif t < -7.633533346031584e-308: tmp = t_2 elif t < 1.0535888557455487e-139: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) - Float64(b * Float64(Float64(c * z) - Float64(i * a)))) + Float64(Float64(j * Float64((Float64(c * t) ^ 2.0) - (Float64(i * y) ^ 2.0))) / Float64(Float64(c * t) + Float64(i * y)))) t_2 = Float64(Float64(x * Float64(Float64(z * y) - Float64(a * t))) - Float64(Float64(b * Float64(Float64(z * c) - Float64(a * i))) - Float64(Float64(Float64(c * t) - Float64(y * i)) * j))) tmp = 0.0 if (t < -8.120978919195912e-33) tmp = t_2; elseif (t < -4.712553818218485e-169) tmp = t_1; elseif (t < -7.633533346031584e-308) tmp = t_2; elseif (t < 1.0535888557455487e-139) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + ((j * (((c * t) ^ 2.0) - ((i * y) ^ 2.0))) / ((c * t) + (i * y))); t_2 = (x * ((z * y) - (a * t))) - ((b * ((z * c) - (a * i))) - (((c * t) - (y * i)) * j)); tmp = 0.0; if (t < -8.120978919195912e-33) tmp = t_2; elseif (t < -4.712553818218485e-169) tmp = t_1; elseif (t < -7.633533346031584e-308) tmp = t_2; elseif (t < 1.0535888557455487e-139) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b * N[(N[(c * z), $MachinePrecision] - N[(i * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(j * N[(N[Power[N[(c * t), $MachinePrecision], 2.0], $MachinePrecision] - N[Power[N[(i * y), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[(c * t), $MachinePrecision] + N[(i * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x * N[(N[(z * y), $MachinePrecision] - N[(a * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(b * N[(N[(z * c), $MachinePrecision] - N[(a * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(c * t), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision] * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Less[t, -8.120978919195912e-33], t$95$2, If[Less[t, -4.712553818218485e-169], t$95$1, If[Less[t, -7.633533346031584e-308], t$95$2, If[Less[t, 1.0535888557455487e-139], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \frac{j \cdot \left({\left(c \cdot t\right)}^{2} - {\left(i \cdot y\right)}^{2}\right)}{c \cdot t + i \cdot y}\\
t_2 := x \cdot \left(z \cdot y - a \cdot t\right) - \left(b \cdot \left(z \cdot c - a \cdot i\right) - \left(c \cdot t - y \cdot i\right) \cdot j\right)\\
\mathbf{if}\;t < -8.120978919195912 \cdot 10^{-33}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;t < -4.712553818218485 \cdot 10^{-169}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;t < -7.633533346031584 \cdot 10^{-308}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;t < 1.0535888557455487 \cdot 10^{-139}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
herbie shell --seed 2024110
(FPCore (x y z t a b c i j)
:name "Linear.Matrix:det33 from linear-1.19.1.3"
:precision binary64
:alt
(if (< t -8.120978919195912e-33) (- (* x (- (* z y) (* a t))) (- (* b (- (* z c) (* a i))) (* (- (* c t) (* y i)) j))) (if (< t -4.712553818218485e-169) (+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (/ (* j (- (pow (* c t) 2.0) (pow (* i y) 2.0))) (+ (* c t) (* i y)))) (if (< t -7.633533346031584e-308) (- (* x (- (* z y) (* a t))) (- (* b (- (* z c) (* a i))) (* (- (* c t) (* y i)) j))) (if (< t 1.0535888557455487e-139) (+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (/ (* j (- (pow (* c t) 2.0) (pow (* i y) 2.0))) (+ (* c t) (* i y)))) (- (* x (- (* z y) (* a t))) (- (* b (- (* z c) (* a i))) (* (- (* c t) (* y i)) j)))))))
(+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y)))))