
(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 18 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a b c i j) :precision binary64 (+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)));
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
code = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)))
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)));
}
def code(x, y, z, t, a, b, c, i, j): return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)))
function code(x, y, z, t, a, b, c, i, j) return Float64(Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) - Float64(b * Float64(Float64(c * z) - Float64(i * a)))) + Float64(j * Float64(Float64(c * t) - Float64(i * y)))) end
function tmp = code(x, y, z, t, a, b, c, i, j) tmp = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y))); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := N[(N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b * N[(N[(c * z), $MachinePrecision] - N[(i * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(c * t), $MachinePrecision] - N[(i * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)
\end{array}
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1
(+
(+ (* x (- (* y z) (* t a))) (* b (- (* a i) (* z c))))
(* j (- (* t c) (* y i))))))
(if (<= t_1 INFINITY) t_1 (* a (- (* b i) (* x t))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = ((x * ((y * z) - (t * a))) + (b * ((a * i) - (z * c)))) + (j * ((t * c) - (y * i)));
double tmp;
if (t_1 <= ((double) INFINITY)) {
tmp = t_1;
} else {
tmp = a * ((b * i) - (x * t));
}
return tmp;
}
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = ((x * ((y * z) - (t * a))) + (b * ((a * i) - (z * c)))) + (j * ((t * c) - (y * i)));
double tmp;
if (t_1 <= Double.POSITIVE_INFINITY) {
tmp = t_1;
} else {
tmp = a * ((b * i) - (x * t));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = ((x * ((y * z) - (t * a))) + (b * ((a * i) - (z * c)))) + (j * ((t * c) - (y * i))) tmp = 0 if t_1 <= math.inf: tmp = t_1 else: tmp = a * ((b * i) - (x * t)) return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) + Float64(b * Float64(Float64(a * i) - Float64(z * c)))) + Float64(j * Float64(Float64(t * c) - Float64(y * i)))) tmp = 0.0 if (t_1 <= Inf) tmp = t_1; else tmp = Float64(a * Float64(Float64(b * i) - Float64(x * t))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = ((x * ((y * z) - (t * a))) + (b * ((a * i) - (z * c)))) + (j * ((t * c) - (y * i))); tmp = 0.0; if (t_1 <= Inf) tmp = t_1; else tmp = a * ((b * i) - (x * t)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, Infinity], t$95$1, N[(a * N[(N[(b * i), $MachinePrecision] - N[(x * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(x \cdot \left(y \cdot z - t \cdot a\right) + b \cdot \left(a \cdot i - z \cdot c\right)\right) + j \cdot \left(t \cdot c - y \cdot i\right)\\
\mathbf{if}\;t\_1 \leq \infty:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;a \cdot \left(b \cdot i - x \cdot t\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 95.6%
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 a around inf 58.5%
distribute-lft-out--58.5%
*-commutative58.5%
Simplified58.5%
Final simplification87.6%
(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 (* j (- (* t c) (* y i)))))
(if (<= j -1.18e-26)
t_3
(if (<= j -1.7e-99)
t_2
(if (<= j -1.4e-255)
t_1
(if (<= j 1.22e-200)
(* a (- (* b i) (* x t)))
(if (<= j 3.4e-101)
t_1
(if (<= j 7e+34)
t_2
(if (or (<= j 2.1e+173) (not (<= j 8e+202))) t_3 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 t_2 = b * ((a * i) - (z * c));
double t_3 = j * ((t * c) - (y * i));
double tmp;
if (j <= -1.18e-26) {
tmp = t_3;
} else if (j <= -1.7e-99) {
tmp = t_2;
} else if (j <= -1.4e-255) {
tmp = t_1;
} else if (j <= 1.22e-200) {
tmp = a * ((b * i) - (x * t));
} else if (j <= 3.4e-101) {
tmp = t_1;
} else if (j <= 7e+34) {
tmp = t_2;
} else if ((j <= 2.1e+173) || !(j <= 8e+202)) {
tmp = t_3;
} 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) :: t_3
real(8) :: tmp
t_1 = x * ((y * z) - (t * a))
t_2 = b * ((a * i) - (z * c))
t_3 = j * ((t * c) - (y * i))
if (j <= (-1.18d-26)) then
tmp = t_3
else if (j <= (-1.7d-99)) then
tmp = t_2
else if (j <= (-1.4d-255)) then
tmp = t_1
else if (j <= 1.22d-200) then
tmp = a * ((b * i) - (x * t))
else if (j <= 3.4d-101) then
tmp = t_1
else if (j <= 7d+34) then
tmp = t_2
else if ((j <= 2.1d+173) .or. (.not. (j <= 8d+202))) then
tmp = t_3
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 t_2 = b * ((a * i) - (z * c));
double t_3 = j * ((t * c) - (y * i));
double tmp;
if (j <= -1.18e-26) {
tmp = t_3;
} else if (j <= -1.7e-99) {
tmp = t_2;
} else if (j <= -1.4e-255) {
tmp = t_1;
} else if (j <= 1.22e-200) {
tmp = a * ((b * i) - (x * t));
} else if (j <= 3.4e-101) {
tmp = t_1;
} else if (j <= 7e+34) {
tmp = t_2;
} else if ((j <= 2.1e+173) || !(j <= 8e+202)) {
tmp = t_3;
} else {
tmp = t_1;
}
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 = j * ((t * c) - (y * i)) tmp = 0 if j <= -1.18e-26: tmp = t_3 elif j <= -1.7e-99: tmp = t_2 elif j <= -1.4e-255: tmp = t_1 elif j <= 1.22e-200: tmp = a * ((b * i) - (x * t)) elif j <= 3.4e-101: tmp = t_1 elif j <= 7e+34: tmp = t_2 elif (j <= 2.1e+173) or not (j <= 8e+202): tmp = t_3 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))) t_2 = Float64(b * Float64(Float64(a * i) - Float64(z * c))) t_3 = Float64(j * Float64(Float64(t * c) - Float64(y * i))) tmp = 0.0 if (j <= -1.18e-26) tmp = t_3; elseif (j <= -1.7e-99) tmp = t_2; elseif (j <= -1.4e-255) tmp = t_1; elseif (j <= 1.22e-200) tmp = Float64(a * Float64(Float64(b * i) - Float64(x * t))); elseif (j <= 3.4e-101) tmp = t_1; elseif (j <= 7e+34) tmp = t_2; elseif ((j <= 2.1e+173) || !(j <= 8e+202)) tmp = t_3; 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)); t_2 = b * ((a * i) - (z * c)); t_3 = j * ((t * c) - (y * i)); tmp = 0.0; if (j <= -1.18e-26) tmp = t_3; elseif (j <= -1.7e-99) tmp = t_2; elseif (j <= -1.4e-255) tmp = t_1; elseif (j <= 1.22e-200) tmp = a * ((b * i) - (x * t)); elseif (j <= 3.4e-101) tmp = t_1; elseif (j <= 7e+34) tmp = t_2; elseif ((j <= 2.1e+173) || ~((j <= 8e+202))) tmp = t_3; 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]}, Block[{t$95$2 = N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -1.18e-26], t$95$3, If[LessEqual[j, -1.7e-99], t$95$2, If[LessEqual[j, -1.4e-255], t$95$1, If[LessEqual[j, 1.22e-200], N[(a * N[(N[(b * i), $MachinePrecision] - N[(x * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 3.4e-101], t$95$1, If[LessEqual[j, 7e+34], t$95$2, If[Or[LessEqual[j, 2.1e+173], N[Not[LessEqual[j, 8e+202]], $MachinePrecision]], t$95$3, t$95$1]]]]]]]]]]
\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 := j \cdot \left(t \cdot c - y \cdot i\right)\\
\mathbf{if}\;j \leq -1.18 \cdot 10^{-26}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;j \leq -1.7 \cdot 10^{-99}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;j \leq -1.4 \cdot 10^{-255}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;j \leq 1.22 \cdot 10^{-200}:\\
\;\;\;\;a \cdot \left(b \cdot i - x \cdot t\right)\\
\mathbf{elif}\;j \leq 3.4 \cdot 10^{-101}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;j \leq 7 \cdot 10^{+34}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;j \leq 2.1 \cdot 10^{+173} \lor \neg \left(j \leq 8 \cdot 10^{+202}\right):\\
\;\;\;\;t\_3\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if j < -1.17999999999999996e-26 or 6.99999999999999996e34 < j < 2.1e173 or 7.9999999999999992e202 < j Initial program 77.2%
Taylor expanded in t around inf 71.5%
mul-1-neg71.5%
distribute-rgt-neg-in71.5%
distribute-rgt-neg-in71.5%
Simplified71.5%
Taylor expanded in a around 0 69.3%
if -1.17999999999999996e-26 < j < -1.70000000000000003e-99 or 3.39999999999999989e-101 < j < 6.99999999999999996e34Initial program 79.1%
Taylor expanded in b around inf 67.4%
*-commutative67.4%
Simplified67.4%
if -1.70000000000000003e-99 < j < -1.40000000000000006e-255 or 1.22000000000000005e-200 < j < 3.39999999999999989e-101 or 2.1e173 < j < 7.9999999999999992e202Initial program 75.8%
Taylor expanded in x around inf 71.4%
*-commutative71.4%
Simplified71.4%
if -1.40000000000000006e-255 < j < 1.22000000000000005e-200Initial program 59.2%
Taylor expanded in a around inf 67.5%
distribute-lft-out--67.5%
*-commutative67.5%
Simplified67.5%
Final simplification69.4%
(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 (* j (- (* t c) (* y i)))))
(if (<= j -7e-26)
t_3
(if (<= j -6.6e-99)
t_2
(if (<= j -7e-256)
t_1
(if (<= j 4.6e-197)
t_2
(if (or (<= j 1.8e-12) (and (not (<= j 1.8e+171)) (<= j 8e+202)))
t_1
t_3)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = x * ((y * z) - (t * a));
double t_2 = b * ((a * i) - (z * c));
double t_3 = j * ((t * c) - (y * i));
double tmp;
if (j <= -7e-26) {
tmp = t_3;
} else if (j <= -6.6e-99) {
tmp = t_2;
} else if (j <= -7e-256) {
tmp = t_1;
} else if (j <= 4.6e-197) {
tmp = t_2;
} else if ((j <= 1.8e-12) || (!(j <= 1.8e+171) && (j <= 8e+202))) {
tmp = t_1;
} else {
tmp = t_3;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = x * ((y * z) - (t * a))
t_2 = b * ((a * i) - (z * c))
t_3 = j * ((t * c) - (y * i))
if (j <= (-7d-26)) then
tmp = t_3
else if (j <= (-6.6d-99)) then
tmp = t_2
else if (j <= (-7d-256)) then
tmp = t_1
else if (j <= 4.6d-197) then
tmp = t_2
else if ((j <= 1.8d-12) .or. (.not. (j <= 1.8d+171)) .and. (j <= 8d+202)) then
tmp = t_1
else
tmp = t_3
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = x * ((y * z) - (t * a));
double t_2 = b * ((a * i) - (z * c));
double t_3 = j * ((t * c) - (y * i));
double tmp;
if (j <= -7e-26) {
tmp = t_3;
} else if (j <= -6.6e-99) {
tmp = t_2;
} else if (j <= -7e-256) {
tmp = t_1;
} else if (j <= 4.6e-197) {
tmp = t_2;
} else if ((j <= 1.8e-12) || (!(j <= 1.8e+171) && (j <= 8e+202))) {
tmp = t_1;
} else {
tmp = t_3;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = x * ((y * z) - (t * a)) t_2 = b * ((a * i) - (z * c)) t_3 = j * ((t * c) - (y * i)) tmp = 0 if j <= -7e-26: tmp = t_3 elif j <= -6.6e-99: tmp = t_2 elif j <= -7e-256: tmp = t_1 elif j <= 4.6e-197: tmp = t_2 elif (j <= 1.8e-12) or (not (j <= 1.8e+171) and (j <= 8e+202)): tmp = t_1 else: tmp = t_3 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(x * Float64(Float64(y * z) - Float64(t * a))) t_2 = Float64(b * Float64(Float64(a * i) - Float64(z * c))) t_3 = Float64(j * Float64(Float64(t * c) - Float64(y * i))) tmp = 0.0 if (j <= -7e-26) tmp = t_3; elseif (j <= -6.6e-99) tmp = t_2; elseif (j <= -7e-256) tmp = t_1; elseif (j <= 4.6e-197) tmp = t_2; elseif ((j <= 1.8e-12) || (!(j <= 1.8e+171) && (j <= 8e+202))) tmp = t_1; else tmp = t_3; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = x * ((y * z) - (t * a)); t_2 = b * ((a * i) - (z * c)); t_3 = j * ((t * c) - (y * i)); tmp = 0.0; if (j <= -7e-26) tmp = t_3; elseif (j <= -6.6e-99) tmp = t_2; elseif (j <= -7e-256) tmp = t_1; elseif (j <= 4.6e-197) tmp = t_2; elseif ((j <= 1.8e-12) || (~((j <= 1.8e+171)) && (j <= 8e+202))) tmp = t_1; else tmp = t_3; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(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[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -7e-26], t$95$3, If[LessEqual[j, -6.6e-99], t$95$2, If[LessEqual[j, -7e-256], t$95$1, If[LessEqual[j, 4.6e-197], t$95$2, If[Or[LessEqual[j, 1.8e-12], And[N[Not[LessEqual[j, 1.8e+171]], $MachinePrecision], LessEqual[j, 8e+202]]], t$95$1, t$95$3]]]]]]]]
\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 := j \cdot \left(t \cdot c - y \cdot i\right)\\
\mathbf{if}\;j \leq -7 \cdot 10^{-26}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;j \leq -6.6 \cdot 10^{-99}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;j \leq -7 \cdot 10^{-256}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;j \leq 4.6 \cdot 10^{-197}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;j \leq 1.8 \cdot 10^{-12} \lor \neg \left(j \leq 1.8 \cdot 10^{+171}\right) \land j \leq 8 \cdot 10^{+202}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_3\\
\end{array}
\end{array}
if j < -6.9999999999999997e-26 or 1.8e-12 < j < 1.80000000000000009e171 or 7.9999999999999992e202 < j Initial program 77.4%
Taylor expanded in t around inf 71.0%
mul-1-neg71.0%
distribute-rgt-neg-in71.0%
distribute-rgt-neg-in71.0%
Simplified71.0%
Taylor expanded in a around 0 68.8%
if -6.9999999999999997e-26 < j < -6.59999999999999973e-99 or -7.00000000000000028e-256 < j < 4.6000000000000001e-197Initial program 65.8%
Taylor expanded in b around inf 68.2%
*-commutative68.2%
Simplified68.2%
if -6.59999999999999973e-99 < j < -7.00000000000000028e-256 or 4.6000000000000001e-197 < j < 1.8e-12 or 1.80000000000000009e171 < j < 7.9999999999999992e202Initial program 76.6%
Taylor expanded in x around inf 66.8%
*-commutative66.8%
Simplified66.8%
Final simplification68.1%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* c (* t j))))
(if (<= j -8.5e+53)
t_1
(if (<= j -9e-256)
(* y (* x z))
(if (<= j 1.25e-200)
(* a (* b i))
(if (<= j 1.16e-116)
(* z (* x y))
(if (<= j 1.48e+29)
(* b (* a i))
(if (<= j 4.5e+240) t_1 (* i (* y (- 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 <= -8.5e+53) {
tmp = t_1;
} else if (j <= -9e-256) {
tmp = y * (x * z);
} else if (j <= 1.25e-200) {
tmp = a * (b * i);
} else if (j <= 1.16e-116) {
tmp = z * (x * y);
} else if (j <= 1.48e+29) {
tmp = b * (a * i);
} else if (j <= 4.5e+240) {
tmp = t_1;
} else {
tmp = i * (y * -j);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: tmp
t_1 = c * (t * j)
if (j <= (-8.5d+53)) then
tmp = t_1
else if (j <= (-9d-256)) then
tmp = y * (x * z)
else if (j <= 1.25d-200) then
tmp = a * (b * i)
else if (j <= 1.16d-116) then
tmp = z * (x * y)
else if (j <= 1.48d+29) then
tmp = b * (a * i)
else if (j <= 4.5d+240) then
tmp = t_1
else
tmp = i * (y * -j)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = c * (t * j);
double tmp;
if (j <= -8.5e+53) {
tmp = t_1;
} else if (j <= -9e-256) {
tmp = y * (x * z);
} else if (j <= 1.25e-200) {
tmp = a * (b * i);
} else if (j <= 1.16e-116) {
tmp = z * (x * y);
} else if (j <= 1.48e+29) {
tmp = b * (a * i);
} else if (j <= 4.5e+240) {
tmp = t_1;
} else {
tmp = i * (y * -j);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = c * (t * j) tmp = 0 if j <= -8.5e+53: tmp = t_1 elif j <= -9e-256: tmp = y * (x * z) elif j <= 1.25e-200: tmp = a * (b * i) elif j <= 1.16e-116: tmp = z * (x * y) elif j <= 1.48e+29: tmp = b * (a * i) elif j <= 4.5e+240: tmp = t_1 else: tmp = i * (y * -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 <= -8.5e+53) tmp = t_1; elseif (j <= -9e-256) tmp = Float64(y * Float64(x * z)); elseif (j <= 1.25e-200) tmp = Float64(a * Float64(b * i)); elseif (j <= 1.16e-116) tmp = Float64(z * Float64(x * y)); elseif (j <= 1.48e+29) tmp = Float64(b * Float64(a * i)); elseif (j <= 4.5e+240) tmp = t_1; else tmp = Float64(i * Float64(y * 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 <= -8.5e+53) tmp = t_1; elseif (j <= -9e-256) tmp = y * (x * z); elseif (j <= 1.25e-200) tmp = a * (b * i); elseif (j <= 1.16e-116) tmp = z * (x * y); elseif (j <= 1.48e+29) tmp = b * (a * i); elseif (j <= 4.5e+240) tmp = t_1; else tmp = i * (y * -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, -8.5e+53], t$95$1, If[LessEqual[j, -9e-256], N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.25e-200], N[(a * N[(b * i), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.16e-116], N[(z * N[(x * y), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.48e+29], N[(b * N[(a * i), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 4.5e+240], t$95$1, N[(i * N[(y * (-j)), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c \cdot \left(t \cdot j\right)\\
\mathbf{if}\;j \leq -8.5 \cdot 10^{+53}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;j \leq -9 \cdot 10^{-256}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\mathbf{elif}\;j \leq 1.25 \cdot 10^{-200}:\\
\;\;\;\;a \cdot \left(b \cdot i\right)\\
\mathbf{elif}\;j \leq 1.16 \cdot 10^{-116}:\\
\;\;\;\;z \cdot \left(x \cdot y\right)\\
\mathbf{elif}\;j \leq 1.48 \cdot 10^{+29}:\\
\;\;\;\;b \cdot \left(a \cdot i\right)\\
\mathbf{elif}\;j \leq 4.5 \cdot 10^{+240}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;i \cdot \left(y \cdot \left(-j\right)\right)\\
\end{array}
\end{array}
if j < -8.5000000000000002e53 or 1.48e29 < j < 4.49999999999999979e240Initial program 78.2%
Taylor expanded in t around inf 70.1%
mul-1-neg70.1%
distribute-rgt-neg-in70.1%
distribute-rgt-neg-in70.1%
Simplified70.1%
Taylor expanded in c around inf 45.0%
*-commutative45.0%
Simplified45.0%
if -8.5000000000000002e53 < j < -9.0000000000000005e-256Initial program 82.4%
Taylor expanded in y around inf 51.3%
+-commutative51.3%
mul-1-neg51.3%
unsub-neg51.3%
*-commutative51.3%
Simplified51.3%
Taylor expanded in z around inf 39.8%
if -9.0000000000000005e-256 < j < 1.24999999999999998e-200Initial program 59.2%
Taylor expanded in b around inf 66.5%
*-commutative66.5%
Simplified66.5%
Taylor expanded in i around inf 54.9%
if 1.24999999999999998e-200 < j < 1.16e-116Initial program 44.2%
Taylor expanded in x around inf 81.2%
*-commutative81.2%
Simplified81.2%
Taylor expanded in y around inf 51.1%
associate-*r*51.2%
*-commutative51.2%
Simplified51.2%
if 1.16e-116 < j < 1.48e29Initial program 84.8%
Taylor expanded in b around inf 55.9%
*-commutative55.9%
Simplified55.9%
Taylor expanded in i around inf 41.2%
if 4.49999999999999979e240 < j Initial program 70.7%
Taylor expanded in t around inf 71.2%
mul-1-neg71.2%
distribute-rgt-neg-in71.2%
distribute-rgt-neg-in71.2%
Simplified71.2%
Taylor expanded in t around 0 54.2%
associate-*r*54.2%
neg-mul-154.2%
*-commutative54.2%
Simplified54.2%
Final simplification45.5%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* a (* b i))))
(if (<= x -1.9e+229)
(* a (* x (- t)))
(if (<= x -6.9e+167)
(* x (* y z))
(if (<= x -1.14e+136)
t_1
(if (<= x -2.7e-90)
(* c (* t j))
(if (<= x -4.7e-257)
(* z (* b (- c)))
(if (<= x 5.8e+38) t_1 (* y (* x z))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = a * (b * i);
double tmp;
if (x <= -1.9e+229) {
tmp = a * (x * -t);
} else if (x <= -6.9e+167) {
tmp = x * (y * z);
} else if (x <= -1.14e+136) {
tmp = t_1;
} else if (x <= -2.7e-90) {
tmp = c * (t * j);
} else if (x <= -4.7e-257) {
tmp = z * (b * -c);
} else if (x <= 5.8e+38) {
tmp = t_1;
} else {
tmp = y * (x * z);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: tmp
t_1 = a * (b * i)
if (x <= (-1.9d+229)) then
tmp = a * (x * -t)
else if (x <= (-6.9d+167)) then
tmp = x * (y * z)
else if (x <= (-1.14d+136)) then
tmp = t_1
else if (x <= (-2.7d-90)) then
tmp = c * (t * j)
else if (x <= (-4.7d-257)) then
tmp = z * (b * -c)
else if (x <= 5.8d+38) then
tmp = t_1
else
tmp = y * (x * z)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = a * (b * i);
double tmp;
if (x <= -1.9e+229) {
tmp = a * (x * -t);
} else if (x <= -6.9e+167) {
tmp = x * (y * z);
} else if (x <= -1.14e+136) {
tmp = t_1;
} else if (x <= -2.7e-90) {
tmp = c * (t * j);
} else if (x <= -4.7e-257) {
tmp = z * (b * -c);
} else if (x <= 5.8e+38) {
tmp = t_1;
} else {
tmp = y * (x * z);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = a * (b * i) tmp = 0 if x <= -1.9e+229: tmp = a * (x * -t) elif x <= -6.9e+167: tmp = x * (y * z) elif x <= -1.14e+136: tmp = t_1 elif x <= -2.7e-90: tmp = c * (t * j) elif x <= -4.7e-257: tmp = z * (b * -c) elif x <= 5.8e+38: tmp = t_1 else: tmp = y * (x * z) return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(a * Float64(b * i)) tmp = 0.0 if (x <= -1.9e+229) tmp = Float64(a * Float64(x * Float64(-t))); elseif (x <= -6.9e+167) tmp = Float64(x * Float64(y * z)); elseif (x <= -1.14e+136) tmp = t_1; elseif (x <= -2.7e-90) tmp = Float64(c * Float64(t * j)); elseif (x <= -4.7e-257) tmp = Float64(z * Float64(b * Float64(-c))); elseif (x <= 5.8e+38) tmp = t_1; else tmp = Float64(y * Float64(x * z)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = a * (b * i); tmp = 0.0; if (x <= -1.9e+229) tmp = a * (x * -t); elseif (x <= -6.9e+167) tmp = x * (y * z); elseif (x <= -1.14e+136) tmp = t_1; elseif (x <= -2.7e-90) tmp = c * (t * j); elseif (x <= -4.7e-257) tmp = z * (b * -c); elseif (x <= 5.8e+38) tmp = t_1; else tmp = y * (x * z); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(a * N[(b * i), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[x, -1.9e+229], N[(a * N[(x * (-t)), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -6.9e+167], N[(x * N[(y * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -1.14e+136], t$95$1, If[LessEqual[x, -2.7e-90], N[(c * N[(t * j), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, -4.7e-257], N[(z * N[(b * (-c)), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 5.8e+38], t$95$1, N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(b \cdot i\right)\\
\mathbf{if}\;x \leq -1.9 \cdot 10^{+229}:\\
\;\;\;\;a \cdot \left(x \cdot \left(-t\right)\right)\\
\mathbf{elif}\;x \leq -6.9 \cdot 10^{+167}:\\
\;\;\;\;x \cdot \left(y \cdot z\right)\\
\mathbf{elif}\;x \leq -1.14 \cdot 10^{+136}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;x \leq -2.7 \cdot 10^{-90}:\\
\;\;\;\;c \cdot \left(t \cdot j\right)\\
\mathbf{elif}\;x \leq -4.7 \cdot 10^{-257}:\\
\;\;\;\;z \cdot \left(b \cdot \left(-c\right)\right)\\
\mathbf{elif}\;x \leq 5.8 \cdot 10^{+38}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\end{array}
\end{array}
if x < -1.90000000000000009e229Initial program 84.1%
Taylor expanded in x around inf 69.8%
*-commutative69.8%
Simplified69.8%
Taylor expanded in y around 0 57.8%
*-commutative57.8%
associate-*r*57.8%
*-commutative57.8%
associate-*r*57.8%
neg-mul-157.8%
Simplified57.8%
if -1.90000000000000009e229 < x < -6.90000000000000042e167Initial program 84.9%
Taylor expanded in x around inf 72.3%
*-commutative72.3%
Simplified72.3%
Taylor expanded in y around inf 48.6%
*-commutative48.6%
Simplified48.6%
if -6.90000000000000042e167 < x < -1.14e136 or -4.6999999999999998e-257 < x < 5.80000000000000013e38Initial program 71.0%
Taylor expanded in b around inf 48.3%
*-commutative48.3%
Simplified48.3%
Taylor expanded in i around inf 41.5%
if -1.14e136 < x < -2.69999999999999996e-90Initial program 81.1%
Taylor expanded in t around inf 53.8%
mul-1-neg53.8%
distribute-rgt-neg-in53.8%
distribute-rgt-neg-in53.8%
Simplified53.8%
Taylor expanded in c around inf 37.6%
*-commutative37.6%
Simplified37.6%
if -2.69999999999999996e-90 < x < -4.6999999999999998e-257Initial program 71.5%
Taylor expanded in z around inf 47.4%
*-commutative47.4%
*-commutative47.4%
Simplified47.4%
Taylor expanded in y around 0 45.3%
mul-1-neg45.3%
*-commutative45.3%
distribute-rgt-neg-in45.3%
Simplified45.3%
if 5.80000000000000013e38 < x Initial program 70.3%
Taylor expanded in y around inf 62.1%
+-commutative62.1%
mul-1-neg62.1%
unsub-neg62.1%
*-commutative62.1%
Simplified62.1%
Taylor expanded in z around inf 52.8%
Final simplification45.3%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* j (- (* t c) (* y i))))
(t_2 (+ t_1 (* y (* x z))))
(t_3 (* b (* c (- (* a (/ i c)) z)))))
(if (<= b -8.8e+55)
t_3
(if (<= b 9.2e-243)
t_2
(if (<= b 1.8e-44)
(- t_1 (* a (* x t)))
(if (<= b 1.05e+121) 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 + (y * (x * z));
double t_3 = b * (c * ((a * (i / c)) - z));
double tmp;
if (b <= -8.8e+55) {
tmp = t_3;
} else if (b <= 9.2e-243) {
tmp = t_2;
} else if (b <= 1.8e-44) {
tmp = t_1 - (a * (x * t));
} else if (b <= 1.05e+121) {
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 + (y * (x * z))
t_3 = b * (c * ((a * (i / c)) - z))
if (b <= (-8.8d+55)) then
tmp = t_3
else if (b <= 9.2d-243) then
tmp = t_2
else if (b <= 1.8d-44) then
tmp = t_1 - (a * (x * t))
else if (b <= 1.05d+121) 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 + (y * (x * z));
double t_3 = b * (c * ((a * (i / c)) - z));
double tmp;
if (b <= -8.8e+55) {
tmp = t_3;
} else if (b <= 9.2e-243) {
tmp = t_2;
} else if (b <= 1.8e-44) {
tmp = t_1 - (a * (x * t));
} else if (b <= 1.05e+121) {
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 + (y * (x * z)) t_3 = b * (c * ((a * (i / c)) - z)) tmp = 0 if b <= -8.8e+55: tmp = t_3 elif b <= 9.2e-243: tmp = t_2 elif b <= 1.8e-44: tmp = t_1 - (a * (x * t)) elif b <= 1.05e+121: 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(y * Float64(x * z))) t_3 = Float64(b * Float64(c * Float64(Float64(a * Float64(i / c)) - z))) tmp = 0.0 if (b <= -8.8e+55) tmp = t_3; elseif (b <= 9.2e-243) tmp = t_2; elseif (b <= 1.8e-44) tmp = Float64(t_1 - Float64(a * Float64(x * t))); elseif (b <= 1.05e+121) 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 + (y * (x * z)); t_3 = b * (c * ((a * (i / c)) - z)); tmp = 0.0; if (b <= -8.8e+55) tmp = t_3; elseif (b <= 9.2e-243) tmp = t_2; elseif (b <= 1.8e-44) tmp = t_1 - (a * (x * t)); elseif (b <= 1.05e+121) 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[(y * N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(b * N[(c * N[(N[(a * N[(i / c), $MachinePrecision]), $MachinePrecision] - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -8.8e+55], t$95$3, If[LessEqual[b, 9.2e-243], t$95$2, If[LessEqual[b, 1.8e-44], N[(t$95$1 - N[(a * N[(x * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 1.05e+121], 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 + y \cdot \left(x \cdot z\right)\\
t_3 := b \cdot \left(c \cdot \left(a \cdot \frac{i}{c} - z\right)\right)\\
\mathbf{if}\;b \leq -8.8 \cdot 10^{+55}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;b \leq 9.2 \cdot 10^{-243}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;b \leq 1.8 \cdot 10^{-44}:\\
\;\;\;\;t\_1 - a \cdot \left(x \cdot t\right)\\
\mathbf{elif}\;b \leq 1.05 \cdot 10^{+121}:\\
\;\;\;\;t\_2\\
\mathbf{else}:\\
\;\;\;\;t\_3\\
\end{array}
\end{array}
if b < -8.80000000000000042e55 or 1.0500000000000001e121 < b Initial program 66.1%
Taylor expanded in b around inf 65.6%
*-commutative65.6%
Simplified65.6%
Taylor expanded in c around inf 65.6%
associate-/l*66.7%
Simplified66.7%
if -8.80000000000000042e55 < b < 9.20000000000000001e-243 or 1.7999999999999999e-44 < b < 1.0500000000000001e121Initial program 82.7%
Taylor expanded in y around inf 69.4%
*-commutative69.4%
associate-*r*71.6%
Simplified71.6%
if 9.20000000000000001e-243 < b < 1.7999999999999999e-44Initial program 70.7%
Taylor expanded in t around inf 66.8%
mul-1-neg66.8%
distribute-rgt-neg-in66.8%
distribute-rgt-neg-in66.8%
Simplified66.8%
Final simplification69.2%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (+ (* j (- (* t c) (* y i))) (* y (* x z))))
(t_2 (* b (* c (- (* a (/ i c)) z)))))
(if (<= b -9.4e+55)
t_2
(if (<= b 9.5e-244)
t_1
(if (<= b 8e-45)
(- (* j (* i (- (* c (/ t i)) y))) (* a (* x t)))
(if (<= b 3.3e+122) t_1 t_2))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = (j * ((t * c) - (y * i))) + (y * (x * z));
double t_2 = b * (c * ((a * (i / c)) - z));
double tmp;
if (b <= -9.4e+55) {
tmp = t_2;
} else if (b <= 9.5e-244) {
tmp = t_1;
} else if (b <= 8e-45) {
tmp = (j * (i * ((c * (t / i)) - y))) - (a * (x * t));
} else if (b <= 3.3e+122) {
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 = (j * ((t * c) - (y * i))) + (y * (x * z))
t_2 = b * (c * ((a * (i / c)) - z))
if (b <= (-9.4d+55)) then
tmp = t_2
else if (b <= 9.5d-244) then
tmp = t_1
else if (b <= 8d-45) then
tmp = (j * (i * ((c * (t / i)) - y))) - (a * (x * t))
else if (b <= 3.3d+122) 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 = (j * ((t * c) - (y * i))) + (y * (x * z));
double t_2 = b * (c * ((a * (i / c)) - z));
double tmp;
if (b <= -9.4e+55) {
tmp = t_2;
} else if (b <= 9.5e-244) {
tmp = t_1;
} else if (b <= 8e-45) {
tmp = (j * (i * ((c * (t / i)) - y))) - (a * (x * t));
} else if (b <= 3.3e+122) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = (j * ((t * c) - (y * i))) + (y * (x * z)) t_2 = b * (c * ((a * (i / c)) - z)) tmp = 0 if b <= -9.4e+55: tmp = t_2 elif b <= 9.5e-244: tmp = t_1 elif b <= 8e-45: tmp = (j * (i * ((c * (t / i)) - y))) - (a * (x * t)) elif b <= 3.3e+122: tmp = t_1 else: tmp = t_2 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(y * Float64(x * z))) t_2 = Float64(b * Float64(c * Float64(Float64(a * Float64(i / c)) - z))) tmp = 0.0 if (b <= -9.4e+55) tmp = t_2; elseif (b <= 9.5e-244) tmp = t_1; elseif (b <= 8e-45) tmp = Float64(Float64(j * Float64(i * Float64(Float64(c * Float64(t / i)) - y))) - Float64(a * Float64(x * t))); elseif (b <= 3.3e+122) 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 = (j * ((t * c) - (y * i))) + (y * (x * z)); t_2 = b * (c * ((a * (i / c)) - z)); tmp = 0.0; if (b <= -9.4e+55) tmp = t_2; elseif (b <= 9.5e-244) tmp = t_1; elseif (b <= 8e-45) tmp = (j * (i * ((c * (t / i)) - y))) - (a * (x * t)); elseif (b <= 3.3e+122) 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[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(b * N[(c * N[(N[(a * N[(i / c), $MachinePrecision]), $MachinePrecision] - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -9.4e+55], t$95$2, If[LessEqual[b, 9.5e-244], t$95$1, If[LessEqual[b, 8e-45], N[(N[(j * N[(i * N[(N[(c * N[(t / i), $MachinePrecision]), $MachinePrecision] - y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(a * N[(x * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 3.3e+122], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(t \cdot c - y \cdot i\right) + y \cdot \left(x \cdot z\right)\\
t_2 := b \cdot \left(c \cdot \left(a \cdot \frac{i}{c} - z\right)\right)\\
\mathbf{if}\;b \leq -9.4 \cdot 10^{+55}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;b \leq 9.5 \cdot 10^{-244}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 8 \cdot 10^{-45}:\\
\;\;\;\;j \cdot \left(i \cdot \left(c \cdot \frac{t}{i} - y\right)\right) - a \cdot \left(x \cdot t\right)\\
\mathbf{elif}\;b \leq 3.3 \cdot 10^{+122}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if b < -9.4000000000000001e55 or 3.2999999999999999e122 < b Initial program 66.1%
Taylor expanded in b around inf 65.6%
*-commutative65.6%
Simplified65.6%
Taylor expanded in c around inf 65.6%
associate-/l*66.7%
Simplified66.7%
if -9.4000000000000001e55 < b < 9.4999999999999995e-244 or 7.99999999999999987e-45 < b < 3.2999999999999999e122Initial program 82.7%
Taylor expanded in y around inf 69.4%
*-commutative69.4%
associate-*r*71.6%
Simplified71.6%
if 9.4999999999999995e-244 < b < 7.99999999999999987e-45Initial program 70.7%
Taylor expanded in t around inf 66.8%
mul-1-neg66.8%
distribute-rgt-neg-in66.8%
distribute-rgt-neg-in66.8%
Simplified66.8%
Taylor expanded in i around inf 69.2%
associate-/l*66.8%
Simplified66.8%
Final simplification69.2%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (+ (* j (- (* t c) (* y i))) (* y (* x z))))
(t_2 (* b (* c (- (* a (/ i c)) z)))))
(if (<= b -8.6e+55)
t_2
(if (<= b 2.9e-237)
t_1
(if (<= b 2.7e-44)
(- (* j (* t (- c (* i (/ y t))))) (* a (* x t)))
(if (<= b 2.55e+120) t_1 t_2))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = (j * ((t * c) - (y * i))) + (y * (x * z));
double t_2 = b * (c * ((a * (i / c)) - z));
double tmp;
if (b <= -8.6e+55) {
tmp = t_2;
} else if (b <= 2.9e-237) {
tmp = t_1;
} else if (b <= 2.7e-44) {
tmp = (j * (t * (c - (i * (y / t))))) - (a * (x * t));
} else if (b <= 2.55e+120) {
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 = (j * ((t * c) - (y * i))) + (y * (x * z))
t_2 = b * (c * ((a * (i / c)) - z))
if (b <= (-8.6d+55)) then
tmp = t_2
else if (b <= 2.9d-237) then
tmp = t_1
else if (b <= 2.7d-44) then
tmp = (j * (t * (c - (i * (y / t))))) - (a * (x * t))
else if (b <= 2.55d+120) 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 = (j * ((t * c) - (y * i))) + (y * (x * z));
double t_2 = b * (c * ((a * (i / c)) - z));
double tmp;
if (b <= -8.6e+55) {
tmp = t_2;
} else if (b <= 2.9e-237) {
tmp = t_1;
} else if (b <= 2.7e-44) {
tmp = (j * (t * (c - (i * (y / t))))) - (a * (x * t));
} else if (b <= 2.55e+120) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = (j * ((t * c) - (y * i))) + (y * (x * z)) t_2 = b * (c * ((a * (i / c)) - z)) tmp = 0 if b <= -8.6e+55: tmp = t_2 elif b <= 2.9e-237: tmp = t_1 elif b <= 2.7e-44: tmp = (j * (t * (c - (i * (y / t))))) - (a * (x * t)) elif b <= 2.55e+120: tmp = t_1 else: tmp = t_2 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(y * Float64(x * z))) t_2 = Float64(b * Float64(c * Float64(Float64(a * Float64(i / c)) - z))) tmp = 0.0 if (b <= -8.6e+55) tmp = t_2; elseif (b <= 2.9e-237) tmp = t_1; elseif (b <= 2.7e-44) tmp = Float64(Float64(j * Float64(t * Float64(c - Float64(i * Float64(y / t))))) - Float64(a * Float64(x * t))); elseif (b <= 2.55e+120) 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 = (j * ((t * c) - (y * i))) + (y * (x * z)); t_2 = b * (c * ((a * (i / c)) - z)); tmp = 0.0; if (b <= -8.6e+55) tmp = t_2; elseif (b <= 2.9e-237) tmp = t_1; elseif (b <= 2.7e-44) tmp = (j * (t * (c - (i * (y / t))))) - (a * (x * t)); elseif (b <= 2.55e+120) 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[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(b * N[(c * N[(N[(a * N[(i / c), $MachinePrecision]), $MachinePrecision] - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -8.6e+55], t$95$2, If[LessEqual[b, 2.9e-237], t$95$1, If[LessEqual[b, 2.7e-44], N[(N[(j * N[(t * N[(c - N[(i * N[(y / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(a * N[(x * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 2.55e+120], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(t \cdot c - y \cdot i\right) + y \cdot \left(x \cdot z\right)\\
t_2 := b \cdot \left(c \cdot \left(a \cdot \frac{i}{c} - z\right)\right)\\
\mathbf{if}\;b \leq -8.6 \cdot 10^{+55}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;b \leq 2.9 \cdot 10^{-237}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 2.7 \cdot 10^{-44}:\\
\;\;\;\;j \cdot \left(t \cdot \left(c - i \cdot \frac{y}{t}\right)\right) - a \cdot \left(x \cdot t\right)\\
\mathbf{elif}\;b \leq 2.55 \cdot 10^{+120}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if b < -8.5999999999999998e55 or 2.55000000000000014e120 < b Initial program 66.1%
Taylor expanded in b around inf 65.6%
*-commutative65.6%
Simplified65.6%
Taylor expanded in c around inf 65.6%
associate-/l*66.7%
Simplified66.7%
if -8.5999999999999998e55 < b < 2.90000000000000011e-237 or 2.6999999999999999e-44 < b < 2.55000000000000014e120Initial program 83.0%
Taylor expanded in y around inf 69.2%
*-commutative69.2%
associate-*r*71.4%
Simplified71.4%
if 2.90000000000000011e-237 < b < 2.6999999999999999e-44Initial program 69.3%
Taylor expanded in t around inf 67.5%
mul-1-neg67.5%
distribute-rgt-neg-in67.5%
distribute-rgt-neg-in67.5%
Simplified67.5%
Taylor expanded in t around inf 67.4%
mul-1-neg67.4%
unsub-neg67.4%
associate-/l*72.6%
Simplified72.6%
Final simplification69.9%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* j (- (* t c) (* y i)))))
(if (<= j -2.05e-17)
t_1
(if (<= j -7.5e-256)
(* x (* y (- z (/ (* t a) y))))
(if (<= j 1.7e-198)
(* a (- (* b i) (* x t)))
(if (<= j 5.4e-102)
(* x (- (* y z) (* t a)))
(if (<= j 6.4e+23) (* 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 = j * ((t * c) - (y * i));
double tmp;
if (j <= -2.05e-17) {
tmp = t_1;
} else if (j <= -7.5e-256) {
tmp = x * (y * (z - ((t * a) / y)));
} else if (j <= 1.7e-198) {
tmp = a * ((b * i) - (x * t));
} else if (j <= 5.4e-102) {
tmp = x * ((y * z) - (t * a));
} else if (j <= 6.4e+23) {
tmp = 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 = j * ((t * c) - (y * i))
if (j <= (-2.05d-17)) then
tmp = t_1
else if (j <= (-7.5d-256)) then
tmp = x * (y * (z - ((t * a) / y)))
else if (j <= 1.7d-198) then
tmp = a * ((b * i) - (x * t))
else if (j <= 5.4d-102) then
tmp = x * ((y * z) - (t * a))
else if (j <= 6.4d+23) then
tmp = 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 = j * ((t * c) - (y * i));
double tmp;
if (j <= -2.05e-17) {
tmp = t_1;
} else if (j <= -7.5e-256) {
tmp = x * (y * (z - ((t * a) / y)));
} else if (j <= 1.7e-198) {
tmp = a * ((b * i) - (x * t));
} else if (j <= 5.4e-102) {
tmp = x * ((y * z) - (t * a));
} else if (j <= 6.4e+23) {
tmp = b * ((a * i) - (z * c));
} 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 <= -2.05e-17: tmp = t_1 elif j <= -7.5e-256: tmp = x * (y * (z - ((t * a) / y))) elif j <= 1.7e-198: tmp = a * ((b * i) - (x * t)) elif j <= 5.4e-102: tmp = x * ((y * z) - (t * a)) elif j <= 6.4e+23: tmp = 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(j * Float64(Float64(t * c) - Float64(y * i))) tmp = 0.0 if (j <= -2.05e-17) tmp = t_1; elseif (j <= -7.5e-256) tmp = Float64(x * Float64(y * Float64(z - Float64(Float64(t * a) / y)))); elseif (j <= 1.7e-198) tmp = Float64(a * Float64(Float64(b * i) - Float64(x * t))); elseif (j <= 5.4e-102) tmp = Float64(x * Float64(Float64(y * z) - Float64(t * a))); elseif (j <= 6.4e+23) tmp = 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 = j * ((t * c) - (y * i)); tmp = 0.0; if (j <= -2.05e-17) tmp = t_1; elseif (j <= -7.5e-256) tmp = x * (y * (z - ((t * a) / y))); elseif (j <= 1.7e-198) tmp = a * ((b * i) - (x * t)); elseif (j <= 5.4e-102) tmp = x * ((y * z) - (t * a)); elseif (j <= 6.4e+23) tmp = 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[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -2.05e-17], t$95$1, If[LessEqual[j, -7.5e-256], N[(x * N[(y * N[(z - N[(N[(t * a), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.7e-198], N[(a * N[(N[(b * i), $MachinePrecision] - N[(x * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 5.4e-102], N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 6.4e+23], N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $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 -2.05 \cdot 10^{-17}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;j \leq -7.5 \cdot 10^{-256}:\\
\;\;\;\;x \cdot \left(y \cdot \left(z - \frac{t \cdot a}{y}\right)\right)\\
\mathbf{elif}\;j \leq 1.7 \cdot 10^{-198}:\\
\;\;\;\;a \cdot \left(b \cdot i - x \cdot t\right)\\
\mathbf{elif}\;j \leq 5.4 \cdot 10^{-102}:\\
\;\;\;\;x \cdot \left(y \cdot z - t \cdot a\right)\\
\mathbf{elif}\;j \leq 6.4 \cdot 10^{+23}:\\
\;\;\;\;b \cdot \left(a \cdot i - z \cdot c\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if j < -2.05e-17 or 6.4e23 < j Initial program 78.9%
Taylor expanded in t around inf 69.2%
mul-1-neg69.2%
distribute-rgt-neg-in69.2%
distribute-rgt-neg-in69.2%
Simplified69.2%
Taylor expanded in a around 0 67.1%
if -2.05e-17 < j < -7.50000000000000005e-256Initial program 79.4%
Taylor expanded in x around inf 59.3%
*-commutative59.3%
Simplified59.3%
Taylor expanded in y around inf 61.1%
mul-1-neg61.1%
unsub-neg61.1%
Simplified61.1%
if -7.50000000000000005e-256 < j < 1.6999999999999999e-198Initial program 59.2%
Taylor expanded in a around inf 67.5%
distribute-lft-out--67.5%
*-commutative67.5%
Simplified67.5%
if 1.6999999999999999e-198 < j < 5.4e-102Initial program 55.3%
Taylor expanded in x around inf 70.4%
*-commutative70.4%
Simplified70.4%
if 5.4e-102 < j < 6.4e23Initial program 81.1%
Taylor expanded in b around inf 63.5%
*-commutative63.5%
Simplified63.5%
Final simplification65.9%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* x (* y z))) (t_2 (* c (* t j))))
(if (<= j -1080000000000.0)
t_2
(if (<= j -7e-256)
t_1
(if (<= j 4e-200)
(* a (* b i))
(if (<= j 6.5e-113) t_1 (if (<= j 1.75e+20) (* b (* a i)) 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);
double t_2 = c * (t * j);
double tmp;
if (j <= -1080000000000.0) {
tmp = t_2;
} else if (j <= -7e-256) {
tmp = t_1;
} else if (j <= 4e-200) {
tmp = a * (b * i);
} else if (j <= 6.5e-113) {
tmp = t_1;
} else if (j <= 1.75e+20) {
tmp = b * (a * i);
} 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_2 = c * (t * j)
if (j <= (-1080000000000.0d0)) then
tmp = t_2
else if (j <= (-7d-256)) then
tmp = t_1
else if (j <= 4d-200) then
tmp = a * (b * i)
else if (j <= 6.5d-113) then
tmp = t_1
else if (j <= 1.75d+20) then
tmp = b * (a * i)
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = x * (y * z);
double t_2 = c * (t * j);
double tmp;
if (j <= -1080000000000.0) {
tmp = t_2;
} else if (j <= -7e-256) {
tmp = t_1;
} else if (j <= 4e-200) {
tmp = a * (b * i);
} else if (j <= 6.5e-113) {
tmp = t_1;
} else if (j <= 1.75e+20) {
tmp = b * (a * i);
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = x * (y * z) t_2 = c * (t * j) tmp = 0 if j <= -1080000000000.0: tmp = t_2 elif j <= -7e-256: tmp = t_1 elif j <= 4e-200: tmp = a * (b * i) elif j <= 6.5e-113: tmp = t_1 elif j <= 1.75e+20: tmp = b * (a * i) else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(x * Float64(y * z)) t_2 = Float64(c * Float64(t * j)) tmp = 0.0 if (j <= -1080000000000.0) tmp = t_2; elseif (j <= -7e-256) tmp = t_1; elseif (j <= 4e-200) tmp = Float64(a * Float64(b * i)); elseif (j <= 6.5e-113) tmp = t_1; elseif (j <= 1.75e+20) tmp = Float64(b * Float64(a * i)); 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_2 = c * (t * j); tmp = 0.0; if (j <= -1080000000000.0) tmp = t_2; elseif (j <= -7e-256) tmp = t_1; elseif (j <= 4e-200) tmp = a * (b * i); elseif (j <= 6.5e-113) tmp = t_1; elseif (j <= 1.75e+20) tmp = b * (a * i); else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(x * N[(y * z), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(c * N[(t * j), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -1080000000000.0], t$95$2, If[LessEqual[j, -7e-256], t$95$1, If[LessEqual[j, 4e-200], N[(a * N[(b * i), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 6.5e-113], t$95$1, If[LessEqual[j, 1.75e+20], N[(b * N[(a * i), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(y \cdot z\right)\\
t_2 := c \cdot \left(t \cdot j\right)\\
\mathbf{if}\;j \leq -1080000000000:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;j \leq -7 \cdot 10^{-256}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;j \leq 4 \cdot 10^{-200}:\\
\;\;\;\;a \cdot \left(b \cdot i\right)\\
\mathbf{elif}\;j \leq 6.5 \cdot 10^{-113}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;j \leq 1.75 \cdot 10^{+20}:\\
\;\;\;\;b \cdot \left(a \cdot i\right)\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if j < -1.08e12 or 1.75e20 < j Initial program 78.1%
Taylor expanded in t around inf 69.5%
mul-1-neg69.5%
distribute-rgt-neg-in69.5%
distribute-rgt-neg-in69.5%
Simplified69.5%
Taylor expanded in c around inf 41.7%
*-commutative41.7%
Simplified41.7%
if -1.08e12 < j < -7.00000000000000028e-256 or 3.9999999999999999e-200 < j < 6.49999999999999979e-113Initial program 73.2%
Taylor expanded in x around inf 62.9%
*-commutative62.9%
Simplified62.9%
Taylor expanded in y around inf 41.9%
*-commutative41.9%
Simplified41.9%
if -7.00000000000000028e-256 < j < 3.9999999999999999e-200Initial program 59.2%
Taylor expanded in b around inf 66.5%
*-commutative66.5%
Simplified66.5%
Taylor expanded in i around inf 54.9%
if 6.49999999999999979e-113 < j < 1.75e20Initial program 84.8%
Taylor expanded in b around inf 55.9%
*-commutative55.9%
Simplified55.9%
Taylor expanded in i around inf 41.2%
Final simplification43.2%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* c (* t j))))
(if (<= j -1.05e+54)
t_1
(if (<= j -1.25e-255)
(* y (* x z))
(if (<= j 2.3e-200)
(* a (* b i))
(if (<= j 2.8e-117)
(* x (* y z))
(if (<= j 2.6e+27) (* b (* a i)) 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 (j <= -1.05e+54) {
tmp = t_1;
} else if (j <= -1.25e-255) {
tmp = y * (x * z);
} else if (j <= 2.3e-200) {
tmp = a * (b * i);
} else if (j <= 2.8e-117) {
tmp = x * (y * z);
} else if (j <= 2.6e+27) {
tmp = b * (a * i);
} 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 (j <= (-1.05d+54)) then
tmp = t_1
else if (j <= (-1.25d-255)) then
tmp = y * (x * z)
else if (j <= 2.3d-200) then
tmp = a * (b * i)
else if (j <= 2.8d-117) then
tmp = x * (y * z)
else if (j <= 2.6d+27) then
tmp = b * (a * i)
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = c * (t * j);
double tmp;
if (j <= -1.05e+54) {
tmp = t_1;
} else if (j <= -1.25e-255) {
tmp = y * (x * z);
} else if (j <= 2.3e-200) {
tmp = a * (b * i);
} else if (j <= 2.8e-117) {
tmp = x * (y * z);
} else if (j <= 2.6e+27) {
tmp = b * (a * i);
} 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 j <= -1.05e+54: tmp = t_1 elif j <= -1.25e-255: tmp = y * (x * z) elif j <= 2.3e-200: tmp = a * (b * i) elif j <= 2.8e-117: tmp = x * (y * z) elif j <= 2.6e+27: tmp = b * (a * i) 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 (j <= -1.05e+54) tmp = t_1; elseif (j <= -1.25e-255) tmp = Float64(y * Float64(x * z)); elseif (j <= 2.3e-200) tmp = Float64(a * Float64(b * i)); elseif (j <= 2.8e-117) tmp = Float64(x * Float64(y * z)); elseif (j <= 2.6e+27) tmp = Float64(b * Float64(a * i)); 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 (j <= -1.05e+54) tmp = t_1; elseif (j <= -1.25e-255) tmp = y * (x * z); elseif (j <= 2.3e-200) tmp = a * (b * i); elseif (j <= 2.8e-117) tmp = x * (y * z); elseif (j <= 2.6e+27) tmp = b * (a * i); 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[j, -1.05e+54], t$95$1, If[LessEqual[j, -1.25e-255], N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 2.3e-200], N[(a * N[(b * i), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 2.8e-117], N[(x * N[(y * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 2.6e+27], N[(b * N[(a * i), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c \cdot \left(t \cdot j\right)\\
\mathbf{if}\;j \leq -1.05 \cdot 10^{+54}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;j \leq -1.25 \cdot 10^{-255}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\mathbf{elif}\;j \leq 2.3 \cdot 10^{-200}:\\
\;\;\;\;a \cdot \left(b \cdot i\right)\\
\mathbf{elif}\;j \leq 2.8 \cdot 10^{-117}:\\
\;\;\;\;x \cdot \left(y \cdot z\right)\\
\mathbf{elif}\;j \leq 2.6 \cdot 10^{+27}:\\
\;\;\;\;b \cdot \left(a \cdot i\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if j < -1.04999999999999993e54 or 2.60000000000000009e27 < j Initial program 77.2%
Taylor expanded in t around inf 70.3%
mul-1-neg70.3%
distribute-rgt-neg-in70.3%
distribute-rgt-neg-in70.3%
Simplified70.3%
Taylor expanded in c around inf 42.4%
*-commutative42.4%
Simplified42.4%
if -1.04999999999999993e54 < j < -1.2499999999999999e-255Initial program 82.4%
Taylor expanded in y around inf 51.3%
+-commutative51.3%
mul-1-neg51.3%
unsub-neg51.3%
*-commutative51.3%
Simplified51.3%
Taylor expanded in z around inf 39.8%
if -1.2499999999999999e-255 < j < 2.30000000000000007e-200Initial program 59.2%
Taylor expanded in b around inf 66.5%
*-commutative66.5%
Simplified66.5%
Taylor expanded in i around inf 54.9%
if 2.30000000000000007e-200 < j < 2.8e-117Initial program 44.2%
Taylor expanded in x around inf 81.2%
*-commutative81.2%
Simplified81.2%
Taylor expanded in y around inf 51.1%
*-commutative51.1%
Simplified51.1%
if 2.8e-117 < j < 2.60000000000000009e27Initial program 84.8%
Taylor expanded in b around inf 55.9%
*-commutative55.9%
Simplified55.9%
Taylor expanded in i around inf 41.2%
Final simplification43.6%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* c (* t j))))
(if (<= j -5.2e+53)
t_1
(if (<= j -1.2e-254)
(* y (* x z))
(if (<= j 2.4e-198)
(* a (* b i))
(if (<= j 7.8e-119)
(* z (* x y))
(if (<= j 1500.0) (* b (* a i)) 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 (j <= -5.2e+53) {
tmp = t_1;
} else if (j <= -1.2e-254) {
tmp = y * (x * z);
} else if (j <= 2.4e-198) {
tmp = a * (b * i);
} else if (j <= 7.8e-119) {
tmp = z * (x * y);
} else if (j <= 1500.0) {
tmp = b * (a * i);
} 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 (j <= (-5.2d+53)) then
tmp = t_1
else if (j <= (-1.2d-254)) then
tmp = y * (x * z)
else if (j <= 2.4d-198) then
tmp = a * (b * i)
else if (j <= 7.8d-119) then
tmp = z * (x * y)
else if (j <= 1500.0d0) then
tmp = b * (a * i)
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = c * (t * j);
double tmp;
if (j <= -5.2e+53) {
tmp = t_1;
} else if (j <= -1.2e-254) {
tmp = y * (x * z);
} else if (j <= 2.4e-198) {
tmp = a * (b * i);
} else if (j <= 7.8e-119) {
tmp = z * (x * y);
} else if (j <= 1500.0) {
tmp = b * (a * i);
} 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 j <= -5.2e+53: tmp = t_1 elif j <= -1.2e-254: tmp = y * (x * z) elif j <= 2.4e-198: tmp = a * (b * i) elif j <= 7.8e-119: tmp = z * (x * y) elif j <= 1500.0: tmp = b * (a * i) 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 (j <= -5.2e+53) tmp = t_1; elseif (j <= -1.2e-254) tmp = Float64(y * Float64(x * z)); elseif (j <= 2.4e-198) tmp = Float64(a * Float64(b * i)); elseif (j <= 7.8e-119) tmp = Float64(z * Float64(x * y)); elseif (j <= 1500.0) tmp = Float64(b * Float64(a * i)); 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 (j <= -5.2e+53) tmp = t_1; elseif (j <= -1.2e-254) tmp = y * (x * z); elseif (j <= 2.4e-198) tmp = a * (b * i); elseif (j <= 7.8e-119) tmp = z * (x * y); elseif (j <= 1500.0) tmp = b * (a * i); 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[j, -5.2e+53], t$95$1, If[LessEqual[j, -1.2e-254], N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 2.4e-198], N[(a * N[(b * i), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 7.8e-119], N[(z * N[(x * y), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1500.0], N[(b * N[(a * i), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c \cdot \left(t \cdot j\right)\\
\mathbf{if}\;j \leq -5.2 \cdot 10^{+53}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;j \leq -1.2 \cdot 10^{-254}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\mathbf{elif}\;j \leq 2.4 \cdot 10^{-198}:\\
\;\;\;\;a \cdot \left(b \cdot i\right)\\
\mathbf{elif}\;j \leq 7.8 \cdot 10^{-119}:\\
\;\;\;\;z \cdot \left(x \cdot y\right)\\
\mathbf{elif}\;j \leq 1500:\\
\;\;\;\;b \cdot \left(a \cdot i\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if j < -5.19999999999999996e53 or 1500 < j Initial program 77.2%
Taylor expanded in t around inf 70.3%
mul-1-neg70.3%
distribute-rgt-neg-in70.3%
distribute-rgt-neg-in70.3%
Simplified70.3%
Taylor expanded in c around inf 42.4%
*-commutative42.4%
Simplified42.4%
if -5.19999999999999996e53 < j < -1.20000000000000001e-254Initial program 82.4%
Taylor expanded in y around inf 51.3%
+-commutative51.3%
mul-1-neg51.3%
unsub-neg51.3%
*-commutative51.3%
Simplified51.3%
Taylor expanded in z around inf 39.8%
if -1.20000000000000001e-254 < j < 2.39999999999999986e-198Initial program 59.2%
Taylor expanded in b around inf 66.5%
*-commutative66.5%
Simplified66.5%
Taylor expanded in i around inf 54.9%
if 2.39999999999999986e-198 < j < 7.7999999999999998e-119Initial program 44.2%
Taylor expanded in x around inf 81.2%
*-commutative81.2%
Simplified81.2%
Taylor expanded in y around inf 51.1%
associate-*r*51.2%
*-commutative51.2%
Simplified51.2%
if 7.7999999999999998e-119 < j < 1500Initial program 84.8%
Taylor expanded in b around inf 55.9%
*-commutative55.9%
Simplified55.9%
Taylor expanded in i around inf 41.2%
Final simplification43.6%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* b (- (* a i) (* z c)))) (t_2 (* j (- (* t c) (* y i)))))
(if (<= j -6.4e-27)
t_2
(if (<= j -1.9e-99)
t_1
(if (<= j -5.4e-254) (* y (* x z)) (if (<= j 8.8e+27) 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 = j * ((t * c) - (y * i));
double tmp;
if (j <= -6.4e-27) {
tmp = t_2;
} else if (j <= -1.9e-99) {
tmp = t_1;
} else if (j <= -5.4e-254) {
tmp = y * (x * z);
} else if (j <= 8.8e+27) {
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 = b * ((a * i) - (z * c))
t_2 = j * ((t * c) - (y * i))
if (j <= (-6.4d-27)) then
tmp = t_2
else if (j <= (-1.9d-99)) then
tmp = t_1
else if (j <= (-5.4d-254)) then
tmp = y * (x * z)
else if (j <= 8.8d+27) 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 = b * ((a * i) - (z * c));
double t_2 = j * ((t * c) - (y * i));
double tmp;
if (j <= -6.4e-27) {
tmp = t_2;
} else if (j <= -1.9e-99) {
tmp = t_1;
} else if (j <= -5.4e-254) {
tmp = y * (x * z);
} else if (j <= 8.8e+27) {
tmp = 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 = j * ((t * c) - (y * i)) tmp = 0 if j <= -6.4e-27: tmp = t_2 elif j <= -1.9e-99: tmp = t_1 elif j <= -5.4e-254: tmp = y * (x * z) elif j <= 8.8e+27: tmp = 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(j * Float64(Float64(t * c) - Float64(y * i))) tmp = 0.0 if (j <= -6.4e-27) tmp = t_2; elseif (j <= -1.9e-99) tmp = t_1; elseif (j <= -5.4e-254) tmp = Float64(y * Float64(x * z)); elseif (j <= 8.8e+27) 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 = b * ((a * i) - (z * c)); t_2 = j * ((t * c) - (y * i)); tmp = 0.0; if (j <= -6.4e-27) tmp = t_2; elseif (j <= -1.9e-99) tmp = t_1; elseif (j <= -5.4e-254) tmp = y * (x * z); elseif (j <= 8.8e+27) 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[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -6.4e-27], t$95$2, If[LessEqual[j, -1.9e-99], t$95$1, If[LessEqual[j, -5.4e-254], N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 8.8e+27], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot \left(a \cdot i - z \cdot c\right)\\
t_2 := j \cdot \left(t \cdot c - y \cdot i\right)\\
\mathbf{if}\;j \leq -6.4 \cdot 10^{-27}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;j \leq -1.9 \cdot 10^{-99}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;j \leq -5.4 \cdot 10^{-254}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\mathbf{elif}\;j \leq 8.8 \cdot 10^{+27}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if j < -6.39999999999999982e-27 or 8.7999999999999995e27 < j Initial program 78.7%
Taylor expanded in t around inf 69.9%
mul-1-neg69.9%
distribute-rgt-neg-in69.9%
distribute-rgt-neg-in69.9%
Simplified69.9%
Taylor expanded in a around 0 66.4%
if -6.39999999999999982e-27 < j < -1.8999999999999998e-99 or -5.40000000000000013e-254 < j < 8.7999999999999995e27Initial program 66.2%
Taylor expanded in b around inf 57.0%
*-commutative57.0%
Simplified57.0%
if -1.8999999999999998e-99 < j < -5.40000000000000013e-254Initial program 81.7%
Taylor expanded in y around inf 58.8%
+-commutative58.8%
mul-1-neg58.8%
unsub-neg58.8%
*-commutative58.8%
Simplified58.8%
Taylor expanded in z around inf 50.2%
Final simplification61.3%
(FPCore (x y z t a b c i j) :precision binary64 (if (or (<= b -1.05e+56) (not (<= b 3.7e+120))) (* b (* c (- (* a (/ i c)) z))) (+ (* j (- (* t c) (* y i))) (* 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 ((b <= -1.05e+56) || !(b <= 3.7e+120)) {
tmp = b * (c * ((a * (i / c)) - z));
} else {
tmp = (j * ((t * c) - (y * i))) + (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 ((b <= (-1.05d+56)) .or. (.not. (b <= 3.7d+120))) then
tmp = b * (c * ((a * (i / c)) - z))
else
tmp = (j * ((t * c) - (y * i))) + (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 ((b <= -1.05e+56) || !(b <= 3.7e+120)) {
tmp = b * (c * ((a * (i / c)) - z));
} else {
tmp = (j * ((t * c) - (y * i))) + (y * (x * z));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if (b <= -1.05e+56) or not (b <= 3.7e+120): tmp = b * (c * ((a * (i / c)) - z)) else: tmp = (j * ((t * c) - (y * i))) + (y * (x * z)) return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if ((b <= -1.05e+56) || !(b <= 3.7e+120)) tmp = Float64(b * Float64(c * Float64(Float64(a * Float64(i / c)) - z))); else tmp = Float64(Float64(j * Float64(Float64(t * c) - Float64(y * i))) + 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 ((b <= -1.05e+56) || ~((b <= 3.7e+120))) tmp = b * (c * ((a * (i / c)) - z)); else tmp = (j * ((t * c) - (y * i))) + (y * (x * z)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[Or[LessEqual[b, -1.05e+56], N[Not[LessEqual[b, 3.7e+120]], $MachinePrecision]], N[(b * N[(c * N[(N[(a * N[(i / c), $MachinePrecision]), $MachinePrecision] - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -1.05 \cdot 10^{+56} \lor \neg \left(b \leq 3.7 \cdot 10^{+120}\right):\\
\;\;\;\;b \cdot \left(c \cdot \left(a \cdot \frac{i}{c} - z\right)\right)\\
\mathbf{else}:\\
\;\;\;\;j \cdot \left(t \cdot c - y \cdot i\right) + y \cdot \left(x \cdot z\right)\\
\end{array}
\end{array}
if b < -1.05000000000000009e56 or 3.70000000000000024e120 < b Initial program 66.1%
Taylor expanded in b around inf 65.6%
*-commutative65.6%
Simplified65.6%
Taylor expanded in c around inf 65.6%
associate-/l*66.7%
Simplified66.7%
if -1.05000000000000009e56 < b < 3.70000000000000024e120Initial program 79.8%
Taylor expanded in y around inf 65.8%
*-commutative65.8%
associate-*r*67.5%
Simplified67.5%
Final simplification67.2%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* b (- (* a i) (* z c)))))
(if (<= b -8.2e-9)
t_1
(if (<= b 1.35e-264)
(* y (* x z))
(if (<= b 8.2e-45) (* x (* t (- a))) t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = b * ((a * i) - (z * c));
double tmp;
if (b <= -8.2e-9) {
tmp = t_1;
} else if (b <= 1.35e-264) {
tmp = y * (x * z);
} else if (b <= 8.2e-45) {
tmp = x * (t * -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 = b * ((a * i) - (z * c))
if (b <= (-8.2d-9)) then
tmp = t_1
else if (b <= 1.35d-264) then
tmp = y * (x * z)
else if (b <= 8.2d-45) then
tmp = x * (t * -a)
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = b * ((a * i) - (z * c));
double tmp;
if (b <= -8.2e-9) {
tmp = t_1;
} else if (b <= 1.35e-264) {
tmp = y * (x * z);
} else if (b <= 8.2e-45) {
tmp = x * (t * -a);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = b * ((a * i) - (z * c)) tmp = 0 if b <= -8.2e-9: tmp = t_1 elif b <= 1.35e-264: tmp = y * (x * z) elif b <= 8.2e-45: tmp = x * (t * -a) else: tmp = t_1 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 (b <= -8.2e-9) tmp = t_1; elseif (b <= 1.35e-264) tmp = Float64(y * Float64(x * z)); elseif (b <= 8.2e-45) tmp = Float64(x * Float64(t * Float64(-a))); else tmp = t_1; 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 (b <= -8.2e-9) tmp = t_1; elseif (b <= 1.35e-264) tmp = y * (x * z); elseif (b <= 8.2e-45) tmp = x * (t * -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[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -8.2e-9], t$95$1, If[LessEqual[b, 1.35e-264], N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 8.2e-45], N[(x * N[(t * (-a)), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot \left(a \cdot i - z \cdot c\right)\\
\mathbf{if}\;b \leq -8.2 \cdot 10^{-9}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 1.35 \cdot 10^{-264}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\mathbf{elif}\;b \leq 8.2 \cdot 10^{-45}:\\
\;\;\;\;x \cdot \left(t \cdot \left(-a\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -8.2000000000000006e-9 or 8.1999999999999998e-45 < b Initial program 70.0%
Taylor expanded in b around inf 57.3%
*-commutative57.3%
Simplified57.3%
if -8.2000000000000006e-9 < b < 1.34999999999999997e-264Initial program 85.7%
Taylor expanded in y around inf 59.8%
+-commutative59.8%
mul-1-neg59.8%
unsub-neg59.8%
*-commutative59.8%
Simplified59.8%
Taylor expanded in z around inf 39.9%
if 1.34999999999999997e-264 < b < 8.1999999999999998e-45Initial program 72.1%
Taylor expanded in x around inf 55.8%
*-commutative55.8%
Simplified55.8%
Taylor expanded in y around 0 42.0%
neg-mul-142.0%
distribute-rgt-neg-in42.0%
Simplified42.0%
Final simplification49.5%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* b (- (* a i) (* z c)))))
(if (<= b -5.8e-9)
t_1
(if (<= b 1.05e-307)
(* y (* x z))
(if (<= b 8e+33) (* c (- (* t j) (* z b))) 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 = b * ((a * i) - (z * c));
double tmp;
if (b <= -5.8e-9) {
tmp = t_1;
} else if (b <= 1.05e-307) {
tmp = y * (x * z);
} else if (b <= 8e+33) {
tmp = c * ((t * j) - (z * b));
} 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 = b * ((a * i) - (z * c))
if (b <= (-5.8d-9)) then
tmp = t_1
else if (b <= 1.05d-307) then
tmp = y * (x * z)
else if (b <= 8d+33) then
tmp = c * ((t * j) - (z * b))
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 = b * ((a * i) - (z * c));
double tmp;
if (b <= -5.8e-9) {
tmp = t_1;
} else if (b <= 1.05e-307) {
tmp = y * (x * z);
} else if (b <= 8e+33) {
tmp = c * ((t * j) - (z * b));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = b * ((a * i) - (z * c)) tmp = 0 if b <= -5.8e-9: tmp = t_1 elif b <= 1.05e-307: tmp = y * (x * z) elif b <= 8e+33: tmp = c * ((t * j) - (z * b)) else: tmp = t_1 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 (b <= -5.8e-9) tmp = t_1; elseif (b <= 1.05e-307) tmp = Float64(y * Float64(x * z)); elseif (b <= 8e+33) tmp = Float64(c * Float64(Float64(t * j) - Float64(z * b))); else tmp = t_1; 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 (b <= -5.8e-9) tmp = t_1; elseif (b <= 1.05e-307) tmp = y * (x * z); elseif (b <= 8e+33) tmp = c * ((t * j) - (z * b)); else tmp = t_1; 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[b, -5.8e-9], t$95$1, If[LessEqual[b, 1.05e-307], N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 8e+33], N[(c * N[(N[(t * j), $MachinePrecision] - N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot \left(a \cdot i - z \cdot c\right)\\
\mathbf{if}\;b \leq -5.8 \cdot 10^{-9}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;b \leq 1.05 \cdot 10^{-307}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\mathbf{elif}\;b \leq 8 \cdot 10^{+33}:\\
\;\;\;\;c \cdot \left(t \cdot j - z \cdot b\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if b < -5.79999999999999982e-9 or 7.9999999999999996e33 < b Initial program 70.8%
Taylor expanded in b around inf 60.2%
*-commutative60.2%
Simplified60.2%
if -5.79999999999999982e-9 < b < 1.0500000000000001e-307Initial program 85.9%
Taylor expanded in y around inf 60.4%
+-commutative60.4%
mul-1-neg60.4%
unsub-neg60.4%
*-commutative60.4%
Simplified60.4%
Taylor expanded in z around inf 40.3%
if 1.0500000000000001e-307 < b < 7.9999999999999996e33Initial program 71.0%
Taylor expanded in c around inf 42.9%
Final simplification50.5%
(FPCore (x y z t a b c i j) :precision binary64 (if (or (<= j -6.8e+15) (not (<= j 3.8e+33))) (* c (* t j)) (* a (* b i))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if ((j <= -6.8e+15) || !(j <= 3.8e+33)) {
tmp = c * (t * j);
} else {
tmp = a * (b * 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 ((j <= (-6.8d+15)) .or. (.not. (j <= 3.8d+33))) then
tmp = c * (t * j)
else
tmp = a * (b * 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 ((j <= -6.8e+15) || !(j <= 3.8e+33)) {
tmp = c * (t * j);
} else {
tmp = a * (b * i);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if (j <= -6.8e+15) or not (j <= 3.8e+33): tmp = c * (t * j) else: tmp = a * (b * i) return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if ((j <= -6.8e+15) || !(j <= 3.8e+33)) tmp = Float64(c * Float64(t * j)); else tmp = Float64(a * Float64(b * i)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if ((j <= -6.8e+15) || ~((j <= 3.8e+33))) tmp = c * (t * j); else tmp = a * (b * i); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[Or[LessEqual[j, -6.8e+15], N[Not[LessEqual[j, 3.8e+33]], $MachinePrecision]], N[(c * N[(t * j), $MachinePrecision]), $MachinePrecision], N[(a * N[(b * i), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;j \leq -6.8 \cdot 10^{+15} \lor \neg \left(j \leq 3.8 \cdot 10^{+33}\right):\\
\;\;\;\;c \cdot \left(t \cdot j\right)\\
\mathbf{else}:\\
\;\;\;\;a \cdot \left(b \cdot i\right)\\
\end{array}
\end{array}
if j < -6.8e15 or 3.80000000000000002e33 < j Initial program 77.8%
Taylor expanded in t around inf 69.8%
mul-1-neg69.8%
distribute-rgt-neg-in69.8%
distribute-rgt-neg-in69.8%
Simplified69.8%
Taylor expanded in c around inf 41.5%
*-commutative41.5%
Simplified41.5%
if -6.8e15 < j < 3.80000000000000002e33Initial program 72.2%
Taylor expanded in b around inf 48.3%
*-commutative48.3%
Simplified48.3%
Taylor expanded in i around inf 35.0%
Final simplification38.3%
(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 75.1%
Taylor expanded in b around inf 38.0%
*-commutative38.0%
Simplified38.0%
Taylor expanded in i around inf 23.1%
Final simplification23.1%
(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 2024089
(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)))))