
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(+
(-
(+
(+
(-
(* (- (* x y) (* z t)) (- (* a b) (* c i)))
(* (- (* x j) (* z k)) (- (* y0 b) (* y1 i))))
(* (- (* x y2) (* z y3)) (- (* y0 c) (* y1 a))))
(* (- (* t j) (* y k)) (- (* y4 b) (* y5 i))))
(* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a))))
(* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
return (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0)));
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
code = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0)))
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
return (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0)));
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): return (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0)))
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) return Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(x * y) - Float64(z * t)) * Float64(Float64(a * b) - Float64(c * i))) - Float64(Float64(Float64(x * j) - Float64(z * k)) * Float64(Float64(y0 * b) - Float64(y1 * i)))) + Float64(Float64(Float64(x * y2) - Float64(z * y3)) * Float64(Float64(y0 * c) - Float64(y1 * a)))) + Float64(Float64(Float64(t * j) - Float64(y * k)) * Float64(Float64(y4 * b) - Float64(y5 * i)))) - Float64(Float64(Float64(t * y2) - Float64(y * y3)) * Float64(Float64(y4 * c) - Float64(y5 * a)))) + Float64(Float64(Float64(k * y2) - Float64(j * y3)) * Float64(Float64(y4 * y1) - Float64(y5 * y0)))) end
function tmp = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0))); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := N[(N[(N[(N[(N[(N[(N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision] * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision] * N[(N[(y0 * b), $MachinePrecision] - N[(y1 * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision] * N[(N[(y0 * c), $MachinePrecision] - N[(y1 * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision] * N[(N[(y4 * b), $MachinePrecision] - N[(y5 * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision] * N[(N[(y4 * c), $MachinePrecision] - N[(y5 * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision] * N[(N[(y4 * y1), $MachinePrecision] - N[(y5 * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 32 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(+
(-
(+
(+
(-
(* (- (* x y) (* z t)) (- (* a b) (* c i)))
(* (- (* x j) (* z k)) (- (* y0 b) (* y1 i))))
(* (- (* x y2) (* z y3)) (- (* y0 c) (* y1 a))))
(* (- (* t j) (* y k)) (- (* y4 b) (* y5 i))))
(* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a))))
(* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
return (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0)));
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
code = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0)))
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
return (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0)));
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): return (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0)))
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) return Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(x * y) - Float64(z * t)) * Float64(Float64(a * b) - Float64(c * i))) - Float64(Float64(Float64(x * j) - Float64(z * k)) * Float64(Float64(y0 * b) - Float64(y1 * i)))) + Float64(Float64(Float64(x * y2) - Float64(z * y3)) * Float64(Float64(y0 * c) - Float64(y1 * a)))) + Float64(Float64(Float64(t * j) - Float64(y * k)) * Float64(Float64(y4 * b) - Float64(y5 * i)))) - Float64(Float64(Float64(t * y2) - Float64(y * y3)) * Float64(Float64(y4 * c) - Float64(y5 * a)))) + Float64(Float64(Float64(k * y2) - Float64(j * y3)) * Float64(Float64(y4 * y1) - Float64(y5 * y0)))) end
function tmp = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0))); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := N[(N[(N[(N[(N[(N[(N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision] * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision] * N[(N[(y0 * b), $MachinePrecision] - N[(y1 * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision] * N[(N[(y0 * c), $MachinePrecision] - N[(y1 * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision] * N[(N[(y4 * b), $MachinePrecision] - N[(y5 * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision] * N[(N[(y4 * c), $MachinePrecision] - N[(y5 * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision] * N[(N[(y4 * y1), $MachinePrecision] - N[(y5 * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)
\end{array}
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* a y1) (* c y0)))
(t_2 (- (* x y) (* z t)))
(t_3 (- (* y1 y4) (* y0 y5)))
(t_4 (- (* b y0) (* i y1)))
(t_5 (* k (+ (- (* y2 t_3) (* y (- (* b y4) (* i y5)))) (* z t_4))))
(t_6
(*
x
(+
(+ (* y (- (* a b) (* c i))) (* y2 (- (* c y0) (* a y1))))
(* j (- (* i y1) (* b y0))))))
(t_7 (- (* t j) (* y k)))
(t_8 (* i (- (* y1 (- (* x j) (* z k))) (+ (* c t_2) (* y5 t_7))))))
(if (<= k -1.4e+173)
t_5
(if (<= k -3.1e-26)
t_8
(if (<= k -2.4e-120)
(* z (+ (* k t_4) (+ (* t (- (* c i) (* a b))) (* y3 t_1))))
(if (<= k -1.02e-230)
t_8
(if (<= k 3.5e-251)
t_6
(if (<= k 3.8e-184)
(* b (+ (+ (* a t_2) (* y4 t_7)) (* y0 (- (* z k) (* x j)))))
(if (<= k 2.1e-30)
t_6
(if (<= k 1960000000000.0)
(*
y3
(+ (* y (- (* c y4) (* a y5))) (- (* z t_1) (* j t_3))))
(if (<= k 4.8e+122)
(* i (* y5 (- (* y k) (* t j))))
t_5)))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (a * y1) - (c * y0);
double t_2 = (x * y) - (z * t);
double t_3 = (y1 * y4) - (y0 * y5);
double t_4 = (b * y0) - (i * y1);
double t_5 = k * (((y2 * t_3) - (y * ((b * y4) - (i * y5)))) + (z * t_4));
double t_6 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))));
double t_7 = (t * j) - (y * k);
double t_8 = i * ((y1 * ((x * j) - (z * k))) - ((c * t_2) + (y5 * t_7)));
double tmp;
if (k <= -1.4e+173) {
tmp = t_5;
} else if (k <= -3.1e-26) {
tmp = t_8;
} else if (k <= -2.4e-120) {
tmp = z * ((k * t_4) + ((t * ((c * i) - (a * b))) + (y3 * t_1)));
} else if (k <= -1.02e-230) {
tmp = t_8;
} else if (k <= 3.5e-251) {
tmp = t_6;
} else if (k <= 3.8e-184) {
tmp = b * (((a * t_2) + (y4 * t_7)) + (y0 * ((z * k) - (x * j))));
} else if (k <= 2.1e-30) {
tmp = t_6;
} else if (k <= 1960000000000.0) {
tmp = y3 * ((y * ((c * y4) - (a * y5))) + ((z * t_1) - (j * t_3)));
} else if (k <= 4.8e+122) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else {
tmp = t_5;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: t_4
real(8) :: t_5
real(8) :: t_6
real(8) :: t_7
real(8) :: t_8
real(8) :: tmp
t_1 = (a * y1) - (c * y0)
t_2 = (x * y) - (z * t)
t_3 = (y1 * y4) - (y0 * y5)
t_4 = (b * y0) - (i * y1)
t_5 = k * (((y2 * t_3) - (y * ((b * y4) - (i * y5)))) + (z * t_4))
t_6 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))))
t_7 = (t * j) - (y * k)
t_8 = i * ((y1 * ((x * j) - (z * k))) - ((c * t_2) + (y5 * t_7)))
if (k <= (-1.4d+173)) then
tmp = t_5
else if (k <= (-3.1d-26)) then
tmp = t_8
else if (k <= (-2.4d-120)) then
tmp = z * ((k * t_4) + ((t * ((c * i) - (a * b))) + (y3 * t_1)))
else if (k <= (-1.02d-230)) then
tmp = t_8
else if (k <= 3.5d-251) then
tmp = t_6
else if (k <= 3.8d-184) then
tmp = b * (((a * t_2) + (y4 * t_7)) + (y0 * ((z * k) - (x * j))))
else if (k <= 2.1d-30) then
tmp = t_6
else if (k <= 1960000000000.0d0) then
tmp = y3 * ((y * ((c * y4) - (a * y5))) + ((z * t_1) - (j * t_3)))
else if (k <= 4.8d+122) then
tmp = i * (y5 * ((y * k) - (t * j)))
else
tmp = t_5
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (a * y1) - (c * y0);
double t_2 = (x * y) - (z * t);
double t_3 = (y1 * y4) - (y0 * y5);
double t_4 = (b * y0) - (i * y1);
double t_5 = k * (((y2 * t_3) - (y * ((b * y4) - (i * y5)))) + (z * t_4));
double t_6 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))));
double t_7 = (t * j) - (y * k);
double t_8 = i * ((y1 * ((x * j) - (z * k))) - ((c * t_2) + (y5 * t_7)));
double tmp;
if (k <= -1.4e+173) {
tmp = t_5;
} else if (k <= -3.1e-26) {
tmp = t_8;
} else if (k <= -2.4e-120) {
tmp = z * ((k * t_4) + ((t * ((c * i) - (a * b))) + (y3 * t_1)));
} else if (k <= -1.02e-230) {
tmp = t_8;
} else if (k <= 3.5e-251) {
tmp = t_6;
} else if (k <= 3.8e-184) {
tmp = b * (((a * t_2) + (y4 * t_7)) + (y0 * ((z * k) - (x * j))));
} else if (k <= 2.1e-30) {
tmp = t_6;
} else if (k <= 1960000000000.0) {
tmp = y3 * ((y * ((c * y4) - (a * y5))) + ((z * t_1) - (j * t_3)));
} else if (k <= 4.8e+122) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else {
tmp = t_5;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (a * y1) - (c * y0) t_2 = (x * y) - (z * t) t_3 = (y1 * y4) - (y0 * y5) t_4 = (b * y0) - (i * y1) t_5 = k * (((y2 * t_3) - (y * ((b * y4) - (i * y5)))) + (z * t_4)) t_6 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0)))) t_7 = (t * j) - (y * k) t_8 = i * ((y1 * ((x * j) - (z * k))) - ((c * t_2) + (y5 * t_7))) tmp = 0 if k <= -1.4e+173: tmp = t_5 elif k <= -3.1e-26: tmp = t_8 elif k <= -2.4e-120: tmp = z * ((k * t_4) + ((t * ((c * i) - (a * b))) + (y3 * t_1))) elif k <= -1.02e-230: tmp = t_8 elif k <= 3.5e-251: tmp = t_6 elif k <= 3.8e-184: tmp = b * (((a * t_2) + (y4 * t_7)) + (y0 * ((z * k) - (x * j)))) elif k <= 2.1e-30: tmp = t_6 elif k <= 1960000000000.0: tmp = y3 * ((y * ((c * y4) - (a * y5))) + ((z * t_1) - (j * t_3))) elif k <= 4.8e+122: tmp = i * (y5 * ((y * k) - (t * j))) else: tmp = t_5 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(a * y1) - Float64(c * y0)) t_2 = Float64(Float64(x * y) - Float64(z * t)) t_3 = Float64(Float64(y1 * y4) - Float64(y0 * y5)) t_4 = Float64(Float64(b * y0) - Float64(i * y1)) t_5 = Float64(k * Float64(Float64(Float64(y2 * t_3) - Float64(y * Float64(Float64(b * y4) - Float64(i * y5)))) + Float64(z * t_4))) t_6 = Float64(x * Float64(Float64(Float64(y * Float64(Float64(a * b) - Float64(c * i))) + Float64(y2 * Float64(Float64(c * y0) - Float64(a * y1)))) + Float64(j * Float64(Float64(i * y1) - Float64(b * y0))))) t_7 = Float64(Float64(t * j) - Float64(y * k)) t_8 = Float64(i * Float64(Float64(y1 * Float64(Float64(x * j) - Float64(z * k))) - Float64(Float64(c * t_2) + Float64(y5 * t_7)))) tmp = 0.0 if (k <= -1.4e+173) tmp = t_5; elseif (k <= -3.1e-26) tmp = t_8; elseif (k <= -2.4e-120) tmp = Float64(z * Float64(Float64(k * t_4) + Float64(Float64(t * Float64(Float64(c * i) - Float64(a * b))) + Float64(y3 * t_1)))); elseif (k <= -1.02e-230) tmp = t_8; elseif (k <= 3.5e-251) tmp = t_6; elseif (k <= 3.8e-184) tmp = Float64(b * Float64(Float64(Float64(a * t_2) + Float64(y4 * t_7)) + Float64(y0 * Float64(Float64(z * k) - Float64(x * j))))); elseif (k <= 2.1e-30) tmp = t_6; elseif (k <= 1960000000000.0) tmp = Float64(y3 * Float64(Float64(y * Float64(Float64(c * y4) - Float64(a * y5))) + Float64(Float64(z * t_1) - Float64(j * t_3)))); elseif (k <= 4.8e+122) tmp = Float64(i * Float64(y5 * Float64(Float64(y * k) - Float64(t * j)))); else tmp = t_5; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = (a * y1) - (c * y0); t_2 = (x * y) - (z * t); t_3 = (y1 * y4) - (y0 * y5); t_4 = (b * y0) - (i * y1); t_5 = k * (((y2 * t_3) - (y * ((b * y4) - (i * y5)))) + (z * t_4)); t_6 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0)))); t_7 = (t * j) - (y * k); t_8 = i * ((y1 * ((x * j) - (z * k))) - ((c * t_2) + (y5 * t_7))); tmp = 0.0; if (k <= -1.4e+173) tmp = t_5; elseif (k <= -3.1e-26) tmp = t_8; elseif (k <= -2.4e-120) tmp = z * ((k * t_4) + ((t * ((c * i) - (a * b))) + (y3 * t_1))); elseif (k <= -1.02e-230) tmp = t_8; elseif (k <= 3.5e-251) tmp = t_6; elseif (k <= 3.8e-184) tmp = b * (((a * t_2) + (y4 * t_7)) + (y0 * ((z * k) - (x * j)))); elseif (k <= 2.1e-30) tmp = t_6; elseif (k <= 1960000000000.0) tmp = y3 * ((y * ((c * y4) - (a * y5))) + ((z * t_1) - (j * t_3))); elseif (k <= 4.8e+122) tmp = i * (y5 * ((y * k) - (t * j))); else tmp = t_5; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(a * y1), $MachinePrecision] - N[(c * y0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(N[(b * y0), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(k * N[(N[(N[(y2 * t$95$3), $MachinePrecision] - N[(y * N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(z * t$95$4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$6 = N[(x * N[(N[(N[(y * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y2 * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$7 = N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$8 = N[(i * N[(N[(y1 * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(c * t$95$2), $MachinePrecision] + N[(y5 * t$95$7), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[k, -1.4e+173], t$95$5, If[LessEqual[k, -3.1e-26], t$95$8, If[LessEqual[k, -2.4e-120], N[(z * N[(N[(k * t$95$4), $MachinePrecision] + N[(N[(t * N[(N[(c * i), $MachinePrecision] - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y3 * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, -1.02e-230], t$95$8, If[LessEqual[k, 3.5e-251], t$95$6, If[LessEqual[k, 3.8e-184], N[(b * N[(N[(N[(a * t$95$2), $MachinePrecision] + N[(y4 * t$95$7), $MachinePrecision]), $MachinePrecision] + N[(y0 * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 2.1e-30], t$95$6, If[LessEqual[k, 1960000000000.0], N[(y3 * N[(N[(y * N[(N[(c * y4), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(z * t$95$1), $MachinePrecision] - N[(j * t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 4.8e+122], N[(i * N[(y5 * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$5]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot y1 - c \cdot y0\\
t_2 := x \cdot y - z \cdot t\\
t_3 := y1 \cdot y4 - y0 \cdot y5\\
t_4 := b \cdot y0 - i \cdot y1\\
t_5 := k \cdot \left(\left(y2 \cdot t\_3 - y \cdot \left(b \cdot y4 - i \cdot y5\right)\right) + z \cdot t\_4\right)\\
t_6 := x \cdot \left(\left(y \cdot \left(a \cdot b - c \cdot i\right) + y2 \cdot \left(c \cdot y0 - a \cdot y1\right)\right) + j \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
t_7 := t \cdot j - y \cdot k\\
t_8 := i \cdot \left(y1 \cdot \left(x \cdot j - z \cdot k\right) - \left(c \cdot t\_2 + y5 \cdot t\_7\right)\right)\\
\mathbf{if}\;k \leq -1.4 \cdot 10^{+173}:\\
\;\;\;\;t\_5\\
\mathbf{elif}\;k \leq -3.1 \cdot 10^{-26}:\\
\;\;\;\;t\_8\\
\mathbf{elif}\;k \leq -2.4 \cdot 10^{-120}:\\
\;\;\;\;z \cdot \left(k \cdot t\_4 + \left(t \cdot \left(c \cdot i - a \cdot b\right) + y3 \cdot t\_1\right)\right)\\
\mathbf{elif}\;k \leq -1.02 \cdot 10^{-230}:\\
\;\;\;\;t\_8\\
\mathbf{elif}\;k \leq 3.5 \cdot 10^{-251}:\\
\;\;\;\;t\_6\\
\mathbf{elif}\;k \leq 3.8 \cdot 10^{-184}:\\
\;\;\;\;b \cdot \left(\left(a \cdot t\_2 + y4 \cdot t\_7\right) + y0 \cdot \left(z \cdot k - x \cdot j\right)\right)\\
\mathbf{elif}\;k \leq 2.1 \cdot 10^{-30}:\\
\;\;\;\;t\_6\\
\mathbf{elif}\;k \leq 1960000000000:\\
\;\;\;\;y3 \cdot \left(y \cdot \left(c \cdot y4 - a \cdot y5\right) + \left(z \cdot t\_1 - j \cdot t\_3\right)\right)\\
\mathbf{elif}\;k \leq 4.8 \cdot 10^{+122}:\\
\;\;\;\;i \cdot \left(y5 \cdot \left(y \cdot k - t \cdot j\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_5\\
\end{array}
\end{array}
if k < -1.39999999999999991e173 or 4.8000000000000004e122 < k Initial program 26.4%
Taylor expanded in k around inf 61.5%
sub-neg61.5%
+-commutative61.5%
mul-1-neg61.5%
unsub-neg61.5%
*-commutative61.5%
mul-1-neg61.5%
remove-double-neg61.5%
Simplified61.5%
if -1.39999999999999991e173 < k < -3.09999999999999983e-26 or -2.3999999999999999e-120 < k < -1.02e-230Initial program 25.6%
Taylor expanded in i around -inf 59.8%
if -3.09999999999999983e-26 < k < -2.3999999999999999e-120Initial program 29.2%
Taylor expanded in z around -inf 52.9%
if -1.02e-230 < k < 3.50000000000000034e-251 or 3.80000000000000017e-184 < k < 2.1000000000000002e-30Initial program 39.4%
Taylor expanded in x around inf 62.8%
if 3.50000000000000034e-251 < k < 3.80000000000000017e-184Initial program 34.0%
Taylor expanded in b around inf 74.3%
if 2.1000000000000002e-30 < k < 1.96e12Initial program 33.3%
Taylor expanded in y3 around -inf 66.9%
if 1.96e12 < k < 4.8000000000000004e122Initial program 29.8%
Taylor expanded in y5 around -inf 64.7%
Taylor expanded in i around inf 82.5%
Final simplification63.0%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* a y1) (* c y0)))
(t_2
(+
(+
(-
(* (- (* b y4) (* i y5)) (- (* t j) (* y k)))
(-
(* (- (* x y2) (* z y3)) t_1)
(-
(* (- (* a b) (* c i)) (- (* x y) (* z t)))
(* (- (* i y1) (* b y0)) (- (* z k) (* x j))))))
(* (- (* t y2) (* y y3)) (- (* a y5) (* c y4))))
(* (- (* y1 y4) (* y0 y5)) (- (* k y2) (* j y3))))))
(if (<= t_2 INFINITY)
t_2
(*
z
(+
(* k (- (* b y0) (* i y1)))
(+ (* t (- (* c i) (* a b))) (* y3 t_1)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (a * y1) - (c * y0);
double t_2 = (((((b * y4) - (i * y5)) * ((t * j) - (y * k))) - ((((x * y2) - (z * y3)) * t_1) - ((((a * b) - (c * i)) * ((x * y) - (z * t))) - (((i * y1) - (b * y0)) * ((z * k) - (x * j)))))) + (((t * y2) - (y * y3)) * ((a * y5) - (c * y4)))) + (((y1 * y4) - (y0 * y5)) * ((k * y2) - (j * y3)));
double tmp;
if (t_2 <= ((double) INFINITY)) {
tmp = t_2;
} else {
tmp = z * ((k * ((b * y0) - (i * y1))) + ((t * ((c * i) - (a * b))) + (y3 * t_1)));
}
return tmp;
}
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (a * y1) - (c * y0);
double t_2 = (((((b * y4) - (i * y5)) * ((t * j) - (y * k))) - ((((x * y2) - (z * y3)) * t_1) - ((((a * b) - (c * i)) * ((x * y) - (z * t))) - (((i * y1) - (b * y0)) * ((z * k) - (x * j)))))) + (((t * y2) - (y * y3)) * ((a * y5) - (c * y4)))) + (((y1 * y4) - (y0 * y5)) * ((k * y2) - (j * y3)));
double tmp;
if (t_2 <= Double.POSITIVE_INFINITY) {
tmp = t_2;
} else {
tmp = z * ((k * ((b * y0) - (i * y1))) + ((t * ((c * i) - (a * b))) + (y3 * t_1)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (a * y1) - (c * y0) t_2 = (((((b * y4) - (i * y5)) * ((t * j) - (y * k))) - ((((x * y2) - (z * y3)) * t_1) - ((((a * b) - (c * i)) * ((x * y) - (z * t))) - (((i * y1) - (b * y0)) * ((z * k) - (x * j)))))) + (((t * y2) - (y * y3)) * ((a * y5) - (c * y4)))) + (((y1 * y4) - (y0 * y5)) * ((k * y2) - (j * y3))) tmp = 0 if t_2 <= math.inf: tmp = t_2 else: tmp = z * ((k * ((b * y0) - (i * y1))) + ((t * ((c * i) - (a * b))) + (y3 * t_1))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(a * y1) - Float64(c * y0)) t_2 = Float64(Float64(Float64(Float64(Float64(Float64(b * y4) - Float64(i * y5)) * Float64(Float64(t * j) - Float64(y * k))) - Float64(Float64(Float64(Float64(x * y2) - Float64(z * y3)) * t_1) - Float64(Float64(Float64(Float64(a * b) - Float64(c * i)) * Float64(Float64(x * y) - Float64(z * t))) - Float64(Float64(Float64(i * y1) - Float64(b * y0)) * Float64(Float64(z * k) - Float64(x * j)))))) + Float64(Float64(Float64(t * y2) - Float64(y * y3)) * Float64(Float64(a * y5) - Float64(c * y4)))) + Float64(Float64(Float64(y1 * y4) - Float64(y0 * y5)) * Float64(Float64(k * y2) - Float64(j * y3)))) tmp = 0.0 if (t_2 <= Inf) tmp = t_2; else tmp = Float64(z * Float64(Float64(k * Float64(Float64(b * y0) - Float64(i * y1))) + Float64(Float64(t * Float64(Float64(c * i) - Float64(a * b))) + Float64(y3 * t_1)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = (a * y1) - (c * y0); t_2 = (((((b * y4) - (i * y5)) * ((t * j) - (y * k))) - ((((x * y2) - (z * y3)) * t_1) - ((((a * b) - (c * i)) * ((x * y) - (z * t))) - (((i * y1) - (b * y0)) * ((z * k) - (x * j)))))) + (((t * y2) - (y * y3)) * ((a * y5) - (c * y4)))) + (((y1 * y4) - (y0 * y5)) * ((k * y2) - (j * y3))); tmp = 0.0; if (t_2 <= Inf) tmp = t_2; else tmp = z * ((k * ((b * y0) - (i * y1))) + ((t * ((c * i) - (a * b))) + (y3 * t_1))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(a * y1), $MachinePrecision] - N[(c * y0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(N[(N[(N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision] * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision] * t$95$1), $MachinePrecision] - N[(N[(N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision] * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision] * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision] * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision] * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$2, Infinity], t$95$2, N[(z * N[(N[(k * N[(N[(b * y0), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(t * N[(N[(c * i), $MachinePrecision] - N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y3 * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot y1 - c \cdot y0\\
t_2 := \left(\left(\left(b \cdot y4 - i \cdot y5\right) \cdot \left(t \cdot j - y \cdot k\right) - \left(\left(x \cdot y2 - z \cdot y3\right) \cdot t\_1 - \left(\left(a \cdot b - c \cdot i\right) \cdot \left(x \cdot y - z \cdot t\right) - \left(i \cdot y1 - b \cdot y0\right) \cdot \left(z \cdot k - x \cdot j\right)\right)\right)\right) + \left(t \cdot y2 - y \cdot y3\right) \cdot \left(a \cdot y5 - c \cdot y4\right)\right) + \left(y1 \cdot y4 - y0 \cdot y5\right) \cdot \left(k \cdot y2 - j \cdot y3\right)\\
\mathbf{if}\;t\_2 \leq \infty:\\
\;\;\;\;t\_2\\
\mathbf{else}:\\
\;\;\;\;z \cdot \left(k \cdot \left(b \cdot y0 - i \cdot y1\right) + \left(t \cdot \left(c \cdot i - a \cdot b\right) + y3 \cdot t\_1\right)\right)\\
\end{array}
\end{array}
if (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) < +inf.0Initial program 89.1%
if +inf.0 < (+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))) Initial program 0.0%
Taylor expanded in z around -inf 39.4%
Final simplification56.3%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* (* y i) (- (* k y5) (* x c))))
(t_2
(*
b
(+
(+ (* a (- (* x y) (* z t))) (* y4 (- (* t j) (* y k))))
(* y0 (- (* z k) (* x j)))))))
(if (<= y1 -4.7e+83)
(* k (* y1 (- (* y2 y4) (* z i))))
(if (<= y1 -8.6e-56)
t_1
(if (<= y1 -3.5e-179)
t_2
(if (<= y1 -2.4e-208)
t_1
(if (<= y1 -3.6e-212)
t_2
(if (<= y1 1.35e-254)
(* c (* y0 (- (* x y2) (* z y3))))
(if (<= y1 7.6e-215)
(* b (* x (- (* y a) (* j y0))))
(if (<= y1 5.7e-185)
(* (* k y0) (- (* z b) (* y2 y5)))
(if (<= y1 3.5e-134)
(* x (* y (- (* a b) (* c i))))
(if (<= y1 3e-92)
(* i (* y5 (- (* y k) (* t j))))
(if (<= y1 9.2e+36)
t_2
(if (<= y1 1.65e+190)
(*
j
(+
(+
(* t (- (* b y4) (* i y5)))
(* y3 (- (* y0 y5) (* y1 y4))))
(* x (- (* i y1) (* b y0)))))
(* x (* y2 (- (* c y0) (* a y1))))))))))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (y * i) * ((k * y5) - (x * c));
double t_2 = b * (((a * ((x * y) - (z * t))) + (y4 * ((t * j) - (y * k)))) + (y0 * ((z * k) - (x * j))));
double tmp;
if (y1 <= -4.7e+83) {
tmp = k * (y1 * ((y2 * y4) - (z * i)));
} else if (y1 <= -8.6e-56) {
tmp = t_1;
} else if (y1 <= -3.5e-179) {
tmp = t_2;
} else if (y1 <= -2.4e-208) {
tmp = t_1;
} else if (y1 <= -3.6e-212) {
tmp = t_2;
} else if (y1 <= 1.35e-254) {
tmp = c * (y0 * ((x * y2) - (z * y3)));
} else if (y1 <= 7.6e-215) {
tmp = b * (x * ((y * a) - (j * y0)));
} else if (y1 <= 5.7e-185) {
tmp = (k * y0) * ((z * b) - (y2 * y5));
} else if (y1 <= 3.5e-134) {
tmp = x * (y * ((a * b) - (c * i)));
} else if (y1 <= 3e-92) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else if (y1 <= 9.2e+36) {
tmp = t_2;
} else if (y1 <= 1.65e+190) {
tmp = j * (((t * ((b * y4) - (i * y5))) + (y3 * ((y0 * y5) - (y1 * y4)))) + (x * ((i * y1) - (b * y0))));
} else {
tmp = x * (y2 * ((c * y0) - (a * y1)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = (y * i) * ((k * y5) - (x * c))
t_2 = b * (((a * ((x * y) - (z * t))) + (y4 * ((t * j) - (y * k)))) + (y0 * ((z * k) - (x * j))))
if (y1 <= (-4.7d+83)) then
tmp = k * (y1 * ((y2 * y4) - (z * i)))
else if (y1 <= (-8.6d-56)) then
tmp = t_1
else if (y1 <= (-3.5d-179)) then
tmp = t_2
else if (y1 <= (-2.4d-208)) then
tmp = t_1
else if (y1 <= (-3.6d-212)) then
tmp = t_2
else if (y1 <= 1.35d-254) then
tmp = c * (y0 * ((x * y2) - (z * y3)))
else if (y1 <= 7.6d-215) then
tmp = b * (x * ((y * a) - (j * y0)))
else if (y1 <= 5.7d-185) then
tmp = (k * y0) * ((z * b) - (y2 * y5))
else if (y1 <= 3.5d-134) then
tmp = x * (y * ((a * b) - (c * i)))
else if (y1 <= 3d-92) then
tmp = i * (y5 * ((y * k) - (t * j)))
else if (y1 <= 9.2d+36) then
tmp = t_2
else if (y1 <= 1.65d+190) then
tmp = j * (((t * ((b * y4) - (i * y5))) + (y3 * ((y0 * y5) - (y1 * y4)))) + (x * ((i * y1) - (b * y0))))
else
tmp = x * (y2 * ((c * y0) - (a * y1)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (y * i) * ((k * y5) - (x * c));
double t_2 = b * (((a * ((x * y) - (z * t))) + (y4 * ((t * j) - (y * k)))) + (y0 * ((z * k) - (x * j))));
double tmp;
if (y1 <= -4.7e+83) {
tmp = k * (y1 * ((y2 * y4) - (z * i)));
} else if (y1 <= -8.6e-56) {
tmp = t_1;
} else if (y1 <= -3.5e-179) {
tmp = t_2;
} else if (y1 <= -2.4e-208) {
tmp = t_1;
} else if (y1 <= -3.6e-212) {
tmp = t_2;
} else if (y1 <= 1.35e-254) {
tmp = c * (y0 * ((x * y2) - (z * y3)));
} else if (y1 <= 7.6e-215) {
tmp = b * (x * ((y * a) - (j * y0)));
} else if (y1 <= 5.7e-185) {
tmp = (k * y0) * ((z * b) - (y2 * y5));
} else if (y1 <= 3.5e-134) {
tmp = x * (y * ((a * b) - (c * i)));
} else if (y1 <= 3e-92) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else if (y1 <= 9.2e+36) {
tmp = t_2;
} else if (y1 <= 1.65e+190) {
tmp = j * (((t * ((b * y4) - (i * y5))) + (y3 * ((y0 * y5) - (y1 * y4)))) + (x * ((i * y1) - (b * y0))));
} else {
tmp = x * (y2 * ((c * y0) - (a * y1)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (y * i) * ((k * y5) - (x * c)) t_2 = b * (((a * ((x * y) - (z * t))) + (y4 * ((t * j) - (y * k)))) + (y0 * ((z * k) - (x * j)))) tmp = 0 if y1 <= -4.7e+83: tmp = k * (y1 * ((y2 * y4) - (z * i))) elif y1 <= -8.6e-56: tmp = t_1 elif y1 <= -3.5e-179: tmp = t_2 elif y1 <= -2.4e-208: tmp = t_1 elif y1 <= -3.6e-212: tmp = t_2 elif y1 <= 1.35e-254: tmp = c * (y0 * ((x * y2) - (z * y3))) elif y1 <= 7.6e-215: tmp = b * (x * ((y * a) - (j * y0))) elif y1 <= 5.7e-185: tmp = (k * y0) * ((z * b) - (y2 * y5)) elif y1 <= 3.5e-134: tmp = x * (y * ((a * b) - (c * i))) elif y1 <= 3e-92: tmp = i * (y5 * ((y * k) - (t * j))) elif y1 <= 9.2e+36: tmp = t_2 elif y1 <= 1.65e+190: tmp = j * (((t * ((b * y4) - (i * y5))) + (y3 * ((y0 * y5) - (y1 * y4)))) + (x * ((i * y1) - (b * y0)))) else: tmp = x * (y2 * ((c * y0) - (a * y1))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(y * i) * Float64(Float64(k * y5) - Float64(x * c))) t_2 = Float64(b * Float64(Float64(Float64(a * Float64(Float64(x * y) - Float64(z * t))) + Float64(y4 * Float64(Float64(t * j) - Float64(y * k)))) + Float64(y0 * Float64(Float64(z * k) - Float64(x * j))))) tmp = 0.0 if (y1 <= -4.7e+83) tmp = Float64(k * Float64(y1 * Float64(Float64(y2 * y4) - Float64(z * i)))); elseif (y1 <= -8.6e-56) tmp = t_1; elseif (y1 <= -3.5e-179) tmp = t_2; elseif (y1 <= -2.4e-208) tmp = t_1; elseif (y1 <= -3.6e-212) tmp = t_2; elseif (y1 <= 1.35e-254) tmp = Float64(c * Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3)))); elseif (y1 <= 7.6e-215) tmp = Float64(b * Float64(x * Float64(Float64(y * a) - Float64(j * y0)))); elseif (y1 <= 5.7e-185) tmp = Float64(Float64(k * y0) * Float64(Float64(z * b) - Float64(y2 * y5))); elseif (y1 <= 3.5e-134) tmp = Float64(x * Float64(y * Float64(Float64(a * b) - Float64(c * i)))); elseif (y1 <= 3e-92) tmp = Float64(i * Float64(y5 * Float64(Float64(y * k) - Float64(t * j)))); elseif (y1 <= 9.2e+36) tmp = t_2; elseif (y1 <= 1.65e+190) tmp = Float64(j * Float64(Float64(Float64(t * Float64(Float64(b * y4) - Float64(i * y5))) + Float64(y3 * Float64(Float64(y0 * y5) - Float64(y1 * y4)))) + Float64(x * Float64(Float64(i * y1) - Float64(b * y0))))); else tmp = Float64(x * Float64(y2 * Float64(Float64(c * y0) - Float64(a * y1)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = (y * i) * ((k * y5) - (x * c)); t_2 = b * (((a * ((x * y) - (z * t))) + (y4 * ((t * j) - (y * k)))) + (y0 * ((z * k) - (x * j)))); tmp = 0.0; if (y1 <= -4.7e+83) tmp = k * (y1 * ((y2 * y4) - (z * i))); elseif (y1 <= -8.6e-56) tmp = t_1; elseif (y1 <= -3.5e-179) tmp = t_2; elseif (y1 <= -2.4e-208) tmp = t_1; elseif (y1 <= -3.6e-212) tmp = t_2; elseif (y1 <= 1.35e-254) tmp = c * (y0 * ((x * y2) - (z * y3))); elseif (y1 <= 7.6e-215) tmp = b * (x * ((y * a) - (j * y0))); elseif (y1 <= 5.7e-185) tmp = (k * y0) * ((z * b) - (y2 * y5)); elseif (y1 <= 3.5e-134) tmp = x * (y * ((a * b) - (c * i))); elseif (y1 <= 3e-92) tmp = i * (y5 * ((y * k) - (t * j))); elseif (y1 <= 9.2e+36) tmp = t_2; elseif (y1 <= 1.65e+190) tmp = j * (((t * ((b * y4) - (i * y5))) + (y3 * ((y0 * y5) - (y1 * y4)))) + (x * ((i * y1) - (b * y0)))); else tmp = x * (y2 * ((c * y0) - (a * y1))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(y * i), $MachinePrecision] * N[(N[(k * y5), $MachinePrecision] - N[(x * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(b * N[(N[(N[(a * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y4 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y0 * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y1, -4.7e+83], N[(k * N[(y1 * N[(N[(y2 * y4), $MachinePrecision] - N[(z * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, -8.6e-56], t$95$1, If[LessEqual[y1, -3.5e-179], t$95$2, If[LessEqual[y1, -2.4e-208], t$95$1, If[LessEqual[y1, -3.6e-212], t$95$2, If[LessEqual[y1, 1.35e-254], N[(c * N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 7.6e-215], N[(b * N[(x * N[(N[(y * a), $MachinePrecision] - N[(j * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 5.7e-185], N[(N[(k * y0), $MachinePrecision] * N[(N[(z * b), $MachinePrecision] - N[(y2 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 3.5e-134], N[(x * N[(y * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 3e-92], N[(i * N[(y5 * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 9.2e+36], t$95$2, If[LessEqual[y1, 1.65e+190], N[(j * N[(N[(N[(t * N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y3 * N[(N[(y0 * y5), $MachinePrecision] - N[(y1 * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(x * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x * N[(y2 * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(y \cdot i\right) \cdot \left(k \cdot y5 - x \cdot c\right)\\
t_2 := b \cdot \left(\left(a \cdot \left(x \cdot y - z \cdot t\right) + y4 \cdot \left(t \cdot j - y \cdot k\right)\right) + y0 \cdot \left(z \cdot k - x \cdot j\right)\right)\\
\mathbf{if}\;y1 \leq -4.7 \cdot 10^{+83}:\\
\;\;\;\;k \cdot \left(y1 \cdot \left(y2 \cdot y4 - z \cdot i\right)\right)\\
\mathbf{elif}\;y1 \leq -8.6 \cdot 10^{-56}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y1 \leq -3.5 \cdot 10^{-179}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;y1 \leq -2.4 \cdot 10^{-208}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y1 \leq -3.6 \cdot 10^{-212}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;y1 \leq 1.35 \cdot 10^{-254}:\\
\;\;\;\;c \cdot \left(y0 \cdot \left(x \cdot y2 - z \cdot y3\right)\right)\\
\mathbf{elif}\;y1 \leq 7.6 \cdot 10^{-215}:\\
\;\;\;\;b \cdot \left(x \cdot \left(y \cdot a - j \cdot y0\right)\right)\\
\mathbf{elif}\;y1 \leq 5.7 \cdot 10^{-185}:\\
\;\;\;\;\left(k \cdot y0\right) \cdot \left(z \cdot b - y2 \cdot y5\right)\\
\mathbf{elif}\;y1 \leq 3.5 \cdot 10^{-134}:\\
\;\;\;\;x \cdot \left(y \cdot \left(a \cdot b - c \cdot i\right)\right)\\
\mathbf{elif}\;y1 \leq 3 \cdot 10^{-92}:\\
\;\;\;\;i \cdot \left(y5 \cdot \left(y \cdot k - t \cdot j\right)\right)\\
\mathbf{elif}\;y1 \leq 9.2 \cdot 10^{+36}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;y1 \leq 1.65 \cdot 10^{+190}:\\
\;\;\;\;j \cdot \left(\left(t \cdot \left(b \cdot y4 - i \cdot y5\right) + y3 \cdot \left(y0 \cdot y5 - y1 \cdot y4\right)\right) + x \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(y2 \cdot \left(c \cdot y0 - a \cdot y1\right)\right)\\
\end{array}
\end{array}
if y1 < -4.6999999999999999e83Initial program 29.7%
Taylor expanded in y1 around -inf 61.5%
mul-1-neg61.5%
*-commutative61.5%
distribute-rgt-neg-in61.5%
Simplified61.5%
Taylor expanded in k around -inf 70.9%
mul-1-neg70.9%
*-commutative70.9%
distribute-rgt-neg-in70.9%
+-commutative70.9%
mul-1-neg70.9%
unsub-neg70.9%
*-commutative70.9%
Simplified70.9%
if -4.6999999999999999e83 < y1 < -8.6000000000000002e-56 or -3.50000000000000024e-179 < y1 < -2.3999999999999999e-208Initial program 25.9%
Taylor expanded in y around inf 59.7%
Taylor expanded in i around inf 60.3%
associate-*r*60.4%
+-commutative60.4%
mul-1-neg60.4%
unsub-neg60.4%
*-commutative60.4%
*-commutative60.4%
Simplified60.4%
if -8.6000000000000002e-56 < y1 < -3.50000000000000024e-179 or -2.3999999999999999e-208 < y1 < -3.6000000000000001e-212 or 3.00000000000000013e-92 < y1 < 9.19999999999999986e36Initial program 42.0%
Taylor expanded in b around inf 57.4%
if -3.6000000000000001e-212 < y1 < 1.35000000000000003e-254Initial program 38.0%
Taylor expanded in y0 around inf 36.2%
+-commutative36.2%
mul-1-neg36.2%
unsub-neg36.2%
*-commutative36.2%
*-commutative36.2%
*-commutative36.2%
*-commutative36.2%
Simplified36.2%
Taylor expanded in c around inf 50.8%
if 1.35000000000000003e-254 < y1 < 7.59999999999999954e-215Initial program 33.2%
Taylor expanded in b around inf 56.2%
Taylor expanded in x around inf 67.1%
if 7.59999999999999954e-215 < y1 < 5.69999999999999986e-185Initial program 45.0%
Taylor expanded in y0 around inf 45.2%
+-commutative45.2%
mul-1-neg45.2%
unsub-neg45.2%
*-commutative45.2%
*-commutative45.2%
*-commutative45.2%
*-commutative45.2%
Simplified45.2%
Taylor expanded in k around -inf 45.5%
associate-*r*55.9%
*-commutative55.9%
+-commutative55.9%
mul-1-neg55.9%
unsub-neg55.9%
*-commutative55.9%
Simplified55.9%
if 5.69999999999999986e-185 < y1 < 3.4999999999999998e-134Initial program 9.1%
Taylor expanded in x around inf 63.7%
Taylor expanded in y around inf 63.7%
*-commutative63.7%
Simplified63.7%
if 3.4999999999999998e-134 < y1 < 3.00000000000000013e-92Initial program 20.0%
Taylor expanded in y5 around -inf 30.7%
Taylor expanded in i around inf 70.4%
if 9.19999999999999986e36 < y1 < 1.65e190Initial program 19.7%
Taylor expanded in j around inf 53.7%
+-commutative53.7%
mul-1-neg53.7%
unsub-neg53.7%
*-commutative53.7%
Simplified53.7%
if 1.65e190 < y1 Initial program 16.7%
Taylor expanded in x around inf 44.5%
Taylor expanded in y2 around inf 67.5%
*-commutative67.5%
Simplified67.5%
Final simplification60.5%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* x (* y (- (* a b) (* c i))))) (t_2 (- (* b y4) (* i y5))))
(if (<= y1 -3.5e+83)
(* k (* y1 (- (* y2 y4) (* z i))))
(if (<= y1 -1.36e-25)
t_1
(if (<= y1 -2.9e-216)
(*
k
(+
(- (* y2 (- (* y1 y4) (* y0 y5))) (* y t_2))
(* z (- (* b y0) (* i y1)))))
(if (<= y1 1.25e-254)
(* c (* y0 (- (* x y2) (* z y3))))
(if (<= y1 3.6e-215)
(* b (* x (- (* y a) (* j y0))))
(if (<= y1 1.9e-188)
(* (* k y0) (- (* z b) (* y2 y5)))
(if (<= y1 8.4e-134)
t_1
(if (<= y1 9.4e-94)
(* i (* y5 (- (* y k) (* t j))))
(if (<= y1 1.8e+40)
(*
b
(+
(+ (* a (- (* x y) (* z t))) (* y4 (- (* t j) (* y k))))
(* y0 (- (* z k) (* x j)))))
(if (<= y1 5.4e+189)
(*
j
(+
(+ (* t t_2) (* y3 (- (* y0 y5) (* y1 y4))))
(* x (- (* i y1) (* b y0)))))
(* x (* y2 (- (* c y0) (* a y1))))))))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = x * (y * ((a * b) - (c * i)));
double t_2 = (b * y4) - (i * y5);
double tmp;
if (y1 <= -3.5e+83) {
tmp = k * (y1 * ((y2 * y4) - (z * i)));
} else if (y1 <= -1.36e-25) {
tmp = t_1;
} else if (y1 <= -2.9e-216) {
tmp = k * (((y2 * ((y1 * y4) - (y0 * y5))) - (y * t_2)) + (z * ((b * y0) - (i * y1))));
} else if (y1 <= 1.25e-254) {
tmp = c * (y0 * ((x * y2) - (z * y3)));
} else if (y1 <= 3.6e-215) {
tmp = b * (x * ((y * a) - (j * y0)));
} else if (y1 <= 1.9e-188) {
tmp = (k * y0) * ((z * b) - (y2 * y5));
} else if (y1 <= 8.4e-134) {
tmp = t_1;
} else if (y1 <= 9.4e-94) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else if (y1 <= 1.8e+40) {
tmp = b * (((a * ((x * y) - (z * t))) + (y4 * ((t * j) - (y * k)))) + (y0 * ((z * k) - (x * j))));
} else if (y1 <= 5.4e+189) {
tmp = j * (((t * t_2) + (y3 * ((y0 * y5) - (y1 * y4)))) + (x * ((i * y1) - (b * y0))));
} else {
tmp = x * (y2 * ((c * y0) - (a * y1)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = x * (y * ((a * b) - (c * i)))
t_2 = (b * y4) - (i * y5)
if (y1 <= (-3.5d+83)) then
tmp = k * (y1 * ((y2 * y4) - (z * i)))
else if (y1 <= (-1.36d-25)) then
tmp = t_1
else if (y1 <= (-2.9d-216)) then
tmp = k * (((y2 * ((y1 * y4) - (y0 * y5))) - (y * t_2)) + (z * ((b * y0) - (i * y1))))
else if (y1 <= 1.25d-254) then
tmp = c * (y0 * ((x * y2) - (z * y3)))
else if (y1 <= 3.6d-215) then
tmp = b * (x * ((y * a) - (j * y0)))
else if (y1 <= 1.9d-188) then
tmp = (k * y0) * ((z * b) - (y2 * y5))
else if (y1 <= 8.4d-134) then
tmp = t_1
else if (y1 <= 9.4d-94) then
tmp = i * (y5 * ((y * k) - (t * j)))
else if (y1 <= 1.8d+40) then
tmp = b * (((a * ((x * y) - (z * t))) + (y4 * ((t * j) - (y * k)))) + (y0 * ((z * k) - (x * j))))
else if (y1 <= 5.4d+189) then
tmp = j * (((t * t_2) + (y3 * ((y0 * y5) - (y1 * y4)))) + (x * ((i * y1) - (b * y0))))
else
tmp = x * (y2 * ((c * y0) - (a * y1)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = x * (y * ((a * b) - (c * i)));
double t_2 = (b * y4) - (i * y5);
double tmp;
if (y1 <= -3.5e+83) {
tmp = k * (y1 * ((y2 * y4) - (z * i)));
} else if (y1 <= -1.36e-25) {
tmp = t_1;
} else if (y1 <= -2.9e-216) {
tmp = k * (((y2 * ((y1 * y4) - (y0 * y5))) - (y * t_2)) + (z * ((b * y0) - (i * y1))));
} else if (y1 <= 1.25e-254) {
tmp = c * (y0 * ((x * y2) - (z * y3)));
} else if (y1 <= 3.6e-215) {
tmp = b * (x * ((y * a) - (j * y0)));
} else if (y1 <= 1.9e-188) {
tmp = (k * y0) * ((z * b) - (y2 * y5));
} else if (y1 <= 8.4e-134) {
tmp = t_1;
} else if (y1 <= 9.4e-94) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else if (y1 <= 1.8e+40) {
tmp = b * (((a * ((x * y) - (z * t))) + (y4 * ((t * j) - (y * k)))) + (y0 * ((z * k) - (x * j))));
} else if (y1 <= 5.4e+189) {
tmp = j * (((t * t_2) + (y3 * ((y0 * y5) - (y1 * y4)))) + (x * ((i * y1) - (b * y0))));
} else {
tmp = x * (y2 * ((c * y0) - (a * y1)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = x * (y * ((a * b) - (c * i))) t_2 = (b * y4) - (i * y5) tmp = 0 if y1 <= -3.5e+83: tmp = k * (y1 * ((y2 * y4) - (z * i))) elif y1 <= -1.36e-25: tmp = t_1 elif y1 <= -2.9e-216: tmp = k * (((y2 * ((y1 * y4) - (y0 * y5))) - (y * t_2)) + (z * ((b * y0) - (i * y1)))) elif y1 <= 1.25e-254: tmp = c * (y0 * ((x * y2) - (z * y3))) elif y1 <= 3.6e-215: tmp = b * (x * ((y * a) - (j * y0))) elif y1 <= 1.9e-188: tmp = (k * y0) * ((z * b) - (y2 * y5)) elif y1 <= 8.4e-134: tmp = t_1 elif y1 <= 9.4e-94: tmp = i * (y5 * ((y * k) - (t * j))) elif y1 <= 1.8e+40: tmp = b * (((a * ((x * y) - (z * t))) + (y4 * ((t * j) - (y * k)))) + (y0 * ((z * k) - (x * j)))) elif y1 <= 5.4e+189: tmp = j * (((t * t_2) + (y3 * ((y0 * y5) - (y1 * y4)))) + (x * ((i * y1) - (b * y0)))) else: tmp = x * (y2 * ((c * y0) - (a * y1))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(x * Float64(y * Float64(Float64(a * b) - Float64(c * i)))) t_2 = Float64(Float64(b * y4) - Float64(i * y5)) tmp = 0.0 if (y1 <= -3.5e+83) tmp = Float64(k * Float64(y1 * Float64(Float64(y2 * y4) - Float64(z * i)))); elseif (y1 <= -1.36e-25) tmp = t_1; elseif (y1 <= -2.9e-216) tmp = Float64(k * Float64(Float64(Float64(y2 * Float64(Float64(y1 * y4) - Float64(y0 * y5))) - Float64(y * t_2)) + Float64(z * Float64(Float64(b * y0) - Float64(i * y1))))); elseif (y1 <= 1.25e-254) tmp = Float64(c * Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3)))); elseif (y1 <= 3.6e-215) tmp = Float64(b * Float64(x * Float64(Float64(y * a) - Float64(j * y0)))); elseif (y1 <= 1.9e-188) tmp = Float64(Float64(k * y0) * Float64(Float64(z * b) - Float64(y2 * y5))); elseif (y1 <= 8.4e-134) tmp = t_1; elseif (y1 <= 9.4e-94) tmp = Float64(i * Float64(y5 * Float64(Float64(y * k) - Float64(t * j)))); elseif (y1 <= 1.8e+40) tmp = Float64(b * Float64(Float64(Float64(a * Float64(Float64(x * y) - Float64(z * t))) + Float64(y4 * Float64(Float64(t * j) - Float64(y * k)))) + Float64(y0 * Float64(Float64(z * k) - Float64(x * j))))); elseif (y1 <= 5.4e+189) tmp = Float64(j * Float64(Float64(Float64(t * t_2) + Float64(y3 * Float64(Float64(y0 * y5) - Float64(y1 * y4)))) + Float64(x * Float64(Float64(i * y1) - Float64(b * y0))))); else tmp = Float64(x * Float64(y2 * Float64(Float64(c * y0) - Float64(a * y1)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = x * (y * ((a * b) - (c * i))); t_2 = (b * y4) - (i * y5); tmp = 0.0; if (y1 <= -3.5e+83) tmp = k * (y1 * ((y2 * y4) - (z * i))); elseif (y1 <= -1.36e-25) tmp = t_1; elseif (y1 <= -2.9e-216) tmp = k * (((y2 * ((y1 * y4) - (y0 * y5))) - (y * t_2)) + (z * ((b * y0) - (i * y1)))); elseif (y1 <= 1.25e-254) tmp = c * (y0 * ((x * y2) - (z * y3))); elseif (y1 <= 3.6e-215) tmp = b * (x * ((y * a) - (j * y0))); elseif (y1 <= 1.9e-188) tmp = (k * y0) * ((z * b) - (y2 * y5)); elseif (y1 <= 8.4e-134) tmp = t_1; elseif (y1 <= 9.4e-94) tmp = i * (y5 * ((y * k) - (t * j))); elseif (y1 <= 1.8e+40) tmp = b * (((a * ((x * y) - (z * t))) + (y4 * ((t * j) - (y * k)))) + (y0 * ((z * k) - (x * j)))); elseif (y1 <= 5.4e+189) tmp = j * (((t * t_2) + (y3 * ((y0 * y5) - (y1 * y4)))) + (x * ((i * y1) - (b * y0)))); else tmp = x * (y2 * ((c * y0) - (a * y1))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(x * N[(y * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y1, -3.5e+83], N[(k * N[(y1 * N[(N[(y2 * y4), $MachinePrecision] - N[(z * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, -1.36e-25], t$95$1, If[LessEqual[y1, -2.9e-216], N[(k * N[(N[(N[(y2 * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(y * t$95$2), $MachinePrecision]), $MachinePrecision] + N[(z * N[(N[(b * y0), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 1.25e-254], N[(c * N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 3.6e-215], N[(b * N[(x * N[(N[(y * a), $MachinePrecision] - N[(j * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 1.9e-188], N[(N[(k * y0), $MachinePrecision] * N[(N[(z * b), $MachinePrecision] - N[(y2 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 8.4e-134], t$95$1, If[LessEqual[y1, 9.4e-94], N[(i * N[(y5 * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 1.8e+40], N[(b * N[(N[(N[(a * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y4 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y0 * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 5.4e+189], N[(j * N[(N[(N[(t * t$95$2), $MachinePrecision] + N[(y3 * N[(N[(y0 * y5), $MachinePrecision] - N[(y1 * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(x * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x * N[(y2 * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(y \cdot \left(a \cdot b - c \cdot i\right)\right)\\
t_2 := b \cdot y4 - i \cdot y5\\
\mathbf{if}\;y1 \leq -3.5 \cdot 10^{+83}:\\
\;\;\;\;k \cdot \left(y1 \cdot \left(y2 \cdot y4 - z \cdot i\right)\right)\\
\mathbf{elif}\;y1 \leq -1.36 \cdot 10^{-25}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y1 \leq -2.9 \cdot 10^{-216}:\\
\;\;\;\;k \cdot \left(\left(y2 \cdot \left(y1 \cdot y4 - y0 \cdot y5\right) - y \cdot t\_2\right) + z \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\\
\mathbf{elif}\;y1 \leq 1.25 \cdot 10^{-254}:\\
\;\;\;\;c \cdot \left(y0 \cdot \left(x \cdot y2 - z \cdot y3\right)\right)\\
\mathbf{elif}\;y1 \leq 3.6 \cdot 10^{-215}:\\
\;\;\;\;b \cdot \left(x \cdot \left(y \cdot a - j \cdot y0\right)\right)\\
\mathbf{elif}\;y1 \leq 1.9 \cdot 10^{-188}:\\
\;\;\;\;\left(k \cdot y0\right) \cdot \left(z \cdot b - y2 \cdot y5\right)\\
\mathbf{elif}\;y1 \leq 8.4 \cdot 10^{-134}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y1 \leq 9.4 \cdot 10^{-94}:\\
\;\;\;\;i \cdot \left(y5 \cdot \left(y \cdot k - t \cdot j\right)\right)\\
\mathbf{elif}\;y1 \leq 1.8 \cdot 10^{+40}:\\
\;\;\;\;b \cdot \left(\left(a \cdot \left(x \cdot y - z \cdot t\right) + y4 \cdot \left(t \cdot j - y \cdot k\right)\right) + y0 \cdot \left(z \cdot k - x \cdot j\right)\right)\\
\mathbf{elif}\;y1 \leq 5.4 \cdot 10^{+189}:\\
\;\;\;\;j \cdot \left(\left(t \cdot t\_2 + y3 \cdot \left(y0 \cdot y5 - y1 \cdot y4\right)\right) + x \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(y2 \cdot \left(c \cdot y0 - a \cdot y1\right)\right)\\
\end{array}
\end{array}
if y1 < -3.49999999999999977e83Initial program 29.7%
Taylor expanded in y1 around -inf 61.5%
mul-1-neg61.5%
*-commutative61.5%
distribute-rgt-neg-in61.5%
Simplified61.5%
Taylor expanded in k around -inf 70.9%
mul-1-neg70.9%
*-commutative70.9%
distribute-rgt-neg-in70.9%
+-commutative70.9%
mul-1-neg70.9%
unsub-neg70.9%
*-commutative70.9%
Simplified70.9%
if -3.49999999999999977e83 < y1 < -1.36000000000000005e-25 or 1.9e-188 < y1 < 8.3999999999999996e-134Initial program 13.8%
Taylor expanded in x around inf 59.0%
Taylor expanded in y around inf 59.1%
*-commutative59.1%
Simplified59.1%
if -1.36000000000000005e-25 < y1 < -2.9000000000000001e-216Initial program 55.4%
Taylor expanded in k around inf 55.9%
sub-neg55.9%
+-commutative55.9%
mul-1-neg55.9%
unsub-neg55.9%
*-commutative55.9%
mul-1-neg55.9%
remove-double-neg55.9%
Simplified55.9%
if -2.9000000000000001e-216 < y1 < 1.2500000000000001e-254Initial program 35.0%
Taylor expanded in y0 around inf 35.8%
+-commutative35.8%
mul-1-neg35.8%
unsub-neg35.8%
*-commutative35.8%
*-commutative35.8%
*-commutative35.8%
*-commutative35.8%
Simplified35.8%
Taylor expanded in c around inf 49.1%
if 1.2500000000000001e-254 < y1 < 3.5999999999999999e-215Initial program 33.2%
Taylor expanded in b around inf 56.2%
Taylor expanded in x around inf 67.1%
if 3.5999999999999999e-215 < y1 < 1.9e-188Initial program 50.7%
Taylor expanded in y0 around inf 50.9%
+-commutative50.9%
mul-1-neg50.9%
unsub-neg50.9%
*-commutative50.9%
*-commutative50.9%
*-commutative50.9%
*-commutative50.9%
Simplified50.9%
Taylor expanded in k around -inf 51.2%
associate-*r*62.8%
*-commutative62.8%
+-commutative62.8%
mul-1-neg62.8%
unsub-neg62.8%
*-commutative62.8%
Simplified62.8%
if 8.3999999999999996e-134 < y1 < 9.40000000000000007e-94Initial program 20.0%
Taylor expanded in y5 around -inf 30.7%
Taylor expanded in i around inf 70.4%
if 9.40000000000000007e-94 < y1 < 1.79999999999999998e40Initial program 28.2%
Taylor expanded in b around inf 56.0%
if 1.79999999999999998e40 < y1 < 5.39999999999999988e189Initial program 20.3%
Taylor expanded in j around inf 55.2%
+-commutative55.2%
mul-1-neg55.2%
unsub-neg55.2%
*-commutative55.2%
Simplified55.2%
if 5.39999999999999988e189 < y1 Initial program 16.7%
Taylor expanded in x around inf 44.5%
Taylor expanded in y2 around inf 67.5%
*-commutative67.5%
Simplified67.5%
Final simplification60.0%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* z k) (* x j)))
(t_2 (- (* x y) (* z t)))
(t_3 (- (* y1 y4) (* y0 y5)))
(t_4
(*
k
(+
(- (* y2 t_3) (* y (- (* b y4) (* i y5))))
(* z (- (* b y0) (* i y1))))))
(t_5
(*
x
(+
(+ (* y (- (* a b) (* c i))) (* y2 (- (* c y0) (* a y1))))
(* j (- (* i y1) (* b y0))))))
(t_6 (- (* t j) (* y k)))
(t_7 (* i (- (* y1 (- (* x j) (* z k))) (+ (* c t_2) (* y5 t_6))))))
(if (<= k -4.3e+170)
t_4
(if (<= k -4.9e-26)
t_7
(if (<= k -1.25e-120)
(*
y0
(+
(+ (* c (- (* x y2) (* z y3))) (* y5 (- (* j y3) (* k y2))))
(* b t_1)))
(if (<= k -5.2e-224)
t_7
(if (<= k 1.55e-251)
t_5
(if (<= k 7.8e-184)
(* b (+ (+ (* a t_2) (* y4 t_6)) (* y0 t_1)))
(if (<= k 1.95e-30)
t_5
(if (<= k 245000000000.0)
(*
y3
(+
(* y (- (* c y4) (* a y5)))
(- (* z (- (* a y1) (* c y0))) (* j t_3))))
(if (<= k 1.28e+126)
(* i (* y5 (- (* y k) (* t j))))
t_4)))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (z * k) - (x * j);
double t_2 = (x * y) - (z * t);
double t_3 = (y1 * y4) - (y0 * y5);
double t_4 = k * (((y2 * t_3) - (y * ((b * y4) - (i * y5)))) + (z * ((b * y0) - (i * y1))));
double t_5 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))));
double t_6 = (t * j) - (y * k);
double t_7 = i * ((y1 * ((x * j) - (z * k))) - ((c * t_2) + (y5 * t_6)));
double tmp;
if (k <= -4.3e+170) {
tmp = t_4;
} else if (k <= -4.9e-26) {
tmp = t_7;
} else if (k <= -1.25e-120) {
tmp = y0 * (((c * ((x * y2) - (z * y3))) + (y5 * ((j * y3) - (k * y2)))) + (b * t_1));
} else if (k <= -5.2e-224) {
tmp = t_7;
} else if (k <= 1.55e-251) {
tmp = t_5;
} else if (k <= 7.8e-184) {
tmp = b * (((a * t_2) + (y4 * t_6)) + (y0 * t_1));
} else if (k <= 1.95e-30) {
tmp = t_5;
} else if (k <= 245000000000.0) {
tmp = y3 * ((y * ((c * y4) - (a * y5))) + ((z * ((a * y1) - (c * y0))) - (j * t_3)));
} else if (k <= 1.28e+126) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else {
tmp = t_4;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: t_4
real(8) :: t_5
real(8) :: t_6
real(8) :: t_7
real(8) :: tmp
t_1 = (z * k) - (x * j)
t_2 = (x * y) - (z * t)
t_3 = (y1 * y4) - (y0 * y5)
t_4 = k * (((y2 * t_3) - (y * ((b * y4) - (i * y5)))) + (z * ((b * y0) - (i * y1))))
t_5 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))))
t_6 = (t * j) - (y * k)
t_7 = i * ((y1 * ((x * j) - (z * k))) - ((c * t_2) + (y5 * t_6)))
if (k <= (-4.3d+170)) then
tmp = t_4
else if (k <= (-4.9d-26)) then
tmp = t_7
else if (k <= (-1.25d-120)) then
tmp = y0 * (((c * ((x * y2) - (z * y3))) + (y5 * ((j * y3) - (k * y2)))) + (b * t_1))
else if (k <= (-5.2d-224)) then
tmp = t_7
else if (k <= 1.55d-251) then
tmp = t_5
else if (k <= 7.8d-184) then
tmp = b * (((a * t_2) + (y4 * t_6)) + (y0 * t_1))
else if (k <= 1.95d-30) then
tmp = t_5
else if (k <= 245000000000.0d0) then
tmp = y3 * ((y * ((c * y4) - (a * y5))) + ((z * ((a * y1) - (c * y0))) - (j * t_3)))
else if (k <= 1.28d+126) then
tmp = i * (y5 * ((y * k) - (t * j)))
else
tmp = t_4
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (z * k) - (x * j);
double t_2 = (x * y) - (z * t);
double t_3 = (y1 * y4) - (y0 * y5);
double t_4 = k * (((y2 * t_3) - (y * ((b * y4) - (i * y5)))) + (z * ((b * y0) - (i * y1))));
double t_5 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))));
double t_6 = (t * j) - (y * k);
double t_7 = i * ((y1 * ((x * j) - (z * k))) - ((c * t_2) + (y5 * t_6)));
double tmp;
if (k <= -4.3e+170) {
tmp = t_4;
} else if (k <= -4.9e-26) {
tmp = t_7;
} else if (k <= -1.25e-120) {
tmp = y0 * (((c * ((x * y2) - (z * y3))) + (y5 * ((j * y3) - (k * y2)))) + (b * t_1));
} else if (k <= -5.2e-224) {
tmp = t_7;
} else if (k <= 1.55e-251) {
tmp = t_5;
} else if (k <= 7.8e-184) {
tmp = b * (((a * t_2) + (y4 * t_6)) + (y0 * t_1));
} else if (k <= 1.95e-30) {
tmp = t_5;
} else if (k <= 245000000000.0) {
tmp = y3 * ((y * ((c * y4) - (a * y5))) + ((z * ((a * y1) - (c * y0))) - (j * t_3)));
} else if (k <= 1.28e+126) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else {
tmp = t_4;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (z * k) - (x * j) t_2 = (x * y) - (z * t) t_3 = (y1 * y4) - (y0 * y5) t_4 = k * (((y2 * t_3) - (y * ((b * y4) - (i * y5)))) + (z * ((b * y0) - (i * y1)))) t_5 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0)))) t_6 = (t * j) - (y * k) t_7 = i * ((y1 * ((x * j) - (z * k))) - ((c * t_2) + (y5 * t_6))) tmp = 0 if k <= -4.3e+170: tmp = t_4 elif k <= -4.9e-26: tmp = t_7 elif k <= -1.25e-120: tmp = y0 * (((c * ((x * y2) - (z * y3))) + (y5 * ((j * y3) - (k * y2)))) + (b * t_1)) elif k <= -5.2e-224: tmp = t_7 elif k <= 1.55e-251: tmp = t_5 elif k <= 7.8e-184: tmp = b * (((a * t_2) + (y4 * t_6)) + (y0 * t_1)) elif k <= 1.95e-30: tmp = t_5 elif k <= 245000000000.0: tmp = y3 * ((y * ((c * y4) - (a * y5))) + ((z * ((a * y1) - (c * y0))) - (j * t_3))) elif k <= 1.28e+126: tmp = i * (y5 * ((y * k) - (t * j))) else: tmp = t_4 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(z * k) - Float64(x * j)) t_2 = Float64(Float64(x * y) - Float64(z * t)) t_3 = Float64(Float64(y1 * y4) - Float64(y0 * y5)) t_4 = Float64(k * Float64(Float64(Float64(y2 * t_3) - Float64(y * Float64(Float64(b * y4) - Float64(i * y5)))) + Float64(z * Float64(Float64(b * y0) - Float64(i * y1))))) t_5 = Float64(x * Float64(Float64(Float64(y * Float64(Float64(a * b) - Float64(c * i))) + Float64(y2 * Float64(Float64(c * y0) - Float64(a * y1)))) + Float64(j * Float64(Float64(i * y1) - Float64(b * y0))))) t_6 = Float64(Float64(t * j) - Float64(y * k)) t_7 = Float64(i * Float64(Float64(y1 * Float64(Float64(x * j) - Float64(z * k))) - Float64(Float64(c * t_2) + Float64(y5 * t_6)))) tmp = 0.0 if (k <= -4.3e+170) tmp = t_4; elseif (k <= -4.9e-26) tmp = t_7; elseif (k <= -1.25e-120) tmp = Float64(y0 * Float64(Float64(Float64(c * Float64(Float64(x * y2) - Float64(z * y3))) + Float64(y5 * Float64(Float64(j * y3) - Float64(k * y2)))) + Float64(b * t_1))); elseif (k <= -5.2e-224) tmp = t_7; elseif (k <= 1.55e-251) tmp = t_5; elseif (k <= 7.8e-184) tmp = Float64(b * Float64(Float64(Float64(a * t_2) + Float64(y4 * t_6)) + Float64(y0 * t_1))); elseif (k <= 1.95e-30) tmp = t_5; elseif (k <= 245000000000.0) tmp = Float64(y3 * Float64(Float64(y * Float64(Float64(c * y4) - Float64(a * y5))) + Float64(Float64(z * Float64(Float64(a * y1) - Float64(c * y0))) - Float64(j * t_3)))); elseif (k <= 1.28e+126) tmp = Float64(i * Float64(y5 * Float64(Float64(y * k) - Float64(t * j)))); else tmp = t_4; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = (z * k) - (x * j); t_2 = (x * y) - (z * t); t_3 = (y1 * y4) - (y0 * y5); t_4 = k * (((y2 * t_3) - (y * ((b * y4) - (i * y5)))) + (z * ((b * y0) - (i * y1)))); t_5 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0)))); t_6 = (t * j) - (y * k); t_7 = i * ((y1 * ((x * j) - (z * k))) - ((c * t_2) + (y5 * t_6))); tmp = 0.0; if (k <= -4.3e+170) tmp = t_4; elseif (k <= -4.9e-26) tmp = t_7; elseif (k <= -1.25e-120) tmp = y0 * (((c * ((x * y2) - (z * y3))) + (y5 * ((j * y3) - (k * y2)))) + (b * t_1)); elseif (k <= -5.2e-224) tmp = t_7; elseif (k <= 1.55e-251) tmp = t_5; elseif (k <= 7.8e-184) tmp = b * (((a * t_2) + (y4 * t_6)) + (y0 * t_1)); elseif (k <= 1.95e-30) tmp = t_5; elseif (k <= 245000000000.0) tmp = y3 * ((y * ((c * y4) - (a * y5))) + ((z * ((a * y1) - (c * y0))) - (j * t_3))); elseif (k <= 1.28e+126) tmp = i * (y5 * ((y * k) - (t * j))); else tmp = t_4; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(k * N[(N[(N[(y2 * t$95$3), $MachinePrecision] - N[(y * N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(z * N[(N[(b * y0), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(x * N[(N[(N[(y * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y2 * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$6 = N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$7 = N[(i * N[(N[(y1 * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(c * t$95$2), $MachinePrecision] + N[(y5 * t$95$6), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[k, -4.3e+170], t$95$4, If[LessEqual[k, -4.9e-26], t$95$7, If[LessEqual[k, -1.25e-120], N[(y0 * N[(N[(N[(c * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y5 * N[(N[(j * y3), $MachinePrecision] - N[(k * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(b * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, -5.2e-224], t$95$7, If[LessEqual[k, 1.55e-251], t$95$5, If[LessEqual[k, 7.8e-184], N[(b * N[(N[(N[(a * t$95$2), $MachinePrecision] + N[(y4 * t$95$6), $MachinePrecision]), $MachinePrecision] + N[(y0 * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 1.95e-30], t$95$5, If[LessEqual[k, 245000000000.0], N[(y3 * N[(N[(y * N[(N[(c * y4), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(z * N[(N[(a * y1), $MachinePrecision] - N[(c * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(j * t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 1.28e+126], N[(i * N[(y5 * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$4]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := z \cdot k - x \cdot j\\
t_2 := x \cdot y - z \cdot t\\
t_3 := y1 \cdot y4 - y0 \cdot y5\\
t_4 := k \cdot \left(\left(y2 \cdot t\_3 - y \cdot \left(b \cdot y4 - i \cdot y5\right)\right) + z \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\\
t_5 := x \cdot \left(\left(y \cdot \left(a \cdot b - c \cdot i\right) + y2 \cdot \left(c \cdot y0 - a \cdot y1\right)\right) + j \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
t_6 := t \cdot j - y \cdot k\\
t_7 := i \cdot \left(y1 \cdot \left(x \cdot j - z \cdot k\right) - \left(c \cdot t\_2 + y5 \cdot t\_6\right)\right)\\
\mathbf{if}\;k \leq -4.3 \cdot 10^{+170}:\\
\;\;\;\;t\_4\\
\mathbf{elif}\;k \leq -4.9 \cdot 10^{-26}:\\
\;\;\;\;t\_7\\
\mathbf{elif}\;k \leq -1.25 \cdot 10^{-120}:\\
\;\;\;\;y0 \cdot \left(\left(c \cdot \left(x \cdot y2 - z \cdot y3\right) + y5 \cdot \left(j \cdot y3 - k \cdot y2\right)\right) + b \cdot t\_1\right)\\
\mathbf{elif}\;k \leq -5.2 \cdot 10^{-224}:\\
\;\;\;\;t\_7\\
\mathbf{elif}\;k \leq 1.55 \cdot 10^{-251}:\\
\;\;\;\;t\_5\\
\mathbf{elif}\;k \leq 7.8 \cdot 10^{-184}:\\
\;\;\;\;b \cdot \left(\left(a \cdot t\_2 + y4 \cdot t\_6\right) + y0 \cdot t\_1\right)\\
\mathbf{elif}\;k \leq 1.95 \cdot 10^{-30}:\\
\;\;\;\;t\_5\\
\mathbf{elif}\;k \leq 245000000000:\\
\;\;\;\;y3 \cdot \left(y \cdot \left(c \cdot y4 - a \cdot y5\right) + \left(z \cdot \left(a \cdot y1 - c \cdot y0\right) - j \cdot t\_3\right)\right)\\
\mathbf{elif}\;k \leq 1.28 \cdot 10^{+126}:\\
\;\;\;\;i \cdot \left(y5 \cdot \left(y \cdot k - t \cdot j\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_4\\
\end{array}
\end{array}
if k < -4.2999999999999999e170 or 1.27999999999999993e126 < k Initial program 26.4%
Taylor expanded in k around inf 61.5%
sub-neg61.5%
+-commutative61.5%
mul-1-neg61.5%
unsub-neg61.5%
*-commutative61.5%
mul-1-neg61.5%
remove-double-neg61.5%
Simplified61.5%
if -4.2999999999999999e170 < k < -4.8999999999999999e-26 or -1.25000000000000002e-120 < k < -5.2000000000000004e-224Initial program 25.6%
Taylor expanded in i around -inf 59.8%
if -4.8999999999999999e-26 < k < -1.25000000000000002e-120Initial program 29.2%
Taylor expanded in y0 around inf 52.7%
+-commutative52.7%
mul-1-neg52.7%
unsub-neg52.7%
*-commutative52.7%
*-commutative52.7%
*-commutative52.7%
*-commutative52.7%
Simplified52.7%
if -5.2000000000000004e-224 < k < 1.55000000000000001e-251 or 7.79999999999999988e-184 < k < 1.9500000000000002e-30Initial program 39.4%
Taylor expanded in x around inf 62.8%
if 1.55000000000000001e-251 < k < 7.79999999999999988e-184Initial program 34.0%
Taylor expanded in b around inf 74.3%
if 1.9500000000000002e-30 < k < 2.45e11Initial program 33.3%
Taylor expanded in y3 around -inf 66.9%
if 2.45e11 < k < 1.27999999999999993e126Initial program 29.8%
Taylor expanded in y5 around -inf 64.7%
Taylor expanded in i around inf 82.5%
Final simplification63.0%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* (* y0 y2) (- (* x c) (* k y5))))
(t_2 (- (* y2 y4) (* z i)))
(t_3 (- (* x y2) (* z y3))))
(if (<= y0 -2.15e+159)
(* (* z y0) (- (* b k) (* c y3)))
(if (<= y0 -4.5e+133)
t_1
(if (<= y0 -1.16e+39)
(* b (* y0 (- (* z k) (* x j))))
(if (<= y0 -2.35e-58)
(* z (* c (- (* t i) (* y0 y3))))
(if (<= y0 -3.1e-196)
(* y (* x (- (* a b) (* c i))))
(if (<= y0 -3.9e-202)
(* t_3 (* c y0))
(if (<= y0 -3e-267)
(* (* t b) (- (* j y4) (* z a)))
(if (<= y0 2e-306)
(* i (* y5 (- (* y k) (* t j))))
(if (<= y0 6.5e-191)
(* k (* y1 t_2))
(if (<= y0 8.4e-122)
(* b (* y4 (- (* t j) (* y k))))
(if (<= y0 1.6e-22)
(* (* k y1) t_2)
(if (<= y0 1.8e+106)
t_1
(* c (* y0 t_3))))))))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (y0 * y2) * ((x * c) - (k * y5));
double t_2 = (y2 * y4) - (z * i);
double t_3 = (x * y2) - (z * y3);
double tmp;
if (y0 <= -2.15e+159) {
tmp = (z * y0) * ((b * k) - (c * y3));
} else if (y0 <= -4.5e+133) {
tmp = t_1;
} else if (y0 <= -1.16e+39) {
tmp = b * (y0 * ((z * k) - (x * j)));
} else if (y0 <= -2.35e-58) {
tmp = z * (c * ((t * i) - (y0 * y3)));
} else if (y0 <= -3.1e-196) {
tmp = y * (x * ((a * b) - (c * i)));
} else if (y0 <= -3.9e-202) {
tmp = t_3 * (c * y0);
} else if (y0 <= -3e-267) {
tmp = (t * b) * ((j * y4) - (z * a));
} else if (y0 <= 2e-306) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else if (y0 <= 6.5e-191) {
tmp = k * (y1 * t_2);
} else if (y0 <= 8.4e-122) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else if (y0 <= 1.6e-22) {
tmp = (k * y1) * t_2;
} else if (y0 <= 1.8e+106) {
tmp = t_1;
} else {
tmp = c * (y0 * t_3);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = (y0 * y2) * ((x * c) - (k * y5))
t_2 = (y2 * y4) - (z * i)
t_3 = (x * y2) - (z * y3)
if (y0 <= (-2.15d+159)) then
tmp = (z * y0) * ((b * k) - (c * y3))
else if (y0 <= (-4.5d+133)) then
tmp = t_1
else if (y0 <= (-1.16d+39)) then
tmp = b * (y0 * ((z * k) - (x * j)))
else if (y0 <= (-2.35d-58)) then
tmp = z * (c * ((t * i) - (y0 * y3)))
else if (y0 <= (-3.1d-196)) then
tmp = y * (x * ((a * b) - (c * i)))
else if (y0 <= (-3.9d-202)) then
tmp = t_3 * (c * y0)
else if (y0 <= (-3d-267)) then
tmp = (t * b) * ((j * y4) - (z * a))
else if (y0 <= 2d-306) then
tmp = i * (y5 * ((y * k) - (t * j)))
else if (y0 <= 6.5d-191) then
tmp = k * (y1 * t_2)
else if (y0 <= 8.4d-122) then
tmp = b * (y4 * ((t * j) - (y * k)))
else if (y0 <= 1.6d-22) then
tmp = (k * y1) * t_2
else if (y0 <= 1.8d+106) then
tmp = t_1
else
tmp = c * (y0 * 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 k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (y0 * y2) * ((x * c) - (k * y5));
double t_2 = (y2 * y4) - (z * i);
double t_3 = (x * y2) - (z * y3);
double tmp;
if (y0 <= -2.15e+159) {
tmp = (z * y0) * ((b * k) - (c * y3));
} else if (y0 <= -4.5e+133) {
tmp = t_1;
} else if (y0 <= -1.16e+39) {
tmp = b * (y0 * ((z * k) - (x * j)));
} else if (y0 <= -2.35e-58) {
tmp = z * (c * ((t * i) - (y0 * y3)));
} else if (y0 <= -3.1e-196) {
tmp = y * (x * ((a * b) - (c * i)));
} else if (y0 <= -3.9e-202) {
tmp = t_3 * (c * y0);
} else if (y0 <= -3e-267) {
tmp = (t * b) * ((j * y4) - (z * a));
} else if (y0 <= 2e-306) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else if (y0 <= 6.5e-191) {
tmp = k * (y1 * t_2);
} else if (y0 <= 8.4e-122) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else if (y0 <= 1.6e-22) {
tmp = (k * y1) * t_2;
} else if (y0 <= 1.8e+106) {
tmp = t_1;
} else {
tmp = c * (y0 * t_3);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (y0 * y2) * ((x * c) - (k * y5)) t_2 = (y2 * y4) - (z * i) t_3 = (x * y2) - (z * y3) tmp = 0 if y0 <= -2.15e+159: tmp = (z * y0) * ((b * k) - (c * y3)) elif y0 <= -4.5e+133: tmp = t_1 elif y0 <= -1.16e+39: tmp = b * (y0 * ((z * k) - (x * j))) elif y0 <= -2.35e-58: tmp = z * (c * ((t * i) - (y0 * y3))) elif y0 <= -3.1e-196: tmp = y * (x * ((a * b) - (c * i))) elif y0 <= -3.9e-202: tmp = t_3 * (c * y0) elif y0 <= -3e-267: tmp = (t * b) * ((j * y4) - (z * a)) elif y0 <= 2e-306: tmp = i * (y5 * ((y * k) - (t * j))) elif y0 <= 6.5e-191: tmp = k * (y1 * t_2) elif y0 <= 8.4e-122: tmp = b * (y4 * ((t * j) - (y * k))) elif y0 <= 1.6e-22: tmp = (k * y1) * t_2 elif y0 <= 1.8e+106: tmp = t_1 else: tmp = c * (y0 * t_3) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(y0 * y2) * Float64(Float64(x * c) - Float64(k * y5))) t_2 = Float64(Float64(y2 * y4) - Float64(z * i)) t_3 = Float64(Float64(x * y2) - Float64(z * y3)) tmp = 0.0 if (y0 <= -2.15e+159) tmp = Float64(Float64(z * y0) * Float64(Float64(b * k) - Float64(c * y3))); elseif (y0 <= -4.5e+133) tmp = t_1; elseif (y0 <= -1.16e+39) tmp = Float64(b * Float64(y0 * Float64(Float64(z * k) - Float64(x * j)))); elseif (y0 <= -2.35e-58) tmp = Float64(z * Float64(c * Float64(Float64(t * i) - Float64(y0 * y3)))); elseif (y0 <= -3.1e-196) tmp = Float64(y * Float64(x * Float64(Float64(a * b) - Float64(c * i)))); elseif (y0 <= -3.9e-202) tmp = Float64(t_3 * Float64(c * y0)); elseif (y0 <= -3e-267) tmp = Float64(Float64(t * b) * Float64(Float64(j * y4) - Float64(z * a))); elseif (y0 <= 2e-306) tmp = Float64(i * Float64(y5 * Float64(Float64(y * k) - Float64(t * j)))); elseif (y0 <= 6.5e-191) tmp = Float64(k * Float64(y1 * t_2)); elseif (y0 <= 8.4e-122) tmp = Float64(b * Float64(y4 * Float64(Float64(t * j) - Float64(y * k)))); elseif (y0 <= 1.6e-22) tmp = Float64(Float64(k * y1) * t_2); elseif (y0 <= 1.8e+106) tmp = t_1; else tmp = Float64(c * Float64(y0 * t_3)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = (y0 * y2) * ((x * c) - (k * y5)); t_2 = (y2 * y4) - (z * i); t_3 = (x * y2) - (z * y3); tmp = 0.0; if (y0 <= -2.15e+159) tmp = (z * y0) * ((b * k) - (c * y3)); elseif (y0 <= -4.5e+133) tmp = t_1; elseif (y0 <= -1.16e+39) tmp = b * (y0 * ((z * k) - (x * j))); elseif (y0 <= -2.35e-58) tmp = z * (c * ((t * i) - (y0 * y3))); elseif (y0 <= -3.1e-196) tmp = y * (x * ((a * b) - (c * i))); elseif (y0 <= -3.9e-202) tmp = t_3 * (c * y0); elseif (y0 <= -3e-267) tmp = (t * b) * ((j * y4) - (z * a)); elseif (y0 <= 2e-306) tmp = i * (y5 * ((y * k) - (t * j))); elseif (y0 <= 6.5e-191) tmp = k * (y1 * t_2); elseif (y0 <= 8.4e-122) tmp = b * (y4 * ((t * j) - (y * k))); elseif (y0 <= 1.6e-22) tmp = (k * y1) * t_2; elseif (y0 <= 1.8e+106) tmp = t_1; else tmp = c * (y0 * t_3); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(y0 * y2), $MachinePrecision] * N[(N[(x * c), $MachinePrecision] - N[(k * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(y2 * y4), $MachinePrecision] - N[(z * i), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y0, -2.15e+159], N[(N[(z * y0), $MachinePrecision] * N[(N[(b * k), $MachinePrecision] - N[(c * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -4.5e+133], t$95$1, If[LessEqual[y0, -1.16e+39], N[(b * N[(y0 * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -2.35e-58], N[(z * N[(c * N[(N[(t * i), $MachinePrecision] - N[(y0 * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -3.1e-196], N[(y * N[(x * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -3.9e-202], N[(t$95$3 * N[(c * y0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -3e-267], N[(N[(t * b), $MachinePrecision] * N[(N[(j * y4), $MachinePrecision] - N[(z * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 2e-306], N[(i * N[(y5 * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 6.5e-191], N[(k * N[(y1 * t$95$2), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 8.4e-122], N[(b * N[(y4 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 1.6e-22], N[(N[(k * y1), $MachinePrecision] * t$95$2), $MachinePrecision], If[LessEqual[y0, 1.8e+106], t$95$1, N[(c * N[(y0 * t$95$3), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(y0 \cdot y2\right) \cdot \left(x \cdot c - k \cdot y5\right)\\
t_2 := y2 \cdot y4 - z \cdot i\\
t_3 := x \cdot y2 - z \cdot y3\\
\mathbf{if}\;y0 \leq -2.15 \cdot 10^{+159}:\\
\;\;\;\;\left(z \cdot y0\right) \cdot \left(b \cdot k - c \cdot y3\right)\\
\mathbf{elif}\;y0 \leq -4.5 \cdot 10^{+133}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y0 \leq -1.16 \cdot 10^{+39}:\\
\;\;\;\;b \cdot \left(y0 \cdot \left(z \cdot k - x \cdot j\right)\right)\\
\mathbf{elif}\;y0 \leq -2.35 \cdot 10^{-58}:\\
\;\;\;\;z \cdot \left(c \cdot \left(t \cdot i - y0 \cdot y3\right)\right)\\
\mathbf{elif}\;y0 \leq -3.1 \cdot 10^{-196}:\\
\;\;\;\;y \cdot \left(x \cdot \left(a \cdot b - c \cdot i\right)\right)\\
\mathbf{elif}\;y0 \leq -3.9 \cdot 10^{-202}:\\
\;\;\;\;t\_3 \cdot \left(c \cdot y0\right)\\
\mathbf{elif}\;y0 \leq -3 \cdot 10^{-267}:\\
\;\;\;\;\left(t \cdot b\right) \cdot \left(j \cdot y4 - z \cdot a\right)\\
\mathbf{elif}\;y0 \leq 2 \cdot 10^{-306}:\\
\;\;\;\;i \cdot \left(y5 \cdot \left(y \cdot k - t \cdot j\right)\right)\\
\mathbf{elif}\;y0 \leq 6.5 \cdot 10^{-191}:\\
\;\;\;\;k \cdot \left(y1 \cdot t\_2\right)\\
\mathbf{elif}\;y0 \leq 8.4 \cdot 10^{-122}:\\
\;\;\;\;b \cdot \left(y4 \cdot \left(t \cdot j - y \cdot k\right)\right)\\
\mathbf{elif}\;y0 \leq 1.6 \cdot 10^{-22}:\\
\;\;\;\;\left(k \cdot y1\right) \cdot t\_2\\
\mathbf{elif}\;y0 \leq 1.8 \cdot 10^{+106}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;c \cdot \left(y0 \cdot t\_3\right)\\
\end{array}
\end{array}
if y0 < -2.1500000000000001e159Initial program 18.1%
Taylor expanded in y0 around inf 60.7%
+-commutative60.7%
mul-1-neg60.7%
unsub-neg60.7%
*-commutative60.7%
*-commutative60.7%
*-commutative60.7%
*-commutative60.7%
Simplified60.7%
Taylor expanded in z around inf 61.4%
associate-*r*61.5%
distribute-lft-out--61.5%
Simplified61.5%
if -2.1500000000000001e159 < y0 < -4.49999999999999985e133 or 1.59999999999999994e-22 < y0 < 1.8e106Initial program 27.6%
Taylor expanded in y0 around inf 45.7%
+-commutative45.7%
mul-1-neg45.7%
unsub-neg45.7%
*-commutative45.7%
*-commutative45.7%
*-commutative45.7%
*-commutative45.7%
Simplified45.7%
Taylor expanded in y2 around inf 56.0%
associate-*r*55.9%
Simplified55.9%
if -4.49999999999999985e133 < y0 < -1.16000000000000003e39Initial program 33.3%
Taylor expanded in y0 around inf 78.0%
+-commutative78.0%
mul-1-neg78.0%
unsub-neg78.0%
*-commutative78.0%
*-commutative78.0%
*-commutative78.0%
*-commutative78.0%
Simplified78.0%
Taylor expanded in b around inf 67.5%
if -1.16000000000000003e39 < y0 < -2.34999999999999997e-58Initial program 54.8%
Taylor expanded in z around -inf 55.2%
Taylor expanded in c around inf 42.0%
+-commutative42.0%
mul-1-neg42.0%
unsub-neg42.0%
*-commutative42.0%
Simplified42.0%
if -2.34999999999999997e-58 < y0 < -3.09999999999999993e-196Initial program 14.4%
Taylor expanded in y around inf 36.9%
Taylor expanded in x around inf 42.0%
*-commutative42.0%
*-commutative42.0%
*-commutative42.0%
associate-*r*42.0%
*-commutative42.0%
*-commutative42.0%
*-commutative42.0%
Simplified42.0%
if -3.09999999999999993e-196 < y0 < -3.8999999999999999e-202Initial program 50.0%
Taylor expanded in y0 around inf 8.5%
+-commutative8.5%
mul-1-neg8.5%
unsub-neg8.5%
*-commutative8.5%
*-commutative8.5%
*-commutative8.5%
*-commutative8.5%
Simplified8.5%
Taylor expanded in c around inf 51.3%
associate-*r*52.1%
*-commutative52.1%
Simplified52.1%
if -3.8999999999999999e-202 < y0 < -3e-267Initial program 44.3%
Taylor expanded in b around inf 51.0%
Taylor expanded in t around inf 57.2%
associate-*r*51.4%
+-commutative51.4%
mul-1-neg51.4%
unsub-neg51.4%
*-commutative51.4%
Simplified51.4%
if -3e-267 < y0 < 2.00000000000000006e-306Initial program 25.0%
Taylor expanded in y5 around -inf 25.5%
Taylor expanded in i around inf 62.9%
if 2.00000000000000006e-306 < y0 < 6.4999999999999995e-191Initial program 40.9%
Taylor expanded in y1 around -inf 59.8%
mul-1-neg59.8%
*-commutative59.8%
distribute-rgt-neg-in59.8%
Simplified59.8%
Taylor expanded in k around -inf 52.6%
mul-1-neg52.6%
*-commutative52.6%
distribute-rgt-neg-in52.6%
+-commutative52.6%
mul-1-neg52.6%
unsub-neg52.6%
*-commutative52.6%
Simplified52.6%
if 6.4999999999999995e-191 < y0 < 8.39999999999999969e-122Initial program 13.3%
Taylor expanded in b around inf 53.3%
Taylor expanded in y4 around inf 66.9%
if 8.39999999999999969e-122 < y0 < 1.59999999999999994e-22Initial program 56.2%
Taylor expanded in y1 around -inf 57.2%
mul-1-neg57.2%
*-commutative57.2%
distribute-rgt-neg-in57.2%
Simplified57.2%
Taylor expanded in k around inf 51.6%
associate-*r*51.6%
+-commutative51.6%
mul-1-neg51.6%
unsub-neg51.6%
*-commutative51.6%
Simplified51.6%
if 1.8e106 < y0 Initial program 19.2%
Taylor expanded in y0 around inf 58.1%
+-commutative58.1%
mul-1-neg58.1%
unsub-neg58.1%
*-commutative58.1%
*-commutative58.1%
*-commutative58.1%
*-commutative58.1%
Simplified58.1%
Taylor expanded in c around inf 58.0%
Final simplification55.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1
(*
k
(+
(- (* y2 (- (* y1 y4) (* y0 y5))) (* y (- (* b y4) (* i y5))))
(* z (- (* b y0) (* i y1))))))
(t_2
(*
x
(+
(+ (* y (- (* a b) (* c i))) (* y2 (- (* c y0) (* a y1))))
(* j (- (* i y1) (* b y0)))))))
(if (<= k -3.1e+137)
t_1
(if (<= k -9.5e-17)
t_2
(if (<= k -2.4e-44)
t_1
(if (<= k -5e-108)
(* c (* y0 (- (* x y2) (* z y3))))
(if (<= k 3.8e-251)
t_2
(if (<= k 1.45e-183)
(*
b
(+
(+ (* a (- (* x y) (* z t))) (* y4 (- (* t j) (* y k))))
(* y0 (- (* z k) (* x j)))))
(if (<= k 2.1e-8)
t_2
(if (<= k 6e+129)
(* i (* y5 (- (* y k) (* t j))))
t_1))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = k * (((y2 * ((y1 * y4) - (y0 * y5))) - (y * ((b * y4) - (i * y5)))) + (z * ((b * y0) - (i * y1))));
double t_2 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))));
double tmp;
if (k <= -3.1e+137) {
tmp = t_1;
} else if (k <= -9.5e-17) {
tmp = t_2;
} else if (k <= -2.4e-44) {
tmp = t_1;
} else if (k <= -5e-108) {
tmp = c * (y0 * ((x * y2) - (z * y3)));
} else if (k <= 3.8e-251) {
tmp = t_2;
} else if (k <= 1.45e-183) {
tmp = b * (((a * ((x * y) - (z * t))) + (y4 * ((t * j) - (y * k)))) + (y0 * ((z * k) - (x * j))));
} else if (k <= 2.1e-8) {
tmp = t_2;
} else if (k <= 6e+129) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = k * (((y2 * ((y1 * y4) - (y0 * y5))) - (y * ((b * y4) - (i * y5)))) + (z * ((b * y0) - (i * y1))))
t_2 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))))
if (k <= (-3.1d+137)) then
tmp = t_1
else if (k <= (-9.5d-17)) then
tmp = t_2
else if (k <= (-2.4d-44)) then
tmp = t_1
else if (k <= (-5d-108)) then
tmp = c * (y0 * ((x * y2) - (z * y3)))
else if (k <= 3.8d-251) then
tmp = t_2
else if (k <= 1.45d-183) then
tmp = b * (((a * ((x * y) - (z * t))) + (y4 * ((t * j) - (y * k)))) + (y0 * ((z * k) - (x * j))))
else if (k <= 2.1d-8) then
tmp = t_2
else if (k <= 6d+129) then
tmp = i * (y5 * ((y * k) - (t * 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 k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = k * (((y2 * ((y1 * y4) - (y0 * y5))) - (y * ((b * y4) - (i * y5)))) + (z * ((b * y0) - (i * y1))));
double t_2 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))));
double tmp;
if (k <= -3.1e+137) {
tmp = t_1;
} else if (k <= -9.5e-17) {
tmp = t_2;
} else if (k <= -2.4e-44) {
tmp = t_1;
} else if (k <= -5e-108) {
tmp = c * (y0 * ((x * y2) - (z * y3)));
} else if (k <= 3.8e-251) {
tmp = t_2;
} else if (k <= 1.45e-183) {
tmp = b * (((a * ((x * y) - (z * t))) + (y4 * ((t * j) - (y * k)))) + (y0 * ((z * k) - (x * j))));
} else if (k <= 2.1e-8) {
tmp = t_2;
} else if (k <= 6e+129) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = k * (((y2 * ((y1 * y4) - (y0 * y5))) - (y * ((b * y4) - (i * y5)))) + (z * ((b * y0) - (i * y1)))) t_2 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0)))) tmp = 0 if k <= -3.1e+137: tmp = t_1 elif k <= -9.5e-17: tmp = t_2 elif k <= -2.4e-44: tmp = t_1 elif k <= -5e-108: tmp = c * (y0 * ((x * y2) - (z * y3))) elif k <= 3.8e-251: tmp = t_2 elif k <= 1.45e-183: tmp = b * (((a * ((x * y) - (z * t))) + (y4 * ((t * j) - (y * k)))) + (y0 * ((z * k) - (x * j)))) elif k <= 2.1e-8: tmp = t_2 elif k <= 6e+129: tmp = i * (y5 * ((y * k) - (t * j))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(k * Float64(Float64(Float64(y2 * Float64(Float64(y1 * y4) - Float64(y0 * y5))) - Float64(y * Float64(Float64(b * y4) - Float64(i * y5)))) + Float64(z * Float64(Float64(b * y0) - Float64(i * y1))))) t_2 = Float64(x * Float64(Float64(Float64(y * Float64(Float64(a * b) - Float64(c * i))) + Float64(y2 * Float64(Float64(c * y0) - Float64(a * y1)))) + Float64(j * Float64(Float64(i * y1) - Float64(b * y0))))) tmp = 0.0 if (k <= -3.1e+137) tmp = t_1; elseif (k <= -9.5e-17) tmp = t_2; elseif (k <= -2.4e-44) tmp = t_1; elseif (k <= -5e-108) tmp = Float64(c * Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3)))); elseif (k <= 3.8e-251) tmp = t_2; elseif (k <= 1.45e-183) tmp = Float64(b * Float64(Float64(Float64(a * Float64(Float64(x * y) - Float64(z * t))) + Float64(y4 * Float64(Float64(t * j) - Float64(y * k)))) + Float64(y0 * Float64(Float64(z * k) - Float64(x * j))))); elseif (k <= 2.1e-8) tmp = t_2; elseif (k <= 6e+129) tmp = Float64(i * Float64(y5 * Float64(Float64(y * k) - Float64(t * j)))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = k * (((y2 * ((y1 * y4) - (y0 * y5))) - (y * ((b * y4) - (i * y5)))) + (z * ((b * y0) - (i * y1)))); t_2 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0)))); tmp = 0.0; if (k <= -3.1e+137) tmp = t_1; elseif (k <= -9.5e-17) tmp = t_2; elseif (k <= -2.4e-44) tmp = t_1; elseif (k <= -5e-108) tmp = c * (y0 * ((x * y2) - (z * y3))); elseif (k <= 3.8e-251) tmp = t_2; elseif (k <= 1.45e-183) tmp = b * (((a * ((x * y) - (z * t))) + (y4 * ((t * j) - (y * k)))) + (y0 * ((z * k) - (x * j)))); elseif (k <= 2.1e-8) tmp = t_2; elseif (k <= 6e+129) tmp = i * (y5 * ((y * k) - (t * j))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(k * N[(N[(N[(y2 * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(y * N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(z * N[(N[(b * y0), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x * N[(N[(N[(y * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y2 * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[k, -3.1e+137], t$95$1, If[LessEqual[k, -9.5e-17], t$95$2, If[LessEqual[k, -2.4e-44], t$95$1, If[LessEqual[k, -5e-108], N[(c * N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 3.8e-251], t$95$2, If[LessEqual[k, 1.45e-183], N[(b * N[(N[(N[(a * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y4 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y0 * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 2.1e-8], t$95$2, If[LessEqual[k, 6e+129], N[(i * N[(y5 * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := k \cdot \left(\left(y2 \cdot \left(y1 \cdot y4 - y0 \cdot y5\right) - y \cdot \left(b \cdot y4 - i \cdot y5\right)\right) + z \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\\
t_2 := x \cdot \left(\left(y \cdot \left(a \cdot b - c \cdot i\right) + y2 \cdot \left(c \cdot y0 - a \cdot y1\right)\right) + j \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{if}\;k \leq -3.1 \cdot 10^{+137}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;k \leq -9.5 \cdot 10^{-17}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;k \leq -2.4 \cdot 10^{-44}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;k \leq -5 \cdot 10^{-108}:\\
\;\;\;\;c \cdot \left(y0 \cdot \left(x \cdot y2 - z \cdot y3\right)\right)\\
\mathbf{elif}\;k \leq 3.8 \cdot 10^{-251}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;k \leq 1.45 \cdot 10^{-183}:\\
\;\;\;\;b \cdot \left(\left(a \cdot \left(x \cdot y - z \cdot t\right) + y4 \cdot \left(t \cdot j - y \cdot k\right)\right) + y0 \cdot \left(z \cdot k - x \cdot j\right)\right)\\
\mathbf{elif}\;k \leq 2.1 \cdot 10^{-8}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;k \leq 6 \cdot 10^{+129}:\\
\;\;\;\;i \cdot \left(y5 \cdot \left(y \cdot k - t \cdot j\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if k < -3.0999999999999999e137 or -9.50000000000000029e-17 < k < -2.40000000000000009e-44 or 6.0000000000000006e129 < k Initial program 27.0%
Taylor expanded in k around inf 61.1%
sub-neg61.1%
+-commutative61.1%
mul-1-neg61.1%
unsub-neg61.1%
*-commutative61.1%
mul-1-neg61.1%
remove-double-neg61.1%
Simplified61.1%
if -3.0999999999999999e137 < k < -9.50000000000000029e-17 or -5e-108 < k < 3.7999999999999997e-251 or 1.45e-183 < k < 2.09999999999999994e-8Initial program 33.1%
Taylor expanded in x around inf 54.0%
if -2.40000000000000009e-44 < k < -5e-108Initial program 29.0%
Taylor expanded in y0 around inf 43.2%
+-commutative43.2%
mul-1-neg43.2%
unsub-neg43.2%
*-commutative43.2%
*-commutative43.2%
*-commutative43.2%
*-commutative43.2%
Simplified43.2%
Taylor expanded in c around inf 50.8%
if 3.7999999999999997e-251 < k < 1.45e-183Initial program 34.0%
Taylor expanded in b around inf 74.3%
if 2.09999999999999994e-8 < k < 6.0000000000000006e129Initial program 28.9%
Taylor expanded in y5 around -inf 57.2%
Taylor expanded in i around inf 76.6%
Final simplification59.3%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1
(*
k
(+
(- (* y2 (- (* y1 y4) (* y0 y5))) (* y (- (* b y4) (* i y5))))
(* z (- (* b y0) (* i y1))))))
(t_2 (- (* z k) (* x j)))
(t_3
(*
x
(+
(+ (* y (- (* a b) (* c i))) (* y2 (- (* c y0) (* a y1))))
(* j (- (* i y1) (* b y0)))))))
(if (<= k -1.35e+137)
t_1
(if (<= k -8.8e+60)
t_3
(if (<= k -2.2e-26)
(* z (* c (- (* t i) (* y0 y3))))
(if (<= k -2.02e-227)
(*
y0
(+
(+ (* c (- (* x y2) (* z y3))) (* y5 (- (* j y3) (* k y2))))
(* b t_2)))
(if (<= k 2.3e-251)
t_3
(if (<= k 3.9e-184)
(*
b
(+
(+ (* a (- (* x y) (* z t))) (* y4 (- (* t j) (* y k))))
(* y0 t_2)))
(if (<= k 8.2e-8)
t_3
(if (<= k 4.6e+122)
(* i (* y5 (- (* y k) (* t j))))
t_1))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = k * (((y2 * ((y1 * y4) - (y0 * y5))) - (y * ((b * y4) - (i * y5)))) + (z * ((b * y0) - (i * y1))));
double t_2 = (z * k) - (x * j);
double t_3 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))));
double tmp;
if (k <= -1.35e+137) {
tmp = t_1;
} else if (k <= -8.8e+60) {
tmp = t_3;
} else if (k <= -2.2e-26) {
tmp = z * (c * ((t * i) - (y0 * y3)));
} else if (k <= -2.02e-227) {
tmp = y0 * (((c * ((x * y2) - (z * y3))) + (y5 * ((j * y3) - (k * y2)))) + (b * t_2));
} else if (k <= 2.3e-251) {
tmp = t_3;
} else if (k <= 3.9e-184) {
tmp = b * (((a * ((x * y) - (z * t))) + (y4 * ((t * j) - (y * k)))) + (y0 * t_2));
} else if (k <= 8.2e-8) {
tmp = t_3;
} else if (k <= 4.6e+122) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = k * (((y2 * ((y1 * y4) - (y0 * y5))) - (y * ((b * y4) - (i * y5)))) + (z * ((b * y0) - (i * y1))))
t_2 = (z * k) - (x * j)
t_3 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))))
if (k <= (-1.35d+137)) then
tmp = t_1
else if (k <= (-8.8d+60)) then
tmp = t_3
else if (k <= (-2.2d-26)) then
tmp = z * (c * ((t * i) - (y0 * y3)))
else if (k <= (-2.02d-227)) then
tmp = y0 * (((c * ((x * y2) - (z * y3))) + (y5 * ((j * y3) - (k * y2)))) + (b * t_2))
else if (k <= 2.3d-251) then
tmp = t_3
else if (k <= 3.9d-184) then
tmp = b * (((a * ((x * y) - (z * t))) + (y4 * ((t * j) - (y * k)))) + (y0 * t_2))
else if (k <= 8.2d-8) then
tmp = t_3
else if (k <= 4.6d+122) then
tmp = i * (y5 * ((y * k) - (t * 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 k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = k * (((y2 * ((y1 * y4) - (y0 * y5))) - (y * ((b * y4) - (i * y5)))) + (z * ((b * y0) - (i * y1))));
double t_2 = (z * k) - (x * j);
double t_3 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))));
double tmp;
if (k <= -1.35e+137) {
tmp = t_1;
} else if (k <= -8.8e+60) {
tmp = t_3;
} else if (k <= -2.2e-26) {
tmp = z * (c * ((t * i) - (y0 * y3)));
} else if (k <= -2.02e-227) {
tmp = y0 * (((c * ((x * y2) - (z * y3))) + (y5 * ((j * y3) - (k * y2)))) + (b * t_2));
} else if (k <= 2.3e-251) {
tmp = t_3;
} else if (k <= 3.9e-184) {
tmp = b * (((a * ((x * y) - (z * t))) + (y4 * ((t * j) - (y * k)))) + (y0 * t_2));
} else if (k <= 8.2e-8) {
tmp = t_3;
} else if (k <= 4.6e+122) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = k * (((y2 * ((y1 * y4) - (y0 * y5))) - (y * ((b * y4) - (i * y5)))) + (z * ((b * y0) - (i * y1)))) t_2 = (z * k) - (x * j) t_3 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0)))) tmp = 0 if k <= -1.35e+137: tmp = t_1 elif k <= -8.8e+60: tmp = t_3 elif k <= -2.2e-26: tmp = z * (c * ((t * i) - (y0 * y3))) elif k <= -2.02e-227: tmp = y0 * (((c * ((x * y2) - (z * y3))) + (y5 * ((j * y3) - (k * y2)))) + (b * t_2)) elif k <= 2.3e-251: tmp = t_3 elif k <= 3.9e-184: tmp = b * (((a * ((x * y) - (z * t))) + (y4 * ((t * j) - (y * k)))) + (y0 * t_2)) elif k <= 8.2e-8: tmp = t_3 elif k <= 4.6e+122: tmp = i * (y5 * ((y * k) - (t * j))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(k * Float64(Float64(Float64(y2 * Float64(Float64(y1 * y4) - Float64(y0 * y5))) - Float64(y * Float64(Float64(b * y4) - Float64(i * y5)))) + Float64(z * Float64(Float64(b * y0) - Float64(i * y1))))) t_2 = Float64(Float64(z * k) - Float64(x * j)) t_3 = Float64(x * Float64(Float64(Float64(y * Float64(Float64(a * b) - Float64(c * i))) + Float64(y2 * Float64(Float64(c * y0) - Float64(a * y1)))) + Float64(j * Float64(Float64(i * y1) - Float64(b * y0))))) tmp = 0.0 if (k <= -1.35e+137) tmp = t_1; elseif (k <= -8.8e+60) tmp = t_3; elseif (k <= -2.2e-26) tmp = Float64(z * Float64(c * Float64(Float64(t * i) - Float64(y0 * y3)))); elseif (k <= -2.02e-227) tmp = Float64(y0 * Float64(Float64(Float64(c * Float64(Float64(x * y2) - Float64(z * y3))) + Float64(y5 * Float64(Float64(j * y3) - Float64(k * y2)))) + Float64(b * t_2))); elseif (k <= 2.3e-251) tmp = t_3; elseif (k <= 3.9e-184) tmp = Float64(b * Float64(Float64(Float64(a * Float64(Float64(x * y) - Float64(z * t))) + Float64(y4 * Float64(Float64(t * j) - Float64(y * k)))) + Float64(y0 * t_2))); elseif (k <= 8.2e-8) tmp = t_3; elseif (k <= 4.6e+122) tmp = Float64(i * Float64(y5 * Float64(Float64(y * k) - Float64(t * j)))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = k * (((y2 * ((y1 * y4) - (y0 * y5))) - (y * ((b * y4) - (i * y5)))) + (z * ((b * y0) - (i * y1)))); t_2 = (z * k) - (x * j); t_3 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0)))); tmp = 0.0; if (k <= -1.35e+137) tmp = t_1; elseif (k <= -8.8e+60) tmp = t_3; elseif (k <= -2.2e-26) tmp = z * (c * ((t * i) - (y0 * y3))); elseif (k <= -2.02e-227) tmp = y0 * (((c * ((x * y2) - (z * y3))) + (y5 * ((j * y3) - (k * y2)))) + (b * t_2)); elseif (k <= 2.3e-251) tmp = t_3; elseif (k <= 3.9e-184) tmp = b * (((a * ((x * y) - (z * t))) + (y4 * ((t * j) - (y * k)))) + (y0 * t_2)); elseif (k <= 8.2e-8) tmp = t_3; elseif (k <= 4.6e+122) tmp = i * (y5 * ((y * k) - (t * j))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(k * N[(N[(N[(y2 * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(y * N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(z * N[(N[(b * y0), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(x * N[(N[(N[(y * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y2 * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[k, -1.35e+137], t$95$1, If[LessEqual[k, -8.8e+60], t$95$3, If[LessEqual[k, -2.2e-26], N[(z * N[(c * N[(N[(t * i), $MachinePrecision] - N[(y0 * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, -2.02e-227], N[(y0 * N[(N[(N[(c * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y5 * N[(N[(j * y3), $MachinePrecision] - N[(k * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(b * t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 2.3e-251], t$95$3, If[LessEqual[k, 3.9e-184], N[(b * N[(N[(N[(a * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y4 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y0 * t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 8.2e-8], t$95$3, If[LessEqual[k, 4.6e+122], N[(i * N[(y5 * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := k \cdot \left(\left(y2 \cdot \left(y1 \cdot y4 - y0 \cdot y5\right) - y \cdot \left(b \cdot y4 - i \cdot y5\right)\right) + z \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\\
t_2 := z \cdot k - x \cdot j\\
t_3 := x \cdot \left(\left(y \cdot \left(a \cdot b - c \cdot i\right) + y2 \cdot \left(c \cdot y0 - a \cdot y1\right)\right) + j \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{if}\;k \leq -1.35 \cdot 10^{+137}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;k \leq -8.8 \cdot 10^{+60}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;k \leq -2.2 \cdot 10^{-26}:\\
\;\;\;\;z \cdot \left(c \cdot \left(t \cdot i - y0 \cdot y3\right)\right)\\
\mathbf{elif}\;k \leq -2.02 \cdot 10^{-227}:\\
\;\;\;\;y0 \cdot \left(\left(c \cdot \left(x \cdot y2 - z \cdot y3\right) + y5 \cdot \left(j \cdot y3 - k \cdot y2\right)\right) + b \cdot t\_2\right)\\
\mathbf{elif}\;k \leq 2.3 \cdot 10^{-251}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;k \leq 3.9 \cdot 10^{-184}:\\
\;\;\;\;b \cdot \left(\left(a \cdot \left(x \cdot y - z \cdot t\right) + y4 \cdot \left(t \cdot j - y \cdot k\right)\right) + y0 \cdot t\_2\right)\\
\mathbf{elif}\;k \leq 8.2 \cdot 10^{-8}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;k \leq 4.6 \cdot 10^{+122}:\\
\;\;\;\;i \cdot \left(y5 \cdot \left(y \cdot k - t \cdot j\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if k < -1.35000000000000009e137 or 4.6000000000000001e122 < k Initial program 24.9%
Taylor expanded in k around inf 60.9%
sub-neg60.9%
+-commutative60.9%
mul-1-neg60.9%
unsub-neg60.9%
*-commutative60.9%
mul-1-neg60.9%
remove-double-neg60.9%
Simplified60.9%
if -1.35000000000000009e137 < k < -8.79999999999999984e60 or -2.0200000000000001e-227 < k < 2.30000000000000017e-251 or 3.89999999999999994e-184 < k < 8.20000000000000063e-8Initial program 34.7%
Taylor expanded in x around inf 59.3%
if -8.79999999999999984e60 < k < -2.2000000000000001e-26Initial program 38.9%
Taylor expanded in z around -inf 39.3%
Taylor expanded in c around inf 50.6%
+-commutative50.6%
mul-1-neg50.6%
unsub-neg50.6%
*-commutative50.6%
Simplified50.6%
if -2.2000000000000001e-26 < k < -2.0200000000000001e-227Initial program 29.5%
Taylor expanded in y0 around inf 45.9%
+-commutative45.9%
mul-1-neg45.9%
unsub-neg45.9%
*-commutative45.9%
*-commutative45.9%
*-commutative45.9%
*-commutative45.9%
Simplified45.9%
if 2.30000000000000017e-251 < k < 3.89999999999999994e-184Initial program 34.0%
Taylor expanded in b around inf 74.3%
if 8.20000000000000063e-8 < k < 4.6000000000000001e122Initial program 28.9%
Taylor expanded in y5 around -inf 57.2%
Taylor expanded in i around inf 76.6%
Final simplification59.4%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* z k) (* x j)))
(t_2
(*
k
(+
(- (* y2 (- (* y1 y4) (* y0 y5))) (* y (- (* b y4) (* i y5))))
(* z (- (* b y0) (* i y1))))))
(t_3
(*
x
(+
(+ (* y (- (* a b) (* c i))) (* y2 (- (* c y0) (* a y1))))
(* j (- (* i y1) (* b y0))))))
(t_4 (- (* x y) (* z t)))
(t_5 (- (* t j) (* y k)))
(t_6 (* i (- (* y1 (- (* x j) (* z k))) (+ (* c t_4) (* y5 t_5))))))
(if (<= k -3.4e+170)
t_2
(if (<= k -5.2e-26)
t_6
(if (<= k -7.6e-121)
(*
y0
(+
(+ (* c (- (* x y2) (* z y3))) (* y5 (- (* j y3) (* k y2))))
(* b t_1)))
(if (<= k -2.25e-229)
t_6
(if (<= k 8.5e-251)
t_3
(if (<= k 7.5e-184)
(* b (+ (+ (* a t_4) (* y4 t_5)) (* y0 t_1)))
(if (<= k 0.115)
t_3
(if (<= k 4.6e+125)
(* i (* y5 (- (* y k) (* t j))))
t_2))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (z * k) - (x * j);
double t_2 = k * (((y2 * ((y1 * y4) - (y0 * y5))) - (y * ((b * y4) - (i * y5)))) + (z * ((b * y0) - (i * y1))));
double t_3 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))));
double t_4 = (x * y) - (z * t);
double t_5 = (t * j) - (y * k);
double t_6 = i * ((y1 * ((x * j) - (z * k))) - ((c * t_4) + (y5 * t_5)));
double tmp;
if (k <= -3.4e+170) {
tmp = t_2;
} else if (k <= -5.2e-26) {
tmp = t_6;
} else if (k <= -7.6e-121) {
tmp = y0 * (((c * ((x * y2) - (z * y3))) + (y5 * ((j * y3) - (k * y2)))) + (b * t_1));
} else if (k <= -2.25e-229) {
tmp = t_6;
} else if (k <= 8.5e-251) {
tmp = t_3;
} else if (k <= 7.5e-184) {
tmp = b * (((a * t_4) + (y4 * t_5)) + (y0 * t_1));
} else if (k <= 0.115) {
tmp = t_3;
} else if (k <= 4.6e+125) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: t_4
real(8) :: t_5
real(8) :: t_6
real(8) :: tmp
t_1 = (z * k) - (x * j)
t_2 = k * (((y2 * ((y1 * y4) - (y0 * y5))) - (y * ((b * y4) - (i * y5)))) + (z * ((b * y0) - (i * y1))))
t_3 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))))
t_4 = (x * y) - (z * t)
t_5 = (t * j) - (y * k)
t_6 = i * ((y1 * ((x * j) - (z * k))) - ((c * t_4) + (y5 * t_5)))
if (k <= (-3.4d+170)) then
tmp = t_2
else if (k <= (-5.2d-26)) then
tmp = t_6
else if (k <= (-7.6d-121)) then
tmp = y0 * (((c * ((x * y2) - (z * y3))) + (y5 * ((j * y3) - (k * y2)))) + (b * t_1))
else if (k <= (-2.25d-229)) then
tmp = t_6
else if (k <= 8.5d-251) then
tmp = t_3
else if (k <= 7.5d-184) then
tmp = b * (((a * t_4) + (y4 * t_5)) + (y0 * t_1))
else if (k <= 0.115d0) then
tmp = t_3
else if (k <= 4.6d+125) then
tmp = i * (y5 * ((y * k) - (t * j)))
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (z * k) - (x * j);
double t_2 = k * (((y2 * ((y1 * y4) - (y0 * y5))) - (y * ((b * y4) - (i * y5)))) + (z * ((b * y0) - (i * y1))));
double t_3 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))));
double t_4 = (x * y) - (z * t);
double t_5 = (t * j) - (y * k);
double t_6 = i * ((y1 * ((x * j) - (z * k))) - ((c * t_4) + (y5 * t_5)));
double tmp;
if (k <= -3.4e+170) {
tmp = t_2;
} else if (k <= -5.2e-26) {
tmp = t_6;
} else if (k <= -7.6e-121) {
tmp = y0 * (((c * ((x * y2) - (z * y3))) + (y5 * ((j * y3) - (k * y2)))) + (b * t_1));
} else if (k <= -2.25e-229) {
tmp = t_6;
} else if (k <= 8.5e-251) {
tmp = t_3;
} else if (k <= 7.5e-184) {
tmp = b * (((a * t_4) + (y4 * t_5)) + (y0 * t_1));
} else if (k <= 0.115) {
tmp = t_3;
} else if (k <= 4.6e+125) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (z * k) - (x * j) t_2 = k * (((y2 * ((y1 * y4) - (y0 * y5))) - (y * ((b * y4) - (i * y5)))) + (z * ((b * y0) - (i * y1)))) t_3 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0)))) t_4 = (x * y) - (z * t) t_5 = (t * j) - (y * k) t_6 = i * ((y1 * ((x * j) - (z * k))) - ((c * t_4) + (y5 * t_5))) tmp = 0 if k <= -3.4e+170: tmp = t_2 elif k <= -5.2e-26: tmp = t_6 elif k <= -7.6e-121: tmp = y0 * (((c * ((x * y2) - (z * y3))) + (y5 * ((j * y3) - (k * y2)))) + (b * t_1)) elif k <= -2.25e-229: tmp = t_6 elif k <= 8.5e-251: tmp = t_3 elif k <= 7.5e-184: tmp = b * (((a * t_4) + (y4 * t_5)) + (y0 * t_1)) elif k <= 0.115: tmp = t_3 elif k <= 4.6e+125: tmp = i * (y5 * ((y * k) - (t * j))) else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(z * k) - Float64(x * j)) t_2 = Float64(k * Float64(Float64(Float64(y2 * Float64(Float64(y1 * y4) - Float64(y0 * y5))) - Float64(y * Float64(Float64(b * y4) - Float64(i * y5)))) + Float64(z * Float64(Float64(b * y0) - Float64(i * y1))))) t_3 = Float64(x * Float64(Float64(Float64(y * Float64(Float64(a * b) - Float64(c * i))) + Float64(y2 * Float64(Float64(c * y0) - Float64(a * y1)))) + Float64(j * Float64(Float64(i * y1) - Float64(b * y0))))) t_4 = Float64(Float64(x * y) - Float64(z * t)) t_5 = Float64(Float64(t * j) - Float64(y * k)) t_6 = Float64(i * Float64(Float64(y1 * Float64(Float64(x * j) - Float64(z * k))) - Float64(Float64(c * t_4) + Float64(y5 * t_5)))) tmp = 0.0 if (k <= -3.4e+170) tmp = t_2; elseif (k <= -5.2e-26) tmp = t_6; elseif (k <= -7.6e-121) tmp = Float64(y0 * Float64(Float64(Float64(c * Float64(Float64(x * y2) - Float64(z * y3))) + Float64(y5 * Float64(Float64(j * y3) - Float64(k * y2)))) + Float64(b * t_1))); elseif (k <= -2.25e-229) tmp = t_6; elseif (k <= 8.5e-251) tmp = t_3; elseif (k <= 7.5e-184) tmp = Float64(b * Float64(Float64(Float64(a * t_4) + Float64(y4 * t_5)) + Float64(y0 * t_1))); elseif (k <= 0.115) tmp = t_3; elseif (k <= 4.6e+125) tmp = Float64(i * Float64(y5 * Float64(Float64(y * k) - Float64(t * j)))); else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = (z * k) - (x * j); t_2 = k * (((y2 * ((y1 * y4) - (y0 * y5))) - (y * ((b * y4) - (i * y5)))) + (z * ((b * y0) - (i * y1)))); t_3 = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0)))); t_4 = (x * y) - (z * t); t_5 = (t * j) - (y * k); t_6 = i * ((y1 * ((x * j) - (z * k))) - ((c * t_4) + (y5 * t_5))); tmp = 0.0; if (k <= -3.4e+170) tmp = t_2; elseif (k <= -5.2e-26) tmp = t_6; elseif (k <= -7.6e-121) tmp = y0 * (((c * ((x * y2) - (z * y3))) + (y5 * ((j * y3) - (k * y2)))) + (b * t_1)); elseif (k <= -2.25e-229) tmp = t_6; elseif (k <= 8.5e-251) tmp = t_3; elseif (k <= 7.5e-184) tmp = b * (((a * t_4) + (y4 * t_5)) + (y0 * t_1)); elseif (k <= 0.115) tmp = t_3; elseif (k <= 4.6e+125) tmp = i * (y5 * ((y * k) - (t * j))); else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(k * N[(N[(N[(y2 * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(y * N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(z * N[(N[(b * y0), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(x * N[(N[(N[(y * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y2 * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$6 = N[(i * N[(N[(y1 * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(c * t$95$4), $MachinePrecision] + N[(y5 * t$95$5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[k, -3.4e+170], t$95$2, If[LessEqual[k, -5.2e-26], t$95$6, If[LessEqual[k, -7.6e-121], N[(y0 * N[(N[(N[(c * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y5 * N[(N[(j * y3), $MachinePrecision] - N[(k * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(b * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, -2.25e-229], t$95$6, If[LessEqual[k, 8.5e-251], t$95$3, If[LessEqual[k, 7.5e-184], N[(b * N[(N[(N[(a * t$95$4), $MachinePrecision] + N[(y4 * t$95$5), $MachinePrecision]), $MachinePrecision] + N[(y0 * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 0.115], t$95$3, If[LessEqual[k, 4.6e+125], N[(i * N[(y5 * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := z \cdot k - x \cdot j\\
t_2 := k \cdot \left(\left(y2 \cdot \left(y1 \cdot y4 - y0 \cdot y5\right) - y \cdot \left(b \cdot y4 - i \cdot y5\right)\right) + z \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\\
t_3 := x \cdot \left(\left(y \cdot \left(a \cdot b - c \cdot i\right) + y2 \cdot \left(c \cdot y0 - a \cdot y1\right)\right) + j \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
t_4 := x \cdot y - z \cdot t\\
t_5 := t \cdot j - y \cdot k\\
t_6 := i \cdot \left(y1 \cdot \left(x \cdot j - z \cdot k\right) - \left(c \cdot t\_4 + y5 \cdot t\_5\right)\right)\\
\mathbf{if}\;k \leq -3.4 \cdot 10^{+170}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;k \leq -5.2 \cdot 10^{-26}:\\
\;\;\;\;t\_6\\
\mathbf{elif}\;k \leq -7.6 \cdot 10^{-121}:\\
\;\;\;\;y0 \cdot \left(\left(c \cdot \left(x \cdot y2 - z \cdot y3\right) + y5 \cdot \left(j \cdot y3 - k \cdot y2\right)\right) + b \cdot t\_1\right)\\
\mathbf{elif}\;k \leq -2.25 \cdot 10^{-229}:\\
\;\;\;\;t\_6\\
\mathbf{elif}\;k \leq 8.5 \cdot 10^{-251}:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;k \leq 7.5 \cdot 10^{-184}:\\
\;\;\;\;b \cdot \left(\left(a \cdot t\_4 + y4 \cdot t\_5\right) + y0 \cdot t\_1\right)\\
\mathbf{elif}\;k \leq 0.115:\\
\;\;\;\;t\_3\\
\mathbf{elif}\;k \leq 4.6 \cdot 10^{+125}:\\
\;\;\;\;i \cdot \left(y5 \cdot \left(y \cdot k - t \cdot j\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if k < -3.4000000000000001e170 or 4.60000000000000026e125 < k Initial program 26.4%
Taylor expanded in k around inf 61.5%
sub-neg61.5%
+-commutative61.5%
mul-1-neg61.5%
unsub-neg61.5%
*-commutative61.5%
mul-1-neg61.5%
remove-double-neg61.5%
Simplified61.5%
if -3.4000000000000001e170 < k < -5.2000000000000002e-26 or -7.6000000000000002e-121 < k < -2.2500000000000001e-229Initial program 25.6%
Taylor expanded in i around -inf 59.8%
if -5.2000000000000002e-26 < k < -7.6000000000000002e-121Initial program 29.2%
Taylor expanded in y0 around inf 52.7%
+-commutative52.7%
mul-1-neg52.7%
unsub-neg52.7%
*-commutative52.7%
*-commutative52.7%
*-commutative52.7%
*-commutative52.7%
Simplified52.7%
if -2.2500000000000001e-229 < k < 8.49999999999999984e-251 or 7.4999999999999995e-184 < k < 0.115000000000000005Initial program 38.9%
Taylor expanded in x around inf 57.1%
if 8.49999999999999984e-251 < k < 7.4999999999999995e-184Initial program 34.0%
Taylor expanded in b around inf 74.3%
if 0.115000000000000005 < k < 4.60000000000000026e125Initial program 28.9%
Taylor expanded in y5 around -inf 57.2%
Taylor expanded in i around inf 76.6%
Final simplification61.1%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* (* y i) (- (* k y5) (* x c))))
(t_2 (* y0 (- (* z k) (* x j)))))
(if (<= i -8.1e+179)
t_1
(if (<= i -7e+49)
(* t (* y5 (- (* a y2) (* i j))))
(if (<= i -6e+35)
(* y1 (* y2 (- (* x a))))
(if (<= i -2.1e-17)
(* i (* y5 (- (* y k) (* t j))))
(if (<= i -2.5e-66)
(* (* z c) (- (* t i) (* y0 y3)))
(if (<= i -2.4e-265)
(* y5 (* y2 (- (* t a) (* k y0))))
(if (<= i 4.4e-81)
(*
b
(+
(+ (* a (- (* x y) (* z t))) (* y4 (- (* t j) (* y k))))
t_2))
(if (<= i 2.6e+81)
(* k (* y1 (- (* y2 y4) (* z i))))
(if (<= i 1.15e+221) (* b 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 k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (y * i) * ((k * y5) - (x * c));
double t_2 = y0 * ((z * k) - (x * j));
double tmp;
if (i <= -8.1e+179) {
tmp = t_1;
} else if (i <= -7e+49) {
tmp = t * (y5 * ((a * y2) - (i * j)));
} else if (i <= -6e+35) {
tmp = y1 * (y2 * -(x * a));
} else if (i <= -2.1e-17) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else if (i <= -2.5e-66) {
tmp = (z * c) * ((t * i) - (y0 * y3));
} else if (i <= -2.4e-265) {
tmp = y5 * (y2 * ((t * a) - (k * y0)));
} else if (i <= 4.4e-81) {
tmp = b * (((a * ((x * y) - (z * t))) + (y4 * ((t * j) - (y * k)))) + t_2);
} else if (i <= 2.6e+81) {
tmp = k * (y1 * ((y2 * y4) - (z * i)));
} else if (i <= 1.15e+221) {
tmp = b * t_2;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = (y * i) * ((k * y5) - (x * c))
t_2 = y0 * ((z * k) - (x * j))
if (i <= (-8.1d+179)) then
tmp = t_1
else if (i <= (-7d+49)) then
tmp = t * (y5 * ((a * y2) - (i * j)))
else if (i <= (-6d+35)) then
tmp = y1 * (y2 * -(x * a))
else if (i <= (-2.1d-17)) then
tmp = i * (y5 * ((y * k) - (t * j)))
else if (i <= (-2.5d-66)) then
tmp = (z * c) * ((t * i) - (y0 * y3))
else if (i <= (-2.4d-265)) then
tmp = y5 * (y2 * ((t * a) - (k * y0)))
else if (i <= 4.4d-81) then
tmp = b * (((a * ((x * y) - (z * t))) + (y4 * ((t * j) - (y * k)))) + t_2)
else if (i <= 2.6d+81) then
tmp = k * (y1 * ((y2 * y4) - (z * i)))
else if (i <= 1.15d+221) then
tmp = b * 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 k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (y * i) * ((k * y5) - (x * c));
double t_2 = y0 * ((z * k) - (x * j));
double tmp;
if (i <= -8.1e+179) {
tmp = t_1;
} else if (i <= -7e+49) {
tmp = t * (y5 * ((a * y2) - (i * j)));
} else if (i <= -6e+35) {
tmp = y1 * (y2 * -(x * a));
} else if (i <= -2.1e-17) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else if (i <= -2.5e-66) {
tmp = (z * c) * ((t * i) - (y0 * y3));
} else if (i <= -2.4e-265) {
tmp = y5 * (y2 * ((t * a) - (k * y0)));
} else if (i <= 4.4e-81) {
tmp = b * (((a * ((x * y) - (z * t))) + (y4 * ((t * j) - (y * k)))) + t_2);
} else if (i <= 2.6e+81) {
tmp = k * (y1 * ((y2 * y4) - (z * i)));
} else if (i <= 1.15e+221) {
tmp = b * t_2;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (y * i) * ((k * y5) - (x * c)) t_2 = y0 * ((z * k) - (x * j)) tmp = 0 if i <= -8.1e+179: tmp = t_1 elif i <= -7e+49: tmp = t * (y5 * ((a * y2) - (i * j))) elif i <= -6e+35: tmp = y1 * (y2 * -(x * a)) elif i <= -2.1e-17: tmp = i * (y5 * ((y * k) - (t * j))) elif i <= -2.5e-66: tmp = (z * c) * ((t * i) - (y0 * y3)) elif i <= -2.4e-265: tmp = y5 * (y2 * ((t * a) - (k * y0))) elif i <= 4.4e-81: tmp = b * (((a * ((x * y) - (z * t))) + (y4 * ((t * j) - (y * k)))) + t_2) elif i <= 2.6e+81: tmp = k * (y1 * ((y2 * y4) - (z * i))) elif i <= 1.15e+221: tmp = b * t_2 else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(y * i) * Float64(Float64(k * y5) - Float64(x * c))) t_2 = Float64(y0 * Float64(Float64(z * k) - Float64(x * j))) tmp = 0.0 if (i <= -8.1e+179) tmp = t_1; elseif (i <= -7e+49) tmp = Float64(t * Float64(y5 * Float64(Float64(a * y2) - Float64(i * j)))); elseif (i <= -6e+35) tmp = Float64(y1 * Float64(y2 * Float64(-Float64(x * a)))); elseif (i <= -2.1e-17) tmp = Float64(i * Float64(y5 * Float64(Float64(y * k) - Float64(t * j)))); elseif (i <= -2.5e-66) tmp = Float64(Float64(z * c) * Float64(Float64(t * i) - Float64(y0 * y3))); elseif (i <= -2.4e-265) tmp = Float64(y5 * Float64(y2 * Float64(Float64(t * a) - Float64(k * y0)))); elseif (i <= 4.4e-81) tmp = Float64(b * Float64(Float64(Float64(a * Float64(Float64(x * y) - Float64(z * t))) + Float64(y4 * Float64(Float64(t * j) - Float64(y * k)))) + t_2)); elseif (i <= 2.6e+81) tmp = Float64(k * Float64(y1 * Float64(Float64(y2 * y4) - Float64(z * i)))); elseif (i <= 1.15e+221) tmp = Float64(b * t_2); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = (y * i) * ((k * y5) - (x * c)); t_2 = y0 * ((z * k) - (x * j)); tmp = 0.0; if (i <= -8.1e+179) tmp = t_1; elseif (i <= -7e+49) tmp = t * (y5 * ((a * y2) - (i * j))); elseif (i <= -6e+35) tmp = y1 * (y2 * -(x * a)); elseif (i <= -2.1e-17) tmp = i * (y5 * ((y * k) - (t * j))); elseif (i <= -2.5e-66) tmp = (z * c) * ((t * i) - (y0 * y3)); elseif (i <= -2.4e-265) tmp = y5 * (y2 * ((t * a) - (k * y0))); elseif (i <= 4.4e-81) tmp = b * (((a * ((x * y) - (z * t))) + (y4 * ((t * j) - (y * k)))) + t_2); elseif (i <= 2.6e+81) tmp = k * (y1 * ((y2 * y4) - (z * i))); elseif (i <= 1.15e+221) tmp = b * t_2; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(y * i), $MachinePrecision] * N[(N[(k * y5), $MachinePrecision] - N[(x * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y0 * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[i, -8.1e+179], t$95$1, If[LessEqual[i, -7e+49], N[(t * N[(y5 * N[(N[(a * y2), $MachinePrecision] - N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, -6e+35], N[(y1 * N[(y2 * (-N[(x * a), $MachinePrecision])), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, -2.1e-17], N[(i * N[(y5 * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, -2.5e-66], N[(N[(z * c), $MachinePrecision] * N[(N[(t * i), $MachinePrecision] - N[(y0 * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, -2.4e-265], N[(y5 * N[(y2 * N[(N[(t * a), $MachinePrecision] - N[(k * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 4.4e-81], N[(b * N[(N[(N[(a * N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y4 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$2), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 2.6e+81], N[(k * N[(y1 * N[(N[(y2 * y4), $MachinePrecision] - N[(z * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 1.15e+221], N[(b * t$95$2), $MachinePrecision], t$95$1]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(y \cdot i\right) \cdot \left(k \cdot y5 - x \cdot c\right)\\
t_2 := y0 \cdot \left(z \cdot k - x \cdot j\right)\\
\mathbf{if}\;i \leq -8.1 \cdot 10^{+179}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;i \leq -7 \cdot 10^{+49}:\\
\;\;\;\;t \cdot \left(y5 \cdot \left(a \cdot y2 - i \cdot j\right)\right)\\
\mathbf{elif}\;i \leq -6 \cdot 10^{+35}:\\
\;\;\;\;y1 \cdot \left(y2 \cdot \left(-x \cdot a\right)\right)\\
\mathbf{elif}\;i \leq -2.1 \cdot 10^{-17}:\\
\;\;\;\;i \cdot \left(y5 \cdot \left(y \cdot k - t \cdot j\right)\right)\\
\mathbf{elif}\;i \leq -2.5 \cdot 10^{-66}:\\
\;\;\;\;\left(z \cdot c\right) \cdot \left(t \cdot i - y0 \cdot y3\right)\\
\mathbf{elif}\;i \leq -2.4 \cdot 10^{-265}:\\
\;\;\;\;y5 \cdot \left(y2 \cdot \left(t \cdot a - k \cdot y0\right)\right)\\
\mathbf{elif}\;i \leq 4.4 \cdot 10^{-81}:\\
\;\;\;\;b \cdot \left(\left(a \cdot \left(x \cdot y - z \cdot t\right) + y4 \cdot \left(t \cdot j - y \cdot k\right)\right) + t\_2\right)\\
\mathbf{elif}\;i \leq 2.6 \cdot 10^{+81}:\\
\;\;\;\;k \cdot \left(y1 \cdot \left(y2 \cdot y4 - z \cdot i\right)\right)\\
\mathbf{elif}\;i \leq 1.15 \cdot 10^{+221}:\\
\;\;\;\;b \cdot t\_2\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if i < -8.1e179 or 1.14999999999999993e221 < i Initial program 26.7%
Taylor expanded in y around inf 46.9%
Taylor expanded in i around inf 56.6%
associate-*r*60.8%
+-commutative60.8%
mul-1-neg60.8%
unsub-neg60.8%
*-commutative60.8%
*-commutative60.8%
Simplified60.8%
if -8.1e179 < i < -6.9999999999999995e49Initial program 36.0%
Taylor expanded in y5 around -inf 50.4%
Taylor expanded in t around inf 54.6%
if -6.9999999999999995e49 < i < -5.99999999999999981e35Initial program 20.0%
Taylor expanded in y1 around -inf 60.1%
mul-1-neg60.1%
*-commutative60.1%
distribute-rgt-neg-in60.1%
Simplified60.1%
Taylor expanded in y2 around inf 61.4%
*-commutative61.4%
Simplified61.4%
Taylor expanded in x around inf 80.9%
if -5.99999999999999981e35 < i < -2.09999999999999992e-17Initial program 22.2%
Taylor expanded in y5 around -inf 45.7%
Taylor expanded in i around inf 45.8%
if -2.09999999999999992e-17 < i < -2.49999999999999981e-66Initial program 43.8%
Taylor expanded in z around -inf 72.5%
Taylor expanded in c around inf 72.4%
associate-*r*72.3%
+-commutative72.3%
mul-1-neg72.3%
unsub-neg72.3%
*-commutative72.3%
Simplified72.3%
if -2.49999999999999981e-66 < i < -2.4e-265Initial program 25.5%
Taylor expanded in y5 around -inf 50.9%
Taylor expanded in y2 around inf 50.7%
*-commutative50.7%
*-commutative50.7%
Simplified50.7%
if -2.4e-265 < i < 4.3999999999999998e-81Initial program 30.9%
Taylor expanded in b around inf 55.1%
if 4.3999999999999998e-81 < i < 2.59999999999999992e81Initial program 36.1%
Taylor expanded in y1 around -inf 52.3%
mul-1-neg52.3%
*-commutative52.3%
distribute-rgt-neg-in52.3%
Simplified52.3%
Taylor expanded in k around -inf 47.3%
mul-1-neg47.3%
*-commutative47.3%
distribute-rgt-neg-in47.3%
+-commutative47.3%
mul-1-neg47.3%
unsub-neg47.3%
*-commutative47.3%
Simplified47.3%
if 2.59999999999999992e81 < i < 1.14999999999999993e221Initial program 27.6%
Taylor expanded in y0 around inf 42.2%
+-commutative42.2%
mul-1-neg42.2%
unsub-neg42.2%
*-commutative42.2%
*-commutative42.2%
*-commutative42.2%
*-commutative42.2%
Simplified42.2%
Taylor expanded in b around inf 52.6%
Final simplification54.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* y2 y4) (* z i))) (t_2 (- (* x y2) (* z y3))))
(if (<= y0 -7.2e+36)
(* b (* y0 (- (* z k) (* x j))))
(if (<= y0 -5.8e-58)
(* z (* c (- (* t i) (* y0 y3))))
(if (<= y0 -2.05e-196)
(* y (* x (- (* a b) (* c i))))
(if (<= y0 -1.15e-202)
(* t_2 (* c y0))
(if (<= y0 -1.65e-267)
(* (* t b) (- (* j y4) (* z a)))
(if (<= y0 2.9e-307)
(* i (* y5 (- (* y k) (* t j))))
(if (<= y0 6.2e-191)
(* k (* y1 t_1))
(if (<= y0 1.4e-120)
(* b (* y4 (- (* t j) (* y k))))
(if (<= y0 1.6e-22)
(* (* k y1) t_1)
(if (<= y0 1.66e+106)
(* (* y0 y2) (- (* x c) (* k y5)))
(* c (* y0 t_2))))))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (y2 * y4) - (z * i);
double t_2 = (x * y2) - (z * y3);
double tmp;
if (y0 <= -7.2e+36) {
tmp = b * (y0 * ((z * k) - (x * j)));
} else if (y0 <= -5.8e-58) {
tmp = z * (c * ((t * i) - (y0 * y3)));
} else if (y0 <= -2.05e-196) {
tmp = y * (x * ((a * b) - (c * i)));
} else if (y0 <= -1.15e-202) {
tmp = t_2 * (c * y0);
} else if (y0 <= -1.65e-267) {
tmp = (t * b) * ((j * y4) - (z * a));
} else if (y0 <= 2.9e-307) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else if (y0 <= 6.2e-191) {
tmp = k * (y1 * t_1);
} else if (y0 <= 1.4e-120) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else if (y0 <= 1.6e-22) {
tmp = (k * y1) * t_1;
} else if (y0 <= 1.66e+106) {
tmp = (y0 * y2) * ((x * c) - (k * y5));
} else {
tmp = c * (y0 * t_2);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = (y2 * y4) - (z * i)
t_2 = (x * y2) - (z * y3)
if (y0 <= (-7.2d+36)) then
tmp = b * (y0 * ((z * k) - (x * j)))
else if (y0 <= (-5.8d-58)) then
tmp = z * (c * ((t * i) - (y0 * y3)))
else if (y0 <= (-2.05d-196)) then
tmp = y * (x * ((a * b) - (c * i)))
else if (y0 <= (-1.15d-202)) then
tmp = t_2 * (c * y0)
else if (y0 <= (-1.65d-267)) then
tmp = (t * b) * ((j * y4) - (z * a))
else if (y0 <= 2.9d-307) then
tmp = i * (y5 * ((y * k) - (t * j)))
else if (y0 <= 6.2d-191) then
tmp = k * (y1 * t_1)
else if (y0 <= 1.4d-120) then
tmp = b * (y4 * ((t * j) - (y * k)))
else if (y0 <= 1.6d-22) then
tmp = (k * y1) * t_1
else if (y0 <= 1.66d+106) then
tmp = (y0 * y2) * ((x * c) - (k * y5))
else
tmp = c * (y0 * t_2)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (y2 * y4) - (z * i);
double t_2 = (x * y2) - (z * y3);
double tmp;
if (y0 <= -7.2e+36) {
tmp = b * (y0 * ((z * k) - (x * j)));
} else if (y0 <= -5.8e-58) {
tmp = z * (c * ((t * i) - (y0 * y3)));
} else if (y0 <= -2.05e-196) {
tmp = y * (x * ((a * b) - (c * i)));
} else if (y0 <= -1.15e-202) {
tmp = t_2 * (c * y0);
} else if (y0 <= -1.65e-267) {
tmp = (t * b) * ((j * y4) - (z * a));
} else if (y0 <= 2.9e-307) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else if (y0 <= 6.2e-191) {
tmp = k * (y1 * t_1);
} else if (y0 <= 1.4e-120) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else if (y0 <= 1.6e-22) {
tmp = (k * y1) * t_1;
} else if (y0 <= 1.66e+106) {
tmp = (y0 * y2) * ((x * c) - (k * y5));
} else {
tmp = c * (y0 * t_2);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (y2 * y4) - (z * i) t_2 = (x * y2) - (z * y3) tmp = 0 if y0 <= -7.2e+36: tmp = b * (y0 * ((z * k) - (x * j))) elif y0 <= -5.8e-58: tmp = z * (c * ((t * i) - (y0 * y3))) elif y0 <= -2.05e-196: tmp = y * (x * ((a * b) - (c * i))) elif y0 <= -1.15e-202: tmp = t_2 * (c * y0) elif y0 <= -1.65e-267: tmp = (t * b) * ((j * y4) - (z * a)) elif y0 <= 2.9e-307: tmp = i * (y5 * ((y * k) - (t * j))) elif y0 <= 6.2e-191: tmp = k * (y1 * t_1) elif y0 <= 1.4e-120: tmp = b * (y4 * ((t * j) - (y * k))) elif y0 <= 1.6e-22: tmp = (k * y1) * t_1 elif y0 <= 1.66e+106: tmp = (y0 * y2) * ((x * c) - (k * y5)) else: tmp = c * (y0 * t_2) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(y2 * y4) - Float64(z * i)) t_2 = Float64(Float64(x * y2) - Float64(z * y3)) tmp = 0.0 if (y0 <= -7.2e+36) tmp = Float64(b * Float64(y0 * Float64(Float64(z * k) - Float64(x * j)))); elseif (y0 <= -5.8e-58) tmp = Float64(z * Float64(c * Float64(Float64(t * i) - Float64(y0 * y3)))); elseif (y0 <= -2.05e-196) tmp = Float64(y * Float64(x * Float64(Float64(a * b) - Float64(c * i)))); elseif (y0 <= -1.15e-202) tmp = Float64(t_2 * Float64(c * y0)); elseif (y0 <= -1.65e-267) tmp = Float64(Float64(t * b) * Float64(Float64(j * y4) - Float64(z * a))); elseif (y0 <= 2.9e-307) tmp = Float64(i * Float64(y5 * Float64(Float64(y * k) - Float64(t * j)))); elseif (y0 <= 6.2e-191) tmp = Float64(k * Float64(y1 * t_1)); elseif (y0 <= 1.4e-120) tmp = Float64(b * Float64(y4 * Float64(Float64(t * j) - Float64(y * k)))); elseif (y0 <= 1.6e-22) tmp = Float64(Float64(k * y1) * t_1); elseif (y0 <= 1.66e+106) tmp = Float64(Float64(y0 * y2) * Float64(Float64(x * c) - Float64(k * y5))); else tmp = Float64(c * Float64(y0 * t_2)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = (y2 * y4) - (z * i); t_2 = (x * y2) - (z * y3); tmp = 0.0; if (y0 <= -7.2e+36) tmp = b * (y0 * ((z * k) - (x * j))); elseif (y0 <= -5.8e-58) tmp = z * (c * ((t * i) - (y0 * y3))); elseif (y0 <= -2.05e-196) tmp = y * (x * ((a * b) - (c * i))); elseif (y0 <= -1.15e-202) tmp = t_2 * (c * y0); elseif (y0 <= -1.65e-267) tmp = (t * b) * ((j * y4) - (z * a)); elseif (y0 <= 2.9e-307) tmp = i * (y5 * ((y * k) - (t * j))); elseif (y0 <= 6.2e-191) tmp = k * (y1 * t_1); elseif (y0 <= 1.4e-120) tmp = b * (y4 * ((t * j) - (y * k))); elseif (y0 <= 1.6e-22) tmp = (k * y1) * t_1; elseif (y0 <= 1.66e+106) tmp = (y0 * y2) * ((x * c) - (k * y5)); else tmp = c * (y0 * t_2); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(y2 * y4), $MachinePrecision] - N[(z * i), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y0, -7.2e+36], N[(b * N[(y0 * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -5.8e-58], N[(z * N[(c * N[(N[(t * i), $MachinePrecision] - N[(y0 * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -2.05e-196], N[(y * N[(x * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -1.15e-202], N[(t$95$2 * N[(c * y0), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -1.65e-267], N[(N[(t * b), $MachinePrecision] * N[(N[(j * y4), $MachinePrecision] - N[(z * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 2.9e-307], N[(i * N[(y5 * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 6.2e-191], N[(k * N[(y1 * t$95$1), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 1.4e-120], N[(b * N[(y4 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 1.6e-22], N[(N[(k * y1), $MachinePrecision] * t$95$1), $MachinePrecision], If[LessEqual[y0, 1.66e+106], N[(N[(y0 * y2), $MachinePrecision] * N[(N[(x * c), $MachinePrecision] - N[(k * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(c * N[(y0 * t$95$2), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y2 \cdot y4 - z \cdot i\\
t_2 := x \cdot y2 - z \cdot y3\\
\mathbf{if}\;y0 \leq -7.2 \cdot 10^{+36}:\\
\;\;\;\;b \cdot \left(y0 \cdot \left(z \cdot k - x \cdot j\right)\right)\\
\mathbf{elif}\;y0 \leq -5.8 \cdot 10^{-58}:\\
\;\;\;\;z \cdot \left(c \cdot \left(t \cdot i - y0 \cdot y3\right)\right)\\
\mathbf{elif}\;y0 \leq -2.05 \cdot 10^{-196}:\\
\;\;\;\;y \cdot \left(x \cdot \left(a \cdot b - c \cdot i\right)\right)\\
\mathbf{elif}\;y0 \leq -1.15 \cdot 10^{-202}:\\
\;\;\;\;t\_2 \cdot \left(c \cdot y0\right)\\
\mathbf{elif}\;y0 \leq -1.65 \cdot 10^{-267}:\\
\;\;\;\;\left(t \cdot b\right) \cdot \left(j \cdot y4 - z \cdot a\right)\\
\mathbf{elif}\;y0 \leq 2.9 \cdot 10^{-307}:\\
\;\;\;\;i \cdot \left(y5 \cdot \left(y \cdot k - t \cdot j\right)\right)\\
\mathbf{elif}\;y0 \leq 6.2 \cdot 10^{-191}:\\
\;\;\;\;k \cdot \left(y1 \cdot t\_1\right)\\
\mathbf{elif}\;y0 \leq 1.4 \cdot 10^{-120}:\\
\;\;\;\;b \cdot \left(y4 \cdot \left(t \cdot j - y \cdot k\right)\right)\\
\mathbf{elif}\;y0 \leq 1.6 \cdot 10^{-22}:\\
\;\;\;\;\left(k \cdot y1\right) \cdot t\_1\\
\mathbf{elif}\;y0 \leq 1.66 \cdot 10^{+106}:\\
\;\;\;\;\left(y0 \cdot y2\right) \cdot \left(x \cdot c - k \cdot y5\right)\\
\mathbf{else}:\\
\;\;\;\;c \cdot \left(y0 \cdot t\_2\right)\\
\end{array}
\end{array}
if y0 < -7.1999999999999995e36Initial program 25.1%
Taylor expanded in y0 around inf 66.3%
+-commutative66.3%
mul-1-neg66.3%
unsub-neg66.3%
*-commutative66.3%
*-commutative66.3%
*-commutative66.3%
*-commutative66.3%
Simplified66.3%
Taylor expanded in b around inf 54.3%
if -7.1999999999999995e36 < y0 < -5.7999999999999998e-58Initial program 54.8%
Taylor expanded in z around -inf 55.2%
Taylor expanded in c around inf 42.0%
+-commutative42.0%
mul-1-neg42.0%
unsub-neg42.0%
*-commutative42.0%
Simplified42.0%
if -5.7999999999999998e-58 < y0 < -2.05000000000000011e-196Initial program 14.4%
Taylor expanded in y around inf 36.9%
Taylor expanded in x around inf 42.0%
*-commutative42.0%
*-commutative42.0%
*-commutative42.0%
associate-*r*42.0%
*-commutative42.0%
*-commutative42.0%
*-commutative42.0%
Simplified42.0%
if -2.05000000000000011e-196 < y0 < -1.1499999999999999e-202Initial program 50.0%
Taylor expanded in y0 around inf 8.5%
+-commutative8.5%
mul-1-neg8.5%
unsub-neg8.5%
*-commutative8.5%
*-commutative8.5%
*-commutative8.5%
*-commutative8.5%
Simplified8.5%
Taylor expanded in c around inf 51.3%
associate-*r*52.1%
*-commutative52.1%
Simplified52.1%
if -1.1499999999999999e-202 < y0 < -1.65000000000000002e-267Initial program 44.3%
Taylor expanded in b around inf 51.0%
Taylor expanded in t around inf 57.2%
associate-*r*51.4%
+-commutative51.4%
mul-1-neg51.4%
unsub-neg51.4%
*-commutative51.4%
Simplified51.4%
if -1.65000000000000002e-267 < y0 < 2.9e-307Initial program 25.0%
Taylor expanded in y5 around -inf 25.5%
Taylor expanded in i around inf 62.9%
if 2.9e-307 < y0 < 6.2000000000000004e-191Initial program 40.9%
Taylor expanded in y1 around -inf 59.8%
mul-1-neg59.8%
*-commutative59.8%
distribute-rgt-neg-in59.8%
Simplified59.8%
Taylor expanded in k around -inf 52.6%
mul-1-neg52.6%
*-commutative52.6%
distribute-rgt-neg-in52.6%
+-commutative52.6%
mul-1-neg52.6%
unsub-neg52.6%
*-commutative52.6%
Simplified52.6%
if 6.2000000000000004e-191 < y0 < 1.39999999999999997e-120Initial program 13.3%
Taylor expanded in b around inf 53.3%
Taylor expanded in y4 around inf 66.9%
if 1.39999999999999997e-120 < y0 < 1.59999999999999994e-22Initial program 56.2%
Taylor expanded in y1 around -inf 57.2%
mul-1-neg57.2%
*-commutative57.2%
distribute-rgt-neg-in57.2%
Simplified57.2%
Taylor expanded in k around inf 51.6%
associate-*r*51.6%
+-commutative51.6%
mul-1-neg51.6%
unsub-neg51.6%
*-commutative51.6%
Simplified51.6%
if 1.59999999999999994e-22 < y0 < 1.66e106Initial program 26.8%
Taylor expanded in y0 around inf 40.7%
+-commutative40.7%
mul-1-neg40.7%
unsub-neg40.7%
*-commutative40.7%
*-commutative40.7%
*-commutative40.7%
*-commutative40.7%
Simplified40.7%
Taylor expanded in y2 around inf 51.3%
associate-*r*51.1%
Simplified51.1%
if 1.66e106 < y0 Initial program 19.2%
Taylor expanded in y0 around inf 58.1%
+-commutative58.1%
mul-1-neg58.1%
unsub-neg58.1%
*-commutative58.1%
*-commutative58.1%
*-commutative58.1%
*-commutative58.1%
Simplified58.1%
Taylor expanded in c around inf 58.0%
Final simplification52.9%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* (* y0 y2) (- (* x c) (* k y5)))) (t_2 (- (* y2 y4) (* z i))))
(if (<= y0 -1.7e+160)
(* (* z y0) (- (* b k) (* c y3)))
(if (<= y0 -2.4e+121)
t_1
(if (<= y0 -1.7e+40)
(* (* z b) (- (* k y0) (* t a)))
(if (<= y0 -6e-58)
(* z (* c (- (* t i) (* y0 y3))))
(if (<= y0 -1.15e-187)
(* y (* x (- (* a b) (* c i))))
(if (<= y0 7e-308)
(* i (* y5 (- (* y k) (* t j))))
(if (<= y0 4.9e-191)
(* k (* y1 t_2))
(if (<= y0 3.8e-111)
(* b (* y4 (- (* t j) (* y k))))
(if (<= y0 1.6e-22)
(* (* k y1) t_2)
(if (<= y0 1.6e+106)
t_1
(* c (* y0 (- (* x y2) (* z y3))))))))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (y0 * y2) * ((x * c) - (k * y5));
double t_2 = (y2 * y4) - (z * i);
double tmp;
if (y0 <= -1.7e+160) {
tmp = (z * y0) * ((b * k) - (c * y3));
} else if (y0 <= -2.4e+121) {
tmp = t_1;
} else if (y0 <= -1.7e+40) {
tmp = (z * b) * ((k * y0) - (t * a));
} else if (y0 <= -6e-58) {
tmp = z * (c * ((t * i) - (y0 * y3)));
} else if (y0 <= -1.15e-187) {
tmp = y * (x * ((a * b) - (c * i)));
} else if (y0 <= 7e-308) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else if (y0 <= 4.9e-191) {
tmp = k * (y1 * t_2);
} else if (y0 <= 3.8e-111) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else if (y0 <= 1.6e-22) {
tmp = (k * y1) * t_2;
} else if (y0 <= 1.6e+106) {
tmp = t_1;
} else {
tmp = c * (y0 * ((x * y2) - (z * y3)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = (y0 * y2) * ((x * c) - (k * y5))
t_2 = (y2 * y4) - (z * i)
if (y0 <= (-1.7d+160)) then
tmp = (z * y0) * ((b * k) - (c * y3))
else if (y0 <= (-2.4d+121)) then
tmp = t_1
else if (y0 <= (-1.7d+40)) then
tmp = (z * b) * ((k * y0) - (t * a))
else if (y0 <= (-6d-58)) then
tmp = z * (c * ((t * i) - (y0 * y3)))
else if (y0 <= (-1.15d-187)) then
tmp = y * (x * ((a * b) - (c * i)))
else if (y0 <= 7d-308) then
tmp = i * (y5 * ((y * k) - (t * j)))
else if (y0 <= 4.9d-191) then
tmp = k * (y1 * t_2)
else if (y0 <= 3.8d-111) then
tmp = b * (y4 * ((t * j) - (y * k)))
else if (y0 <= 1.6d-22) then
tmp = (k * y1) * t_2
else if (y0 <= 1.6d+106) then
tmp = t_1
else
tmp = c * (y0 * ((x * y2) - (z * y3)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (y0 * y2) * ((x * c) - (k * y5));
double t_2 = (y2 * y4) - (z * i);
double tmp;
if (y0 <= -1.7e+160) {
tmp = (z * y0) * ((b * k) - (c * y3));
} else if (y0 <= -2.4e+121) {
tmp = t_1;
} else if (y0 <= -1.7e+40) {
tmp = (z * b) * ((k * y0) - (t * a));
} else if (y0 <= -6e-58) {
tmp = z * (c * ((t * i) - (y0 * y3)));
} else if (y0 <= -1.15e-187) {
tmp = y * (x * ((a * b) - (c * i)));
} else if (y0 <= 7e-308) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else if (y0 <= 4.9e-191) {
tmp = k * (y1 * t_2);
} else if (y0 <= 3.8e-111) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else if (y0 <= 1.6e-22) {
tmp = (k * y1) * t_2;
} else if (y0 <= 1.6e+106) {
tmp = t_1;
} else {
tmp = c * (y0 * ((x * y2) - (z * y3)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (y0 * y2) * ((x * c) - (k * y5)) t_2 = (y2 * y4) - (z * i) tmp = 0 if y0 <= -1.7e+160: tmp = (z * y0) * ((b * k) - (c * y3)) elif y0 <= -2.4e+121: tmp = t_1 elif y0 <= -1.7e+40: tmp = (z * b) * ((k * y0) - (t * a)) elif y0 <= -6e-58: tmp = z * (c * ((t * i) - (y0 * y3))) elif y0 <= -1.15e-187: tmp = y * (x * ((a * b) - (c * i))) elif y0 <= 7e-308: tmp = i * (y5 * ((y * k) - (t * j))) elif y0 <= 4.9e-191: tmp = k * (y1 * t_2) elif y0 <= 3.8e-111: tmp = b * (y4 * ((t * j) - (y * k))) elif y0 <= 1.6e-22: tmp = (k * y1) * t_2 elif y0 <= 1.6e+106: tmp = t_1 else: tmp = c * (y0 * ((x * y2) - (z * y3))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(y0 * y2) * Float64(Float64(x * c) - Float64(k * y5))) t_2 = Float64(Float64(y2 * y4) - Float64(z * i)) tmp = 0.0 if (y0 <= -1.7e+160) tmp = Float64(Float64(z * y0) * Float64(Float64(b * k) - Float64(c * y3))); elseif (y0 <= -2.4e+121) tmp = t_1; elseif (y0 <= -1.7e+40) tmp = Float64(Float64(z * b) * Float64(Float64(k * y0) - Float64(t * a))); elseif (y0 <= -6e-58) tmp = Float64(z * Float64(c * Float64(Float64(t * i) - Float64(y0 * y3)))); elseif (y0 <= -1.15e-187) tmp = Float64(y * Float64(x * Float64(Float64(a * b) - Float64(c * i)))); elseif (y0 <= 7e-308) tmp = Float64(i * Float64(y5 * Float64(Float64(y * k) - Float64(t * j)))); elseif (y0 <= 4.9e-191) tmp = Float64(k * Float64(y1 * t_2)); elseif (y0 <= 3.8e-111) tmp = Float64(b * Float64(y4 * Float64(Float64(t * j) - Float64(y * k)))); elseif (y0 <= 1.6e-22) tmp = Float64(Float64(k * y1) * t_2); elseif (y0 <= 1.6e+106) tmp = t_1; else tmp = Float64(c * Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = (y0 * y2) * ((x * c) - (k * y5)); t_2 = (y2 * y4) - (z * i); tmp = 0.0; if (y0 <= -1.7e+160) tmp = (z * y0) * ((b * k) - (c * y3)); elseif (y0 <= -2.4e+121) tmp = t_1; elseif (y0 <= -1.7e+40) tmp = (z * b) * ((k * y0) - (t * a)); elseif (y0 <= -6e-58) tmp = z * (c * ((t * i) - (y0 * y3))); elseif (y0 <= -1.15e-187) tmp = y * (x * ((a * b) - (c * i))); elseif (y0 <= 7e-308) tmp = i * (y5 * ((y * k) - (t * j))); elseif (y0 <= 4.9e-191) tmp = k * (y1 * t_2); elseif (y0 <= 3.8e-111) tmp = b * (y4 * ((t * j) - (y * k))); elseif (y0 <= 1.6e-22) tmp = (k * y1) * t_2; elseif (y0 <= 1.6e+106) tmp = t_1; else tmp = c * (y0 * ((x * y2) - (z * y3))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(y0 * y2), $MachinePrecision] * N[(N[(x * c), $MachinePrecision] - N[(k * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(y2 * y4), $MachinePrecision] - N[(z * i), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y0, -1.7e+160], N[(N[(z * y0), $MachinePrecision] * N[(N[(b * k), $MachinePrecision] - N[(c * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -2.4e+121], t$95$1, If[LessEqual[y0, -1.7e+40], N[(N[(z * b), $MachinePrecision] * N[(N[(k * y0), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -6e-58], N[(z * N[(c * N[(N[(t * i), $MachinePrecision] - N[(y0 * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -1.15e-187], N[(y * N[(x * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 7e-308], N[(i * N[(y5 * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 4.9e-191], N[(k * N[(y1 * t$95$2), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 3.8e-111], N[(b * N[(y4 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 1.6e-22], N[(N[(k * y1), $MachinePrecision] * t$95$2), $MachinePrecision], If[LessEqual[y0, 1.6e+106], t$95$1, N[(c * N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(y0 \cdot y2\right) \cdot \left(x \cdot c - k \cdot y5\right)\\
t_2 := y2 \cdot y4 - z \cdot i\\
\mathbf{if}\;y0 \leq -1.7 \cdot 10^{+160}:\\
\;\;\;\;\left(z \cdot y0\right) \cdot \left(b \cdot k - c \cdot y3\right)\\
\mathbf{elif}\;y0 \leq -2.4 \cdot 10^{+121}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y0 \leq -1.7 \cdot 10^{+40}:\\
\;\;\;\;\left(z \cdot b\right) \cdot \left(k \cdot y0 - t \cdot a\right)\\
\mathbf{elif}\;y0 \leq -6 \cdot 10^{-58}:\\
\;\;\;\;z \cdot \left(c \cdot \left(t \cdot i - y0 \cdot y3\right)\right)\\
\mathbf{elif}\;y0 \leq -1.15 \cdot 10^{-187}:\\
\;\;\;\;y \cdot \left(x \cdot \left(a \cdot b - c \cdot i\right)\right)\\
\mathbf{elif}\;y0 \leq 7 \cdot 10^{-308}:\\
\;\;\;\;i \cdot \left(y5 \cdot \left(y \cdot k - t \cdot j\right)\right)\\
\mathbf{elif}\;y0 \leq 4.9 \cdot 10^{-191}:\\
\;\;\;\;k \cdot \left(y1 \cdot t\_2\right)\\
\mathbf{elif}\;y0 \leq 3.8 \cdot 10^{-111}:\\
\;\;\;\;b \cdot \left(y4 \cdot \left(t \cdot j - y \cdot k\right)\right)\\
\mathbf{elif}\;y0 \leq 1.6 \cdot 10^{-22}:\\
\;\;\;\;\left(k \cdot y1\right) \cdot t\_2\\
\mathbf{elif}\;y0 \leq 1.6 \cdot 10^{+106}:\\
\;\;\;\;t\_1\\
\mathbf{else}:\\
\;\;\;\;c \cdot \left(y0 \cdot \left(x \cdot y2 - z \cdot y3\right)\right)\\
\end{array}
\end{array}
if y0 < -1.70000000000000015e160Initial program 18.1%
Taylor expanded in y0 around inf 60.7%
+-commutative60.7%
mul-1-neg60.7%
unsub-neg60.7%
*-commutative60.7%
*-commutative60.7%
*-commutative60.7%
*-commutative60.7%
Simplified60.7%
Taylor expanded in z around inf 61.4%
associate-*r*61.5%
distribute-lft-out--61.5%
Simplified61.5%
if -1.70000000000000015e160 < y0 < -2.4e121 or 1.59999999999999994e-22 < y0 < 1.5999999999999999e106Initial program 28.0%
Taylor expanded in y0 around inf 47.1%
+-commutative47.1%
mul-1-neg47.1%
unsub-neg47.1%
*-commutative47.1%
*-commutative47.1%
*-commutative47.1%
*-commutative47.1%
Simplified47.1%
Taylor expanded in y2 around inf 54.5%
associate-*r*54.3%
Simplified54.3%
if -2.4e121 < y0 < -1.69999999999999994e40Initial program 33.3%
Taylor expanded in b around inf 54.0%
Taylor expanded in z around inf 74.0%
associate-*r*67.6%
*-commutative67.6%
distribute-lft-out--67.6%
*-commutative67.6%
*-commutative67.6%
Simplified67.6%
if -1.69999999999999994e40 < y0 < -6.00000000000000015e-58Initial program 54.8%
Taylor expanded in z around -inf 55.2%
Taylor expanded in c around inf 42.0%
+-commutative42.0%
mul-1-neg42.0%
unsub-neg42.0%
*-commutative42.0%
Simplified42.0%
if -6.00000000000000015e-58 < y0 < -1.14999999999999999e-187Initial program 14.4%
Taylor expanded in y around inf 36.9%
Taylor expanded in x around inf 42.0%
*-commutative42.0%
*-commutative42.0%
*-commutative42.0%
associate-*r*42.0%
*-commutative42.0%
*-commutative42.0%
*-commutative42.0%
Simplified42.0%
if -1.14999999999999999e-187 < y0 < 7e-308Initial program 38.8%
Taylor expanded in y5 around -inf 32.1%
Taylor expanded in i around inf 50.9%
if 7e-308 < y0 < 4.9e-191Initial program 40.9%
Taylor expanded in y1 around -inf 59.8%
mul-1-neg59.8%
*-commutative59.8%
distribute-rgt-neg-in59.8%
Simplified59.8%
Taylor expanded in k around -inf 52.6%
mul-1-neg52.6%
*-commutative52.6%
distribute-rgt-neg-in52.6%
+-commutative52.6%
mul-1-neg52.6%
unsub-neg52.6%
*-commutative52.6%
Simplified52.6%
if 4.9e-191 < y0 < 3.80000000000000022e-111Initial program 13.3%
Taylor expanded in b around inf 53.3%
Taylor expanded in y4 around inf 66.9%
if 3.80000000000000022e-111 < y0 < 1.59999999999999994e-22Initial program 56.2%
Taylor expanded in y1 around -inf 57.2%
mul-1-neg57.2%
*-commutative57.2%
distribute-rgt-neg-in57.2%
Simplified57.2%
Taylor expanded in k around inf 51.6%
associate-*r*51.6%
+-commutative51.6%
mul-1-neg51.6%
unsub-neg51.6%
*-commutative51.6%
Simplified51.6%
if 1.5999999999999999e106 < y0 Initial program 19.2%
Taylor expanded in y0 around inf 58.1%
+-commutative58.1%
mul-1-neg58.1%
unsub-neg58.1%
*-commutative58.1%
*-commutative58.1%
*-commutative58.1%
*-commutative58.1%
Simplified58.1%
Taylor expanded in c around inf 58.0%
Final simplification54.4%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* y2 y4) (* z i))))
(if (<= y0 -7e+33)
(* b (* y0 (- (* z k) (* x j))))
(if (<= y0 -1.4e-183)
(* x (* y (- (* a b) (* c i))))
(if (<= y0 -3.4e-268)
(* (* t b) (- (* j y4) (* z a)))
(if (<= y0 6.8e-307)
(* i (* y5 (- (* y k) (* t j))))
(if (<= y0 5.2e-191)
(* k (* y1 t_1))
(if (<= y0 1.35e-112)
(* b (* y4 (- (* t j) (* y k))))
(if (<= y0 1.65e-22)
(* (* k y1) t_1)
(if (<= y0 2.9e+106)
(* (* y0 y2) (- (* x c) (* k y5)))
(* c (* y0 (- (* x y2) (* z y3))))))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (y2 * y4) - (z * i);
double tmp;
if (y0 <= -7e+33) {
tmp = b * (y0 * ((z * k) - (x * j)));
} else if (y0 <= -1.4e-183) {
tmp = x * (y * ((a * b) - (c * i)));
} else if (y0 <= -3.4e-268) {
tmp = (t * b) * ((j * y4) - (z * a));
} else if (y0 <= 6.8e-307) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else if (y0 <= 5.2e-191) {
tmp = k * (y1 * t_1);
} else if (y0 <= 1.35e-112) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else if (y0 <= 1.65e-22) {
tmp = (k * y1) * t_1;
} else if (y0 <= 2.9e+106) {
tmp = (y0 * y2) * ((x * c) - (k * y5));
} else {
tmp = c * (y0 * ((x * y2) - (z * y3)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: tmp
t_1 = (y2 * y4) - (z * i)
if (y0 <= (-7d+33)) then
tmp = b * (y0 * ((z * k) - (x * j)))
else if (y0 <= (-1.4d-183)) then
tmp = x * (y * ((a * b) - (c * i)))
else if (y0 <= (-3.4d-268)) then
tmp = (t * b) * ((j * y4) - (z * a))
else if (y0 <= 6.8d-307) then
tmp = i * (y5 * ((y * k) - (t * j)))
else if (y0 <= 5.2d-191) then
tmp = k * (y1 * t_1)
else if (y0 <= 1.35d-112) then
tmp = b * (y4 * ((t * j) - (y * k)))
else if (y0 <= 1.65d-22) then
tmp = (k * y1) * t_1
else if (y0 <= 2.9d+106) then
tmp = (y0 * y2) * ((x * c) - (k * y5))
else
tmp = c * (y0 * ((x * y2) - (z * y3)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (y2 * y4) - (z * i);
double tmp;
if (y0 <= -7e+33) {
tmp = b * (y0 * ((z * k) - (x * j)));
} else if (y0 <= -1.4e-183) {
tmp = x * (y * ((a * b) - (c * i)));
} else if (y0 <= -3.4e-268) {
tmp = (t * b) * ((j * y4) - (z * a));
} else if (y0 <= 6.8e-307) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else if (y0 <= 5.2e-191) {
tmp = k * (y1 * t_1);
} else if (y0 <= 1.35e-112) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else if (y0 <= 1.65e-22) {
tmp = (k * y1) * t_1;
} else if (y0 <= 2.9e+106) {
tmp = (y0 * y2) * ((x * c) - (k * y5));
} else {
tmp = c * (y0 * ((x * y2) - (z * y3)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (y2 * y4) - (z * i) tmp = 0 if y0 <= -7e+33: tmp = b * (y0 * ((z * k) - (x * j))) elif y0 <= -1.4e-183: tmp = x * (y * ((a * b) - (c * i))) elif y0 <= -3.4e-268: tmp = (t * b) * ((j * y4) - (z * a)) elif y0 <= 6.8e-307: tmp = i * (y5 * ((y * k) - (t * j))) elif y0 <= 5.2e-191: tmp = k * (y1 * t_1) elif y0 <= 1.35e-112: tmp = b * (y4 * ((t * j) - (y * k))) elif y0 <= 1.65e-22: tmp = (k * y1) * t_1 elif y0 <= 2.9e+106: tmp = (y0 * y2) * ((x * c) - (k * y5)) else: tmp = c * (y0 * ((x * y2) - (z * y3))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(y2 * y4) - Float64(z * i)) tmp = 0.0 if (y0 <= -7e+33) tmp = Float64(b * Float64(y0 * Float64(Float64(z * k) - Float64(x * j)))); elseif (y0 <= -1.4e-183) tmp = Float64(x * Float64(y * Float64(Float64(a * b) - Float64(c * i)))); elseif (y0 <= -3.4e-268) tmp = Float64(Float64(t * b) * Float64(Float64(j * y4) - Float64(z * a))); elseif (y0 <= 6.8e-307) tmp = Float64(i * Float64(y5 * Float64(Float64(y * k) - Float64(t * j)))); elseif (y0 <= 5.2e-191) tmp = Float64(k * Float64(y1 * t_1)); elseif (y0 <= 1.35e-112) tmp = Float64(b * Float64(y4 * Float64(Float64(t * j) - Float64(y * k)))); elseif (y0 <= 1.65e-22) tmp = Float64(Float64(k * y1) * t_1); elseif (y0 <= 2.9e+106) tmp = Float64(Float64(y0 * y2) * Float64(Float64(x * c) - Float64(k * y5))); else tmp = Float64(c * Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = (y2 * y4) - (z * i); tmp = 0.0; if (y0 <= -7e+33) tmp = b * (y0 * ((z * k) - (x * j))); elseif (y0 <= -1.4e-183) tmp = x * (y * ((a * b) - (c * i))); elseif (y0 <= -3.4e-268) tmp = (t * b) * ((j * y4) - (z * a)); elseif (y0 <= 6.8e-307) tmp = i * (y5 * ((y * k) - (t * j))); elseif (y0 <= 5.2e-191) tmp = k * (y1 * t_1); elseif (y0 <= 1.35e-112) tmp = b * (y4 * ((t * j) - (y * k))); elseif (y0 <= 1.65e-22) tmp = (k * y1) * t_1; elseif (y0 <= 2.9e+106) tmp = (y0 * y2) * ((x * c) - (k * y5)); else tmp = c * (y0 * ((x * y2) - (z * y3))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(y2 * y4), $MachinePrecision] - N[(z * i), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y0, -7e+33], N[(b * N[(y0 * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -1.4e-183], N[(x * N[(y * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -3.4e-268], N[(N[(t * b), $MachinePrecision] * N[(N[(j * y4), $MachinePrecision] - N[(z * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 6.8e-307], N[(i * N[(y5 * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 5.2e-191], N[(k * N[(y1 * t$95$1), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 1.35e-112], N[(b * N[(y4 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 1.65e-22], N[(N[(k * y1), $MachinePrecision] * t$95$1), $MachinePrecision], If[LessEqual[y0, 2.9e+106], N[(N[(y0 * y2), $MachinePrecision] * N[(N[(x * c), $MachinePrecision] - N[(k * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(c * N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y2 \cdot y4 - z \cdot i\\
\mathbf{if}\;y0 \leq -7 \cdot 10^{+33}:\\
\;\;\;\;b \cdot \left(y0 \cdot \left(z \cdot k - x \cdot j\right)\right)\\
\mathbf{elif}\;y0 \leq -1.4 \cdot 10^{-183}:\\
\;\;\;\;x \cdot \left(y \cdot \left(a \cdot b - c \cdot i\right)\right)\\
\mathbf{elif}\;y0 \leq -3.4 \cdot 10^{-268}:\\
\;\;\;\;\left(t \cdot b\right) \cdot \left(j \cdot y4 - z \cdot a\right)\\
\mathbf{elif}\;y0 \leq 6.8 \cdot 10^{-307}:\\
\;\;\;\;i \cdot \left(y5 \cdot \left(y \cdot k - t \cdot j\right)\right)\\
\mathbf{elif}\;y0 \leq 5.2 \cdot 10^{-191}:\\
\;\;\;\;k \cdot \left(y1 \cdot t\_1\right)\\
\mathbf{elif}\;y0 \leq 1.35 \cdot 10^{-112}:\\
\;\;\;\;b \cdot \left(y4 \cdot \left(t \cdot j - y \cdot k\right)\right)\\
\mathbf{elif}\;y0 \leq 1.65 \cdot 10^{-22}:\\
\;\;\;\;\left(k \cdot y1\right) \cdot t\_1\\
\mathbf{elif}\;y0 \leq 2.9 \cdot 10^{+106}:\\
\;\;\;\;\left(y0 \cdot y2\right) \cdot \left(x \cdot c - k \cdot y5\right)\\
\mathbf{else}:\\
\;\;\;\;c \cdot \left(y0 \cdot \left(x \cdot y2 - z \cdot y3\right)\right)\\
\end{array}
\end{array}
if y0 < -7.0000000000000002e33Initial program 24.7%
Taylor expanded in y0 around inf 66.9%
+-commutative66.9%
mul-1-neg66.9%
unsub-neg66.9%
*-commutative66.9%
*-commutative66.9%
*-commutative66.9%
*-commutative66.9%
Simplified66.9%
Taylor expanded in b around inf 53.4%
if -7.0000000000000002e33 < y0 < -1.39999999999999992e-183Initial program 36.3%
Taylor expanded in x around inf 41.4%
Taylor expanded in y around inf 34.4%
*-commutative34.4%
Simplified34.4%
if -1.39999999999999992e-183 < y0 < -3.4e-268Initial program 42.5%
Taylor expanded in b around inf 42.9%
Taylor expanded in t around inf 53.4%
associate-*r*48.6%
+-commutative48.6%
mul-1-neg48.6%
unsub-neg48.6%
*-commutative48.6%
Simplified48.6%
if -3.4e-268 < y0 < 6.79999999999999978e-307Initial program 25.0%
Taylor expanded in y5 around -inf 25.5%
Taylor expanded in i around inf 62.9%
if 6.79999999999999978e-307 < y0 < 5.19999999999999972e-191Initial program 40.9%
Taylor expanded in y1 around -inf 59.8%
mul-1-neg59.8%
*-commutative59.8%
distribute-rgt-neg-in59.8%
Simplified59.8%
Taylor expanded in k around -inf 52.6%
mul-1-neg52.6%
*-commutative52.6%
distribute-rgt-neg-in52.6%
+-commutative52.6%
mul-1-neg52.6%
unsub-neg52.6%
*-commutative52.6%
Simplified52.6%
if 5.19999999999999972e-191 < y0 < 1.35e-112Initial program 13.3%
Taylor expanded in b around inf 53.3%
Taylor expanded in y4 around inf 66.9%
if 1.35e-112 < y0 < 1.65e-22Initial program 56.2%
Taylor expanded in y1 around -inf 57.2%
mul-1-neg57.2%
*-commutative57.2%
distribute-rgt-neg-in57.2%
Simplified57.2%
Taylor expanded in k around inf 51.6%
associate-*r*51.6%
+-commutative51.6%
mul-1-neg51.6%
unsub-neg51.6%
*-commutative51.6%
Simplified51.6%
if 1.65e-22 < y0 < 2.9000000000000002e106Initial program 26.8%
Taylor expanded in y0 around inf 40.7%
+-commutative40.7%
mul-1-neg40.7%
unsub-neg40.7%
*-commutative40.7%
*-commutative40.7%
*-commutative40.7%
*-commutative40.7%
Simplified40.7%
Taylor expanded in y2 around inf 51.3%
associate-*r*51.1%
Simplified51.1%
if 2.9000000000000002e106 < y0 Initial program 19.2%
Taylor expanded in y0 around inf 58.1%
+-commutative58.1%
mul-1-neg58.1%
unsub-neg58.1%
*-commutative58.1%
*-commutative58.1%
*-commutative58.1%
*-commutative58.1%
Simplified58.1%
Taylor expanded in c around inf 58.0%
Final simplification51.3%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* (* k y1) (- (* y2 y4) (* z i)))))
(if (<= y0 -5e+36)
(* b (* y0 (- (* z k) (* x j))))
(if (<= y0 -1e-185)
(* x (* y (- (* a b) (* c i))))
(if (<= y0 4.7e-306)
(* (* t b) (- (* j y4) (* z a)))
(if (<= y0 5.3e-191)
t_1
(if (<= y0 2.8e-123)
(* b (* y4 (- (* t j) (* y k))))
(if (<= y0 1.6e-22)
t_1
(if (<= y0 1.7e+71)
(* y (* y3 (- (* c y4) (* a y5))))
(* c (* y0 (- (* x y2) (* z y3)))))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (k * y1) * ((y2 * y4) - (z * i));
double tmp;
if (y0 <= -5e+36) {
tmp = b * (y0 * ((z * k) - (x * j)));
} else if (y0 <= -1e-185) {
tmp = x * (y * ((a * b) - (c * i)));
} else if (y0 <= 4.7e-306) {
tmp = (t * b) * ((j * y4) - (z * a));
} else if (y0 <= 5.3e-191) {
tmp = t_1;
} else if (y0 <= 2.8e-123) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else if (y0 <= 1.6e-22) {
tmp = t_1;
} else if (y0 <= 1.7e+71) {
tmp = y * (y3 * ((c * y4) - (a * y5)));
} else {
tmp = c * (y0 * ((x * y2) - (z * y3)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: tmp
t_1 = (k * y1) * ((y2 * y4) - (z * i))
if (y0 <= (-5d+36)) then
tmp = b * (y0 * ((z * k) - (x * j)))
else if (y0 <= (-1d-185)) then
tmp = x * (y * ((a * b) - (c * i)))
else if (y0 <= 4.7d-306) then
tmp = (t * b) * ((j * y4) - (z * a))
else if (y0 <= 5.3d-191) then
tmp = t_1
else if (y0 <= 2.8d-123) then
tmp = b * (y4 * ((t * j) - (y * k)))
else if (y0 <= 1.6d-22) then
tmp = t_1
else if (y0 <= 1.7d+71) then
tmp = y * (y3 * ((c * y4) - (a * y5)))
else
tmp = c * (y0 * ((x * y2) - (z * y3)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (k * y1) * ((y2 * y4) - (z * i));
double tmp;
if (y0 <= -5e+36) {
tmp = b * (y0 * ((z * k) - (x * j)));
} else if (y0 <= -1e-185) {
tmp = x * (y * ((a * b) - (c * i)));
} else if (y0 <= 4.7e-306) {
tmp = (t * b) * ((j * y4) - (z * a));
} else if (y0 <= 5.3e-191) {
tmp = t_1;
} else if (y0 <= 2.8e-123) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else if (y0 <= 1.6e-22) {
tmp = t_1;
} else if (y0 <= 1.7e+71) {
tmp = y * (y3 * ((c * y4) - (a * y5)));
} else {
tmp = c * (y0 * ((x * y2) - (z * y3)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (k * y1) * ((y2 * y4) - (z * i)) tmp = 0 if y0 <= -5e+36: tmp = b * (y0 * ((z * k) - (x * j))) elif y0 <= -1e-185: tmp = x * (y * ((a * b) - (c * i))) elif y0 <= 4.7e-306: tmp = (t * b) * ((j * y4) - (z * a)) elif y0 <= 5.3e-191: tmp = t_1 elif y0 <= 2.8e-123: tmp = b * (y4 * ((t * j) - (y * k))) elif y0 <= 1.6e-22: tmp = t_1 elif y0 <= 1.7e+71: tmp = y * (y3 * ((c * y4) - (a * y5))) else: tmp = c * (y0 * ((x * y2) - (z * y3))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(k * y1) * Float64(Float64(y2 * y4) - Float64(z * i))) tmp = 0.0 if (y0 <= -5e+36) tmp = Float64(b * Float64(y0 * Float64(Float64(z * k) - Float64(x * j)))); elseif (y0 <= -1e-185) tmp = Float64(x * Float64(y * Float64(Float64(a * b) - Float64(c * i)))); elseif (y0 <= 4.7e-306) tmp = Float64(Float64(t * b) * Float64(Float64(j * y4) - Float64(z * a))); elseif (y0 <= 5.3e-191) tmp = t_1; elseif (y0 <= 2.8e-123) tmp = Float64(b * Float64(y4 * Float64(Float64(t * j) - Float64(y * k)))); elseif (y0 <= 1.6e-22) tmp = t_1; elseif (y0 <= 1.7e+71) tmp = Float64(y * Float64(y3 * Float64(Float64(c * y4) - Float64(a * y5)))); else tmp = Float64(c * Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = (k * y1) * ((y2 * y4) - (z * i)); tmp = 0.0; if (y0 <= -5e+36) tmp = b * (y0 * ((z * k) - (x * j))); elseif (y0 <= -1e-185) tmp = x * (y * ((a * b) - (c * i))); elseif (y0 <= 4.7e-306) tmp = (t * b) * ((j * y4) - (z * a)); elseif (y0 <= 5.3e-191) tmp = t_1; elseif (y0 <= 2.8e-123) tmp = b * (y4 * ((t * j) - (y * k))); elseif (y0 <= 1.6e-22) tmp = t_1; elseif (y0 <= 1.7e+71) tmp = y * (y3 * ((c * y4) - (a * y5))); else tmp = c * (y0 * ((x * y2) - (z * y3))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(k * y1), $MachinePrecision] * N[(N[(y2 * y4), $MachinePrecision] - N[(z * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y0, -5e+36], N[(b * N[(y0 * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -1e-185], N[(x * N[(y * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 4.7e-306], N[(N[(t * b), $MachinePrecision] * N[(N[(j * y4), $MachinePrecision] - N[(z * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 5.3e-191], t$95$1, If[LessEqual[y0, 2.8e-123], N[(b * N[(y4 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 1.6e-22], t$95$1, If[LessEqual[y0, 1.7e+71], N[(y * N[(y3 * N[(N[(c * y4), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(c * N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(k \cdot y1\right) \cdot \left(y2 \cdot y4 - z \cdot i\right)\\
\mathbf{if}\;y0 \leq -5 \cdot 10^{+36}:\\
\;\;\;\;b \cdot \left(y0 \cdot \left(z \cdot k - x \cdot j\right)\right)\\
\mathbf{elif}\;y0 \leq -1 \cdot 10^{-185}:\\
\;\;\;\;x \cdot \left(y \cdot \left(a \cdot b - c \cdot i\right)\right)\\
\mathbf{elif}\;y0 \leq 4.7 \cdot 10^{-306}:\\
\;\;\;\;\left(t \cdot b\right) \cdot \left(j \cdot y4 - z \cdot a\right)\\
\mathbf{elif}\;y0 \leq 5.3 \cdot 10^{-191}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y0 \leq 2.8 \cdot 10^{-123}:\\
\;\;\;\;b \cdot \left(y4 \cdot \left(t \cdot j - y \cdot k\right)\right)\\
\mathbf{elif}\;y0 \leq 1.6 \cdot 10^{-22}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y0 \leq 1.7 \cdot 10^{+71}:\\
\;\;\;\;y \cdot \left(y3 \cdot \left(c \cdot y4 - a \cdot y5\right)\right)\\
\mathbf{else}:\\
\;\;\;\;c \cdot \left(y0 \cdot \left(x \cdot y2 - z \cdot y3\right)\right)\\
\end{array}
\end{array}
if y0 < -4.99999999999999977e36Initial program 24.7%
Taylor expanded in y0 around inf 66.9%
+-commutative66.9%
mul-1-neg66.9%
unsub-neg66.9%
*-commutative66.9%
*-commutative66.9%
*-commutative66.9%
*-commutative66.9%
Simplified66.9%
Taylor expanded in b around inf 53.4%
if -4.99999999999999977e36 < y0 < -9.9999999999999999e-186Initial program 36.3%
Taylor expanded in x around inf 41.4%
Taylor expanded in y around inf 34.4%
*-commutative34.4%
Simplified34.4%
if -9.9999999999999999e-186 < y0 < 4.7000000000000001e-306Initial program 37.3%
Taylor expanded in b around inf 37.7%
Taylor expanded in t around inf 49.7%
associate-*r*46.3%
+-commutative46.3%
mul-1-neg46.3%
unsub-neg46.3%
*-commutative46.3%
Simplified46.3%
if 4.7000000000000001e-306 < y0 < 5.29999999999999985e-191 or 2.7999999999999999e-123 < y0 < 1.59999999999999994e-22Initial program 46.6%
Taylor expanded in y1 around -inf 58.9%
mul-1-neg58.9%
*-commutative58.9%
distribute-rgt-neg-in58.9%
Simplified58.9%
Taylor expanded in k around inf 52.2%
associate-*r*50.0%
+-commutative50.0%
mul-1-neg50.0%
unsub-neg50.0%
*-commutative50.0%
Simplified50.0%
if 5.29999999999999985e-191 < y0 < 2.7999999999999999e-123Initial program 13.3%
Taylor expanded in b around inf 53.3%
Taylor expanded in y4 around inf 66.9%
if 1.59999999999999994e-22 < y0 < 1.6999999999999999e71Initial program 26.7%
Taylor expanded in y around inf 16.3%
Taylor expanded in y3 around inf 53.3%
if 1.6999999999999999e71 < y0 Initial program 20.8%
Taylor expanded in y0 around inf 53.9%
+-commutative53.9%
mul-1-neg53.9%
unsub-neg53.9%
*-commutative53.9%
*-commutative53.9%
*-commutative53.9%
*-commutative53.9%
Simplified53.9%
Taylor expanded in c around inf 53.9%
Final simplification49.8%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* (* k y1) (- (* y2 y4) (* z i)))))
(if (<= y0 -5.2e+34)
(* b (* y0 (- (* z k) (* x j))))
(if (<= y0 -8.5e-186)
(* x (* y (- (* a b) (* c i))))
(if (<= y0 2e-307)
(* (* t b) (- (* j y4) (* z a)))
(if (<= y0 5e-191)
t_1
(if (<= y0 9.5e-105)
(* b (* y4 (- (* t j) (* y k))))
(if (<= y0 1.65e-22)
t_1
(if (<= y0 1.56e+106)
(* (* y0 y2) (- (* x c) (* k y5)))
(* c (* y0 (- (* x y2) (* z y3)))))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (k * y1) * ((y2 * y4) - (z * i));
double tmp;
if (y0 <= -5.2e+34) {
tmp = b * (y0 * ((z * k) - (x * j)));
} else if (y0 <= -8.5e-186) {
tmp = x * (y * ((a * b) - (c * i)));
} else if (y0 <= 2e-307) {
tmp = (t * b) * ((j * y4) - (z * a));
} else if (y0 <= 5e-191) {
tmp = t_1;
} else if (y0 <= 9.5e-105) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else if (y0 <= 1.65e-22) {
tmp = t_1;
} else if (y0 <= 1.56e+106) {
tmp = (y0 * y2) * ((x * c) - (k * y5));
} else {
tmp = c * (y0 * ((x * y2) - (z * y3)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: tmp
t_1 = (k * y1) * ((y2 * y4) - (z * i))
if (y0 <= (-5.2d+34)) then
tmp = b * (y0 * ((z * k) - (x * j)))
else if (y0 <= (-8.5d-186)) then
tmp = x * (y * ((a * b) - (c * i)))
else if (y0 <= 2d-307) then
tmp = (t * b) * ((j * y4) - (z * a))
else if (y0 <= 5d-191) then
tmp = t_1
else if (y0 <= 9.5d-105) then
tmp = b * (y4 * ((t * j) - (y * k)))
else if (y0 <= 1.65d-22) then
tmp = t_1
else if (y0 <= 1.56d+106) then
tmp = (y0 * y2) * ((x * c) - (k * y5))
else
tmp = c * (y0 * ((x * y2) - (z * y3)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (k * y1) * ((y2 * y4) - (z * i));
double tmp;
if (y0 <= -5.2e+34) {
tmp = b * (y0 * ((z * k) - (x * j)));
} else if (y0 <= -8.5e-186) {
tmp = x * (y * ((a * b) - (c * i)));
} else if (y0 <= 2e-307) {
tmp = (t * b) * ((j * y4) - (z * a));
} else if (y0 <= 5e-191) {
tmp = t_1;
} else if (y0 <= 9.5e-105) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else if (y0 <= 1.65e-22) {
tmp = t_1;
} else if (y0 <= 1.56e+106) {
tmp = (y0 * y2) * ((x * c) - (k * y5));
} else {
tmp = c * (y0 * ((x * y2) - (z * y3)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (k * y1) * ((y2 * y4) - (z * i)) tmp = 0 if y0 <= -5.2e+34: tmp = b * (y0 * ((z * k) - (x * j))) elif y0 <= -8.5e-186: tmp = x * (y * ((a * b) - (c * i))) elif y0 <= 2e-307: tmp = (t * b) * ((j * y4) - (z * a)) elif y0 <= 5e-191: tmp = t_1 elif y0 <= 9.5e-105: tmp = b * (y4 * ((t * j) - (y * k))) elif y0 <= 1.65e-22: tmp = t_1 elif y0 <= 1.56e+106: tmp = (y0 * y2) * ((x * c) - (k * y5)) else: tmp = c * (y0 * ((x * y2) - (z * y3))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(k * y1) * Float64(Float64(y2 * y4) - Float64(z * i))) tmp = 0.0 if (y0 <= -5.2e+34) tmp = Float64(b * Float64(y0 * Float64(Float64(z * k) - Float64(x * j)))); elseif (y0 <= -8.5e-186) tmp = Float64(x * Float64(y * Float64(Float64(a * b) - Float64(c * i)))); elseif (y0 <= 2e-307) tmp = Float64(Float64(t * b) * Float64(Float64(j * y4) - Float64(z * a))); elseif (y0 <= 5e-191) tmp = t_1; elseif (y0 <= 9.5e-105) tmp = Float64(b * Float64(y4 * Float64(Float64(t * j) - Float64(y * k)))); elseif (y0 <= 1.65e-22) tmp = t_1; elseif (y0 <= 1.56e+106) tmp = Float64(Float64(y0 * y2) * Float64(Float64(x * c) - Float64(k * y5))); else tmp = Float64(c * Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = (k * y1) * ((y2 * y4) - (z * i)); tmp = 0.0; if (y0 <= -5.2e+34) tmp = b * (y0 * ((z * k) - (x * j))); elseif (y0 <= -8.5e-186) tmp = x * (y * ((a * b) - (c * i))); elseif (y0 <= 2e-307) tmp = (t * b) * ((j * y4) - (z * a)); elseif (y0 <= 5e-191) tmp = t_1; elseif (y0 <= 9.5e-105) tmp = b * (y4 * ((t * j) - (y * k))); elseif (y0 <= 1.65e-22) tmp = t_1; elseif (y0 <= 1.56e+106) tmp = (y0 * y2) * ((x * c) - (k * y5)); else tmp = c * (y0 * ((x * y2) - (z * y3))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(k * y1), $MachinePrecision] * N[(N[(y2 * y4), $MachinePrecision] - N[(z * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y0, -5.2e+34], N[(b * N[(y0 * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -8.5e-186], N[(x * N[(y * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 2e-307], N[(N[(t * b), $MachinePrecision] * N[(N[(j * y4), $MachinePrecision] - N[(z * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 5e-191], t$95$1, If[LessEqual[y0, 9.5e-105], N[(b * N[(y4 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 1.65e-22], t$95$1, If[LessEqual[y0, 1.56e+106], N[(N[(y0 * y2), $MachinePrecision] * N[(N[(x * c), $MachinePrecision] - N[(k * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(c * N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(k \cdot y1\right) \cdot \left(y2 \cdot y4 - z \cdot i\right)\\
\mathbf{if}\;y0 \leq -5.2 \cdot 10^{+34}:\\
\;\;\;\;b \cdot \left(y0 \cdot \left(z \cdot k - x \cdot j\right)\right)\\
\mathbf{elif}\;y0 \leq -8.5 \cdot 10^{-186}:\\
\;\;\;\;x \cdot \left(y \cdot \left(a \cdot b - c \cdot i\right)\right)\\
\mathbf{elif}\;y0 \leq 2 \cdot 10^{-307}:\\
\;\;\;\;\left(t \cdot b\right) \cdot \left(j \cdot y4 - z \cdot a\right)\\
\mathbf{elif}\;y0 \leq 5 \cdot 10^{-191}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y0 \leq 9.5 \cdot 10^{-105}:\\
\;\;\;\;b \cdot \left(y4 \cdot \left(t \cdot j - y \cdot k\right)\right)\\
\mathbf{elif}\;y0 \leq 1.65 \cdot 10^{-22}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y0 \leq 1.56 \cdot 10^{+106}:\\
\;\;\;\;\left(y0 \cdot y2\right) \cdot \left(x \cdot c - k \cdot y5\right)\\
\mathbf{else}:\\
\;\;\;\;c \cdot \left(y0 \cdot \left(x \cdot y2 - z \cdot y3\right)\right)\\
\end{array}
\end{array}
if y0 < -5.19999999999999995e34Initial program 24.7%
Taylor expanded in y0 around inf 66.9%
+-commutative66.9%
mul-1-neg66.9%
unsub-neg66.9%
*-commutative66.9%
*-commutative66.9%
*-commutative66.9%
*-commutative66.9%
Simplified66.9%
Taylor expanded in b around inf 53.4%
if -5.19999999999999995e34 < y0 < -8.4999999999999994e-186Initial program 36.3%
Taylor expanded in x around inf 41.4%
Taylor expanded in y around inf 34.4%
*-commutative34.4%
Simplified34.4%
if -8.4999999999999994e-186 < y0 < 1.99999999999999982e-307Initial program 37.3%
Taylor expanded in b around inf 37.7%
Taylor expanded in t around inf 49.7%
associate-*r*46.3%
+-commutative46.3%
mul-1-neg46.3%
unsub-neg46.3%
*-commutative46.3%
Simplified46.3%
if 1.99999999999999982e-307 < y0 < 5.0000000000000001e-191 or 9.5000000000000002e-105 < y0 < 1.65e-22Initial program 46.6%
Taylor expanded in y1 around -inf 58.9%
mul-1-neg58.9%
*-commutative58.9%
distribute-rgt-neg-in58.9%
Simplified58.9%
Taylor expanded in k around inf 52.2%
associate-*r*50.0%
+-commutative50.0%
mul-1-neg50.0%
unsub-neg50.0%
*-commutative50.0%
Simplified50.0%
if 5.0000000000000001e-191 < y0 < 9.5000000000000002e-105Initial program 13.3%
Taylor expanded in b around inf 53.3%
Taylor expanded in y4 around inf 66.9%
if 1.65e-22 < y0 < 1.55999999999999991e106Initial program 26.8%
Taylor expanded in y0 around inf 40.7%
+-commutative40.7%
mul-1-neg40.7%
unsub-neg40.7%
*-commutative40.7%
*-commutative40.7%
*-commutative40.7%
*-commutative40.7%
Simplified40.7%
Taylor expanded in y2 around inf 51.3%
associate-*r*51.1%
Simplified51.1%
if 1.55999999999999991e106 < y0 Initial program 19.2%
Taylor expanded in y0 around inf 58.1%
+-commutative58.1%
mul-1-neg58.1%
unsub-neg58.1%
*-commutative58.1%
*-commutative58.1%
*-commutative58.1%
*-commutative58.1%
Simplified58.1%
Taylor expanded in c around inf 58.0%
Final simplification50.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* y2 y4) (* z i))))
(if (<= y0 -2.6e+34)
(* b (* y0 (- (* z k) (* x j))))
(if (<= y0 -7e-186)
(* x (* y (- (* a b) (* c i))))
(if (<= y0 4.9e-307)
(* (* t b) (- (* j y4) (* z a)))
(if (<= y0 5.4e-191)
(* k (* y1 t_1))
(if (<= y0 2.6e-121)
(* b (* y4 (- (* t j) (* y k))))
(if (<= y0 1.65e-22)
(* (* k y1) t_1)
(if (<= y0 2.6e+106)
(* (* y0 y2) (- (* x c) (* k y5)))
(* c (* y0 (- (* x y2) (* z y3)))))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (y2 * y4) - (z * i);
double tmp;
if (y0 <= -2.6e+34) {
tmp = b * (y0 * ((z * k) - (x * j)));
} else if (y0 <= -7e-186) {
tmp = x * (y * ((a * b) - (c * i)));
} else if (y0 <= 4.9e-307) {
tmp = (t * b) * ((j * y4) - (z * a));
} else if (y0 <= 5.4e-191) {
tmp = k * (y1 * t_1);
} else if (y0 <= 2.6e-121) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else if (y0 <= 1.65e-22) {
tmp = (k * y1) * t_1;
} else if (y0 <= 2.6e+106) {
tmp = (y0 * y2) * ((x * c) - (k * y5));
} else {
tmp = c * (y0 * ((x * y2) - (z * y3)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: tmp
t_1 = (y2 * y4) - (z * i)
if (y0 <= (-2.6d+34)) then
tmp = b * (y0 * ((z * k) - (x * j)))
else if (y0 <= (-7d-186)) then
tmp = x * (y * ((a * b) - (c * i)))
else if (y0 <= 4.9d-307) then
tmp = (t * b) * ((j * y4) - (z * a))
else if (y0 <= 5.4d-191) then
tmp = k * (y1 * t_1)
else if (y0 <= 2.6d-121) then
tmp = b * (y4 * ((t * j) - (y * k)))
else if (y0 <= 1.65d-22) then
tmp = (k * y1) * t_1
else if (y0 <= 2.6d+106) then
tmp = (y0 * y2) * ((x * c) - (k * y5))
else
tmp = c * (y0 * ((x * y2) - (z * y3)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (y2 * y4) - (z * i);
double tmp;
if (y0 <= -2.6e+34) {
tmp = b * (y0 * ((z * k) - (x * j)));
} else if (y0 <= -7e-186) {
tmp = x * (y * ((a * b) - (c * i)));
} else if (y0 <= 4.9e-307) {
tmp = (t * b) * ((j * y4) - (z * a));
} else if (y0 <= 5.4e-191) {
tmp = k * (y1 * t_1);
} else if (y0 <= 2.6e-121) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else if (y0 <= 1.65e-22) {
tmp = (k * y1) * t_1;
} else if (y0 <= 2.6e+106) {
tmp = (y0 * y2) * ((x * c) - (k * y5));
} else {
tmp = c * (y0 * ((x * y2) - (z * y3)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (y2 * y4) - (z * i) tmp = 0 if y0 <= -2.6e+34: tmp = b * (y0 * ((z * k) - (x * j))) elif y0 <= -7e-186: tmp = x * (y * ((a * b) - (c * i))) elif y0 <= 4.9e-307: tmp = (t * b) * ((j * y4) - (z * a)) elif y0 <= 5.4e-191: tmp = k * (y1 * t_1) elif y0 <= 2.6e-121: tmp = b * (y4 * ((t * j) - (y * k))) elif y0 <= 1.65e-22: tmp = (k * y1) * t_1 elif y0 <= 2.6e+106: tmp = (y0 * y2) * ((x * c) - (k * y5)) else: tmp = c * (y0 * ((x * y2) - (z * y3))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(y2 * y4) - Float64(z * i)) tmp = 0.0 if (y0 <= -2.6e+34) tmp = Float64(b * Float64(y0 * Float64(Float64(z * k) - Float64(x * j)))); elseif (y0 <= -7e-186) tmp = Float64(x * Float64(y * Float64(Float64(a * b) - Float64(c * i)))); elseif (y0 <= 4.9e-307) tmp = Float64(Float64(t * b) * Float64(Float64(j * y4) - Float64(z * a))); elseif (y0 <= 5.4e-191) tmp = Float64(k * Float64(y1 * t_1)); elseif (y0 <= 2.6e-121) tmp = Float64(b * Float64(y4 * Float64(Float64(t * j) - Float64(y * k)))); elseif (y0 <= 1.65e-22) tmp = Float64(Float64(k * y1) * t_1); elseif (y0 <= 2.6e+106) tmp = Float64(Float64(y0 * y2) * Float64(Float64(x * c) - Float64(k * y5))); else tmp = Float64(c * Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = (y2 * y4) - (z * i); tmp = 0.0; if (y0 <= -2.6e+34) tmp = b * (y0 * ((z * k) - (x * j))); elseif (y0 <= -7e-186) tmp = x * (y * ((a * b) - (c * i))); elseif (y0 <= 4.9e-307) tmp = (t * b) * ((j * y4) - (z * a)); elseif (y0 <= 5.4e-191) tmp = k * (y1 * t_1); elseif (y0 <= 2.6e-121) tmp = b * (y4 * ((t * j) - (y * k))); elseif (y0 <= 1.65e-22) tmp = (k * y1) * t_1; elseif (y0 <= 2.6e+106) tmp = (y0 * y2) * ((x * c) - (k * y5)); else tmp = c * (y0 * ((x * y2) - (z * y3))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(y2 * y4), $MachinePrecision] - N[(z * i), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y0, -2.6e+34], N[(b * N[(y0 * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -7e-186], N[(x * N[(y * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 4.9e-307], N[(N[(t * b), $MachinePrecision] * N[(N[(j * y4), $MachinePrecision] - N[(z * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 5.4e-191], N[(k * N[(y1 * t$95$1), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 2.6e-121], N[(b * N[(y4 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 1.65e-22], N[(N[(k * y1), $MachinePrecision] * t$95$1), $MachinePrecision], If[LessEqual[y0, 2.6e+106], N[(N[(y0 * y2), $MachinePrecision] * N[(N[(x * c), $MachinePrecision] - N[(k * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(c * N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y2 \cdot y4 - z \cdot i\\
\mathbf{if}\;y0 \leq -2.6 \cdot 10^{+34}:\\
\;\;\;\;b \cdot \left(y0 \cdot \left(z \cdot k - x \cdot j\right)\right)\\
\mathbf{elif}\;y0 \leq -7 \cdot 10^{-186}:\\
\;\;\;\;x \cdot \left(y \cdot \left(a \cdot b - c \cdot i\right)\right)\\
\mathbf{elif}\;y0 \leq 4.9 \cdot 10^{-307}:\\
\;\;\;\;\left(t \cdot b\right) \cdot \left(j \cdot y4 - z \cdot a\right)\\
\mathbf{elif}\;y0 \leq 5.4 \cdot 10^{-191}:\\
\;\;\;\;k \cdot \left(y1 \cdot t\_1\right)\\
\mathbf{elif}\;y0 \leq 2.6 \cdot 10^{-121}:\\
\;\;\;\;b \cdot \left(y4 \cdot \left(t \cdot j - y \cdot k\right)\right)\\
\mathbf{elif}\;y0 \leq 1.65 \cdot 10^{-22}:\\
\;\;\;\;\left(k \cdot y1\right) \cdot t\_1\\
\mathbf{elif}\;y0 \leq 2.6 \cdot 10^{+106}:\\
\;\;\;\;\left(y0 \cdot y2\right) \cdot \left(x \cdot c - k \cdot y5\right)\\
\mathbf{else}:\\
\;\;\;\;c \cdot \left(y0 \cdot \left(x \cdot y2 - z \cdot y3\right)\right)\\
\end{array}
\end{array}
if y0 < -2.59999999999999997e34Initial program 24.7%
Taylor expanded in y0 around inf 66.9%
+-commutative66.9%
mul-1-neg66.9%
unsub-neg66.9%
*-commutative66.9%
*-commutative66.9%
*-commutative66.9%
*-commutative66.9%
Simplified66.9%
Taylor expanded in b around inf 53.4%
if -2.59999999999999997e34 < y0 < -6.99999999999999978e-186Initial program 36.3%
Taylor expanded in x around inf 41.4%
Taylor expanded in y around inf 34.4%
*-commutative34.4%
Simplified34.4%
if -6.99999999999999978e-186 < y0 < 4.9000000000000002e-307Initial program 37.3%
Taylor expanded in b around inf 37.7%
Taylor expanded in t around inf 49.7%
associate-*r*46.3%
+-commutative46.3%
mul-1-neg46.3%
unsub-neg46.3%
*-commutative46.3%
Simplified46.3%
if 4.9000000000000002e-307 < y0 < 5.39999999999999998e-191Initial program 40.9%
Taylor expanded in y1 around -inf 59.8%
mul-1-neg59.8%
*-commutative59.8%
distribute-rgt-neg-in59.8%
Simplified59.8%
Taylor expanded in k around -inf 52.6%
mul-1-neg52.6%
*-commutative52.6%
distribute-rgt-neg-in52.6%
+-commutative52.6%
mul-1-neg52.6%
unsub-neg52.6%
*-commutative52.6%
Simplified52.6%
if 5.39999999999999998e-191 < y0 < 2.59999999999999986e-121Initial program 13.3%
Taylor expanded in b around inf 53.3%
Taylor expanded in y4 around inf 66.9%
if 2.59999999999999986e-121 < y0 < 1.65e-22Initial program 56.2%
Taylor expanded in y1 around -inf 57.2%
mul-1-neg57.2%
*-commutative57.2%
distribute-rgt-neg-in57.2%
Simplified57.2%
Taylor expanded in k around inf 51.6%
associate-*r*51.6%
+-commutative51.6%
mul-1-neg51.6%
unsub-neg51.6%
*-commutative51.6%
Simplified51.6%
if 1.65e-22 < y0 < 2.6000000000000002e106Initial program 26.8%
Taylor expanded in y0 around inf 40.7%
+-commutative40.7%
mul-1-neg40.7%
unsub-neg40.7%
*-commutative40.7%
*-commutative40.7%
*-commutative40.7%
*-commutative40.7%
Simplified40.7%
Taylor expanded in y2 around inf 51.3%
associate-*r*51.1%
Simplified51.1%
if 2.6000000000000002e106 < y0 Initial program 19.2%
Taylor expanded in y0 around inf 58.1%
+-commutative58.1%
mul-1-neg58.1%
unsub-neg58.1%
*-commutative58.1%
*-commutative58.1%
*-commutative58.1%
*-commutative58.1%
Simplified58.1%
Taylor expanded in c around inf 58.0%
Final simplification50.6%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= y0 -1.35e+34)
(* b (* y0 (- (* z k) (* x j))))
(if (<= y0 -8.5e-186)
(* x (* y (- (* a b) (* c i))))
(if (<= y0 8e-307)
(* (* t b) (- (* j y4) (* z a)))
(if (<= y0 6.5e-191)
(* y1 (* y3 (- (* z a) (* j y4))))
(if (<= y0 1.1e-50)
(* b (* y4 (- (* t j) (* y k))))
(if (<= y0 8e+67)
(* y (* y3 (- (* c y4) (* a y5))))
(* c (* y0 (- (* x y2) (* z y3)))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y0 <= -1.35e+34) {
tmp = b * (y0 * ((z * k) - (x * j)));
} else if (y0 <= -8.5e-186) {
tmp = x * (y * ((a * b) - (c * i)));
} else if (y0 <= 8e-307) {
tmp = (t * b) * ((j * y4) - (z * a));
} else if (y0 <= 6.5e-191) {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
} else if (y0 <= 1.1e-50) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else if (y0 <= 8e+67) {
tmp = y * (y3 * ((c * y4) - (a * y5)));
} else {
tmp = c * (y0 * ((x * y2) - (z * y3)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: tmp
if (y0 <= (-1.35d+34)) then
tmp = b * (y0 * ((z * k) - (x * j)))
else if (y0 <= (-8.5d-186)) then
tmp = x * (y * ((a * b) - (c * i)))
else if (y0 <= 8d-307) then
tmp = (t * b) * ((j * y4) - (z * a))
else if (y0 <= 6.5d-191) then
tmp = y1 * (y3 * ((z * a) - (j * y4)))
else if (y0 <= 1.1d-50) then
tmp = b * (y4 * ((t * j) - (y * k)))
else if (y0 <= 8d+67) then
tmp = y * (y3 * ((c * y4) - (a * y5)))
else
tmp = c * (y0 * ((x * y2) - (z * y3)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y0 <= -1.35e+34) {
tmp = b * (y0 * ((z * k) - (x * j)));
} else if (y0 <= -8.5e-186) {
tmp = x * (y * ((a * b) - (c * i)));
} else if (y0 <= 8e-307) {
tmp = (t * b) * ((j * y4) - (z * a));
} else if (y0 <= 6.5e-191) {
tmp = y1 * (y3 * ((z * a) - (j * y4)));
} else if (y0 <= 1.1e-50) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else if (y0 <= 8e+67) {
tmp = y * (y3 * ((c * y4) - (a * y5)));
} else {
tmp = c * (y0 * ((x * y2) - (z * y3)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if y0 <= -1.35e+34: tmp = b * (y0 * ((z * k) - (x * j))) elif y0 <= -8.5e-186: tmp = x * (y * ((a * b) - (c * i))) elif y0 <= 8e-307: tmp = (t * b) * ((j * y4) - (z * a)) elif y0 <= 6.5e-191: tmp = y1 * (y3 * ((z * a) - (j * y4))) elif y0 <= 1.1e-50: tmp = b * (y4 * ((t * j) - (y * k))) elif y0 <= 8e+67: tmp = y * (y3 * ((c * y4) - (a * y5))) else: tmp = c * (y0 * ((x * y2) - (z * y3))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (y0 <= -1.35e+34) tmp = Float64(b * Float64(y0 * Float64(Float64(z * k) - Float64(x * j)))); elseif (y0 <= -8.5e-186) tmp = Float64(x * Float64(y * Float64(Float64(a * b) - Float64(c * i)))); elseif (y0 <= 8e-307) tmp = Float64(Float64(t * b) * Float64(Float64(j * y4) - Float64(z * a))); elseif (y0 <= 6.5e-191) tmp = Float64(y1 * Float64(y3 * Float64(Float64(z * a) - Float64(j * y4)))); elseif (y0 <= 1.1e-50) tmp = Float64(b * Float64(y4 * Float64(Float64(t * j) - Float64(y * k)))); elseif (y0 <= 8e+67) tmp = Float64(y * Float64(y3 * Float64(Float64(c * y4) - Float64(a * y5)))); else tmp = Float64(c * Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0; if (y0 <= -1.35e+34) tmp = b * (y0 * ((z * k) - (x * j))); elseif (y0 <= -8.5e-186) tmp = x * (y * ((a * b) - (c * i))); elseif (y0 <= 8e-307) tmp = (t * b) * ((j * y4) - (z * a)); elseif (y0 <= 6.5e-191) tmp = y1 * (y3 * ((z * a) - (j * y4))); elseif (y0 <= 1.1e-50) tmp = b * (y4 * ((t * j) - (y * k))); elseif (y0 <= 8e+67) tmp = y * (y3 * ((c * y4) - (a * y5))); else tmp = c * (y0 * ((x * y2) - (z * y3))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[y0, -1.35e+34], N[(b * N[(y0 * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -8.5e-186], N[(x * N[(y * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 8e-307], N[(N[(t * b), $MachinePrecision] * N[(N[(j * y4), $MachinePrecision] - N[(z * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 6.5e-191], N[(y1 * N[(y3 * N[(N[(z * a), $MachinePrecision] - N[(j * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 1.1e-50], N[(b * N[(y4 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 8e+67], N[(y * N[(y3 * N[(N[(c * y4), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(c * N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y0 \leq -1.35 \cdot 10^{+34}:\\
\;\;\;\;b \cdot \left(y0 \cdot \left(z \cdot k - x \cdot j\right)\right)\\
\mathbf{elif}\;y0 \leq -8.5 \cdot 10^{-186}:\\
\;\;\;\;x \cdot \left(y \cdot \left(a \cdot b - c \cdot i\right)\right)\\
\mathbf{elif}\;y0 \leq 8 \cdot 10^{-307}:\\
\;\;\;\;\left(t \cdot b\right) \cdot \left(j \cdot y4 - z \cdot a\right)\\
\mathbf{elif}\;y0 \leq 6.5 \cdot 10^{-191}:\\
\;\;\;\;y1 \cdot \left(y3 \cdot \left(z \cdot a - j \cdot y4\right)\right)\\
\mathbf{elif}\;y0 \leq 1.1 \cdot 10^{-50}:\\
\;\;\;\;b \cdot \left(y4 \cdot \left(t \cdot j - y \cdot k\right)\right)\\
\mathbf{elif}\;y0 \leq 8 \cdot 10^{+67}:\\
\;\;\;\;y \cdot \left(y3 \cdot \left(c \cdot y4 - a \cdot y5\right)\right)\\
\mathbf{else}:\\
\;\;\;\;c \cdot \left(y0 \cdot \left(x \cdot y2 - z \cdot y3\right)\right)\\
\end{array}
\end{array}
if y0 < -1.35e34Initial program 24.7%
Taylor expanded in y0 around inf 66.9%
+-commutative66.9%
mul-1-neg66.9%
unsub-neg66.9%
*-commutative66.9%
*-commutative66.9%
*-commutative66.9%
*-commutative66.9%
Simplified66.9%
Taylor expanded in b around inf 53.4%
if -1.35e34 < y0 < -8.4999999999999994e-186Initial program 36.3%
Taylor expanded in x around inf 41.4%
Taylor expanded in y around inf 34.4%
*-commutative34.4%
Simplified34.4%
if -8.4999999999999994e-186 < y0 < 7.99999999999999927e-307Initial program 37.3%
Taylor expanded in b around inf 37.7%
Taylor expanded in t around inf 49.7%
associate-*r*46.3%
+-commutative46.3%
mul-1-neg46.3%
unsub-neg46.3%
*-commutative46.3%
Simplified46.3%
if 7.99999999999999927e-307 < y0 < 6.4999999999999995e-191Initial program 40.9%
Taylor expanded in y1 around -inf 59.8%
mul-1-neg59.8%
*-commutative59.8%
distribute-rgt-neg-in59.8%
Simplified59.8%
Taylor expanded in y3 around -inf 41.9%
if 6.4999999999999995e-191 < y0 < 1.0999999999999999e-50Initial program 27.9%
Taylor expanded in b around inf 40.8%
Taylor expanded in y4 around inf 45.3%
if 1.0999999999999999e-50 < y0 < 7.99999999999999986e67Initial program 36.3%
Taylor expanded in y around inf 16.7%
Taylor expanded in y3 around inf 48.8%
if 7.99999999999999986e67 < y0 Initial program 20.8%
Taylor expanded in y0 around inf 53.9%
+-commutative53.9%
mul-1-neg53.9%
unsub-neg53.9%
*-commutative53.9%
*-commutative53.9%
*-commutative53.9%
*-commutative53.9%
Simplified53.9%
Taylor expanded in c around inf 53.9%
Final simplification47.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* c (* y0 (- (* x y2) (* z y3))))))
(if (<= y2 -3.2e-177)
t_1
(if (<= y2 -1.55e-291)
(* x (* y (- (* a b) (* c i))))
(if (<= y2 1.65e-228)
(* b (* y4 (- (* t j) (* y k))))
(if (<= y2 4.1e+54)
(* b (* x (- (* y a) (* j y0))))
(if (<= y2 3.8e+259) (* y1 (* y4 (- (* k y2) (* j y3)))) t_1)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = c * (y0 * ((x * y2) - (z * y3)));
double tmp;
if (y2 <= -3.2e-177) {
tmp = t_1;
} else if (y2 <= -1.55e-291) {
tmp = x * (y * ((a * b) - (c * i)));
} else if (y2 <= 1.65e-228) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else if (y2 <= 4.1e+54) {
tmp = b * (x * ((y * a) - (j * y0)));
} else if (y2 <= 3.8e+259) {
tmp = y1 * (y4 * ((k * y2) - (j * y3)));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: tmp
t_1 = c * (y0 * ((x * y2) - (z * y3)))
if (y2 <= (-3.2d-177)) then
tmp = t_1
else if (y2 <= (-1.55d-291)) then
tmp = x * (y * ((a * b) - (c * i)))
else if (y2 <= 1.65d-228) then
tmp = b * (y4 * ((t * j) - (y * k)))
else if (y2 <= 4.1d+54) then
tmp = b * (x * ((y * a) - (j * y0)))
else if (y2 <= 3.8d+259) then
tmp = y1 * (y4 * ((k * y2) - (j * y3)))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = c * (y0 * ((x * y2) - (z * y3)));
double tmp;
if (y2 <= -3.2e-177) {
tmp = t_1;
} else if (y2 <= -1.55e-291) {
tmp = x * (y * ((a * b) - (c * i)));
} else if (y2 <= 1.65e-228) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else if (y2 <= 4.1e+54) {
tmp = b * (x * ((y * a) - (j * y0)));
} else if (y2 <= 3.8e+259) {
tmp = y1 * (y4 * ((k * y2) - (j * y3)));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = c * (y0 * ((x * y2) - (z * y3))) tmp = 0 if y2 <= -3.2e-177: tmp = t_1 elif y2 <= -1.55e-291: tmp = x * (y * ((a * b) - (c * i))) elif y2 <= 1.65e-228: tmp = b * (y4 * ((t * j) - (y * k))) elif y2 <= 4.1e+54: tmp = b * (x * ((y * a) - (j * y0))) elif y2 <= 3.8e+259: tmp = y1 * (y4 * ((k * y2) - (j * y3))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(c * Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3)))) tmp = 0.0 if (y2 <= -3.2e-177) tmp = t_1; elseif (y2 <= -1.55e-291) tmp = Float64(x * Float64(y * Float64(Float64(a * b) - Float64(c * i)))); elseif (y2 <= 1.65e-228) tmp = Float64(b * Float64(y4 * Float64(Float64(t * j) - Float64(y * k)))); elseif (y2 <= 4.1e+54) tmp = Float64(b * Float64(x * Float64(Float64(y * a) - Float64(j * y0)))); elseif (y2 <= 3.8e+259) tmp = Float64(y1 * Float64(y4 * Float64(Float64(k * y2) - Float64(j * y3)))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = c * (y0 * ((x * y2) - (z * y3))); tmp = 0.0; if (y2 <= -3.2e-177) tmp = t_1; elseif (y2 <= -1.55e-291) tmp = x * (y * ((a * b) - (c * i))); elseif (y2 <= 1.65e-228) tmp = b * (y4 * ((t * j) - (y * k))); elseif (y2 <= 4.1e+54) tmp = b * (x * ((y * a) - (j * y0))); elseif (y2 <= 3.8e+259) tmp = y1 * (y4 * ((k * y2) - (j * y3))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(c * N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y2, -3.2e-177], t$95$1, If[LessEqual[y2, -1.55e-291], N[(x * N[(y * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 1.65e-228], N[(b * N[(y4 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 4.1e+54], N[(b * N[(x * N[(N[(y * a), $MachinePrecision] - N[(j * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 3.8e+259], N[(y1 * N[(y4 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c \cdot \left(y0 \cdot \left(x \cdot y2 - z \cdot y3\right)\right)\\
\mathbf{if}\;y2 \leq -3.2 \cdot 10^{-177}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y2 \leq -1.55 \cdot 10^{-291}:\\
\;\;\;\;x \cdot \left(y \cdot \left(a \cdot b - c \cdot i\right)\right)\\
\mathbf{elif}\;y2 \leq 1.65 \cdot 10^{-228}:\\
\;\;\;\;b \cdot \left(y4 \cdot \left(t \cdot j - y \cdot k\right)\right)\\
\mathbf{elif}\;y2 \leq 4.1 \cdot 10^{+54}:\\
\;\;\;\;b \cdot \left(x \cdot \left(y \cdot a - j \cdot y0\right)\right)\\
\mathbf{elif}\;y2 \leq 3.8 \cdot 10^{+259}:\\
\;\;\;\;y1 \cdot \left(y4 \cdot \left(k \cdot y2 - j \cdot y3\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y2 < -3.1999999999999998e-177 or 3.8e259 < y2 Initial program 28.5%
Taylor expanded in y0 around inf 52.4%
+-commutative52.4%
mul-1-neg52.4%
unsub-neg52.4%
*-commutative52.4%
*-commutative52.4%
*-commutative52.4%
*-commutative52.4%
Simplified52.4%
Taylor expanded in c around inf 51.1%
if -3.1999999999999998e-177 < y2 < -1.55000000000000006e-291Initial program 33.0%
Taylor expanded in x around inf 36.6%
Taylor expanded in y around inf 42.8%
*-commutative42.8%
Simplified42.8%
if -1.55000000000000006e-291 < y2 < 1.65000000000000003e-228Initial program 41.2%
Taylor expanded in b around inf 41.6%
Taylor expanded in y4 around inf 36.5%
if 1.65000000000000003e-228 < y2 < 4.09999999999999967e54Initial program 28.2%
Taylor expanded in b around inf 44.2%
Taylor expanded in x around inf 39.2%
if 4.09999999999999967e54 < y2 < 3.8e259Initial program 30.9%
Taylor expanded in y1 around -inf 35.5%
mul-1-neg35.5%
*-commutative35.5%
distribute-rgt-neg-in35.5%
Simplified35.5%
Taylor expanded in y4 around -inf 43.6%
*-commutative43.6%
*-commutative43.6%
Simplified43.6%
Final simplification45.0%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* k (* y1 (* y2 y4)))))
(if (<= y2 -8e+125)
t_1
(if (<= y2 -3.4e-128)
(* c (* x (* y0 y2)))
(if (<= y2 5.2e-132)
(* b (* (* x y) a))
(if (<= y2 8.5e-52)
(* j (* y0 (* y3 y5)))
(if (<= y2 1.36e+35) (* i (* j (* x y1))) t_1)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = k * (y1 * (y2 * y4));
double tmp;
if (y2 <= -8e+125) {
tmp = t_1;
} else if (y2 <= -3.4e-128) {
tmp = c * (x * (y0 * y2));
} else if (y2 <= 5.2e-132) {
tmp = b * ((x * y) * a);
} else if (y2 <= 8.5e-52) {
tmp = j * (y0 * (y3 * y5));
} else if (y2 <= 1.36e+35) {
tmp = i * (j * (x * y1));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: tmp
t_1 = k * (y1 * (y2 * y4))
if (y2 <= (-8d+125)) then
tmp = t_1
else if (y2 <= (-3.4d-128)) then
tmp = c * (x * (y0 * y2))
else if (y2 <= 5.2d-132) then
tmp = b * ((x * y) * a)
else if (y2 <= 8.5d-52) then
tmp = j * (y0 * (y3 * y5))
else if (y2 <= 1.36d+35) then
tmp = i * (j * (x * y1))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = k * (y1 * (y2 * y4));
double tmp;
if (y2 <= -8e+125) {
tmp = t_1;
} else if (y2 <= -3.4e-128) {
tmp = c * (x * (y0 * y2));
} else if (y2 <= 5.2e-132) {
tmp = b * ((x * y) * a);
} else if (y2 <= 8.5e-52) {
tmp = j * (y0 * (y3 * y5));
} else if (y2 <= 1.36e+35) {
tmp = i * (j * (x * y1));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = k * (y1 * (y2 * y4)) tmp = 0 if y2 <= -8e+125: tmp = t_1 elif y2 <= -3.4e-128: tmp = c * (x * (y0 * y2)) elif y2 <= 5.2e-132: tmp = b * ((x * y) * a) elif y2 <= 8.5e-52: tmp = j * (y0 * (y3 * y5)) elif y2 <= 1.36e+35: tmp = i * (j * (x * y1)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(k * Float64(y1 * Float64(y2 * y4))) tmp = 0.0 if (y2 <= -8e+125) tmp = t_1; elseif (y2 <= -3.4e-128) tmp = Float64(c * Float64(x * Float64(y0 * y2))); elseif (y2 <= 5.2e-132) tmp = Float64(b * Float64(Float64(x * y) * a)); elseif (y2 <= 8.5e-52) tmp = Float64(j * Float64(y0 * Float64(y3 * y5))); elseif (y2 <= 1.36e+35) tmp = Float64(i * Float64(j * Float64(x * y1))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = k * (y1 * (y2 * y4)); tmp = 0.0; if (y2 <= -8e+125) tmp = t_1; elseif (y2 <= -3.4e-128) tmp = c * (x * (y0 * y2)); elseif (y2 <= 5.2e-132) tmp = b * ((x * y) * a); elseif (y2 <= 8.5e-52) tmp = j * (y0 * (y3 * y5)); elseif (y2 <= 1.36e+35) tmp = i * (j * (x * y1)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(k * N[(y1 * N[(y2 * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y2, -8e+125], t$95$1, If[LessEqual[y2, -3.4e-128], N[(c * N[(x * N[(y0 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 5.2e-132], N[(b * N[(N[(x * y), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 8.5e-52], N[(j * N[(y0 * N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 1.36e+35], N[(i * N[(j * N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := k \cdot \left(y1 \cdot \left(y2 \cdot y4\right)\right)\\
\mathbf{if}\;y2 \leq -8 \cdot 10^{+125}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y2 \leq -3.4 \cdot 10^{-128}:\\
\;\;\;\;c \cdot \left(x \cdot \left(y0 \cdot y2\right)\right)\\
\mathbf{elif}\;y2 \leq 5.2 \cdot 10^{-132}:\\
\;\;\;\;b \cdot \left(\left(x \cdot y\right) \cdot a\right)\\
\mathbf{elif}\;y2 \leq 8.5 \cdot 10^{-52}:\\
\;\;\;\;j \cdot \left(y0 \cdot \left(y3 \cdot y5\right)\right)\\
\mathbf{elif}\;y2 \leq 1.36 \cdot 10^{+35}:\\
\;\;\;\;i \cdot \left(j \cdot \left(x \cdot y1\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y2 < -7.9999999999999994e125 or 1.36e35 < y2 Initial program 31.9%
Taylor expanded in y1 around -inf 38.2%
mul-1-neg38.2%
*-commutative38.2%
distribute-rgt-neg-in38.2%
Simplified38.2%
Taylor expanded in y2 around inf 43.5%
*-commutative43.5%
Simplified43.5%
Taylor expanded in x around 0 39.6%
*-commutative39.6%
Simplified39.6%
if -7.9999999999999994e125 < y2 < -3.39999999999999975e-128Initial program 24.0%
Taylor expanded in y0 around inf 63.2%
+-commutative63.2%
mul-1-neg63.2%
unsub-neg63.2%
*-commutative63.2%
*-commutative63.2%
*-commutative63.2%
*-commutative63.2%
Simplified63.2%
Taylor expanded in c around inf 53.1%
Taylor expanded in x around inf 38.7%
if -3.39999999999999975e-128 < y2 < 5.2000000000000002e-132Initial program 35.9%
Taylor expanded in b around inf 45.6%
Taylor expanded in x around inf 37.7%
Taylor expanded in a around inf 32.6%
if 5.2000000000000002e-132 < y2 < 8.50000000000000006e-52Initial program 23.9%
Taylor expanded in y0 around inf 47.8%
+-commutative47.8%
mul-1-neg47.8%
unsub-neg47.8%
*-commutative47.8%
*-commutative47.8%
*-commutative47.8%
*-commutative47.8%
Simplified47.8%
Taylor expanded in j around -inf 36.5%
associate-*r*30.6%
*-commutative30.6%
+-commutative30.6%
mul-1-neg30.6%
unsub-neg30.6%
*-commutative30.6%
Simplified30.6%
Taylor expanded in y3 around inf 36.5%
if 8.50000000000000006e-52 < y2 < 1.36e35Initial program 18.8%
Taylor expanded in y1 around -inf 19.0%
mul-1-neg19.0%
*-commutative19.0%
distribute-rgt-neg-in19.0%
Simplified19.0%
Taylor expanded in i around -inf 32.9%
associate-*r*32.9%
*-commutative32.9%
*-commutative32.9%
*-commutative32.9%
Simplified32.9%
Taylor expanded in x around inf 20.6%
Final simplification36.1%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* k (* y1 (* y2 y4)))))
(if (<= y2 -8.5e+128)
t_1
(if (<= y2 -2.7e-128)
(* c (* x (* y0 y2)))
(if (<= y2 4e-179)
(* b (* x (* y a)))
(if (<= y2 1.9e-17)
(* y1 (* y3 (* z a)))
(if (<= y2 3.3e+40) (* c (* y0 (* x y2))) t_1)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = k * (y1 * (y2 * y4));
double tmp;
if (y2 <= -8.5e+128) {
tmp = t_1;
} else if (y2 <= -2.7e-128) {
tmp = c * (x * (y0 * y2));
} else if (y2 <= 4e-179) {
tmp = b * (x * (y * a));
} else if (y2 <= 1.9e-17) {
tmp = y1 * (y3 * (z * a));
} else if (y2 <= 3.3e+40) {
tmp = c * (y0 * (x * y2));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: tmp
t_1 = k * (y1 * (y2 * y4))
if (y2 <= (-8.5d+128)) then
tmp = t_1
else if (y2 <= (-2.7d-128)) then
tmp = c * (x * (y0 * y2))
else if (y2 <= 4d-179) then
tmp = b * (x * (y * a))
else if (y2 <= 1.9d-17) then
tmp = y1 * (y3 * (z * a))
else if (y2 <= 3.3d+40) then
tmp = c * (y0 * (x * y2))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = k * (y1 * (y2 * y4));
double tmp;
if (y2 <= -8.5e+128) {
tmp = t_1;
} else if (y2 <= -2.7e-128) {
tmp = c * (x * (y0 * y2));
} else if (y2 <= 4e-179) {
tmp = b * (x * (y * a));
} else if (y2 <= 1.9e-17) {
tmp = y1 * (y3 * (z * a));
} else if (y2 <= 3.3e+40) {
tmp = c * (y0 * (x * y2));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = k * (y1 * (y2 * y4)) tmp = 0 if y2 <= -8.5e+128: tmp = t_1 elif y2 <= -2.7e-128: tmp = c * (x * (y0 * y2)) elif y2 <= 4e-179: tmp = b * (x * (y * a)) elif y2 <= 1.9e-17: tmp = y1 * (y3 * (z * a)) elif y2 <= 3.3e+40: tmp = c * (y0 * (x * y2)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(k * Float64(y1 * Float64(y2 * y4))) tmp = 0.0 if (y2 <= -8.5e+128) tmp = t_1; elseif (y2 <= -2.7e-128) tmp = Float64(c * Float64(x * Float64(y0 * y2))); elseif (y2 <= 4e-179) tmp = Float64(b * Float64(x * Float64(y * a))); elseif (y2 <= 1.9e-17) tmp = Float64(y1 * Float64(y3 * Float64(z * a))); elseif (y2 <= 3.3e+40) tmp = Float64(c * Float64(y0 * Float64(x * y2))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = k * (y1 * (y2 * y4)); tmp = 0.0; if (y2 <= -8.5e+128) tmp = t_1; elseif (y2 <= -2.7e-128) tmp = c * (x * (y0 * y2)); elseif (y2 <= 4e-179) tmp = b * (x * (y * a)); elseif (y2 <= 1.9e-17) tmp = y1 * (y3 * (z * a)); elseif (y2 <= 3.3e+40) tmp = c * (y0 * (x * y2)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(k * N[(y1 * N[(y2 * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y2, -8.5e+128], t$95$1, If[LessEqual[y2, -2.7e-128], N[(c * N[(x * N[(y0 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 4e-179], N[(b * N[(x * N[(y * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 1.9e-17], N[(y1 * N[(y3 * N[(z * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 3.3e+40], N[(c * N[(y0 * N[(x * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := k \cdot \left(y1 \cdot \left(y2 \cdot y4\right)\right)\\
\mathbf{if}\;y2 \leq -8.5 \cdot 10^{+128}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y2 \leq -2.7 \cdot 10^{-128}:\\
\;\;\;\;c \cdot \left(x \cdot \left(y0 \cdot y2\right)\right)\\
\mathbf{elif}\;y2 \leq 4 \cdot 10^{-179}:\\
\;\;\;\;b \cdot \left(x \cdot \left(y \cdot a\right)\right)\\
\mathbf{elif}\;y2 \leq 1.9 \cdot 10^{-17}:\\
\;\;\;\;y1 \cdot \left(y3 \cdot \left(z \cdot a\right)\right)\\
\mathbf{elif}\;y2 \leq 3.3 \cdot 10^{+40}:\\
\;\;\;\;c \cdot \left(y0 \cdot \left(x \cdot y2\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y2 < -8.50000000000000045e128 or 3.2999999999999998e40 < y2 Initial program 32.5%
Taylor expanded in y1 around -inf 39.0%
mul-1-neg39.0%
*-commutative39.0%
distribute-rgt-neg-in39.0%
Simplified39.0%
Taylor expanded in y2 around inf 44.3%
*-commutative44.3%
Simplified44.3%
Taylor expanded in x around 0 39.4%
*-commutative39.4%
Simplified39.4%
if -8.50000000000000045e128 < y2 < -2.70000000000000006e-128Initial program 24.0%
Taylor expanded in y0 around inf 63.2%
+-commutative63.2%
mul-1-neg63.2%
unsub-neg63.2%
*-commutative63.2%
*-commutative63.2%
*-commutative63.2%
*-commutative63.2%
Simplified63.2%
Taylor expanded in c around inf 53.1%
Taylor expanded in x around inf 38.7%
if -2.70000000000000006e-128 < y2 < 4.0000000000000001e-179Initial program 34.7%
Taylor expanded in b around inf 44.1%
Taylor expanded in x around inf 39.7%
Taylor expanded in a around inf 33.9%
if 4.0000000000000001e-179 < y2 < 1.9000000000000001e-17Initial program 27.8%
Taylor expanded in y1 around -inf 31.6%
mul-1-neg31.6%
*-commutative31.6%
distribute-rgt-neg-in31.6%
Simplified31.6%
Taylor expanded in y3 around -inf 32.2%
Taylor expanded in a around inf 32.4%
*-commutative32.4%
Simplified32.4%
if 1.9000000000000001e-17 < y2 < 3.2999999999999998e40Initial program 20.0%
Taylor expanded in y0 around inf 40.0%
+-commutative40.0%
mul-1-neg40.0%
unsub-neg40.0%
*-commutative40.0%
*-commutative40.0%
*-commutative40.0%
*-commutative40.0%
Simplified40.0%
Taylor expanded in c around inf 27.4%
Taylor expanded in x around inf 27.5%
Final simplification36.4%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* k (* y1 (* y2 y4)))))
(if (<= y2 -5.6e+125)
t_1
(if (<= y2 -2.9e-180)
(* c (* (* z y3) (- y0)))
(if (<= y2 2.4e-183)
(* b (* x (* y a)))
(if (<= y2 1.05e-18)
(* y1 (* y3 (* z a)))
(if (<= y2 9.5e+40) (* c (* y0 (* x y2))) t_1)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = k * (y1 * (y2 * y4));
double tmp;
if (y2 <= -5.6e+125) {
tmp = t_1;
} else if (y2 <= -2.9e-180) {
tmp = c * ((z * y3) * -y0);
} else if (y2 <= 2.4e-183) {
tmp = b * (x * (y * a));
} else if (y2 <= 1.05e-18) {
tmp = y1 * (y3 * (z * a));
} else if (y2 <= 9.5e+40) {
tmp = c * (y0 * (x * y2));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: tmp
t_1 = k * (y1 * (y2 * y4))
if (y2 <= (-5.6d+125)) then
tmp = t_1
else if (y2 <= (-2.9d-180)) then
tmp = c * ((z * y3) * -y0)
else if (y2 <= 2.4d-183) then
tmp = b * (x * (y * a))
else if (y2 <= 1.05d-18) then
tmp = y1 * (y3 * (z * a))
else if (y2 <= 9.5d+40) then
tmp = c * (y0 * (x * y2))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = k * (y1 * (y2 * y4));
double tmp;
if (y2 <= -5.6e+125) {
tmp = t_1;
} else if (y2 <= -2.9e-180) {
tmp = c * ((z * y3) * -y0);
} else if (y2 <= 2.4e-183) {
tmp = b * (x * (y * a));
} else if (y2 <= 1.05e-18) {
tmp = y1 * (y3 * (z * a));
} else if (y2 <= 9.5e+40) {
tmp = c * (y0 * (x * y2));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = k * (y1 * (y2 * y4)) tmp = 0 if y2 <= -5.6e+125: tmp = t_1 elif y2 <= -2.9e-180: tmp = c * ((z * y3) * -y0) elif y2 <= 2.4e-183: tmp = b * (x * (y * a)) elif y2 <= 1.05e-18: tmp = y1 * (y3 * (z * a)) elif y2 <= 9.5e+40: tmp = c * (y0 * (x * y2)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(k * Float64(y1 * Float64(y2 * y4))) tmp = 0.0 if (y2 <= -5.6e+125) tmp = t_1; elseif (y2 <= -2.9e-180) tmp = Float64(c * Float64(Float64(z * y3) * Float64(-y0))); elseif (y2 <= 2.4e-183) tmp = Float64(b * Float64(x * Float64(y * a))); elseif (y2 <= 1.05e-18) tmp = Float64(y1 * Float64(y3 * Float64(z * a))); elseif (y2 <= 9.5e+40) tmp = Float64(c * Float64(y0 * Float64(x * y2))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = k * (y1 * (y2 * y4)); tmp = 0.0; if (y2 <= -5.6e+125) tmp = t_1; elseif (y2 <= -2.9e-180) tmp = c * ((z * y3) * -y0); elseif (y2 <= 2.4e-183) tmp = b * (x * (y * a)); elseif (y2 <= 1.05e-18) tmp = y1 * (y3 * (z * a)); elseif (y2 <= 9.5e+40) tmp = c * (y0 * (x * y2)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(k * N[(y1 * N[(y2 * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y2, -5.6e+125], t$95$1, If[LessEqual[y2, -2.9e-180], N[(c * N[(N[(z * y3), $MachinePrecision] * (-y0)), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 2.4e-183], N[(b * N[(x * N[(y * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 1.05e-18], N[(y1 * N[(y3 * N[(z * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 9.5e+40], N[(c * N[(y0 * N[(x * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := k \cdot \left(y1 \cdot \left(y2 \cdot y4\right)\right)\\
\mathbf{if}\;y2 \leq -5.6 \cdot 10^{+125}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y2 \leq -2.9 \cdot 10^{-180}:\\
\;\;\;\;c \cdot \left(\left(z \cdot y3\right) \cdot \left(-y0\right)\right)\\
\mathbf{elif}\;y2 \leq 2.4 \cdot 10^{-183}:\\
\;\;\;\;b \cdot \left(x \cdot \left(y \cdot a\right)\right)\\
\mathbf{elif}\;y2 \leq 1.05 \cdot 10^{-18}:\\
\;\;\;\;y1 \cdot \left(y3 \cdot \left(z \cdot a\right)\right)\\
\mathbf{elif}\;y2 \leq 9.5 \cdot 10^{+40}:\\
\;\;\;\;c \cdot \left(y0 \cdot \left(x \cdot y2\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y2 < -5.6000000000000002e125 or 9.5000000000000003e40 < y2 Initial program 32.5%
Taylor expanded in y1 around -inf 39.0%
mul-1-neg39.0%
*-commutative39.0%
distribute-rgt-neg-in39.0%
Simplified39.0%
Taylor expanded in y2 around inf 44.3%
*-commutative44.3%
Simplified44.3%
Taylor expanded in x around 0 39.4%
*-commutative39.4%
Simplified39.4%
if -5.6000000000000002e125 < y2 < -2.8999999999999998e-180Initial program 21.2%
Taylor expanded in y0 around inf 61.7%
+-commutative61.7%
mul-1-neg61.7%
unsub-neg61.7%
*-commutative61.7%
*-commutative61.7%
*-commutative61.7%
*-commutative61.7%
Simplified61.7%
Taylor expanded in c around inf 52.8%
Taylor expanded in x around 0 37.9%
associate-*r*37.9%
neg-mul-137.9%
Simplified37.9%
if -2.8999999999999998e-180 < y2 < 2.39999999999999993e-183Initial program 38.3%
Taylor expanded in b around inf 45.1%
Taylor expanded in x around inf 40.3%
Taylor expanded in a around inf 35.6%
if 2.39999999999999993e-183 < y2 < 1.05e-18Initial program 27.8%
Taylor expanded in y1 around -inf 31.6%
mul-1-neg31.6%
*-commutative31.6%
distribute-rgt-neg-in31.6%
Simplified31.6%
Taylor expanded in y3 around -inf 32.2%
Taylor expanded in a around inf 32.4%
*-commutative32.4%
Simplified32.4%
if 1.05e-18 < y2 < 9.5000000000000003e40Initial program 20.0%
Taylor expanded in y0 around inf 40.0%
+-commutative40.0%
mul-1-neg40.0%
unsub-neg40.0%
*-commutative40.0%
*-commutative40.0%
*-commutative40.0%
*-commutative40.0%
Simplified40.0%
Taylor expanded in c around inf 27.4%
Taylor expanded in x around inf 27.5%
Final simplification36.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= y2 -1.06e+127)
(* k (* y1 (* y2 y4)))
(if (<= y2 -8e-180)
(* c (* (* z y3) (- y0)))
(if (<= y2 1.5e-184)
(* b (* x (* y a)))
(if (<= y2 1.9e-18)
(* y1 (* y3 (* z a)))
(if (<= y2 7.5e+136)
(* c (* y0 (* x y2)))
(* y1 (* y4 (* k y2)))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y2 <= -1.06e+127) {
tmp = k * (y1 * (y2 * y4));
} else if (y2 <= -8e-180) {
tmp = c * ((z * y3) * -y0);
} else if (y2 <= 1.5e-184) {
tmp = b * (x * (y * a));
} else if (y2 <= 1.9e-18) {
tmp = y1 * (y3 * (z * a));
} else if (y2 <= 7.5e+136) {
tmp = c * (y0 * (x * y2));
} else {
tmp = y1 * (y4 * (k * y2));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: tmp
if (y2 <= (-1.06d+127)) then
tmp = k * (y1 * (y2 * y4))
else if (y2 <= (-8d-180)) then
tmp = c * ((z * y3) * -y0)
else if (y2 <= 1.5d-184) then
tmp = b * (x * (y * a))
else if (y2 <= 1.9d-18) then
tmp = y1 * (y3 * (z * a))
else if (y2 <= 7.5d+136) then
tmp = c * (y0 * (x * y2))
else
tmp = y1 * (y4 * (k * y2))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y2 <= -1.06e+127) {
tmp = k * (y1 * (y2 * y4));
} else if (y2 <= -8e-180) {
tmp = c * ((z * y3) * -y0);
} else if (y2 <= 1.5e-184) {
tmp = b * (x * (y * a));
} else if (y2 <= 1.9e-18) {
tmp = y1 * (y3 * (z * a));
} else if (y2 <= 7.5e+136) {
tmp = c * (y0 * (x * y2));
} else {
tmp = y1 * (y4 * (k * y2));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if y2 <= -1.06e+127: tmp = k * (y1 * (y2 * y4)) elif y2 <= -8e-180: tmp = c * ((z * y3) * -y0) elif y2 <= 1.5e-184: tmp = b * (x * (y * a)) elif y2 <= 1.9e-18: tmp = y1 * (y3 * (z * a)) elif y2 <= 7.5e+136: tmp = c * (y0 * (x * y2)) else: tmp = y1 * (y4 * (k * y2)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (y2 <= -1.06e+127) tmp = Float64(k * Float64(y1 * Float64(y2 * y4))); elseif (y2 <= -8e-180) tmp = Float64(c * Float64(Float64(z * y3) * Float64(-y0))); elseif (y2 <= 1.5e-184) tmp = Float64(b * Float64(x * Float64(y * a))); elseif (y2 <= 1.9e-18) tmp = Float64(y1 * Float64(y3 * Float64(z * a))); elseif (y2 <= 7.5e+136) tmp = Float64(c * Float64(y0 * Float64(x * y2))); else tmp = Float64(y1 * Float64(y4 * Float64(k * y2))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0; if (y2 <= -1.06e+127) tmp = k * (y1 * (y2 * y4)); elseif (y2 <= -8e-180) tmp = c * ((z * y3) * -y0); elseif (y2 <= 1.5e-184) tmp = b * (x * (y * a)); elseif (y2 <= 1.9e-18) tmp = y1 * (y3 * (z * a)); elseif (y2 <= 7.5e+136) tmp = c * (y0 * (x * y2)); else tmp = y1 * (y4 * (k * y2)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[y2, -1.06e+127], N[(k * N[(y1 * N[(y2 * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, -8e-180], N[(c * N[(N[(z * y3), $MachinePrecision] * (-y0)), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 1.5e-184], N[(b * N[(x * N[(y * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 1.9e-18], N[(y1 * N[(y3 * N[(z * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 7.5e+136], N[(c * N[(y0 * N[(x * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y1 * N[(y4 * N[(k * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y2 \leq -1.06 \cdot 10^{+127}:\\
\;\;\;\;k \cdot \left(y1 \cdot \left(y2 \cdot y4\right)\right)\\
\mathbf{elif}\;y2 \leq -8 \cdot 10^{-180}:\\
\;\;\;\;c \cdot \left(\left(z \cdot y3\right) \cdot \left(-y0\right)\right)\\
\mathbf{elif}\;y2 \leq 1.5 \cdot 10^{-184}:\\
\;\;\;\;b \cdot \left(x \cdot \left(y \cdot a\right)\right)\\
\mathbf{elif}\;y2 \leq 1.9 \cdot 10^{-18}:\\
\;\;\;\;y1 \cdot \left(y3 \cdot \left(z \cdot a\right)\right)\\
\mathbf{elif}\;y2 \leq 7.5 \cdot 10^{+136}:\\
\;\;\;\;c \cdot \left(y0 \cdot \left(x \cdot y2\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y1 \cdot \left(y4 \cdot \left(k \cdot y2\right)\right)\\
\end{array}
\end{array}
if y2 < -1.06000000000000006e127Initial program 37.3%
Taylor expanded in y1 around -inf 43.7%
mul-1-neg43.7%
*-commutative43.7%
distribute-rgt-neg-in43.7%
Simplified43.7%
Taylor expanded in y2 around inf 55.3%
*-commutative55.3%
Simplified55.3%
Taylor expanded in x around 0 47.0%
*-commutative47.0%
Simplified47.0%
if -1.06000000000000006e127 < y2 < -8.0000000000000002e-180Initial program 21.2%
Taylor expanded in y0 around inf 61.7%
+-commutative61.7%
mul-1-neg61.7%
unsub-neg61.7%
*-commutative61.7%
*-commutative61.7%
*-commutative61.7%
*-commutative61.7%
Simplified61.7%
Taylor expanded in c around inf 52.8%
Taylor expanded in x around 0 37.9%
associate-*r*37.9%
neg-mul-137.9%
Simplified37.9%
if -8.0000000000000002e-180 < y2 < 1.49999999999999996e-184Initial program 38.3%
Taylor expanded in b around inf 45.1%
Taylor expanded in x around inf 40.3%
Taylor expanded in a around inf 35.6%
if 1.49999999999999996e-184 < y2 < 1.8999999999999999e-18Initial program 27.8%
Taylor expanded in y1 around -inf 31.6%
mul-1-neg31.6%
*-commutative31.6%
distribute-rgt-neg-in31.6%
Simplified31.6%
Taylor expanded in y3 around -inf 32.2%
Taylor expanded in a around inf 32.4%
*-commutative32.4%
Simplified32.4%
if 1.8999999999999999e-18 < y2 < 7.5000000000000002e136Initial program 23.9%
Taylor expanded in y0 around inf 29.9%
+-commutative29.9%
mul-1-neg29.9%
unsub-neg29.9%
*-commutative29.9%
*-commutative29.9%
*-commutative29.9%
*-commutative29.9%
Simplified29.9%
Taylor expanded in c around inf 27.9%
Taylor expanded in x around inf 27.8%
if 7.5000000000000002e136 < y2 Initial program 32.0%
Taylor expanded in y1 around -inf 36.7%
mul-1-neg36.7%
*-commutative36.7%
distribute-rgt-neg-in36.7%
Simplified36.7%
Taylor expanded in y2 around inf 46.3%
*-commutative46.3%
Simplified46.3%
Taylor expanded in x around 0 37.5%
mul-1-neg37.5%
associate-*r*39.7%
Simplified39.7%
Final simplification36.8%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* c (* y0 (- (* x y2) (* z y3))))))
(if (<= y2 -2.2e-178)
t_1
(if (<= y2 -1.52e-292)
(* x (* y (- (* a b) (* c i))))
(if (<= y2 2.7e-228)
(* b (* y4 (- (* t j) (* y k))))
(if (<= y2 1.5e+27) (* b (* x (- (* y a) (* j y0)))) t_1))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = c * (y0 * ((x * y2) - (z * y3)));
double tmp;
if (y2 <= -2.2e-178) {
tmp = t_1;
} else if (y2 <= -1.52e-292) {
tmp = x * (y * ((a * b) - (c * i)));
} else if (y2 <= 2.7e-228) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else if (y2 <= 1.5e+27) {
tmp = b * (x * ((y * a) - (j * y0)));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: tmp
t_1 = c * (y0 * ((x * y2) - (z * y3)))
if (y2 <= (-2.2d-178)) then
tmp = t_1
else if (y2 <= (-1.52d-292)) then
tmp = x * (y * ((a * b) - (c * i)))
else if (y2 <= 2.7d-228) then
tmp = b * (y4 * ((t * j) - (y * k)))
else if (y2 <= 1.5d+27) then
tmp = b * (x * ((y * a) - (j * y0)))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = c * (y0 * ((x * y2) - (z * y3)));
double tmp;
if (y2 <= -2.2e-178) {
tmp = t_1;
} else if (y2 <= -1.52e-292) {
tmp = x * (y * ((a * b) - (c * i)));
} else if (y2 <= 2.7e-228) {
tmp = b * (y4 * ((t * j) - (y * k)));
} else if (y2 <= 1.5e+27) {
tmp = b * (x * ((y * a) - (j * y0)));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = c * (y0 * ((x * y2) - (z * y3))) tmp = 0 if y2 <= -2.2e-178: tmp = t_1 elif y2 <= -1.52e-292: tmp = x * (y * ((a * b) - (c * i))) elif y2 <= 2.7e-228: tmp = b * (y4 * ((t * j) - (y * k))) elif y2 <= 1.5e+27: tmp = b * (x * ((y * a) - (j * y0))) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(c * Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3)))) tmp = 0.0 if (y2 <= -2.2e-178) tmp = t_1; elseif (y2 <= -1.52e-292) tmp = Float64(x * Float64(y * Float64(Float64(a * b) - Float64(c * i)))); elseif (y2 <= 2.7e-228) tmp = Float64(b * Float64(y4 * Float64(Float64(t * j) - Float64(y * k)))); elseif (y2 <= 1.5e+27) tmp = Float64(b * Float64(x * Float64(Float64(y * a) - Float64(j * y0)))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = c * (y0 * ((x * y2) - (z * y3))); tmp = 0.0; if (y2 <= -2.2e-178) tmp = t_1; elseif (y2 <= -1.52e-292) tmp = x * (y * ((a * b) - (c * i))); elseif (y2 <= 2.7e-228) tmp = b * (y4 * ((t * j) - (y * k))); elseif (y2 <= 1.5e+27) tmp = b * (x * ((y * a) - (j * y0))); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(c * N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y2, -2.2e-178], t$95$1, If[LessEqual[y2, -1.52e-292], N[(x * N[(y * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 2.7e-228], N[(b * N[(y4 * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 1.5e+27], N[(b * N[(x * N[(N[(y * a), $MachinePrecision] - N[(j * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c \cdot \left(y0 \cdot \left(x \cdot y2 - z \cdot y3\right)\right)\\
\mathbf{if}\;y2 \leq -2.2 \cdot 10^{-178}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y2 \leq -1.52 \cdot 10^{-292}:\\
\;\;\;\;x \cdot \left(y \cdot \left(a \cdot b - c \cdot i\right)\right)\\
\mathbf{elif}\;y2 \leq 2.7 \cdot 10^{-228}:\\
\;\;\;\;b \cdot \left(y4 \cdot \left(t \cdot j - y \cdot k\right)\right)\\
\mathbf{elif}\;y2 \leq 1.5 \cdot 10^{+27}:\\
\;\;\;\;b \cdot \left(x \cdot \left(y \cdot a - j \cdot y0\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y2 < -2.2000000000000001e-178 or 1.49999999999999988e27 < y2 Initial program 28.8%
Taylor expanded in y0 around inf 45.8%
+-commutative45.8%
mul-1-neg45.8%
unsub-neg45.8%
*-commutative45.8%
*-commutative45.8%
*-commutative45.8%
*-commutative45.8%
Simplified45.8%
Taylor expanded in c around inf 43.8%
if -2.2000000000000001e-178 < y2 < -1.52e-292Initial program 33.0%
Taylor expanded in x around inf 36.6%
Taylor expanded in y around inf 42.8%
*-commutative42.8%
Simplified42.8%
if -1.52e-292 < y2 < 2.69999999999999984e-228Initial program 41.2%
Taylor expanded in b around inf 41.6%
Taylor expanded in y4 around inf 36.5%
if 2.69999999999999984e-228 < y2 < 1.49999999999999988e27Initial program 29.5%
Taylor expanded in b around inf 47.2%
Taylor expanded in x around inf 41.7%
Final simplification42.8%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* c (* y0 (* x y2)))))
(if (<= y2 -1.45e-128)
t_1
(if (<= y2 6.5e-132)
(* b (* (* x y) a))
(if (<= y2 1.62e-54)
(* j (* y0 (* y3 y5)))
(if (<= y2 7.2e-18) (* a (* y1 (* z y3))) t_1))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = c * (y0 * (x * y2));
double tmp;
if (y2 <= -1.45e-128) {
tmp = t_1;
} else if (y2 <= 6.5e-132) {
tmp = b * ((x * y) * a);
} else if (y2 <= 1.62e-54) {
tmp = j * (y0 * (y3 * y5));
} else if (y2 <= 7.2e-18) {
tmp = a * (y1 * (z * y3));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: tmp
t_1 = c * (y0 * (x * y2))
if (y2 <= (-1.45d-128)) then
tmp = t_1
else if (y2 <= 6.5d-132) then
tmp = b * ((x * y) * a)
else if (y2 <= 1.62d-54) then
tmp = j * (y0 * (y3 * y5))
else if (y2 <= 7.2d-18) then
tmp = a * (y1 * (z * y3))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = c * (y0 * (x * y2));
double tmp;
if (y2 <= -1.45e-128) {
tmp = t_1;
} else if (y2 <= 6.5e-132) {
tmp = b * ((x * y) * a);
} else if (y2 <= 1.62e-54) {
tmp = j * (y0 * (y3 * y5));
} else if (y2 <= 7.2e-18) {
tmp = a * (y1 * (z * y3));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = c * (y0 * (x * y2)) tmp = 0 if y2 <= -1.45e-128: tmp = t_1 elif y2 <= 6.5e-132: tmp = b * ((x * y) * a) elif y2 <= 1.62e-54: tmp = j * (y0 * (y3 * y5)) elif y2 <= 7.2e-18: tmp = a * (y1 * (z * y3)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(c * Float64(y0 * Float64(x * y2))) tmp = 0.0 if (y2 <= -1.45e-128) tmp = t_1; elseif (y2 <= 6.5e-132) tmp = Float64(b * Float64(Float64(x * y) * a)); elseif (y2 <= 1.62e-54) tmp = Float64(j * Float64(y0 * Float64(y3 * y5))); elseif (y2 <= 7.2e-18) tmp = Float64(a * Float64(y1 * Float64(z * y3))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = c * (y0 * (x * y2)); tmp = 0.0; if (y2 <= -1.45e-128) tmp = t_1; elseif (y2 <= 6.5e-132) tmp = b * ((x * y) * a); elseif (y2 <= 1.62e-54) tmp = j * (y0 * (y3 * y5)); elseif (y2 <= 7.2e-18) tmp = a * (y1 * (z * y3)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(c * N[(y0 * N[(x * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y2, -1.45e-128], t$95$1, If[LessEqual[y2, 6.5e-132], N[(b * N[(N[(x * y), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 1.62e-54], N[(j * N[(y0 * N[(y3 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 7.2e-18], N[(a * N[(y1 * N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := c \cdot \left(y0 \cdot \left(x \cdot y2\right)\right)\\
\mathbf{if}\;y2 \leq -1.45 \cdot 10^{-128}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;y2 \leq 6.5 \cdot 10^{-132}:\\
\;\;\;\;b \cdot \left(\left(x \cdot y\right) \cdot a\right)\\
\mathbf{elif}\;y2 \leq 1.62 \cdot 10^{-54}:\\
\;\;\;\;j \cdot \left(y0 \cdot \left(y3 \cdot y5\right)\right)\\
\mathbf{elif}\;y2 \leq 7.2 \cdot 10^{-18}:\\
\;\;\;\;a \cdot \left(y1 \cdot \left(z \cdot y3\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if y2 < -1.45e-128 or 7.20000000000000021e-18 < y2 Initial program 29.0%
Taylor expanded in y0 around inf 44.1%
+-commutative44.1%
mul-1-neg44.1%
unsub-neg44.1%
*-commutative44.1%
*-commutative44.1%
*-commutative44.1%
*-commutative44.1%
Simplified44.1%
Taylor expanded in c around inf 41.6%
Taylor expanded in x around inf 31.7%
if -1.45e-128 < y2 < 6.49999999999999991e-132Initial program 35.9%
Taylor expanded in b around inf 45.6%
Taylor expanded in x around inf 37.7%
Taylor expanded in a around inf 32.6%
if 6.49999999999999991e-132 < y2 < 1.6200000000000001e-54Initial program 23.9%
Taylor expanded in y0 around inf 47.8%
+-commutative47.8%
mul-1-neg47.8%
unsub-neg47.8%
*-commutative47.8%
*-commutative47.8%
*-commutative47.8%
*-commutative47.8%
Simplified47.8%
Taylor expanded in j around -inf 36.5%
associate-*r*30.6%
*-commutative30.6%
+-commutative30.6%
mul-1-neg30.6%
unsub-neg30.6%
*-commutative30.6%
Simplified30.6%
Taylor expanded in y3 around inf 36.5%
if 1.6200000000000001e-54 < y2 < 7.20000000000000021e-18Initial program 0.0%
Taylor expanded in y1 around -inf 33.4%
mul-1-neg33.4%
*-commutative33.4%
distribute-rgt-neg-in33.4%
Simplified33.4%
Taylor expanded in y3 around -inf 67.5%
Taylor expanded in a around inf 67.5%
*-commutative67.5%
Simplified67.5%
Final simplification32.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= y2 -5.8e+128)
(* k (* y1 (* y2 y4)))
(if (<= y2 -3.4e-128)
(* c (* x (* y0 y2)))
(if (<= y2 1.4e+59)
(* b (* x (- (* y a) (* j y0))))
(* y1 (* y4 (* k y2)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y2 <= -5.8e+128) {
tmp = k * (y1 * (y2 * y4));
} else if (y2 <= -3.4e-128) {
tmp = c * (x * (y0 * y2));
} else if (y2 <= 1.4e+59) {
tmp = b * (x * ((y * a) - (j * y0)));
} else {
tmp = y1 * (y4 * (k * y2));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: tmp
if (y2 <= (-5.8d+128)) then
tmp = k * (y1 * (y2 * y4))
else if (y2 <= (-3.4d-128)) then
tmp = c * (x * (y0 * y2))
else if (y2 <= 1.4d+59) then
tmp = b * (x * ((y * a) - (j * y0)))
else
tmp = y1 * (y4 * (k * y2))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y2 <= -5.8e+128) {
tmp = k * (y1 * (y2 * y4));
} else if (y2 <= -3.4e-128) {
tmp = c * (x * (y0 * y2));
} else if (y2 <= 1.4e+59) {
tmp = b * (x * ((y * a) - (j * y0)));
} else {
tmp = y1 * (y4 * (k * y2));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if y2 <= -5.8e+128: tmp = k * (y1 * (y2 * y4)) elif y2 <= -3.4e-128: tmp = c * (x * (y0 * y2)) elif y2 <= 1.4e+59: tmp = b * (x * ((y * a) - (j * y0))) else: tmp = y1 * (y4 * (k * y2)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (y2 <= -5.8e+128) tmp = Float64(k * Float64(y1 * Float64(y2 * y4))); elseif (y2 <= -3.4e-128) tmp = Float64(c * Float64(x * Float64(y0 * y2))); elseif (y2 <= 1.4e+59) tmp = Float64(b * Float64(x * Float64(Float64(y * a) - Float64(j * y0)))); else tmp = Float64(y1 * Float64(y4 * Float64(k * y2))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0; if (y2 <= -5.8e+128) tmp = k * (y1 * (y2 * y4)); elseif (y2 <= -3.4e-128) tmp = c * (x * (y0 * y2)); elseif (y2 <= 1.4e+59) tmp = b * (x * ((y * a) - (j * y0))); else tmp = y1 * (y4 * (k * y2)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[y2, -5.8e+128], N[(k * N[(y1 * N[(y2 * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, -3.4e-128], N[(c * N[(x * N[(y0 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 1.4e+59], N[(b * N[(x * N[(N[(y * a), $MachinePrecision] - N[(j * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y1 * N[(y4 * N[(k * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y2 \leq -5.8 \cdot 10^{+128}:\\
\;\;\;\;k \cdot \left(y1 \cdot \left(y2 \cdot y4\right)\right)\\
\mathbf{elif}\;y2 \leq -3.4 \cdot 10^{-128}:\\
\;\;\;\;c \cdot \left(x \cdot \left(y0 \cdot y2\right)\right)\\
\mathbf{elif}\;y2 \leq 1.4 \cdot 10^{+59}:\\
\;\;\;\;b \cdot \left(x \cdot \left(y \cdot a - j \cdot y0\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y1 \cdot \left(y4 \cdot \left(k \cdot y2\right)\right)\\
\end{array}
\end{array}
if y2 < -5.8000000000000001e128Initial program 37.3%
Taylor expanded in y1 around -inf 43.7%
mul-1-neg43.7%
*-commutative43.7%
distribute-rgt-neg-in43.7%
Simplified43.7%
Taylor expanded in y2 around inf 55.3%
*-commutative55.3%
Simplified55.3%
Taylor expanded in x around 0 47.0%
*-commutative47.0%
Simplified47.0%
if -5.8000000000000001e128 < y2 < -3.39999999999999975e-128Initial program 24.0%
Taylor expanded in y0 around inf 63.2%
+-commutative63.2%
mul-1-neg63.2%
unsub-neg63.2%
*-commutative63.2%
*-commutative63.2%
*-commutative63.2%
*-commutative63.2%
Simplified63.2%
Taylor expanded in c around inf 53.1%
Taylor expanded in x around inf 38.7%
if -3.39999999999999975e-128 < y2 < 1.3999999999999999e59Initial program 29.5%
Taylor expanded in b around inf 40.3%
Taylor expanded in x around inf 35.2%
if 1.3999999999999999e59 < y2 Initial program 32.4%
Taylor expanded in y1 around -inf 36.1%
mul-1-neg36.1%
*-commutative36.1%
distribute-rgt-neg-in36.1%
Simplified36.1%
Taylor expanded in y2 around inf 41.5%
*-commutative41.5%
Simplified41.5%
Taylor expanded in x around 0 38.3%
mul-1-neg38.3%
associate-*r*38.3%
Simplified38.3%
Final simplification38.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (if (or (<= y2 -1.55e-177) (not (<= y2 1.8e+29))) (* c (* y0 (- (* x y2) (* z y3)))) (* b (* x (- (* y a) (* j y0))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if ((y2 <= -1.55e-177) || !(y2 <= 1.8e+29)) {
tmp = c * (y0 * ((x * y2) - (z * y3)));
} else {
tmp = b * (x * ((y * a) - (j * y0)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: tmp
if ((y2 <= (-1.55d-177)) .or. (.not. (y2 <= 1.8d+29))) then
tmp = c * (y0 * ((x * y2) - (z * y3)))
else
tmp = b * (x * ((y * a) - (j * y0)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if ((y2 <= -1.55e-177) || !(y2 <= 1.8e+29)) {
tmp = c * (y0 * ((x * y2) - (z * y3)));
} else {
tmp = b * (x * ((y * a) - (j * y0)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if (y2 <= -1.55e-177) or not (y2 <= 1.8e+29): tmp = c * (y0 * ((x * y2) - (z * y3))) else: tmp = b * (x * ((y * a) - (j * y0))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if ((y2 <= -1.55e-177) || !(y2 <= 1.8e+29)) tmp = Float64(c * Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3)))); else tmp = Float64(b * Float64(x * Float64(Float64(y * a) - Float64(j * y0)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0; if ((y2 <= -1.55e-177) || ~((y2 <= 1.8e+29))) tmp = c * (y0 * ((x * y2) - (z * y3))); else tmp = b * (x * ((y * a) - (j * y0))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[Or[LessEqual[y2, -1.55e-177], N[Not[LessEqual[y2, 1.8e+29]], $MachinePrecision]], N[(c * N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(b * N[(x * N[(N[(y * a), $MachinePrecision] - N[(j * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y2 \leq -1.55 \cdot 10^{-177} \lor \neg \left(y2 \leq 1.8 \cdot 10^{+29}\right):\\
\;\;\;\;c \cdot \left(y0 \cdot \left(x \cdot y2 - z \cdot y3\right)\right)\\
\mathbf{else}:\\
\;\;\;\;b \cdot \left(x \cdot \left(y \cdot a - j \cdot y0\right)\right)\\
\end{array}
\end{array}
if y2 < -1.55000000000000009e-177 or 1.79999999999999988e29 < y2 Initial program 28.8%
Taylor expanded in y0 around inf 45.8%
+-commutative45.8%
mul-1-neg45.8%
unsub-neg45.8%
*-commutative45.8%
*-commutative45.8%
*-commutative45.8%
*-commutative45.8%
Simplified45.8%
Taylor expanded in c around inf 43.8%
if -1.55000000000000009e-177 < y2 < 1.79999999999999988e29Initial program 32.6%
Taylor expanded in b around inf 42.7%
Taylor expanded in x around inf 37.0%
Final simplification41.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (if (or (<= y2 -1.9e-128) (not (<= y2 8.2e+33))) (* c (* x (* y0 y2))) (* b (* (* x y) a))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if ((y2 <= -1.9e-128) || !(y2 <= 8.2e+33)) {
tmp = c * (x * (y0 * y2));
} else {
tmp = b * ((x * y) * a);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: tmp
if ((y2 <= (-1.9d-128)) .or. (.not. (y2 <= 8.2d+33))) then
tmp = c * (x * (y0 * y2))
else
tmp = b * ((x * y) * a)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if ((y2 <= -1.9e-128) || !(y2 <= 8.2e+33)) {
tmp = c * (x * (y0 * y2));
} else {
tmp = b * ((x * y) * a);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if (y2 <= -1.9e-128) or not (y2 <= 8.2e+33): tmp = c * (x * (y0 * y2)) else: tmp = b * ((x * y) * a) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if ((y2 <= -1.9e-128) || !(y2 <= 8.2e+33)) tmp = Float64(c * Float64(x * Float64(y0 * y2))); else tmp = Float64(b * Float64(Float64(x * y) * a)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0; if ((y2 <= -1.9e-128) || ~((y2 <= 8.2e+33))) tmp = c * (x * (y0 * y2)); else tmp = b * ((x * y) * a); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[Or[LessEqual[y2, -1.9e-128], N[Not[LessEqual[y2, 8.2e+33]], $MachinePrecision]], N[(c * N[(x * N[(y0 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(b * N[(N[(x * y), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y2 \leq -1.9 \cdot 10^{-128} \lor \neg \left(y2 \leq 8.2 \cdot 10^{+33}\right):\\
\;\;\;\;c \cdot \left(x \cdot \left(y0 \cdot y2\right)\right)\\
\mathbf{else}:\\
\;\;\;\;b \cdot \left(\left(x \cdot y\right) \cdot a\right)\\
\end{array}
\end{array}
if y2 < -1.9000000000000001e-128 or 8.1999999999999999e33 < y2 Initial program 29.5%
Taylor expanded in y0 around inf 45.2%
+-commutative45.2%
mul-1-neg45.2%
unsub-neg45.2%
*-commutative45.2%
*-commutative45.2%
*-commutative45.2%
*-commutative45.2%
Simplified45.2%
Taylor expanded in c around inf 43.8%
Taylor expanded in x around inf 32.4%
if -1.9000000000000001e-128 < y2 < 8.1999999999999999e33Initial program 31.4%
Taylor expanded in b around inf 41.9%
Taylor expanded in x around inf 36.5%
Taylor expanded in a around inf 27.5%
Final simplification30.4%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (if (or (<= y2 -5.8e-130) (not (<= y2 5e+34))) (* c (* y0 (* x y2))) (* b (* (* x y) a))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if ((y2 <= -5.8e-130) || !(y2 <= 5e+34)) {
tmp = c * (y0 * (x * y2));
} else {
tmp = b * ((x * y) * a);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: tmp
if ((y2 <= (-5.8d-130)) .or. (.not. (y2 <= 5d+34))) then
tmp = c * (y0 * (x * y2))
else
tmp = b * ((x * y) * a)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if ((y2 <= -5.8e-130) || !(y2 <= 5e+34)) {
tmp = c * (y0 * (x * y2));
} else {
tmp = b * ((x * y) * a);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if (y2 <= -5.8e-130) or not (y2 <= 5e+34): tmp = c * (y0 * (x * y2)) else: tmp = b * ((x * y) * a) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if ((y2 <= -5.8e-130) || !(y2 <= 5e+34)) tmp = Float64(c * Float64(y0 * Float64(x * y2))); else tmp = Float64(b * Float64(Float64(x * y) * a)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0; if ((y2 <= -5.8e-130) || ~((y2 <= 5e+34))) tmp = c * (y0 * (x * y2)); else tmp = b * ((x * y) * a); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[Or[LessEqual[y2, -5.8e-130], N[Not[LessEqual[y2, 5e+34]], $MachinePrecision]], N[(c * N[(y0 * N[(x * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(b * N[(N[(x * y), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y2 \leq -5.8 \cdot 10^{-130} \lor \neg \left(y2 \leq 5 \cdot 10^{+34}\right):\\
\;\;\;\;c \cdot \left(y0 \cdot \left(x \cdot y2\right)\right)\\
\mathbf{else}:\\
\;\;\;\;b \cdot \left(\left(x \cdot y\right) \cdot a\right)\\
\end{array}
\end{array}
if y2 < -5.8e-130 or 4.9999999999999998e34 < y2 Initial program 29.5%
Taylor expanded in y0 around inf 45.2%
+-commutative45.2%
mul-1-neg45.2%
unsub-neg45.2%
*-commutative45.2%
*-commutative45.2%
*-commutative45.2%
*-commutative45.2%
Simplified45.2%
Taylor expanded in c around inf 43.8%
Taylor expanded in x around inf 33.0%
if -5.8e-130 < y2 < 4.9999999999999998e34Initial program 31.4%
Taylor expanded in b around inf 41.9%
Taylor expanded in x around inf 36.5%
Taylor expanded in a around inf 27.5%
Final simplification30.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (if (or (<= y0 -3.3e-10) (not (<= y0 1.65e-22))) (* c (* x (* y0 y2))) (* i (* j (* x y1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if ((y0 <= -3.3e-10) || !(y0 <= 1.65e-22)) {
tmp = c * (x * (y0 * y2));
} else {
tmp = i * (j * (x * y1));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: tmp
if ((y0 <= (-3.3d-10)) .or. (.not. (y0 <= 1.65d-22))) then
tmp = c * (x * (y0 * y2))
else
tmp = i * (j * (x * y1))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if ((y0 <= -3.3e-10) || !(y0 <= 1.65e-22)) {
tmp = c * (x * (y0 * y2));
} else {
tmp = i * (j * (x * y1));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if (y0 <= -3.3e-10) or not (y0 <= 1.65e-22): tmp = c * (x * (y0 * y2)) else: tmp = i * (j * (x * y1)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if ((y0 <= -3.3e-10) || !(y0 <= 1.65e-22)) tmp = Float64(c * Float64(x * Float64(y0 * y2))); else tmp = Float64(i * Float64(j * Float64(x * y1))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0; if ((y0 <= -3.3e-10) || ~((y0 <= 1.65e-22))) tmp = c * (x * (y0 * y2)); else tmp = i * (j * (x * y1)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[Or[LessEqual[y0, -3.3e-10], N[Not[LessEqual[y0, 1.65e-22]], $MachinePrecision]], N[(c * N[(x * N[(y0 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(i * N[(j * N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y0 \leq -3.3 \cdot 10^{-10} \lor \neg \left(y0 \leq 1.65 \cdot 10^{-22}\right):\\
\;\;\;\;c \cdot \left(x \cdot \left(y0 \cdot y2\right)\right)\\
\mathbf{else}:\\
\;\;\;\;i \cdot \left(j \cdot \left(x \cdot y1\right)\right)\\
\end{array}
\end{array}
if y0 < -3.3e-10 or 1.65e-22 < y0 Initial program 25.7%
Taylor expanded in y0 around inf 56.7%
+-commutative56.7%
mul-1-neg56.7%
unsub-neg56.7%
*-commutative56.7%
*-commutative56.7%
*-commutative56.7%
*-commutative56.7%
Simplified56.7%
Taylor expanded in c around inf 46.2%
Taylor expanded in x around inf 35.5%
if -3.3e-10 < y0 < 1.65e-22Initial program 35.5%
Taylor expanded in y1 around -inf 38.5%
mul-1-neg38.5%
*-commutative38.5%
distribute-rgt-neg-in38.5%
Simplified38.5%
Taylor expanded in i around -inf 31.6%
associate-*r*28.3%
*-commutative28.3%
*-commutative28.3%
*-commutative28.3%
Simplified28.3%
Taylor expanded in x around inf 22.5%
Final simplification29.5%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (if (<= y3 6e-210) (* a (* (* x y) b)) (* a (* y1 (* z y3)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y3 <= 6e-210) {
tmp = a * ((x * y) * b);
} else {
tmp = a * (y1 * (z * y3));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: tmp
if (y3 <= 6d-210) then
tmp = a * ((x * y) * b)
else
tmp = a * (y1 * (z * y3))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y3 <= 6e-210) {
tmp = a * ((x * y) * b);
} else {
tmp = a * (y1 * (z * y3));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if y3 <= 6e-210: tmp = a * ((x * y) * b) else: tmp = a * (y1 * (z * y3)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (y3 <= 6e-210) tmp = Float64(a * Float64(Float64(x * y) * b)); else tmp = Float64(a * Float64(y1 * Float64(z * y3))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0; if (y3 <= 6e-210) tmp = a * ((x * y) * b); else tmp = a * (y1 * (z * y3)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[y3, 6e-210], N[(a * N[(N[(x * y), $MachinePrecision] * b), $MachinePrecision]), $MachinePrecision], N[(a * N[(y1 * N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y3 \leq 6 \cdot 10^{-210}:\\
\;\;\;\;a \cdot \left(\left(x \cdot y\right) \cdot b\right)\\
\mathbf{else}:\\
\;\;\;\;a \cdot \left(y1 \cdot \left(z \cdot y3\right)\right)\\
\end{array}
\end{array}
if y3 < 6.0000000000000003e-210Initial program 32.2%
Taylor expanded in b around inf 40.2%
Taylor expanded in x around inf 31.2%
Taylor expanded in a around inf 21.3%
if 6.0000000000000003e-210 < y3 Initial program 27.2%
Taylor expanded in y1 around -inf 43.6%
mul-1-neg43.6%
*-commutative43.6%
distribute-rgt-neg-in43.6%
Simplified43.6%
Taylor expanded in y3 around -inf 37.1%
Taylor expanded in a around inf 24.2%
*-commutative24.2%
Simplified24.2%
Final simplification22.4%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (if (<= y3 5.6e-210) (* b (* (* x y) a)) (* a (* y1 (* z y3)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y3 <= 5.6e-210) {
tmp = b * ((x * y) * a);
} else {
tmp = a * (y1 * (z * y3));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: tmp
if (y3 <= 5.6d-210) then
tmp = b * ((x * y) * a)
else
tmp = a * (y1 * (z * y3))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double tmp;
if (y3 <= 5.6e-210) {
tmp = b * ((x * y) * a);
} else {
tmp = a * (y1 * (z * y3));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if y3 <= 5.6e-210: tmp = b * ((x * y) * a) else: tmp = a * (y1 * (z * y3)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (y3 <= 5.6e-210) tmp = Float64(b * Float64(Float64(x * y) * a)); else tmp = Float64(a * Float64(y1 * Float64(z * y3))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0; if (y3 <= 5.6e-210) tmp = b * ((x * y) * a); else tmp = a * (y1 * (z * y3)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[y3, 5.6e-210], N[(b * N[(N[(x * y), $MachinePrecision] * a), $MachinePrecision]), $MachinePrecision], N[(a * N[(y1 * N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y3 \leq 5.6 \cdot 10^{-210}:\\
\;\;\;\;b \cdot \left(\left(x \cdot y\right) \cdot a\right)\\
\mathbf{else}:\\
\;\;\;\;a \cdot \left(y1 \cdot \left(z \cdot y3\right)\right)\\
\end{array}
\end{array}
if y3 < 5.6e-210Initial program 32.2%
Taylor expanded in b around inf 40.2%
Taylor expanded in x around inf 31.2%
Taylor expanded in a around inf 22.5%
if 5.6e-210 < y3 Initial program 27.2%
Taylor expanded in y1 around -inf 43.6%
mul-1-neg43.6%
*-commutative43.6%
distribute-rgt-neg-in43.6%
Simplified43.6%
Taylor expanded in y3 around -inf 37.1%
Taylor expanded in a around inf 24.2%
*-commutative24.2%
Simplified24.2%
Final simplification23.1%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (* a (* (* x y) b)))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
return a * ((x * y) * b);
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
code = a * ((x * y) * b)
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
return a * ((x * y) * b);
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): return a * ((x * y) * b)
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) return Float64(a * Float64(Float64(x * y) * b)) end
function tmp = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = a * ((x * y) * b); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := N[(a * N[(N[(x * y), $MachinePrecision] * b), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
a \cdot \left(\left(x \cdot y\right) \cdot b\right)
\end{array}
Initial program 30.3%
Taylor expanded in b around inf 36.5%
Taylor expanded in x around inf 27.2%
Taylor expanded in a around inf 18.0%
Final simplification18.0%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* y4 c) (* y5 a)))
(t_2 (- (* x y2) (* z y3)))
(t_3 (- (* y2 t) (* y3 y)))
(t_4 (- (* k y2) (* j y3)))
(t_5 (- (* y4 b) (* y5 i)))
(t_6 (* (- (* j t) (* k y)) t_5))
(t_7 (- (* b a) (* i c)))
(t_8 (* t_7 (- (* y x) (* t z))))
(t_9 (- (* j x) (* k z)))
(t_10 (* (- (* b y0) (* i y1)) t_9))
(t_11 (* t_9 (- (* y0 b) (* i y1))))
(t_12 (- (* y4 y1) (* y5 y0)))
(t_13 (* t_4 t_12))
(t_14 (* (- (* y2 k) (* y3 j)) t_12))
(t_15
(+
(-
(-
(- (* (* k y) (* y5 i)) (* (* y b) (* y4 k)))
(* (* y5 t) (* i j)))
(- (* t_3 t_1) t_14))
(- t_8 (- t_11 (* (- (* y2 x) (* y3 z)) (- (* c y0) (* y1 a)))))))
(t_16
(+
(+
(- t_6 (* (* y3 y) (- (* y5 a) (* y4 c))))
(+ (* (* y5 a) (* t y2)) t_13))
(-
(* t_2 (- (* c y0) (* a y1)))
(- t_10 (* (- (* y x) (* z t)) t_7)))))
(t_17 (- (* t y2) (* y y3))))
(if (< y4 -7.206256231996481e+60)
(- (- t_8 (- t_11 t_6)) (- (/ t_3 (/ 1.0 t_1)) t_14))
(if (< y4 -3.364603505246317e-66)
(+
(-
(- (- (* (* t c) (* i z)) (* (* a t) (* b z))) (* (* y c) (* i x)))
t_10)
(-
(* (- (* y0 c) (* a y1)) t_2)
(- (* t_17 (- (* y4 c) (* a y5))) (* (- (* y1 y4) (* y5 y0)) t_4))))
(if (< y4 -1.2000065055686116e-105)
t_16
(if (< y4 6.718963124057495e-279)
t_15
(if (< y4 4.77962681403792e-222)
t_16
(if (< y4 2.2852241541266835e-175)
t_15
(+
(-
(+
(+
(-
(* (- (* x y) (* z t)) (- (* a b) (* c i)))
(-
(* k (* i (* z y1)))
(+ (* j (* i (* x y1))) (* y0 (* k (* z b))))))
(-
(* z (* y3 (* a y1)))
(+ (* y2 (* x (* a y1))) (* y0 (* z (* c y3))))))
(* (- (* t j) (* y k)) t_5))
(* t_17 t_1))
t_13)))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (y4 * c) - (y5 * a);
double t_2 = (x * y2) - (z * y3);
double t_3 = (y2 * t) - (y3 * y);
double t_4 = (k * y2) - (j * y3);
double t_5 = (y4 * b) - (y5 * i);
double t_6 = ((j * t) - (k * y)) * t_5;
double t_7 = (b * a) - (i * c);
double t_8 = t_7 * ((y * x) - (t * z));
double t_9 = (j * x) - (k * z);
double t_10 = ((b * y0) - (i * y1)) * t_9;
double t_11 = t_9 * ((y0 * b) - (i * y1));
double t_12 = (y4 * y1) - (y5 * y0);
double t_13 = t_4 * t_12;
double t_14 = ((y2 * k) - (y3 * j)) * t_12;
double t_15 = (((((k * y) * (y5 * i)) - ((y * b) * (y4 * k))) - ((y5 * t) * (i * j))) - ((t_3 * t_1) - t_14)) + (t_8 - (t_11 - (((y2 * x) - (y3 * z)) * ((c * y0) - (y1 * a)))));
double t_16 = ((t_6 - ((y3 * y) * ((y5 * a) - (y4 * c)))) + (((y5 * a) * (t * y2)) + t_13)) + ((t_2 * ((c * y0) - (a * y1))) - (t_10 - (((y * x) - (z * t)) * t_7)));
double t_17 = (t * y2) - (y * y3);
double tmp;
if (y4 < -7.206256231996481e+60) {
tmp = (t_8 - (t_11 - t_6)) - ((t_3 / (1.0 / t_1)) - t_14);
} else if (y4 < -3.364603505246317e-66) {
tmp = (((((t * c) * (i * z)) - ((a * t) * (b * z))) - ((y * c) * (i * x))) - t_10) + ((((y0 * c) - (a * y1)) * t_2) - ((t_17 * ((y4 * c) - (a * y5))) - (((y1 * y4) - (y5 * y0)) * t_4)));
} else if (y4 < -1.2000065055686116e-105) {
tmp = t_16;
} else if (y4 < 6.718963124057495e-279) {
tmp = t_15;
} else if (y4 < 4.77962681403792e-222) {
tmp = t_16;
} else if (y4 < 2.2852241541266835e-175) {
tmp = t_15;
} else {
tmp = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - ((k * (i * (z * y1))) - ((j * (i * (x * y1))) + (y0 * (k * (z * b)))))) + ((z * (y3 * (a * y1))) - ((y2 * (x * (a * y1))) + (y0 * (z * (c * y3)))))) + (((t * j) - (y * k)) * t_5)) - (t_17 * t_1)) + t_13;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8), intent (in) :: k
real(8), intent (in) :: y0
real(8), intent (in) :: y1
real(8), intent (in) :: y2
real(8), intent (in) :: y3
real(8), intent (in) :: y4
real(8), intent (in) :: y5
real(8) :: t_1
real(8) :: t_10
real(8) :: t_11
real(8) :: t_12
real(8) :: t_13
real(8) :: t_14
real(8) :: t_15
real(8) :: t_16
real(8) :: t_17
real(8) :: t_2
real(8) :: t_3
real(8) :: t_4
real(8) :: t_5
real(8) :: t_6
real(8) :: t_7
real(8) :: t_8
real(8) :: t_9
real(8) :: tmp
t_1 = (y4 * c) - (y5 * a)
t_2 = (x * y2) - (z * y3)
t_3 = (y2 * t) - (y3 * y)
t_4 = (k * y2) - (j * y3)
t_5 = (y4 * b) - (y5 * i)
t_6 = ((j * t) - (k * y)) * t_5
t_7 = (b * a) - (i * c)
t_8 = t_7 * ((y * x) - (t * z))
t_9 = (j * x) - (k * z)
t_10 = ((b * y0) - (i * y1)) * t_9
t_11 = t_9 * ((y0 * b) - (i * y1))
t_12 = (y4 * y1) - (y5 * y0)
t_13 = t_4 * t_12
t_14 = ((y2 * k) - (y3 * j)) * t_12
t_15 = (((((k * y) * (y5 * i)) - ((y * b) * (y4 * k))) - ((y5 * t) * (i * j))) - ((t_3 * t_1) - t_14)) + (t_8 - (t_11 - (((y2 * x) - (y3 * z)) * ((c * y0) - (y1 * a)))))
t_16 = ((t_6 - ((y3 * y) * ((y5 * a) - (y4 * c)))) + (((y5 * a) * (t * y2)) + t_13)) + ((t_2 * ((c * y0) - (a * y1))) - (t_10 - (((y * x) - (z * t)) * t_7)))
t_17 = (t * y2) - (y * y3)
if (y4 < (-7.206256231996481d+60)) then
tmp = (t_8 - (t_11 - t_6)) - ((t_3 / (1.0d0 / t_1)) - t_14)
else if (y4 < (-3.364603505246317d-66)) then
tmp = (((((t * c) * (i * z)) - ((a * t) * (b * z))) - ((y * c) * (i * x))) - t_10) + ((((y0 * c) - (a * y1)) * t_2) - ((t_17 * ((y4 * c) - (a * y5))) - (((y1 * y4) - (y5 * y0)) * t_4)))
else if (y4 < (-1.2000065055686116d-105)) then
tmp = t_16
else if (y4 < 6.718963124057495d-279) then
tmp = t_15
else if (y4 < 4.77962681403792d-222) then
tmp = t_16
else if (y4 < 2.2852241541266835d-175) then
tmp = t_15
else
tmp = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - ((k * (i * (z * y1))) - ((j * (i * (x * y1))) + (y0 * (k * (z * b)))))) + ((z * (y3 * (a * y1))) - ((y2 * (x * (a * y1))) + (y0 * (z * (c * y3)))))) + (((t * j) - (y * k)) * t_5)) - (t_17 * t_1)) + t_13
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (y4 * c) - (y5 * a);
double t_2 = (x * y2) - (z * y3);
double t_3 = (y2 * t) - (y3 * y);
double t_4 = (k * y2) - (j * y3);
double t_5 = (y4 * b) - (y5 * i);
double t_6 = ((j * t) - (k * y)) * t_5;
double t_7 = (b * a) - (i * c);
double t_8 = t_7 * ((y * x) - (t * z));
double t_9 = (j * x) - (k * z);
double t_10 = ((b * y0) - (i * y1)) * t_9;
double t_11 = t_9 * ((y0 * b) - (i * y1));
double t_12 = (y4 * y1) - (y5 * y0);
double t_13 = t_4 * t_12;
double t_14 = ((y2 * k) - (y3 * j)) * t_12;
double t_15 = (((((k * y) * (y5 * i)) - ((y * b) * (y4 * k))) - ((y5 * t) * (i * j))) - ((t_3 * t_1) - t_14)) + (t_8 - (t_11 - (((y2 * x) - (y3 * z)) * ((c * y0) - (y1 * a)))));
double t_16 = ((t_6 - ((y3 * y) * ((y5 * a) - (y4 * c)))) + (((y5 * a) * (t * y2)) + t_13)) + ((t_2 * ((c * y0) - (a * y1))) - (t_10 - (((y * x) - (z * t)) * t_7)));
double t_17 = (t * y2) - (y * y3);
double tmp;
if (y4 < -7.206256231996481e+60) {
tmp = (t_8 - (t_11 - t_6)) - ((t_3 / (1.0 / t_1)) - t_14);
} else if (y4 < -3.364603505246317e-66) {
tmp = (((((t * c) * (i * z)) - ((a * t) * (b * z))) - ((y * c) * (i * x))) - t_10) + ((((y0 * c) - (a * y1)) * t_2) - ((t_17 * ((y4 * c) - (a * y5))) - (((y1 * y4) - (y5 * y0)) * t_4)));
} else if (y4 < -1.2000065055686116e-105) {
tmp = t_16;
} else if (y4 < 6.718963124057495e-279) {
tmp = t_15;
} else if (y4 < 4.77962681403792e-222) {
tmp = t_16;
} else if (y4 < 2.2852241541266835e-175) {
tmp = t_15;
} else {
tmp = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - ((k * (i * (z * y1))) - ((j * (i * (x * y1))) + (y0 * (k * (z * b)))))) + ((z * (y3 * (a * y1))) - ((y2 * (x * (a * y1))) + (y0 * (z * (c * y3)))))) + (((t * j) - (y * k)) * t_5)) - (t_17 * t_1)) + t_13;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (y4 * c) - (y5 * a) t_2 = (x * y2) - (z * y3) t_3 = (y2 * t) - (y3 * y) t_4 = (k * y2) - (j * y3) t_5 = (y4 * b) - (y5 * i) t_6 = ((j * t) - (k * y)) * t_5 t_7 = (b * a) - (i * c) t_8 = t_7 * ((y * x) - (t * z)) t_9 = (j * x) - (k * z) t_10 = ((b * y0) - (i * y1)) * t_9 t_11 = t_9 * ((y0 * b) - (i * y1)) t_12 = (y4 * y1) - (y5 * y0) t_13 = t_4 * t_12 t_14 = ((y2 * k) - (y3 * j)) * t_12 t_15 = (((((k * y) * (y5 * i)) - ((y * b) * (y4 * k))) - ((y5 * t) * (i * j))) - ((t_3 * t_1) - t_14)) + (t_8 - (t_11 - (((y2 * x) - (y3 * z)) * ((c * y0) - (y1 * a))))) t_16 = ((t_6 - ((y3 * y) * ((y5 * a) - (y4 * c)))) + (((y5 * a) * (t * y2)) + t_13)) + ((t_2 * ((c * y0) - (a * y1))) - (t_10 - (((y * x) - (z * t)) * t_7))) t_17 = (t * y2) - (y * y3) tmp = 0 if y4 < -7.206256231996481e+60: tmp = (t_8 - (t_11 - t_6)) - ((t_3 / (1.0 / t_1)) - t_14) elif y4 < -3.364603505246317e-66: tmp = (((((t * c) * (i * z)) - ((a * t) * (b * z))) - ((y * c) * (i * x))) - t_10) + ((((y0 * c) - (a * y1)) * t_2) - ((t_17 * ((y4 * c) - (a * y5))) - (((y1 * y4) - (y5 * y0)) * t_4))) elif y4 < -1.2000065055686116e-105: tmp = t_16 elif y4 < 6.718963124057495e-279: tmp = t_15 elif y4 < 4.77962681403792e-222: tmp = t_16 elif y4 < 2.2852241541266835e-175: tmp = t_15 else: tmp = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - ((k * (i * (z * y1))) - ((j * (i * (x * y1))) + (y0 * (k * (z * b)))))) + ((z * (y3 * (a * y1))) - ((y2 * (x * (a * y1))) + (y0 * (z * (c * y3)))))) + (((t * j) - (y * k)) * t_5)) - (t_17 * t_1)) + t_13 return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(y4 * c) - Float64(y5 * a)) t_2 = Float64(Float64(x * y2) - Float64(z * y3)) t_3 = Float64(Float64(y2 * t) - Float64(y3 * y)) t_4 = Float64(Float64(k * y2) - Float64(j * y3)) t_5 = Float64(Float64(y4 * b) - Float64(y5 * i)) t_6 = Float64(Float64(Float64(j * t) - Float64(k * y)) * t_5) t_7 = Float64(Float64(b * a) - Float64(i * c)) t_8 = Float64(t_7 * Float64(Float64(y * x) - Float64(t * z))) t_9 = Float64(Float64(j * x) - Float64(k * z)) t_10 = Float64(Float64(Float64(b * y0) - Float64(i * y1)) * t_9) t_11 = Float64(t_9 * Float64(Float64(y0 * b) - Float64(i * y1))) t_12 = Float64(Float64(y4 * y1) - Float64(y5 * y0)) t_13 = Float64(t_4 * t_12) t_14 = Float64(Float64(Float64(y2 * k) - Float64(y3 * j)) * t_12) t_15 = Float64(Float64(Float64(Float64(Float64(Float64(k * y) * Float64(y5 * i)) - Float64(Float64(y * b) * Float64(y4 * k))) - Float64(Float64(y5 * t) * Float64(i * j))) - Float64(Float64(t_3 * t_1) - t_14)) + Float64(t_8 - Float64(t_11 - Float64(Float64(Float64(y2 * x) - Float64(y3 * z)) * Float64(Float64(c * y0) - Float64(y1 * a)))))) t_16 = Float64(Float64(Float64(t_6 - Float64(Float64(y3 * y) * Float64(Float64(y5 * a) - Float64(y4 * c)))) + Float64(Float64(Float64(y5 * a) * Float64(t * y2)) + t_13)) + Float64(Float64(t_2 * Float64(Float64(c * y0) - Float64(a * y1))) - Float64(t_10 - Float64(Float64(Float64(y * x) - Float64(z * t)) * t_7)))) t_17 = Float64(Float64(t * y2) - Float64(y * y3)) tmp = 0.0 if (y4 < -7.206256231996481e+60) tmp = Float64(Float64(t_8 - Float64(t_11 - t_6)) - Float64(Float64(t_3 / Float64(1.0 / t_1)) - t_14)); elseif (y4 < -3.364603505246317e-66) tmp = Float64(Float64(Float64(Float64(Float64(Float64(t * c) * Float64(i * z)) - Float64(Float64(a * t) * Float64(b * z))) - Float64(Float64(y * c) * Float64(i * x))) - t_10) + Float64(Float64(Float64(Float64(y0 * c) - Float64(a * y1)) * t_2) - Float64(Float64(t_17 * Float64(Float64(y4 * c) - Float64(a * y5))) - Float64(Float64(Float64(y1 * y4) - Float64(y5 * y0)) * t_4)))); elseif (y4 < -1.2000065055686116e-105) tmp = t_16; elseif (y4 < 6.718963124057495e-279) tmp = t_15; elseif (y4 < 4.77962681403792e-222) tmp = t_16; elseif (y4 < 2.2852241541266835e-175) tmp = t_15; else tmp = Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(x * y) - Float64(z * t)) * Float64(Float64(a * b) - Float64(c * i))) - Float64(Float64(k * Float64(i * Float64(z * y1))) - Float64(Float64(j * Float64(i * Float64(x * y1))) + Float64(y0 * Float64(k * Float64(z * b)))))) + Float64(Float64(z * Float64(y3 * Float64(a * y1))) - Float64(Float64(y2 * Float64(x * Float64(a * y1))) + Float64(y0 * Float64(z * Float64(c * y3)))))) + Float64(Float64(Float64(t * j) - Float64(y * k)) * t_5)) - Float64(t_17 * t_1)) + t_13); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = (y4 * c) - (y5 * a); t_2 = (x * y2) - (z * y3); t_3 = (y2 * t) - (y3 * y); t_4 = (k * y2) - (j * y3); t_5 = (y4 * b) - (y5 * i); t_6 = ((j * t) - (k * y)) * t_5; t_7 = (b * a) - (i * c); t_8 = t_7 * ((y * x) - (t * z)); t_9 = (j * x) - (k * z); t_10 = ((b * y0) - (i * y1)) * t_9; t_11 = t_9 * ((y0 * b) - (i * y1)); t_12 = (y4 * y1) - (y5 * y0); t_13 = t_4 * t_12; t_14 = ((y2 * k) - (y3 * j)) * t_12; t_15 = (((((k * y) * (y5 * i)) - ((y * b) * (y4 * k))) - ((y5 * t) * (i * j))) - ((t_3 * t_1) - t_14)) + (t_8 - (t_11 - (((y2 * x) - (y3 * z)) * ((c * y0) - (y1 * a))))); t_16 = ((t_6 - ((y3 * y) * ((y5 * a) - (y4 * c)))) + (((y5 * a) * (t * y2)) + t_13)) + ((t_2 * ((c * y0) - (a * y1))) - (t_10 - (((y * x) - (z * t)) * t_7))); t_17 = (t * y2) - (y * y3); tmp = 0.0; if (y4 < -7.206256231996481e+60) tmp = (t_8 - (t_11 - t_6)) - ((t_3 / (1.0 / t_1)) - t_14); elseif (y4 < -3.364603505246317e-66) tmp = (((((t * c) * (i * z)) - ((a * t) * (b * z))) - ((y * c) * (i * x))) - t_10) + ((((y0 * c) - (a * y1)) * t_2) - ((t_17 * ((y4 * c) - (a * y5))) - (((y1 * y4) - (y5 * y0)) * t_4))); elseif (y4 < -1.2000065055686116e-105) tmp = t_16; elseif (y4 < 6.718963124057495e-279) tmp = t_15; elseif (y4 < 4.77962681403792e-222) tmp = t_16; elseif (y4 < 2.2852241541266835e-175) tmp = t_15; else tmp = (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - ((k * (i * (z * y1))) - ((j * (i * (x * y1))) + (y0 * (k * (z * b)))))) + ((z * (y3 * (a * y1))) - ((y2 * (x * (a * y1))) + (y0 * (z * (c * y3)))))) + (((t * j) - (y * k)) * t_5)) - (t_17 * t_1)) + t_13; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := Block[{t$95$1 = N[(N[(y4 * c), $MachinePrecision] - N[(y5 * a), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(y2 * t), $MachinePrecision] - N[(y3 * y), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(N[(y4 * b), $MachinePrecision] - N[(y5 * i), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$6 = N[(N[(N[(j * t), $MachinePrecision] - N[(k * y), $MachinePrecision]), $MachinePrecision] * t$95$5), $MachinePrecision]}, Block[{t$95$7 = N[(N[(b * a), $MachinePrecision] - N[(i * c), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$8 = N[(t$95$7 * N[(N[(y * x), $MachinePrecision] - N[(t * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$9 = N[(N[(j * x), $MachinePrecision] - N[(k * z), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$10 = N[(N[(N[(b * y0), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision] * t$95$9), $MachinePrecision]}, Block[{t$95$11 = N[(t$95$9 * N[(N[(y0 * b), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$12 = N[(N[(y4 * y1), $MachinePrecision] - N[(y5 * y0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$13 = N[(t$95$4 * t$95$12), $MachinePrecision]}, Block[{t$95$14 = N[(N[(N[(y2 * k), $MachinePrecision] - N[(y3 * j), $MachinePrecision]), $MachinePrecision] * t$95$12), $MachinePrecision]}, Block[{t$95$15 = N[(N[(N[(N[(N[(N[(k * y), $MachinePrecision] * N[(y5 * i), $MachinePrecision]), $MachinePrecision] - N[(N[(y * b), $MachinePrecision] * N[(y4 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(y5 * t), $MachinePrecision] * N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(t$95$3 * t$95$1), $MachinePrecision] - t$95$14), $MachinePrecision]), $MachinePrecision] + N[(t$95$8 - N[(t$95$11 - N[(N[(N[(y2 * x), $MachinePrecision] - N[(y3 * z), $MachinePrecision]), $MachinePrecision] * N[(N[(c * y0), $MachinePrecision] - N[(y1 * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$16 = N[(N[(N[(t$95$6 - N[(N[(y3 * y), $MachinePrecision] * N[(N[(y5 * a), $MachinePrecision] - N[(y4 * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(y5 * a), $MachinePrecision] * N[(t * y2), $MachinePrecision]), $MachinePrecision] + t$95$13), $MachinePrecision]), $MachinePrecision] + N[(N[(t$95$2 * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(t$95$10 - N[(N[(N[(y * x), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision] * t$95$7), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$17 = N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]}, If[Less[y4, -7.206256231996481e+60], N[(N[(t$95$8 - N[(t$95$11 - t$95$6), $MachinePrecision]), $MachinePrecision] - N[(N[(t$95$3 / N[(1.0 / t$95$1), $MachinePrecision]), $MachinePrecision] - t$95$14), $MachinePrecision]), $MachinePrecision], If[Less[y4, -3.364603505246317e-66], N[(N[(N[(N[(N[(N[(t * c), $MachinePrecision] * N[(i * z), $MachinePrecision]), $MachinePrecision] - N[(N[(a * t), $MachinePrecision] * N[(b * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(y * c), $MachinePrecision] * N[(i * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - t$95$10), $MachinePrecision] + N[(N[(N[(N[(y0 * c), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision] * t$95$2), $MachinePrecision] - N[(N[(t$95$17 * N[(N[(y4 * c), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(y1 * y4), $MachinePrecision] - N[(y5 * y0), $MachinePrecision]), $MachinePrecision] * t$95$4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[Less[y4, -1.2000065055686116e-105], t$95$16, If[Less[y4, 6.718963124057495e-279], t$95$15, If[Less[y4, 4.77962681403792e-222], t$95$16, If[Less[y4, 2.2852241541266835e-175], t$95$15, N[(N[(N[(N[(N[(N[(N[(N[(x * y), $MachinePrecision] - N[(z * t), $MachinePrecision]), $MachinePrecision] * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(k * N[(i * N[(z * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(j * N[(i * N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y0 * N[(k * N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(z * N[(y3 * N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(y2 * N[(x * N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y0 * N[(z * N[(c * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision] * t$95$5), $MachinePrecision]), $MachinePrecision] - N[(t$95$17 * t$95$1), $MachinePrecision]), $MachinePrecision] + t$95$13), $MachinePrecision]]]]]]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y4 \cdot c - y5 \cdot a\\
t_2 := x \cdot y2 - z \cdot y3\\
t_3 := y2 \cdot t - y3 \cdot y\\
t_4 := k \cdot y2 - j \cdot y3\\
t_5 := y4 \cdot b - y5 \cdot i\\
t_6 := \left(j \cdot t - k \cdot y\right) \cdot t\_5\\
t_7 := b \cdot a - i \cdot c\\
t_8 := t\_7 \cdot \left(y \cdot x - t \cdot z\right)\\
t_9 := j \cdot x - k \cdot z\\
t_10 := \left(b \cdot y0 - i \cdot y1\right) \cdot t\_9\\
t_11 := t\_9 \cdot \left(y0 \cdot b - i \cdot y1\right)\\
t_12 := y4 \cdot y1 - y5 \cdot y0\\
t_13 := t\_4 \cdot t\_12\\
t_14 := \left(y2 \cdot k - y3 \cdot j\right) \cdot t\_12\\
t_15 := \left(\left(\left(\left(k \cdot y\right) \cdot \left(y5 \cdot i\right) - \left(y \cdot b\right) \cdot \left(y4 \cdot k\right)\right) - \left(y5 \cdot t\right) \cdot \left(i \cdot j\right)\right) - \left(t\_3 \cdot t\_1 - t\_14\right)\right) + \left(t\_8 - \left(t\_11 - \left(y2 \cdot x - y3 \cdot z\right) \cdot \left(c \cdot y0 - y1 \cdot a\right)\right)\right)\\
t_16 := \left(\left(t\_6 - \left(y3 \cdot y\right) \cdot \left(y5 \cdot a - y4 \cdot c\right)\right) + \left(\left(y5 \cdot a\right) \cdot \left(t \cdot y2\right) + t\_13\right)\right) + \left(t\_2 \cdot \left(c \cdot y0 - a \cdot y1\right) - \left(t\_10 - \left(y \cdot x - z \cdot t\right) \cdot t\_7\right)\right)\\
t_17 := t \cdot y2 - y \cdot y3\\
\mathbf{if}\;y4 < -7.206256231996481 \cdot 10^{+60}:\\
\;\;\;\;\left(t\_8 - \left(t\_11 - t\_6\right)\right) - \left(\frac{t\_3}{\frac{1}{t\_1}} - t\_14\right)\\
\mathbf{elif}\;y4 < -3.364603505246317 \cdot 10^{-66}:\\
\;\;\;\;\left(\left(\left(\left(t \cdot c\right) \cdot \left(i \cdot z\right) - \left(a \cdot t\right) \cdot \left(b \cdot z\right)\right) - \left(y \cdot c\right) \cdot \left(i \cdot x\right)\right) - t\_10\right) + \left(\left(y0 \cdot c - a \cdot y1\right) \cdot t\_2 - \left(t\_17 \cdot \left(y4 \cdot c - a \cdot y5\right) - \left(y1 \cdot y4 - y5 \cdot y0\right) \cdot t\_4\right)\right)\\
\mathbf{elif}\;y4 < -1.2000065055686116 \cdot 10^{-105}:\\
\;\;\;\;t\_16\\
\mathbf{elif}\;y4 < 6.718963124057495 \cdot 10^{-279}:\\
\;\;\;\;t\_15\\
\mathbf{elif}\;y4 < 4.77962681403792 \cdot 10^{-222}:\\
\;\;\;\;t\_16\\
\mathbf{elif}\;y4 < 2.2852241541266835 \cdot 10^{-175}:\\
\;\;\;\;t\_15\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(k \cdot \left(i \cdot \left(z \cdot y1\right)\right) - \left(j \cdot \left(i \cdot \left(x \cdot y1\right)\right) + y0 \cdot \left(k \cdot \left(z \cdot b\right)\right)\right)\right)\right) + \left(z \cdot \left(y3 \cdot \left(a \cdot y1\right)\right) - \left(y2 \cdot \left(x \cdot \left(a \cdot y1\right)\right) + y0 \cdot \left(z \cdot \left(c \cdot y3\right)\right)\right)\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot t\_5\right) - t\_17 \cdot t\_1\right) + t\_13\\
\end{array}
\end{array}
herbie shell --seed 2024048
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:name "Linear.Matrix:det44 from linear-1.19.1.3"
:precision binary64
:alt
(if (< y4 -7.206256231996481e+60) (- (- (* (- (* b a) (* i c)) (- (* y x) (* t z))) (- (* (- (* j x) (* k z)) (- (* y0 b) (* i y1))) (* (- (* j t) (* k y)) (- (* y4 b) (* y5 i))))) (- (/ (- (* y2 t) (* y3 y)) (/ 1.0 (- (* y4 c) (* y5 a)))) (* (- (* y2 k) (* y3 j)) (- (* y4 y1) (* y5 y0))))) (if (< y4 -3.364603505246317e-66) (+ (- (- (- (* (* t c) (* i z)) (* (* a t) (* b z))) (* (* y c) (* i x))) (* (- (* b y0) (* i y1)) (- (* j x) (* k z)))) (- (* (- (* y0 c) (* a y1)) (- (* x y2) (* z y3))) (- (* (- (* t y2) (* y y3)) (- (* y4 c) (* a y5))) (* (- (* y1 y4) (* y5 y0)) (- (* k y2) (* j y3)))))) (if (< y4 -1.2000065055686116e-105) (+ (+ (- (* (- (* j t) (* k y)) (- (* y4 b) (* y5 i))) (* (* y3 y) (- (* y5 a) (* y4 c)))) (+ (* (* y5 a) (* t y2)) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* x y2) (* z y3)) (- (* c y0) (* a y1))) (- (* (- (* b y0) (* i y1)) (- (* j x) (* k z))) (* (- (* y x) (* z t)) (- (* b a) (* i c)))))) (if (< y4 6.718963124057495e-279) (+ (- (- (- (* (* k y) (* y5 i)) (* (* y b) (* y4 k))) (* (* y5 t) (* i j))) (- (* (- (* y2 t) (* y3 y)) (- (* y4 c) (* y5 a))) (* (- (* y2 k) (* y3 j)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* b a) (* i c)) (- (* y x) (* t z))) (- (* (- (* j x) (* k z)) (- (* y0 b) (* i y1))) (* (- (* y2 x) (* y3 z)) (- (* c y0) (* y1 a)))))) (if (< y4 4.77962681403792e-222) (+ (+ (- (* (- (* j t) (* k y)) (- (* y4 b) (* y5 i))) (* (* y3 y) (- (* y5 a) (* y4 c)))) (+ (* (* y5 a) (* t y2)) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* x y2) (* z y3)) (- (* c y0) (* a y1))) (- (* (- (* b y0) (* i y1)) (- (* j x) (* k z))) (* (- (* y x) (* z t)) (- (* b a) (* i c)))))) (if (< y4 2.2852241541266835e-175) (+ (- (- (- (* (* k y) (* y5 i)) (* (* y b) (* y4 k))) (* (* y5 t) (* i j))) (- (* (- (* y2 t) (* y3 y)) (- (* y4 c) (* y5 a))) (* (- (* y2 k) (* y3 j)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* b a) (* i c)) (- (* y x) (* t z))) (- (* (- (* j x) (* k z)) (- (* y0 b) (* i y1))) (* (- (* y2 x) (* y3 z)) (- (* c y0) (* y1 a)))))) (+ (- (+ (+ (- (* (- (* x y) (* z t)) (- (* a b) (* c i))) (- (* k (* i (* z y1))) (+ (* j (* i (* x y1))) (* y0 (* k (* z b)))))) (- (* z (* y3 (* a y1))) (+ (* y2 (* x (* a y1))) (* y0 (* z (* c y3)))))) (* (- (* t j) (* y k)) (- (* y4 b) (* y5 i)))) (* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0))))))))))
(+ (- (+ (+ (- (* (- (* x y) (* z t)) (- (* a b) (* c i))) (* (- (* x j) (* z k)) (- (* y0 b) (* y1 i)))) (* (- (* x y2) (* z y3)) (- (* y0 c) (* y1 a)))) (* (- (* t j) (* y k)) (- (* y4 b) (* y5 i)))) (* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))))