
(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 40 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 (- (* y1 y4) (* y0 y5)))
(t_2 (- (* y k) (* t j)))
(t_3 (- (* t y2) (* y y3)))
(t_4 (- (* c y0) (* a y1)))
(t_5 (- (* a y5) (* c y4)))
(t_6 (* y2 (+ (+ (* x t_4) (* k t_1)) (* t t_5))))
(t_7 (- (* k y2) (* j y3)))
(t_8 (- (* x j) (* z k)))
(t_9 (* y1 (+ (* y4 t_7) (+ (* i t_8) (* a (- (* z y3) (* x y2)))))))
(t_10 (- (* z t) (* x y))))
(if (<= y2 -2.15e+14)
t_6
(if (<= y2 -2.22e-82)
(* y5 (+ (* i t_2) (+ (* a t_3) (* y0 (- (* j y3) (* k y2))))))
(if (<= y2 -2.9e-166)
(*
k
(-
(- (* y2 t_1) (* z (- (* i y1) (* b y0))))
(* y (- (* b y4) (* i y5)))))
(if (<= y2 -2.35e-235)
t_9
(if (<= y2 1.4e-299)
(* i (+ (* y1 t_8) (+ (* y5 t_2) (* c t_10))))
(if (<= y2 4.1e-212)
t_9
(if (<= y2 3.3e-117)
(* y0 (* j (- (* y3 y5) (* x b))))
(if (<= y2 8e-17)
(*
c
(+
(+ (* i t_10) (* y0 (- (* x y2) (* z y3))))
(* y4 (- (* y y3) (* t y2)))))
(if (<= y2 1.12e+67)
(+ (* (* x y2) t_4) (+ (* t_7 t_1) (* t_3 t_5)))
(if (<= y2 4.7e+111)
(* y4 (* t (- (* b j) (* c y2))))
(if (<= y2 1.4e+211) t_6 (* t (* y2 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 = (y1 * y4) - (y0 * y5);
double t_2 = (y * k) - (t * j);
double t_3 = (t * y2) - (y * y3);
double t_4 = (c * y0) - (a * y1);
double t_5 = (a * y5) - (c * y4);
double t_6 = y2 * (((x * t_4) + (k * t_1)) + (t * t_5));
double t_7 = (k * y2) - (j * y3);
double t_8 = (x * j) - (z * k);
double t_9 = y1 * ((y4 * t_7) + ((i * t_8) + (a * ((z * y3) - (x * y2)))));
double t_10 = (z * t) - (x * y);
double tmp;
if (y2 <= -2.15e+14) {
tmp = t_6;
} else if (y2 <= -2.22e-82) {
tmp = y5 * ((i * t_2) + ((a * t_3) + (y0 * ((j * y3) - (k * y2)))));
} else if (y2 <= -2.9e-166) {
tmp = k * (((y2 * t_1) - (z * ((i * y1) - (b * y0)))) - (y * ((b * y4) - (i * y5))));
} else if (y2 <= -2.35e-235) {
tmp = t_9;
} else if (y2 <= 1.4e-299) {
tmp = i * ((y1 * t_8) + ((y5 * t_2) + (c * t_10)));
} else if (y2 <= 4.1e-212) {
tmp = t_9;
} else if (y2 <= 3.3e-117) {
tmp = y0 * (j * ((y3 * y5) - (x * b)));
} else if (y2 <= 8e-17) {
tmp = c * (((i * t_10) + (y0 * ((x * y2) - (z * y3)))) + (y4 * ((y * y3) - (t * y2))));
} else if (y2 <= 1.12e+67) {
tmp = ((x * y2) * t_4) + ((t_7 * t_1) + (t_3 * t_5));
} else if (y2 <= 4.7e+111) {
tmp = y4 * (t * ((b * j) - (c * y2)));
} else if (y2 <= 1.4e+211) {
tmp = t_6;
} else {
tmp = t * (y2 * 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_10
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 = (y1 * y4) - (y0 * y5)
t_2 = (y * k) - (t * j)
t_3 = (t * y2) - (y * y3)
t_4 = (c * y0) - (a * y1)
t_5 = (a * y5) - (c * y4)
t_6 = y2 * (((x * t_4) + (k * t_1)) + (t * t_5))
t_7 = (k * y2) - (j * y3)
t_8 = (x * j) - (z * k)
t_9 = y1 * ((y4 * t_7) + ((i * t_8) + (a * ((z * y3) - (x * y2)))))
t_10 = (z * t) - (x * y)
if (y2 <= (-2.15d+14)) then
tmp = t_6
else if (y2 <= (-2.22d-82)) then
tmp = y5 * ((i * t_2) + ((a * t_3) + (y0 * ((j * y3) - (k * y2)))))
else if (y2 <= (-2.9d-166)) then
tmp = k * (((y2 * t_1) - (z * ((i * y1) - (b * y0)))) - (y * ((b * y4) - (i * y5))))
else if (y2 <= (-2.35d-235)) then
tmp = t_9
else if (y2 <= 1.4d-299) then
tmp = i * ((y1 * t_8) + ((y5 * t_2) + (c * t_10)))
else if (y2 <= 4.1d-212) then
tmp = t_9
else if (y2 <= 3.3d-117) then
tmp = y0 * (j * ((y3 * y5) - (x * b)))
else if (y2 <= 8d-17) then
tmp = c * (((i * t_10) + (y0 * ((x * y2) - (z * y3)))) + (y4 * ((y * y3) - (t * y2))))
else if (y2 <= 1.12d+67) then
tmp = ((x * y2) * t_4) + ((t_7 * t_1) + (t_3 * t_5))
else if (y2 <= 4.7d+111) then
tmp = y4 * (t * ((b * j) - (c * y2)))
else if (y2 <= 1.4d+211) then
tmp = t_6
else
tmp = t * (y2 * 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 = (y1 * y4) - (y0 * y5);
double t_2 = (y * k) - (t * j);
double t_3 = (t * y2) - (y * y3);
double t_4 = (c * y0) - (a * y1);
double t_5 = (a * y5) - (c * y4);
double t_6 = y2 * (((x * t_4) + (k * t_1)) + (t * t_5));
double t_7 = (k * y2) - (j * y3);
double t_8 = (x * j) - (z * k);
double t_9 = y1 * ((y4 * t_7) + ((i * t_8) + (a * ((z * y3) - (x * y2)))));
double t_10 = (z * t) - (x * y);
double tmp;
if (y2 <= -2.15e+14) {
tmp = t_6;
} else if (y2 <= -2.22e-82) {
tmp = y5 * ((i * t_2) + ((a * t_3) + (y0 * ((j * y3) - (k * y2)))));
} else if (y2 <= -2.9e-166) {
tmp = k * (((y2 * t_1) - (z * ((i * y1) - (b * y0)))) - (y * ((b * y4) - (i * y5))));
} else if (y2 <= -2.35e-235) {
tmp = t_9;
} else if (y2 <= 1.4e-299) {
tmp = i * ((y1 * t_8) + ((y5 * t_2) + (c * t_10)));
} else if (y2 <= 4.1e-212) {
tmp = t_9;
} else if (y2 <= 3.3e-117) {
tmp = y0 * (j * ((y3 * y5) - (x * b)));
} else if (y2 <= 8e-17) {
tmp = c * (((i * t_10) + (y0 * ((x * y2) - (z * y3)))) + (y4 * ((y * y3) - (t * y2))));
} else if (y2 <= 1.12e+67) {
tmp = ((x * y2) * t_4) + ((t_7 * t_1) + (t_3 * t_5));
} else if (y2 <= 4.7e+111) {
tmp = y4 * (t * ((b * j) - (c * y2)));
} else if (y2 <= 1.4e+211) {
tmp = t_6;
} else {
tmp = t * (y2 * t_5);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (y1 * y4) - (y0 * y5) t_2 = (y * k) - (t * j) t_3 = (t * y2) - (y * y3) t_4 = (c * y0) - (a * y1) t_5 = (a * y5) - (c * y4) t_6 = y2 * (((x * t_4) + (k * t_1)) + (t * t_5)) t_7 = (k * y2) - (j * y3) t_8 = (x * j) - (z * k) t_9 = y1 * ((y4 * t_7) + ((i * t_8) + (a * ((z * y3) - (x * y2))))) t_10 = (z * t) - (x * y) tmp = 0 if y2 <= -2.15e+14: tmp = t_6 elif y2 <= -2.22e-82: tmp = y5 * ((i * t_2) + ((a * t_3) + (y0 * ((j * y3) - (k * y2))))) elif y2 <= -2.9e-166: tmp = k * (((y2 * t_1) - (z * ((i * y1) - (b * y0)))) - (y * ((b * y4) - (i * y5)))) elif y2 <= -2.35e-235: tmp = t_9 elif y2 <= 1.4e-299: tmp = i * ((y1 * t_8) + ((y5 * t_2) + (c * t_10))) elif y2 <= 4.1e-212: tmp = t_9 elif y2 <= 3.3e-117: tmp = y0 * (j * ((y3 * y5) - (x * b))) elif y2 <= 8e-17: tmp = c * (((i * t_10) + (y0 * ((x * y2) - (z * y3)))) + (y4 * ((y * y3) - (t * y2)))) elif y2 <= 1.12e+67: tmp = ((x * y2) * t_4) + ((t_7 * t_1) + (t_3 * t_5)) elif y2 <= 4.7e+111: tmp = y4 * (t * ((b * j) - (c * y2))) elif y2 <= 1.4e+211: tmp = t_6 else: tmp = t * (y2 * 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(y1 * y4) - Float64(y0 * y5)) t_2 = Float64(Float64(y * k) - Float64(t * j)) t_3 = Float64(Float64(t * y2) - Float64(y * y3)) t_4 = Float64(Float64(c * y0) - Float64(a * y1)) t_5 = Float64(Float64(a * y5) - Float64(c * y4)) t_6 = Float64(y2 * Float64(Float64(Float64(x * t_4) + Float64(k * t_1)) + Float64(t * t_5))) t_7 = Float64(Float64(k * y2) - Float64(j * y3)) t_8 = Float64(Float64(x * j) - Float64(z * k)) t_9 = Float64(y1 * Float64(Float64(y4 * t_7) + Float64(Float64(i * t_8) + Float64(a * Float64(Float64(z * y3) - Float64(x * y2)))))) t_10 = Float64(Float64(z * t) - Float64(x * y)) tmp = 0.0 if (y2 <= -2.15e+14) tmp = t_6; elseif (y2 <= -2.22e-82) tmp = Float64(y5 * Float64(Float64(i * t_2) + Float64(Float64(a * t_3) + Float64(y0 * Float64(Float64(j * y3) - Float64(k * y2)))))); elseif (y2 <= -2.9e-166) tmp = Float64(k * Float64(Float64(Float64(y2 * t_1) - Float64(z * Float64(Float64(i * y1) - Float64(b * y0)))) - Float64(y * Float64(Float64(b * y4) - Float64(i * y5))))); elseif (y2 <= -2.35e-235) tmp = t_9; elseif (y2 <= 1.4e-299) tmp = Float64(i * Float64(Float64(y1 * t_8) + Float64(Float64(y5 * t_2) + Float64(c * t_10)))); elseif (y2 <= 4.1e-212) tmp = t_9; elseif (y2 <= 3.3e-117) tmp = Float64(y0 * Float64(j * Float64(Float64(y3 * y5) - Float64(x * b)))); elseif (y2 <= 8e-17) tmp = Float64(c * Float64(Float64(Float64(i * t_10) + Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3)))) + Float64(y4 * Float64(Float64(y * y3) - Float64(t * y2))))); elseif (y2 <= 1.12e+67) tmp = Float64(Float64(Float64(x * y2) * t_4) + Float64(Float64(t_7 * t_1) + Float64(t_3 * t_5))); elseif (y2 <= 4.7e+111) tmp = Float64(y4 * Float64(t * Float64(Float64(b * j) - Float64(c * y2)))); elseif (y2 <= 1.4e+211) tmp = t_6; else tmp = Float64(t * Float64(y2 * 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 = (y1 * y4) - (y0 * y5); t_2 = (y * k) - (t * j); t_3 = (t * y2) - (y * y3); t_4 = (c * y0) - (a * y1); t_5 = (a * y5) - (c * y4); t_6 = y2 * (((x * t_4) + (k * t_1)) + (t * t_5)); t_7 = (k * y2) - (j * y3); t_8 = (x * j) - (z * k); t_9 = y1 * ((y4 * t_7) + ((i * t_8) + (a * ((z * y3) - (x * y2))))); t_10 = (z * t) - (x * y); tmp = 0.0; if (y2 <= -2.15e+14) tmp = t_6; elseif (y2 <= -2.22e-82) tmp = y5 * ((i * t_2) + ((a * t_3) + (y0 * ((j * y3) - (k * y2))))); elseif (y2 <= -2.9e-166) tmp = k * (((y2 * t_1) - (z * ((i * y1) - (b * y0)))) - (y * ((b * y4) - (i * y5)))); elseif (y2 <= -2.35e-235) tmp = t_9; elseif (y2 <= 1.4e-299) tmp = i * ((y1 * t_8) + ((y5 * t_2) + (c * t_10))); elseif (y2 <= 4.1e-212) tmp = t_9; elseif (y2 <= 3.3e-117) tmp = y0 * (j * ((y3 * y5) - (x * b))); elseif (y2 <= 8e-17) tmp = c * (((i * t_10) + (y0 * ((x * y2) - (z * y3)))) + (y4 * ((y * y3) - (t * y2)))); elseif (y2 <= 1.12e+67) tmp = ((x * y2) * t_4) + ((t_7 * t_1) + (t_3 * t_5)); elseif (y2 <= 4.7e+111) tmp = y4 * (t * ((b * j) - (c * y2))); elseif (y2 <= 1.4e+211) tmp = t_6; else tmp = t * (y2 * 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[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$6 = N[(y2 * N[(N[(N[(x * t$95$4), $MachinePrecision] + N[(k * t$95$1), $MachinePrecision]), $MachinePrecision] + N[(t * t$95$5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$7 = N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$8 = N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$9 = N[(y1 * N[(N[(y4 * t$95$7), $MachinePrecision] + N[(N[(i * t$95$8), $MachinePrecision] + N[(a * N[(N[(z * y3), $MachinePrecision] - N[(x * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$10 = N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y2, -2.15e+14], t$95$6, If[LessEqual[y2, -2.22e-82], N[(y5 * N[(N[(i * t$95$2), $MachinePrecision] + N[(N[(a * t$95$3), $MachinePrecision] + N[(y0 * N[(N[(j * y3), $MachinePrecision] - N[(k * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, -2.9e-166], N[(k * N[(N[(N[(y2 * t$95$1), $MachinePrecision] - N[(z * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(y * N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, -2.35e-235], t$95$9, If[LessEqual[y2, 1.4e-299], N[(i * N[(N[(y1 * t$95$8), $MachinePrecision] + N[(N[(y5 * t$95$2), $MachinePrecision] + N[(c * t$95$10), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 4.1e-212], t$95$9, If[LessEqual[y2, 3.3e-117], N[(y0 * N[(j * N[(N[(y3 * y5), $MachinePrecision] - N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 8e-17], N[(c * N[(N[(N[(i * t$95$10), $MachinePrecision] + N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y4 * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 1.12e+67], N[(N[(N[(x * y2), $MachinePrecision] * t$95$4), $MachinePrecision] + N[(N[(t$95$7 * t$95$1), $MachinePrecision] + N[(t$95$3 * t$95$5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 4.7e+111], N[(y4 * N[(t * N[(N[(b * j), $MachinePrecision] - N[(c * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 1.4e+211], t$95$6, N[(t * N[(y2 * t$95$5), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y1 \cdot y4 - y0 \cdot y5\\
t_2 := y \cdot k - t \cdot j\\
t_3 := t \cdot y2 - y \cdot y3\\
t_4 := c \cdot y0 - a \cdot y1\\
t_5 := a \cdot y5 - c \cdot y4\\
t_6 := y2 \cdot \left(\left(x \cdot t_4 + k \cdot t_1\right) + t \cdot t_5\right)\\
t_7 := k \cdot y2 - j \cdot y3\\
t_8 := x \cdot j - z \cdot k\\
t_9 := y1 \cdot \left(y4 \cdot t_7 + \left(i \cdot t_8 + a \cdot \left(z \cdot y3 - x \cdot y2\right)\right)\right)\\
t_10 := z \cdot t - x \cdot y\\
\mathbf{if}\;y2 \leq -2.15 \cdot 10^{+14}:\\
\;\;\;\;t_6\\
\mathbf{elif}\;y2 \leq -2.22 \cdot 10^{-82}:\\
\;\;\;\;y5 \cdot \left(i \cdot t_2 + \left(a \cdot t_3 + y0 \cdot \left(j \cdot y3 - k \cdot y2\right)\right)\right)\\
\mathbf{elif}\;y2 \leq -2.9 \cdot 10^{-166}:\\
\;\;\;\;k \cdot \left(\left(y2 \cdot t_1 - z \cdot \left(i \cdot y1 - b \cdot y0\right)\right) - y \cdot \left(b \cdot y4 - i \cdot y5\right)\right)\\
\mathbf{elif}\;y2 \leq -2.35 \cdot 10^{-235}:\\
\;\;\;\;t_9\\
\mathbf{elif}\;y2 \leq 1.4 \cdot 10^{-299}:\\
\;\;\;\;i \cdot \left(y1 \cdot t_8 + \left(y5 \cdot t_2 + c \cdot t_10\right)\right)\\
\mathbf{elif}\;y2 \leq 4.1 \cdot 10^{-212}:\\
\;\;\;\;t_9\\
\mathbf{elif}\;y2 \leq 3.3 \cdot 10^{-117}:\\
\;\;\;\;y0 \cdot \left(j \cdot \left(y3 \cdot y5 - x \cdot b\right)\right)\\
\mathbf{elif}\;y2 \leq 8 \cdot 10^{-17}:\\
\;\;\;\;c \cdot \left(\left(i \cdot t_10 + y0 \cdot \left(x \cdot y2 - z \cdot y3\right)\right) + y4 \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
\mathbf{elif}\;y2 \leq 1.12 \cdot 10^{+67}:\\
\;\;\;\;\left(x \cdot y2\right) \cdot t_4 + \left(t_7 \cdot t_1 + t_3 \cdot t_5\right)\\
\mathbf{elif}\;y2 \leq 4.7 \cdot 10^{+111}:\\
\;\;\;\;y4 \cdot \left(t \cdot \left(b \cdot j - c \cdot y2\right)\right)\\
\mathbf{elif}\;y2 \leq 1.4 \cdot 10^{+211}:\\
\;\;\;\;t_6\\
\mathbf{else}:\\
\;\;\;\;t \cdot \left(y2 \cdot t_5\right)\\
\end{array}
\end{array}
if y2 < -2.15e14 or 4.70000000000000008e111 < y2 < 1.4e211Initial program 25.0%
associate-+l-25.0%
Simplified25.0%
Taylor expanded in y2 around inf 66.9%
if -2.15e14 < y2 < -2.22000000000000011e-82Initial program 14.3%
associate-+l-14.3%
Simplified14.3%
Taylor expanded in y5 around -inf 60.6%
mul-1-neg60.6%
associate--l+60.6%
*-commutative60.6%
Simplified60.6%
if -2.22000000000000011e-82 < y2 < -2.9e-166Initial program 18.4%
+-commutative18.4%
fma-def18.4%
*-commutative18.4%
*-commutative18.4%
Simplified24.3%
Taylor expanded in k around inf 65.2%
if -2.9e-166 < y2 < -2.35e-235 or 1.4000000000000001e-299 < y2 < 4.10000000000000014e-212Initial program 44.6%
associate-+l-44.6%
Simplified44.6%
Taylor expanded in y1 around inf 60.9%
associate--l+60.9%
*-commutative60.9%
*-commutative60.9%
distribute-lft-out--60.9%
*-commutative60.9%
Simplified60.9%
if -2.35e-235 < y2 < 1.4000000000000001e-299Initial program 26.6%
associate-+l-26.6%
Simplified26.6%
Taylor expanded in i around -inf 58.5%
if 4.10000000000000014e-212 < y2 < 3.30000000000000015e-117Initial program 47.3%
+-commutative47.3%
fma-def47.3%
*-commutative47.3%
*-commutative47.3%
Simplified47.3%
Taylor expanded in j around inf 48.2%
Taylor expanded in y0 around inf 63.1%
if 3.30000000000000015e-117 < y2 < 8.00000000000000057e-17Initial program 13.6%
associate-+l-13.6%
Simplified13.6%
Taylor expanded in c around inf 69.1%
if 8.00000000000000057e-17 < y2 < 1.12e67Initial program 30.8%
associate-+l-30.8%
Simplified30.8%
Taylor expanded in y2 around inf 61.6%
*-commutative61.6%
*-commutative61.6%
*-commutative61.6%
Simplified61.6%
if 1.12e67 < y2 < 4.70000000000000008e111Initial program 0.0%
associate-+l-0.0%
Simplified0.0%
Taylor expanded in y4 around inf 33.8%
Taylor expanded in t around inf 83.8%
*-commutative83.8%
*-commutative83.8%
Simplified83.8%
if 1.4e211 < y2 Initial program 9.5%
associate-+l-9.5%
Simplified9.5%
Taylor expanded in y2 around inf 52.7%
Taylor expanded in t around -inf 71.8%
associate-*r*71.8%
neg-mul-171.8%
*-commutative71.8%
Simplified71.8%
Final simplification65.3%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* x y2) (* z y3)))
(t_2
(+
(+
(+
(+
(+
(* (- (* a b) (* c i)) (- (* x y) (* z t)))
(* (- (* x j) (* z k)) (- (* i y1) (* b y0))))
(* t_1 (- (* c y0) (* a y1))))
(* (- (* t j) (* y k)) (- (* b y4) (* i y5))))
(* (- (* t y2) (* y y3)) (- (* a y5) (* c y4))))
(* (- (* k y2) (* j y3)) (- (* y1 y4) (* y0 y5))))))
(if (<= t_2 INFINITY)
t_2
(*
y0
(+
(* c t_1)
(+ (* y5 (- (* j y3) (* k y2))) (* b (- (* z k) (* x j)))))))))
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 * y2) - (z * y3);
double t_2 = (((((((a * b) - (c * i)) * ((x * y) - (z * t))) + (((x * j) - (z * k)) * ((i * y1) - (b * y0)))) + (t_1 * ((c * y0) - (a * y1)))) + (((t * j) - (y * k)) * ((b * y4) - (i * y5)))) + (((t * y2) - (y * y3)) * ((a * y5) - (c * y4)))) + (((k * y2) - (j * y3)) * ((y1 * y4) - (y0 * y5)));
double tmp;
if (t_2 <= ((double) INFINITY)) {
tmp = t_2;
} else {
tmp = y0 * ((c * t_1) + ((y5 * ((j * y3) - (k * y2))) + (b * ((z * k) - (x * j)))));
}
return tmp;
}
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (x * y2) - (z * y3);
double t_2 = (((((((a * b) - (c * i)) * ((x * y) - (z * t))) + (((x * j) - (z * k)) * ((i * y1) - (b * y0)))) + (t_1 * ((c * y0) - (a * y1)))) + (((t * j) - (y * k)) * ((b * y4) - (i * y5)))) + (((t * y2) - (y * y3)) * ((a * y5) - (c * y4)))) + (((k * y2) - (j * y3)) * ((y1 * y4) - (y0 * y5)));
double tmp;
if (t_2 <= Double.POSITIVE_INFINITY) {
tmp = t_2;
} else {
tmp = y0 * ((c * t_1) + ((y5 * ((j * y3) - (k * y2))) + (b * ((z * k) - (x * j)))));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (x * y2) - (z * y3) t_2 = (((((((a * b) - (c * i)) * ((x * y) - (z * t))) + (((x * j) - (z * k)) * ((i * y1) - (b * y0)))) + (t_1 * ((c * y0) - (a * y1)))) + (((t * j) - (y * k)) * ((b * y4) - (i * y5)))) + (((t * y2) - (y * y3)) * ((a * y5) - (c * y4)))) + (((k * y2) - (j * y3)) * ((y1 * y4) - (y0 * y5))) tmp = 0 if t_2 <= math.inf: tmp = t_2 else: tmp = y0 * ((c * t_1) + ((y5 * ((j * y3) - (k * y2))) + (b * ((z * k) - (x * j))))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(x * y2) - Float64(z * y3)) t_2 = Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(a * b) - Float64(c * i)) * Float64(Float64(x * y) - Float64(z * t))) + Float64(Float64(Float64(x * j) - Float64(z * k)) * Float64(Float64(i * y1) - Float64(b * y0)))) + Float64(t_1 * Float64(Float64(c * y0) - Float64(a * y1)))) + Float64(Float64(Float64(t * j) - Float64(y * k)) * Float64(Float64(b * y4) - Float64(i * y5)))) + Float64(Float64(Float64(t * y2) - Float64(y * y3)) * Float64(Float64(a * y5) - Float64(c * y4)))) + Float64(Float64(Float64(k * y2) - Float64(j * y3)) * Float64(Float64(y1 * y4) - Float64(y0 * y5)))) tmp = 0.0 if (t_2 <= Inf) tmp = t_2; else tmp = Float64(y0 * Float64(Float64(c * t_1) + Float64(Float64(y5 * Float64(Float64(j * y3) - Float64(k * y2))) + Float64(b * Float64(Float64(z * k) - Float64(x * j)))))); 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 * y2) - (z * y3); t_2 = (((((((a * b) - (c * i)) * ((x * y) - (z * t))) + (((x * j) - (z * k)) * ((i * y1) - (b * y0)))) + (t_1 * ((c * y0) - (a * y1)))) + (((t * j) - (y * k)) * ((b * y4) - (i * y5)))) + (((t * y2) - (y * y3)) * ((a * y5) - (c * y4)))) + (((k * y2) - (j * y3)) * ((y1 * y4) - (y0 * y5))); tmp = 0.0; if (t_2 <= Inf) tmp = t_2; else tmp = y0 * ((c * t_1) + ((y5 * ((j * y3) - (k * y2))) + (b * ((z * k) - (x * j))))); 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[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(N[(N[(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[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision] * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(t$95$1 * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision] * N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $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[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision] * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$2, Infinity], t$95$2, N[(y0 * N[(N[(c * t$95$1), $MachinePrecision] + N[(N[(y5 * N[(N[(j * y3), $MachinePrecision] - N[(k * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(b * N[(N[(z * k), $MachinePrecision] - N[(x * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot y2 - z \cdot y3\\
t_2 := \left(\left(\left(\left(\left(a \cdot b - c \cdot i\right) \cdot \left(x \cdot y - z \cdot t\right) + \left(x \cdot j - z \cdot k\right) \cdot \left(i \cdot y1 - b \cdot y0\right)\right) + t_1 \cdot \left(c \cdot y0 - a \cdot y1\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(b \cdot y4 - i \cdot y5\right)\right) + \left(t \cdot y2 - y \cdot y3\right) \cdot \left(a \cdot y5 - c \cdot y4\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y1 \cdot y4 - y0 \cdot y5\right)\\
\mathbf{if}\;t_2 \leq \infty:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;y0 \cdot \left(c \cdot t_1 + \left(y5 \cdot \left(j \cdot y3 - k \cdot y2\right) + b \cdot \left(z \cdot k - x \cdot j\right)\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 86.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%
+-commutative0.0%
fma-def3.3%
*-commutative3.3%
*-commutative3.3%
Simplified9.4%
Taylor expanded in y0 around inf 39.1%
*-commutative39.1%
mul-1-neg39.1%
*-commutative39.1%
*-commutative39.1%
Simplified39.1%
Final simplification53.1%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* y1 y4) (* y0 y5)))
(t_2 (- (* y k) (* t j)))
(t_3 (- (* a y5) (* c y4)))
(t_4 (* y2 (+ (+ (* x (- (* c y0) (* a y1))) (* k t_1)) (* t t_3))))
(t_5 (- (* i y1) (* b y0)))
(t_6 (- (* x j) (* z k)))
(t_7
(*
y1
(+
(* y4 (- (* k y2) (* j y3)))
(+ (* i t_6) (* a (- (* z y3) (* x y2)))))))
(t_8 (- (* z t) (* x y))))
(if (<= y2 -2.4e+19)
t_4
(if (<= y2 -3.3e-83)
(*
y5
(+
(* i t_2)
(+ (* a (- (* t y2) (* y y3))) (* y0 (- (* j y3) (* k y2))))))
(if (<= y2 -4.2e-166)
(* k (- (- (* y2 t_1) (* z t_5)) (* y (- (* b y4) (* i y5)))))
(if (<= y2 -1.75e-238)
t_7
(if (<= y2 8e-300)
(* i (+ (* y1 t_6) (+ (* y5 t_2) (* c t_8))))
(if (<= y2 7.5e-212)
t_7
(if (<= y2 5.5e-117)
(* y0 (* j (- (* y3 y5) (* x b))))
(if (<= y2 5.5e-6)
(*
c
(+
(+ (* i t_8) (* y0 (- (* x y2) (* z y3))))
(* y4 (- (* y y3) (* t y2)))))
(if (<= y2 9e+51)
t_4
(if (<= y2 4.7e+111)
(* j (* x t_5))
(if (<= y2 1.9e+211) t_4 (* t (* y2 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 = (y1 * y4) - (y0 * y5);
double t_2 = (y * k) - (t * j);
double t_3 = (a * y5) - (c * y4);
double t_4 = y2 * (((x * ((c * y0) - (a * y1))) + (k * t_1)) + (t * t_3));
double t_5 = (i * y1) - (b * y0);
double t_6 = (x * j) - (z * k);
double t_7 = y1 * ((y4 * ((k * y2) - (j * y3))) + ((i * t_6) + (a * ((z * y3) - (x * y2)))));
double t_8 = (z * t) - (x * y);
double tmp;
if (y2 <= -2.4e+19) {
tmp = t_4;
} else if (y2 <= -3.3e-83) {
tmp = y5 * ((i * t_2) + ((a * ((t * y2) - (y * y3))) + (y0 * ((j * y3) - (k * y2)))));
} else if (y2 <= -4.2e-166) {
tmp = k * (((y2 * t_1) - (z * t_5)) - (y * ((b * y4) - (i * y5))));
} else if (y2 <= -1.75e-238) {
tmp = t_7;
} else if (y2 <= 8e-300) {
tmp = i * ((y1 * t_6) + ((y5 * t_2) + (c * t_8)));
} else if (y2 <= 7.5e-212) {
tmp = t_7;
} else if (y2 <= 5.5e-117) {
tmp = y0 * (j * ((y3 * y5) - (x * b)));
} else if (y2 <= 5.5e-6) {
tmp = c * (((i * t_8) + (y0 * ((x * y2) - (z * y3)))) + (y4 * ((y * y3) - (t * y2))));
} else if (y2 <= 9e+51) {
tmp = t_4;
} else if (y2 <= 4.7e+111) {
tmp = j * (x * t_5);
} else if (y2 <= 1.9e+211) {
tmp = t_4;
} else {
tmp = t * (y2 * 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) :: t_4
real(8) :: t_5
real(8) :: t_6
real(8) :: t_7
real(8) :: t_8
real(8) :: tmp
t_1 = (y1 * y4) - (y0 * y5)
t_2 = (y * k) - (t * j)
t_3 = (a * y5) - (c * y4)
t_4 = y2 * (((x * ((c * y0) - (a * y1))) + (k * t_1)) + (t * t_3))
t_5 = (i * y1) - (b * y0)
t_6 = (x * j) - (z * k)
t_7 = y1 * ((y4 * ((k * y2) - (j * y3))) + ((i * t_6) + (a * ((z * y3) - (x * y2)))))
t_8 = (z * t) - (x * y)
if (y2 <= (-2.4d+19)) then
tmp = t_4
else if (y2 <= (-3.3d-83)) then
tmp = y5 * ((i * t_2) + ((a * ((t * y2) - (y * y3))) + (y0 * ((j * y3) - (k * y2)))))
else if (y2 <= (-4.2d-166)) then
tmp = k * (((y2 * t_1) - (z * t_5)) - (y * ((b * y4) - (i * y5))))
else if (y2 <= (-1.75d-238)) then
tmp = t_7
else if (y2 <= 8d-300) then
tmp = i * ((y1 * t_6) + ((y5 * t_2) + (c * t_8)))
else if (y2 <= 7.5d-212) then
tmp = t_7
else if (y2 <= 5.5d-117) then
tmp = y0 * (j * ((y3 * y5) - (x * b)))
else if (y2 <= 5.5d-6) then
tmp = c * (((i * t_8) + (y0 * ((x * y2) - (z * y3)))) + (y4 * ((y * y3) - (t * y2))))
else if (y2 <= 9d+51) then
tmp = t_4
else if (y2 <= 4.7d+111) then
tmp = j * (x * t_5)
else if (y2 <= 1.9d+211) then
tmp = t_4
else
tmp = t * (y2 * 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 = (y1 * y4) - (y0 * y5);
double t_2 = (y * k) - (t * j);
double t_3 = (a * y5) - (c * y4);
double t_4 = y2 * (((x * ((c * y0) - (a * y1))) + (k * t_1)) + (t * t_3));
double t_5 = (i * y1) - (b * y0);
double t_6 = (x * j) - (z * k);
double t_7 = y1 * ((y4 * ((k * y2) - (j * y3))) + ((i * t_6) + (a * ((z * y3) - (x * y2)))));
double t_8 = (z * t) - (x * y);
double tmp;
if (y2 <= -2.4e+19) {
tmp = t_4;
} else if (y2 <= -3.3e-83) {
tmp = y5 * ((i * t_2) + ((a * ((t * y2) - (y * y3))) + (y0 * ((j * y3) - (k * y2)))));
} else if (y2 <= -4.2e-166) {
tmp = k * (((y2 * t_1) - (z * t_5)) - (y * ((b * y4) - (i * y5))));
} else if (y2 <= -1.75e-238) {
tmp = t_7;
} else if (y2 <= 8e-300) {
tmp = i * ((y1 * t_6) + ((y5 * t_2) + (c * t_8)));
} else if (y2 <= 7.5e-212) {
tmp = t_7;
} else if (y2 <= 5.5e-117) {
tmp = y0 * (j * ((y3 * y5) - (x * b)));
} else if (y2 <= 5.5e-6) {
tmp = c * (((i * t_8) + (y0 * ((x * y2) - (z * y3)))) + (y4 * ((y * y3) - (t * y2))));
} else if (y2 <= 9e+51) {
tmp = t_4;
} else if (y2 <= 4.7e+111) {
tmp = j * (x * t_5);
} else if (y2 <= 1.9e+211) {
tmp = t_4;
} else {
tmp = t * (y2 * t_3);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (y1 * y4) - (y0 * y5) t_2 = (y * k) - (t * j) t_3 = (a * y5) - (c * y4) t_4 = y2 * (((x * ((c * y0) - (a * y1))) + (k * t_1)) + (t * t_3)) t_5 = (i * y1) - (b * y0) t_6 = (x * j) - (z * k) t_7 = y1 * ((y4 * ((k * y2) - (j * y3))) + ((i * t_6) + (a * ((z * y3) - (x * y2))))) t_8 = (z * t) - (x * y) tmp = 0 if y2 <= -2.4e+19: tmp = t_4 elif y2 <= -3.3e-83: tmp = y5 * ((i * t_2) + ((a * ((t * y2) - (y * y3))) + (y0 * ((j * y3) - (k * y2))))) elif y2 <= -4.2e-166: tmp = k * (((y2 * t_1) - (z * t_5)) - (y * ((b * y4) - (i * y5)))) elif y2 <= -1.75e-238: tmp = t_7 elif y2 <= 8e-300: tmp = i * ((y1 * t_6) + ((y5 * t_2) + (c * t_8))) elif y2 <= 7.5e-212: tmp = t_7 elif y2 <= 5.5e-117: tmp = y0 * (j * ((y3 * y5) - (x * b))) elif y2 <= 5.5e-6: tmp = c * (((i * t_8) + (y0 * ((x * y2) - (z * y3)))) + (y4 * ((y * y3) - (t * y2)))) elif y2 <= 9e+51: tmp = t_4 elif y2 <= 4.7e+111: tmp = j * (x * t_5) elif y2 <= 1.9e+211: tmp = t_4 else: tmp = t * (y2 * 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(y1 * y4) - Float64(y0 * y5)) t_2 = Float64(Float64(y * k) - Float64(t * j)) t_3 = Float64(Float64(a * y5) - Float64(c * y4)) t_4 = Float64(y2 * Float64(Float64(Float64(x * Float64(Float64(c * y0) - Float64(a * y1))) + Float64(k * t_1)) + Float64(t * t_3))) t_5 = Float64(Float64(i * y1) - Float64(b * y0)) t_6 = Float64(Float64(x * j) - Float64(z * k)) t_7 = Float64(y1 * Float64(Float64(y4 * Float64(Float64(k * y2) - Float64(j * y3))) + Float64(Float64(i * t_6) + Float64(a * Float64(Float64(z * y3) - Float64(x * y2)))))) t_8 = Float64(Float64(z * t) - Float64(x * y)) tmp = 0.0 if (y2 <= -2.4e+19) tmp = t_4; elseif (y2 <= -3.3e-83) tmp = Float64(y5 * Float64(Float64(i * t_2) + Float64(Float64(a * Float64(Float64(t * y2) - Float64(y * y3))) + Float64(y0 * Float64(Float64(j * y3) - Float64(k * y2)))))); elseif (y2 <= -4.2e-166) tmp = Float64(k * Float64(Float64(Float64(y2 * t_1) - Float64(z * t_5)) - Float64(y * Float64(Float64(b * y4) - Float64(i * y5))))); elseif (y2 <= -1.75e-238) tmp = t_7; elseif (y2 <= 8e-300) tmp = Float64(i * Float64(Float64(y1 * t_6) + Float64(Float64(y5 * t_2) + Float64(c * t_8)))); elseif (y2 <= 7.5e-212) tmp = t_7; elseif (y2 <= 5.5e-117) tmp = Float64(y0 * Float64(j * Float64(Float64(y3 * y5) - Float64(x * b)))); elseif (y2 <= 5.5e-6) tmp = Float64(c * Float64(Float64(Float64(i * t_8) + Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3)))) + Float64(y4 * Float64(Float64(y * y3) - Float64(t * y2))))); elseif (y2 <= 9e+51) tmp = t_4; elseif (y2 <= 4.7e+111) tmp = Float64(j * Float64(x * t_5)); elseif (y2 <= 1.9e+211) tmp = t_4; else tmp = Float64(t * Float64(y2 * 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 = (y1 * y4) - (y0 * y5); t_2 = (y * k) - (t * j); t_3 = (a * y5) - (c * y4); t_4 = y2 * (((x * ((c * y0) - (a * y1))) + (k * t_1)) + (t * t_3)); t_5 = (i * y1) - (b * y0); t_6 = (x * j) - (z * k); t_7 = y1 * ((y4 * ((k * y2) - (j * y3))) + ((i * t_6) + (a * ((z * y3) - (x * y2))))); t_8 = (z * t) - (x * y); tmp = 0.0; if (y2 <= -2.4e+19) tmp = t_4; elseif (y2 <= -3.3e-83) tmp = y5 * ((i * t_2) + ((a * ((t * y2) - (y * y3))) + (y0 * ((j * y3) - (k * y2))))); elseif (y2 <= -4.2e-166) tmp = k * (((y2 * t_1) - (z * t_5)) - (y * ((b * y4) - (i * y5)))); elseif (y2 <= -1.75e-238) tmp = t_7; elseif (y2 <= 8e-300) tmp = i * ((y1 * t_6) + ((y5 * t_2) + (c * t_8))); elseif (y2 <= 7.5e-212) tmp = t_7; elseif (y2 <= 5.5e-117) tmp = y0 * (j * ((y3 * y5) - (x * b))); elseif (y2 <= 5.5e-6) tmp = c * (((i * t_8) + (y0 * ((x * y2) - (z * y3)))) + (y4 * ((y * y3) - (t * y2)))); elseif (y2 <= 9e+51) tmp = t_4; elseif (y2 <= 4.7e+111) tmp = j * (x * t_5); elseif (y2 <= 1.9e+211) tmp = t_4; else tmp = t * (y2 * 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[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(y2 * N[(N[(N[(x * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(k * t$95$1), $MachinePrecision]), $MachinePrecision] + N[(t * t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$6 = N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$7 = N[(y1 * N[(N[(y4 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(i * t$95$6), $MachinePrecision] + N[(a * N[(N[(z * y3), $MachinePrecision] - N[(x * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$8 = N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y2, -2.4e+19], t$95$4, If[LessEqual[y2, -3.3e-83], N[(y5 * N[(N[(i * t$95$2), $MachinePrecision] + N[(N[(a * N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y0 * N[(N[(j * y3), $MachinePrecision] - N[(k * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, -4.2e-166], N[(k * N[(N[(N[(y2 * t$95$1), $MachinePrecision] - N[(z * t$95$5), $MachinePrecision]), $MachinePrecision] - N[(y * N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, -1.75e-238], t$95$7, If[LessEqual[y2, 8e-300], N[(i * N[(N[(y1 * t$95$6), $MachinePrecision] + N[(N[(y5 * t$95$2), $MachinePrecision] + N[(c * t$95$8), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 7.5e-212], t$95$7, If[LessEqual[y2, 5.5e-117], N[(y0 * N[(j * N[(N[(y3 * y5), $MachinePrecision] - N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 5.5e-6], N[(c * N[(N[(N[(i * t$95$8), $MachinePrecision] + N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y4 * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 9e+51], t$95$4, If[LessEqual[y2, 4.7e+111], N[(j * N[(x * t$95$5), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 1.9e+211], t$95$4, N[(t * N[(y2 * t$95$3), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y1 \cdot y4 - y0 \cdot y5\\
t_2 := y \cdot k - t \cdot j\\
t_3 := a \cdot y5 - c \cdot y4\\
t_4 := y2 \cdot \left(\left(x \cdot \left(c \cdot y0 - a \cdot y1\right) + k \cdot t_1\right) + t \cdot t_3\right)\\
t_5 := i \cdot y1 - b \cdot y0\\
t_6 := x \cdot j - z \cdot k\\
t_7 := y1 \cdot \left(y4 \cdot \left(k \cdot y2 - j \cdot y3\right) + \left(i \cdot t_6 + a \cdot \left(z \cdot y3 - x \cdot y2\right)\right)\right)\\
t_8 := z \cdot t - x \cdot y\\
\mathbf{if}\;y2 \leq -2.4 \cdot 10^{+19}:\\
\;\;\;\;t_4\\
\mathbf{elif}\;y2 \leq -3.3 \cdot 10^{-83}:\\
\;\;\;\;y5 \cdot \left(i \cdot t_2 + \left(a \cdot \left(t \cdot y2 - y \cdot y3\right) + y0 \cdot \left(j \cdot y3 - k \cdot y2\right)\right)\right)\\
\mathbf{elif}\;y2 \leq -4.2 \cdot 10^{-166}:\\
\;\;\;\;k \cdot \left(\left(y2 \cdot t_1 - z \cdot t_5\right) - y \cdot \left(b \cdot y4 - i \cdot y5\right)\right)\\
\mathbf{elif}\;y2 \leq -1.75 \cdot 10^{-238}:\\
\;\;\;\;t_7\\
\mathbf{elif}\;y2 \leq 8 \cdot 10^{-300}:\\
\;\;\;\;i \cdot \left(y1 \cdot t_6 + \left(y5 \cdot t_2 + c \cdot t_8\right)\right)\\
\mathbf{elif}\;y2 \leq 7.5 \cdot 10^{-212}:\\
\;\;\;\;t_7\\
\mathbf{elif}\;y2 \leq 5.5 \cdot 10^{-117}:\\
\;\;\;\;y0 \cdot \left(j \cdot \left(y3 \cdot y5 - x \cdot b\right)\right)\\
\mathbf{elif}\;y2 \leq 5.5 \cdot 10^{-6}:\\
\;\;\;\;c \cdot \left(\left(i \cdot t_8 + y0 \cdot \left(x \cdot y2 - z \cdot y3\right)\right) + y4 \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
\mathbf{elif}\;y2 \leq 9 \cdot 10^{+51}:\\
\;\;\;\;t_4\\
\mathbf{elif}\;y2 \leq 4.7 \cdot 10^{+111}:\\
\;\;\;\;j \cdot \left(x \cdot t_5\right)\\
\mathbf{elif}\;y2 \leq 1.9 \cdot 10^{+211}:\\
\;\;\;\;t_4\\
\mathbf{else}:\\
\;\;\;\;t \cdot \left(y2 \cdot t_3\right)\\
\end{array}
\end{array}
if y2 < -2.4e19 or 5.4999999999999999e-6 < y2 < 8.9999999999999999e51 or 4.70000000000000008e111 < y2 < 1.90000000000000008e211Initial program 24.0%
associate-+l-24.0%
Simplified24.0%
Taylor expanded in y2 around inf 68.2%
if -2.4e19 < y2 < -3.2999999999999999e-83Initial program 14.3%
associate-+l-14.3%
Simplified14.3%
Taylor expanded in y5 around -inf 60.6%
mul-1-neg60.6%
associate--l+60.6%
*-commutative60.6%
Simplified60.6%
if -3.2999999999999999e-83 < y2 < -4.1999999999999999e-166Initial program 18.4%
+-commutative18.4%
fma-def18.4%
*-commutative18.4%
*-commutative18.4%
Simplified24.3%
Taylor expanded in k around inf 65.2%
if -4.1999999999999999e-166 < y2 < -1.74999999999999998e-238 or 8.0000000000000002e-300 < y2 < 7.50000000000000012e-212Initial program 44.6%
associate-+l-44.6%
Simplified44.6%
Taylor expanded in y1 around inf 60.9%
associate--l+60.9%
*-commutative60.9%
*-commutative60.9%
distribute-lft-out--60.9%
*-commutative60.9%
Simplified60.9%
if -1.74999999999999998e-238 < y2 < 8.0000000000000002e-300Initial program 26.6%
associate-+l-26.6%
Simplified26.6%
Taylor expanded in i around -inf 58.5%
if 7.50000000000000012e-212 < y2 < 5.50000000000000025e-117Initial program 47.3%
+-commutative47.3%
fma-def47.3%
*-commutative47.3%
*-commutative47.3%
Simplified47.3%
Taylor expanded in j around inf 48.2%
Taylor expanded in y0 around inf 63.1%
if 5.50000000000000025e-117 < y2 < 5.4999999999999999e-6Initial program 23.1%
associate-+l-23.1%
Simplified23.1%
Taylor expanded in c around inf 66.4%
if 8.9999999999999999e51 < y2 < 4.70000000000000008e111Initial program 16.7%
+-commutative16.7%
fma-def25.0%
*-commutative25.0%
*-commutative25.0%
Simplified25.0%
Taylor expanded in j around inf 42.0%
Taylor expanded in x around inf 50.9%
if 1.90000000000000008e211 < y2 Initial program 9.5%
associate-+l-9.5%
Simplified9.5%
Taylor expanded in y2 around inf 52.7%
Taylor expanded in t around -inf 71.8%
associate-*r*71.8%
neg-mul-171.8%
*-commutative71.8%
Simplified71.8%
Final simplification65.0%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1
(*
y4
(+
(+ (* b (- (* t j) (* y k))) (* y1 (- (* k y2) (* j y3))))
(* c (- (* y y3) (* t y2))))))
(t_2 (- (* c y0) (* a y1)))
(t_3
(*
x
(+
(+ (* y (- (* a b) (* c i))) (* y2 t_2))
(* j (- (* i y1) (* b y0)))))))
(if (<= y4 -1.85e+158)
t_1
(if (<= y4 -6.2e+108)
t_3
(if (<= y4 -5e+86)
(* y0 (* j (- (* y3 y5) (* x b))))
(if (<= y4 -9.8e-231)
(*
y2
(+
(+ (* x t_2) (* k (- (* y1 y4) (* y0 y5))))
(* t (- (* a y5) (* c y4)))))
(if (<= y4 7.4e-260)
t_3
(if (<= y4 5.2e-234)
(* z (* c (* y0 (- y3))))
(if (<= y4 2.2e-164)
(* i (* y (- (* k y5) (* x c))))
(if (<= y4 1.46e-114)
t_3
(if (<= y4 1.35e-59)
(* y5 (* i (- (* y k) (* t j))))
(if (<= y4 2.4e-31)
(* z (* y3 (- (* a y1) (* c 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 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))));
double t_2 = (c * y0) - (a * y1);
double t_3 = x * (((y * ((a * b) - (c * i))) + (y2 * t_2)) + (j * ((i * y1) - (b * y0))));
double tmp;
if (y4 <= -1.85e+158) {
tmp = t_1;
} else if (y4 <= -6.2e+108) {
tmp = t_3;
} else if (y4 <= -5e+86) {
tmp = y0 * (j * ((y3 * y5) - (x * b)));
} else if (y4 <= -9.8e-231) {
tmp = y2 * (((x * t_2) + (k * ((y1 * y4) - (y0 * y5)))) + (t * ((a * y5) - (c * y4))));
} else if (y4 <= 7.4e-260) {
tmp = t_3;
} else if (y4 <= 5.2e-234) {
tmp = z * (c * (y0 * -y3));
} else if (y4 <= 2.2e-164) {
tmp = i * (y * ((k * y5) - (x * c)));
} else if (y4 <= 1.46e-114) {
tmp = t_3;
} else if (y4 <= 1.35e-59) {
tmp = y5 * (i * ((y * k) - (t * j)));
} else if (y4 <= 2.4e-31) {
tmp = z * (y3 * ((a * y1) - (c * 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) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))))
t_2 = (c * y0) - (a * y1)
t_3 = x * (((y * ((a * b) - (c * i))) + (y2 * t_2)) + (j * ((i * y1) - (b * y0))))
if (y4 <= (-1.85d+158)) then
tmp = t_1
else if (y4 <= (-6.2d+108)) then
tmp = t_3
else if (y4 <= (-5d+86)) then
tmp = y0 * (j * ((y3 * y5) - (x * b)))
else if (y4 <= (-9.8d-231)) then
tmp = y2 * (((x * t_2) + (k * ((y1 * y4) - (y0 * y5)))) + (t * ((a * y5) - (c * y4))))
else if (y4 <= 7.4d-260) then
tmp = t_3
else if (y4 <= 5.2d-234) then
tmp = z * (c * (y0 * -y3))
else if (y4 <= 2.2d-164) then
tmp = i * (y * ((k * y5) - (x * c)))
else if (y4 <= 1.46d-114) then
tmp = t_3
else if (y4 <= 1.35d-59) then
tmp = y5 * (i * ((y * k) - (t * j)))
else if (y4 <= 2.4d-31) then
tmp = z * (y3 * ((a * y1) - (c * 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 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2))));
double t_2 = (c * y0) - (a * y1);
double t_3 = x * (((y * ((a * b) - (c * i))) + (y2 * t_2)) + (j * ((i * y1) - (b * y0))));
double tmp;
if (y4 <= -1.85e+158) {
tmp = t_1;
} else if (y4 <= -6.2e+108) {
tmp = t_3;
} else if (y4 <= -5e+86) {
tmp = y0 * (j * ((y3 * y5) - (x * b)));
} else if (y4 <= -9.8e-231) {
tmp = y2 * (((x * t_2) + (k * ((y1 * y4) - (y0 * y5)))) + (t * ((a * y5) - (c * y4))));
} else if (y4 <= 7.4e-260) {
tmp = t_3;
} else if (y4 <= 5.2e-234) {
tmp = z * (c * (y0 * -y3));
} else if (y4 <= 2.2e-164) {
tmp = i * (y * ((k * y5) - (x * c)));
} else if (y4 <= 1.46e-114) {
tmp = t_3;
} else if (y4 <= 1.35e-59) {
tmp = y5 * (i * ((y * k) - (t * j)));
} else if (y4 <= 2.4e-31) {
tmp = z * (y3 * ((a * y1) - (c * 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 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2)))) t_2 = (c * y0) - (a * y1) t_3 = x * (((y * ((a * b) - (c * i))) + (y2 * t_2)) + (j * ((i * y1) - (b * y0)))) tmp = 0 if y4 <= -1.85e+158: tmp = t_1 elif y4 <= -6.2e+108: tmp = t_3 elif y4 <= -5e+86: tmp = y0 * (j * ((y3 * y5) - (x * b))) elif y4 <= -9.8e-231: tmp = y2 * (((x * t_2) + (k * ((y1 * y4) - (y0 * y5)))) + (t * ((a * y5) - (c * y4)))) elif y4 <= 7.4e-260: tmp = t_3 elif y4 <= 5.2e-234: tmp = z * (c * (y0 * -y3)) elif y4 <= 2.2e-164: tmp = i * (y * ((k * y5) - (x * c))) elif y4 <= 1.46e-114: tmp = t_3 elif y4 <= 1.35e-59: tmp = y5 * (i * ((y * k) - (t * j))) elif y4 <= 2.4e-31: tmp = z * (y3 * ((a * y1) - (c * 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(y4 * Float64(Float64(Float64(b * Float64(Float64(t * j) - Float64(y * k))) + Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))) + Float64(c * Float64(Float64(y * y3) - Float64(t * y2))))) t_2 = Float64(Float64(c * y0) - Float64(a * y1)) t_3 = Float64(x * Float64(Float64(Float64(y * Float64(Float64(a * b) - Float64(c * i))) + Float64(y2 * t_2)) + Float64(j * Float64(Float64(i * y1) - Float64(b * y0))))) tmp = 0.0 if (y4 <= -1.85e+158) tmp = t_1; elseif (y4 <= -6.2e+108) tmp = t_3; elseif (y4 <= -5e+86) tmp = Float64(y0 * Float64(j * Float64(Float64(y3 * y5) - Float64(x * b)))); elseif (y4 <= -9.8e-231) tmp = Float64(y2 * Float64(Float64(Float64(x * t_2) + Float64(k * Float64(Float64(y1 * y4) - Float64(y0 * y5)))) + Float64(t * Float64(Float64(a * y5) - Float64(c * y4))))); elseif (y4 <= 7.4e-260) tmp = t_3; elseif (y4 <= 5.2e-234) tmp = Float64(z * Float64(c * Float64(y0 * Float64(-y3)))); elseif (y4 <= 2.2e-164) tmp = Float64(i * Float64(y * Float64(Float64(k * y5) - Float64(x * c)))); elseif (y4 <= 1.46e-114) tmp = t_3; elseif (y4 <= 1.35e-59) tmp = Float64(y5 * Float64(i * Float64(Float64(y * k) - Float64(t * j)))); elseif (y4 <= 2.4e-31) tmp = Float64(z * Float64(y3 * Float64(Float64(a * y1) - Float64(c * 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 = y4 * (((b * ((t * j) - (y * k))) + (y1 * ((k * y2) - (j * y3)))) + (c * ((y * y3) - (t * y2)))); t_2 = (c * y0) - (a * y1); t_3 = x * (((y * ((a * b) - (c * i))) + (y2 * t_2)) + (j * ((i * y1) - (b * y0)))); tmp = 0.0; if (y4 <= -1.85e+158) tmp = t_1; elseif (y4 <= -6.2e+108) tmp = t_3; elseif (y4 <= -5e+86) tmp = y0 * (j * ((y3 * y5) - (x * b))); elseif (y4 <= -9.8e-231) tmp = y2 * (((x * t_2) + (k * ((y1 * y4) - (y0 * y5)))) + (t * ((a * y5) - (c * y4)))); elseif (y4 <= 7.4e-260) tmp = t_3; elseif (y4 <= 5.2e-234) tmp = z * (c * (y0 * -y3)); elseif (y4 <= 2.2e-164) tmp = i * (y * ((k * y5) - (x * c))); elseif (y4 <= 1.46e-114) tmp = t_3; elseif (y4 <= 1.35e-59) tmp = y5 * (i * ((y * k) - (t * j))); elseif (y4 <= 2.4e-31) tmp = z * (y3 * ((a * y1) - (c * 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[(y4 * N[(N[(N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(c * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $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 * t$95$2), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y4, -1.85e+158], t$95$1, If[LessEqual[y4, -6.2e+108], t$95$3, If[LessEqual[y4, -5e+86], N[(y0 * N[(j * N[(N[(y3 * y5), $MachinePrecision] - N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y4, -9.8e-231], N[(y2 * N[(N[(N[(x * t$95$2), $MachinePrecision] + N[(k * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(t * N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y4, 7.4e-260], t$95$3, If[LessEqual[y4, 5.2e-234], N[(z * N[(c * N[(y0 * (-y3)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y4, 2.2e-164], N[(i * N[(y * N[(N[(k * y5), $MachinePrecision] - N[(x * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y4, 1.46e-114], t$95$3, If[LessEqual[y4, 1.35e-59], N[(y5 * N[(i * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y4, 2.4e-31], N[(z * N[(y3 * N[(N[(a * y1), $MachinePrecision] - N[(c * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y4 \cdot \left(\left(b \cdot \left(t \cdot j - y \cdot k\right) + y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right) + c \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
t_2 := c \cdot y0 - a \cdot y1\\
t_3 := x \cdot \left(\left(y \cdot \left(a \cdot b - c \cdot i\right) + y2 \cdot t_2\right) + j \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{if}\;y4 \leq -1.85 \cdot 10^{+158}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y4 \leq -6.2 \cdot 10^{+108}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;y4 \leq -5 \cdot 10^{+86}:\\
\;\;\;\;y0 \cdot \left(j \cdot \left(y3 \cdot y5 - x \cdot b\right)\right)\\
\mathbf{elif}\;y4 \leq -9.8 \cdot 10^{-231}:\\
\;\;\;\;y2 \cdot \left(\left(x \cdot t_2 + k \cdot \left(y1 \cdot y4 - y0 \cdot y5\right)\right) + t \cdot \left(a \cdot y5 - c \cdot y4\right)\right)\\
\mathbf{elif}\;y4 \leq 7.4 \cdot 10^{-260}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;y4 \leq 5.2 \cdot 10^{-234}:\\
\;\;\;\;z \cdot \left(c \cdot \left(y0 \cdot \left(-y3\right)\right)\right)\\
\mathbf{elif}\;y4 \leq 2.2 \cdot 10^{-164}:\\
\;\;\;\;i \cdot \left(y \cdot \left(k \cdot y5 - x \cdot c\right)\right)\\
\mathbf{elif}\;y4 \leq 1.46 \cdot 10^{-114}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;y4 \leq 1.35 \cdot 10^{-59}:\\
\;\;\;\;y5 \cdot \left(i \cdot \left(y \cdot k - t \cdot j\right)\right)\\
\mathbf{elif}\;y4 \leq 2.4 \cdot 10^{-31}:\\
\;\;\;\;z \cdot \left(y3 \cdot \left(a \cdot y1 - c \cdot y0\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if y4 < -1.85000000000000005e158 or 2.4e-31 < y4 Initial program 29.2%
associate-+l-29.2%
Simplified29.2%
Taylor expanded in y4 around inf 63.7%
if -1.85000000000000005e158 < y4 < -6.2000000000000003e108 or -9.80000000000000007e-231 < y4 < 7.4000000000000004e-260 or 2.19999999999999988e-164 < y4 < 1.45999999999999993e-114Initial program 17.6%
associate-+l-17.6%
Simplified17.6%
Taylor expanded in x around inf 61.0%
if -6.2000000000000003e108 < y4 < -4.9999999999999998e86Initial program 33.1%
+-commutative33.1%
fma-def33.1%
*-commutative33.1%
*-commutative33.1%
Simplified33.1%
Taylor expanded in j around inf 18.1%
Taylor expanded in y0 around inf 83.6%
if -4.9999999999999998e86 < y4 < -9.80000000000000007e-231Initial program 26.7%
associate-+l-26.7%
Simplified26.7%
Taylor expanded in y2 around inf 48.5%
if 7.4000000000000004e-260 < y4 < 5.19999999999999978e-234Initial program 33.1%
associate-+l-33.1%
Simplified33.1%
Taylor expanded in z around -inf 34.5%
mul-1-neg34.5%
*-commutative34.5%
associate--l+34.5%
*-commutative34.5%
*-commutative34.5%
*-commutative34.5%
*-commutative34.5%
*-commutative34.5%
*-commutative34.5%
*-commutative34.5%
*-commutative34.5%
Simplified34.5%
Taylor expanded in y3 around inf 51.8%
*-commutative51.8%
Simplified51.8%
Taylor expanded in y0 around inf 67.6%
*-commutative67.6%
*-commutative67.6%
Simplified67.6%
if 5.19999999999999978e-234 < y4 < 2.19999999999999988e-164Initial program 15.4%
associate-+l-15.4%
Simplified15.4%
Taylor expanded in i around -inf 38.5%
Taylor expanded in y around inf 69.7%
+-commutative69.7%
mul-1-neg69.7%
unsub-neg69.7%
*-commutative69.7%
Simplified69.7%
if 1.45999999999999993e-114 < y4 < 1.3499999999999999e-59Initial program 46.2%
associate-+l-46.2%
Simplified46.2%
Taylor expanded in y5 around -inf 61.6%
mul-1-neg61.6%
associate--l+61.6%
*-commutative61.6%
Simplified61.6%
Taylor expanded in i around inf 47.2%
associate-*r*54.4%
*-commutative54.4%
*-commutative54.4%
*-commutative54.4%
Simplified54.4%
if 1.3499999999999999e-59 < y4 < 2.4e-31Initial program 1.2%
associate-+l-1.2%
Simplified1.2%
Taylor expanded in z around -inf 35.1%
mul-1-neg35.1%
*-commutative35.1%
associate--l+35.1%
*-commutative35.1%
*-commutative35.1%
*-commutative35.1%
*-commutative35.1%
*-commutative35.1%
*-commutative35.1%
*-commutative35.1%
*-commutative35.1%
Simplified35.1%
Taylor expanded in y3 around inf 68.1%
*-commutative68.1%
Simplified68.1%
Final simplification59.9%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1
(*
y
(+
(* k (- (* i y5) (* b y4)))
(+ (* x (- (* a b) (* c i))) (* y3 (- (* c y4) (* a y5)))))))
(t_2 (- (* a y5) (* c y4)))
(t_3
(*
y2
(+
(+ (* x (- (* c y0) (* a y1))) (* k (- (* y1 y4) (* y0 y5))))
(* t t_2)))))
(if (<= y2 -4.7e+15)
t_3
(if (<= y2 -2.2e-145)
(*
y5
(+
(* i (- (* y k) (* t j)))
(+ (* a (- (* t y2) (* y y3))) (* y0 (- (* j y3) (* k y2))))))
(if (<= y2 1.25e-220)
t_1
(if (<= y2 6e-124)
(* y0 (* j (- (* y3 y5) (* x b))))
(if (<= y2 1.4e-80)
(* i (* y (- (* k y5) (* x c))))
(if (<= y2 5.9e-36)
(* y0 (* y3 (* j y5)))
(if (<= y2 8200.0)
t_1
(if (<= y2 8.6e+51)
t_3
(if (<= y2 4.5e+112)
(* j (* x (- (* i y1) (* b y0))))
(if (<= y2 6.6e+210) t_3 (* t (* y2 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 = y * ((k * ((i * y5) - (b * y4))) + ((x * ((a * b) - (c * i))) + (y3 * ((c * y4) - (a * y5)))));
double t_2 = (a * y5) - (c * y4);
double t_3 = y2 * (((x * ((c * y0) - (a * y1))) + (k * ((y1 * y4) - (y0 * y5)))) + (t * t_2));
double tmp;
if (y2 <= -4.7e+15) {
tmp = t_3;
} else if (y2 <= -2.2e-145) {
tmp = y5 * ((i * ((y * k) - (t * j))) + ((a * ((t * y2) - (y * y3))) + (y0 * ((j * y3) - (k * y2)))));
} else if (y2 <= 1.25e-220) {
tmp = t_1;
} else if (y2 <= 6e-124) {
tmp = y0 * (j * ((y3 * y5) - (x * b)));
} else if (y2 <= 1.4e-80) {
tmp = i * (y * ((k * y5) - (x * c)));
} else if (y2 <= 5.9e-36) {
tmp = y0 * (y3 * (j * y5));
} else if (y2 <= 8200.0) {
tmp = t_1;
} else if (y2 <= 8.6e+51) {
tmp = t_3;
} else if (y2 <= 4.5e+112) {
tmp = j * (x * ((i * y1) - (b * y0)));
} else if (y2 <= 6.6e+210) {
tmp = t_3;
} else {
tmp = t * (y2 * 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) :: tmp
t_1 = y * ((k * ((i * y5) - (b * y4))) + ((x * ((a * b) - (c * i))) + (y3 * ((c * y4) - (a * y5)))))
t_2 = (a * y5) - (c * y4)
t_3 = y2 * (((x * ((c * y0) - (a * y1))) + (k * ((y1 * y4) - (y0 * y5)))) + (t * t_2))
if (y2 <= (-4.7d+15)) then
tmp = t_3
else if (y2 <= (-2.2d-145)) then
tmp = y5 * ((i * ((y * k) - (t * j))) + ((a * ((t * y2) - (y * y3))) + (y0 * ((j * y3) - (k * y2)))))
else if (y2 <= 1.25d-220) then
tmp = t_1
else if (y2 <= 6d-124) then
tmp = y0 * (j * ((y3 * y5) - (x * b)))
else if (y2 <= 1.4d-80) then
tmp = i * (y * ((k * y5) - (x * c)))
else if (y2 <= 5.9d-36) then
tmp = y0 * (y3 * (j * y5))
else if (y2 <= 8200.0d0) then
tmp = t_1
else if (y2 <= 8.6d+51) then
tmp = t_3
else if (y2 <= 4.5d+112) then
tmp = j * (x * ((i * y1) - (b * y0)))
else if (y2 <= 6.6d+210) then
tmp = t_3
else
tmp = t * (y2 * 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 = y * ((k * ((i * y5) - (b * y4))) + ((x * ((a * b) - (c * i))) + (y3 * ((c * y4) - (a * y5)))));
double t_2 = (a * y5) - (c * y4);
double t_3 = y2 * (((x * ((c * y0) - (a * y1))) + (k * ((y1 * y4) - (y0 * y5)))) + (t * t_2));
double tmp;
if (y2 <= -4.7e+15) {
tmp = t_3;
} else if (y2 <= -2.2e-145) {
tmp = y5 * ((i * ((y * k) - (t * j))) + ((a * ((t * y2) - (y * y3))) + (y0 * ((j * y3) - (k * y2)))));
} else if (y2 <= 1.25e-220) {
tmp = t_1;
} else if (y2 <= 6e-124) {
tmp = y0 * (j * ((y3 * y5) - (x * b)));
} else if (y2 <= 1.4e-80) {
tmp = i * (y * ((k * y5) - (x * c)));
} else if (y2 <= 5.9e-36) {
tmp = y0 * (y3 * (j * y5));
} else if (y2 <= 8200.0) {
tmp = t_1;
} else if (y2 <= 8.6e+51) {
tmp = t_3;
} else if (y2 <= 4.5e+112) {
tmp = j * (x * ((i * y1) - (b * y0)));
} else if (y2 <= 6.6e+210) {
tmp = t_3;
} else {
tmp = t * (y2 * t_2);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = y * ((k * ((i * y5) - (b * y4))) + ((x * ((a * b) - (c * i))) + (y3 * ((c * y4) - (a * y5))))) t_2 = (a * y5) - (c * y4) t_3 = y2 * (((x * ((c * y0) - (a * y1))) + (k * ((y1 * y4) - (y0 * y5)))) + (t * t_2)) tmp = 0 if y2 <= -4.7e+15: tmp = t_3 elif y2 <= -2.2e-145: tmp = y5 * ((i * ((y * k) - (t * j))) + ((a * ((t * y2) - (y * y3))) + (y0 * ((j * y3) - (k * y2))))) elif y2 <= 1.25e-220: tmp = t_1 elif y2 <= 6e-124: tmp = y0 * (j * ((y3 * y5) - (x * b))) elif y2 <= 1.4e-80: tmp = i * (y * ((k * y5) - (x * c))) elif y2 <= 5.9e-36: tmp = y0 * (y3 * (j * y5)) elif y2 <= 8200.0: tmp = t_1 elif y2 <= 8.6e+51: tmp = t_3 elif y2 <= 4.5e+112: tmp = j * (x * ((i * y1) - (b * y0))) elif y2 <= 6.6e+210: tmp = t_3 else: tmp = t * (y2 * 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(y * Float64(Float64(k * Float64(Float64(i * y5) - Float64(b * y4))) + Float64(Float64(x * Float64(Float64(a * b) - Float64(c * i))) + Float64(y3 * Float64(Float64(c * y4) - Float64(a * y5)))))) t_2 = Float64(Float64(a * y5) - Float64(c * y4)) t_3 = Float64(y2 * Float64(Float64(Float64(x * Float64(Float64(c * y0) - Float64(a * y1))) + Float64(k * Float64(Float64(y1 * y4) - Float64(y0 * y5)))) + Float64(t * t_2))) tmp = 0.0 if (y2 <= -4.7e+15) tmp = t_3; elseif (y2 <= -2.2e-145) tmp = Float64(y5 * Float64(Float64(i * Float64(Float64(y * k) - Float64(t * j))) + Float64(Float64(a * Float64(Float64(t * y2) - Float64(y * y3))) + Float64(y0 * Float64(Float64(j * y3) - Float64(k * y2)))))); elseif (y2 <= 1.25e-220) tmp = t_1; elseif (y2 <= 6e-124) tmp = Float64(y0 * Float64(j * Float64(Float64(y3 * y5) - Float64(x * b)))); elseif (y2 <= 1.4e-80) tmp = Float64(i * Float64(y * Float64(Float64(k * y5) - Float64(x * c)))); elseif (y2 <= 5.9e-36) tmp = Float64(y0 * Float64(y3 * Float64(j * y5))); elseif (y2 <= 8200.0) tmp = t_1; elseif (y2 <= 8.6e+51) tmp = t_3; elseif (y2 <= 4.5e+112) tmp = Float64(j * Float64(x * Float64(Float64(i * y1) - Float64(b * y0)))); elseif (y2 <= 6.6e+210) tmp = t_3; else tmp = Float64(t * Float64(y2 * 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 = y * ((k * ((i * y5) - (b * y4))) + ((x * ((a * b) - (c * i))) + (y3 * ((c * y4) - (a * y5))))); t_2 = (a * y5) - (c * y4); t_3 = y2 * (((x * ((c * y0) - (a * y1))) + (k * ((y1 * y4) - (y0 * y5)))) + (t * t_2)); tmp = 0.0; if (y2 <= -4.7e+15) tmp = t_3; elseif (y2 <= -2.2e-145) tmp = y5 * ((i * ((y * k) - (t * j))) + ((a * ((t * y2) - (y * y3))) + (y0 * ((j * y3) - (k * y2))))); elseif (y2 <= 1.25e-220) tmp = t_1; elseif (y2 <= 6e-124) tmp = y0 * (j * ((y3 * y5) - (x * b))); elseif (y2 <= 1.4e-80) tmp = i * (y * ((k * y5) - (x * c))); elseif (y2 <= 5.9e-36) tmp = y0 * (y3 * (j * y5)); elseif (y2 <= 8200.0) tmp = t_1; elseif (y2 <= 8.6e+51) tmp = t_3; elseif (y2 <= 4.5e+112) tmp = j * (x * ((i * y1) - (b * y0))); elseif (y2 <= 6.6e+210) tmp = t_3; else tmp = t * (y2 * 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[(y * N[(N[(k * N[(N[(i * y5), $MachinePrecision] - N[(b * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(x * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y3 * N[(N[(c * y4), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(y2 * N[(N[(N[(x * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(k * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(t * t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y2, -4.7e+15], t$95$3, If[LessEqual[y2, -2.2e-145], N[(y5 * N[(N[(i * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(a * N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y0 * N[(N[(j * y3), $MachinePrecision] - N[(k * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 1.25e-220], t$95$1, If[LessEqual[y2, 6e-124], N[(y0 * N[(j * N[(N[(y3 * y5), $MachinePrecision] - N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 1.4e-80], N[(i * N[(y * N[(N[(k * y5), $MachinePrecision] - N[(x * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 5.9e-36], N[(y0 * N[(y3 * N[(j * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 8200.0], t$95$1, If[LessEqual[y2, 8.6e+51], t$95$3, If[LessEqual[y2, 4.5e+112], N[(j * N[(x * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 6.6e+210], t$95$3, N[(t * N[(y2 * t$95$2), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \left(k \cdot \left(i \cdot y5 - b \cdot y4\right) + \left(x \cdot \left(a \cdot b - c \cdot i\right) + y3 \cdot \left(c \cdot y4 - a \cdot y5\right)\right)\right)\\
t_2 := a \cdot y5 - c \cdot y4\\
t_3 := y2 \cdot \left(\left(x \cdot \left(c \cdot y0 - a \cdot y1\right) + k \cdot \left(y1 \cdot y4 - y0 \cdot y5\right)\right) + t \cdot t_2\right)\\
\mathbf{if}\;y2 \leq -4.7 \cdot 10^{+15}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;y2 \leq -2.2 \cdot 10^{-145}:\\
\;\;\;\;y5 \cdot \left(i \cdot \left(y \cdot k - t \cdot j\right) + \left(a \cdot \left(t \cdot y2 - y \cdot y3\right) + y0 \cdot \left(j \cdot y3 - k \cdot y2\right)\right)\right)\\
\mathbf{elif}\;y2 \leq 1.25 \cdot 10^{-220}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y2 \leq 6 \cdot 10^{-124}:\\
\;\;\;\;y0 \cdot \left(j \cdot \left(y3 \cdot y5 - x \cdot b\right)\right)\\
\mathbf{elif}\;y2 \leq 1.4 \cdot 10^{-80}:\\
\;\;\;\;i \cdot \left(y \cdot \left(k \cdot y5 - x \cdot c\right)\right)\\
\mathbf{elif}\;y2 \leq 5.9 \cdot 10^{-36}:\\
\;\;\;\;y0 \cdot \left(y3 \cdot \left(j \cdot y5\right)\right)\\
\mathbf{elif}\;y2 \leq 8200:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y2 \leq 8.6 \cdot 10^{+51}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;y2 \leq 4.5 \cdot 10^{+112}:\\
\;\;\;\;j \cdot \left(x \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{elif}\;y2 \leq 6.6 \cdot 10^{+210}:\\
\;\;\;\;t_3\\
\mathbf{else}:\\
\;\;\;\;t \cdot \left(y2 \cdot t_2\right)\\
\end{array}
\end{array}
if y2 < -4.7e15 or 8200 < y2 < 8.5999999999999994e51 or 4.4999999999999999e112 < y2 < 6.5999999999999999e210Initial program 24.7%
associate-+l-24.7%
Simplified24.7%
Taylor expanded in y2 around inf 69.2%
if -4.7e15 < y2 < -2.19999999999999999e-145Initial program 11.2%
associate-+l-11.2%
Simplified11.2%
Taylor expanded in y5 around -inf 48.9%
mul-1-neg48.9%
associate--l+48.9%
*-commutative48.9%
Simplified48.9%
if -2.19999999999999999e-145 < y2 < 1.25e-220 or 5.89999999999999995e-36 < y2 < 8200Initial program 38.3%
+-commutative38.3%
fma-def43.8%
*-commutative43.8%
*-commutative43.8%
Simplified43.8%
Taylor expanded in y around inf 51.7%
mul-1-neg51.7%
*-commutative51.7%
*-commutative51.7%
*-commutative51.7%
*-commutative51.7%
Simplified51.7%
if 1.25e-220 < y2 < 6e-124Initial program 38.8%
+-commutative38.8%
fma-def38.8%
*-commutative38.8%
*-commutative38.8%
Simplified38.8%
Taylor expanded in j around inf 34.3%
Taylor expanded in y0 around inf 61.1%
if 6e-124 < y2 < 1.39999999999999995e-80Initial program 41.7%
associate-+l-41.7%
Simplified41.7%
Taylor expanded in i around -inf 66.7%
Taylor expanded in y around inf 75.6%
+-commutative75.6%
mul-1-neg75.6%
unsub-neg75.6%
*-commutative75.6%
Simplified75.6%
if 1.39999999999999995e-80 < y2 < 5.89999999999999995e-36Initial program 8.3%
+-commutative8.3%
fma-def8.3%
*-commutative8.3%
*-commutative8.3%
Simplified8.3%
Taylor expanded in j around inf 51.5%
Taylor expanded in y5 around inf 52.2%
*-commutative52.2%
mul-1-neg52.2%
unsub-neg52.2%
*-commutative52.2%
Simplified52.2%
Taylor expanded in y0 around inf 67.1%
*-commutative67.1%
Simplified67.1%
if 8.5999999999999994e51 < y2 < 4.4999999999999999e112Initial program 16.7%
+-commutative16.7%
fma-def25.0%
*-commutative25.0%
*-commutative25.0%
Simplified25.0%
Taylor expanded in j around inf 42.0%
Taylor expanded in x around inf 50.9%
if 6.5999999999999999e210 < y2 Initial program 9.5%
associate-+l-9.5%
Simplified9.5%
Taylor expanded in y2 around inf 52.7%
Taylor expanded in t around -inf 71.8%
associate-*r*71.8%
neg-mul-171.8%
*-commutative71.8%
Simplified71.8%
Final simplification62.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* y k) (* t j)))
(t_2 (- (* a y5) (* c y4)))
(t_3
(*
y2
(+
(+ (* x (- (* c y0) (* a y1))) (* k (- (* y1 y4) (* y0 y5))))
(* t t_2)))))
(if (<= y2 -1.15e+23)
t_3
(if (<= y2 -9.5e-241)
(*
y5
(+
(* i t_1)
(+ (* a (- (* t y2) (* y y3))) (* y0 (- (* j y3) (* k y2))))))
(if (<= y2 6.2e-220)
(*
i
(+
(* y1 (- (* x j) (* z k)))
(+ (* y5 t_1) (* c (- (* z t) (* x y))))))
(if (<= y2 4e-126)
(* y0 (* j (- (* y3 y5) (* x b))))
(if (<= y2 4.7e-80)
(* i (* y (- (* k y5) (* x c))))
(if (<= y2 7.2e-36)
(* y0 (* y3 (* j y5)))
(if (<= y2 43000.0)
(*
y
(+
(* k (- (* i y5) (* b y4)))
(+ (* x (- (* a b) (* c i))) (* y3 (- (* c y4) (* a y5))))))
(if (<= y2 7.5e+50)
t_3
(if (<= y2 3.4e+118)
(* j (* x (- (* i y1) (* b y0))))
(if (<= y2 5e+211) t_3 (* t (* y2 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 = (y * k) - (t * j);
double t_2 = (a * y5) - (c * y4);
double t_3 = y2 * (((x * ((c * y0) - (a * y1))) + (k * ((y1 * y4) - (y0 * y5)))) + (t * t_2));
double tmp;
if (y2 <= -1.15e+23) {
tmp = t_3;
} else if (y2 <= -9.5e-241) {
tmp = y5 * ((i * t_1) + ((a * ((t * y2) - (y * y3))) + (y0 * ((j * y3) - (k * y2)))));
} else if (y2 <= 6.2e-220) {
tmp = i * ((y1 * ((x * j) - (z * k))) + ((y5 * t_1) + (c * ((z * t) - (x * y)))));
} else if (y2 <= 4e-126) {
tmp = y0 * (j * ((y3 * y5) - (x * b)));
} else if (y2 <= 4.7e-80) {
tmp = i * (y * ((k * y5) - (x * c)));
} else if (y2 <= 7.2e-36) {
tmp = y0 * (y3 * (j * y5));
} else if (y2 <= 43000.0) {
tmp = y * ((k * ((i * y5) - (b * y4))) + ((x * ((a * b) - (c * i))) + (y3 * ((c * y4) - (a * y5)))));
} else if (y2 <= 7.5e+50) {
tmp = t_3;
} else if (y2 <= 3.4e+118) {
tmp = j * (x * ((i * y1) - (b * y0)));
} else if (y2 <= 5e+211) {
tmp = t_3;
} else {
tmp = t * (y2 * 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) :: tmp
t_1 = (y * k) - (t * j)
t_2 = (a * y5) - (c * y4)
t_3 = y2 * (((x * ((c * y0) - (a * y1))) + (k * ((y1 * y4) - (y0 * y5)))) + (t * t_2))
if (y2 <= (-1.15d+23)) then
tmp = t_3
else if (y2 <= (-9.5d-241)) then
tmp = y5 * ((i * t_1) + ((a * ((t * y2) - (y * y3))) + (y0 * ((j * y3) - (k * y2)))))
else if (y2 <= 6.2d-220) then
tmp = i * ((y1 * ((x * j) - (z * k))) + ((y5 * t_1) + (c * ((z * t) - (x * y)))))
else if (y2 <= 4d-126) then
tmp = y0 * (j * ((y3 * y5) - (x * b)))
else if (y2 <= 4.7d-80) then
tmp = i * (y * ((k * y5) - (x * c)))
else if (y2 <= 7.2d-36) then
tmp = y0 * (y3 * (j * y5))
else if (y2 <= 43000.0d0) then
tmp = y * ((k * ((i * y5) - (b * y4))) + ((x * ((a * b) - (c * i))) + (y3 * ((c * y4) - (a * y5)))))
else if (y2 <= 7.5d+50) then
tmp = t_3
else if (y2 <= 3.4d+118) then
tmp = j * (x * ((i * y1) - (b * y0)))
else if (y2 <= 5d+211) then
tmp = t_3
else
tmp = t * (y2 * 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 = (y * k) - (t * j);
double t_2 = (a * y5) - (c * y4);
double t_3 = y2 * (((x * ((c * y0) - (a * y1))) + (k * ((y1 * y4) - (y0 * y5)))) + (t * t_2));
double tmp;
if (y2 <= -1.15e+23) {
tmp = t_3;
} else if (y2 <= -9.5e-241) {
tmp = y5 * ((i * t_1) + ((a * ((t * y2) - (y * y3))) + (y0 * ((j * y3) - (k * y2)))));
} else if (y2 <= 6.2e-220) {
tmp = i * ((y1 * ((x * j) - (z * k))) + ((y5 * t_1) + (c * ((z * t) - (x * y)))));
} else if (y2 <= 4e-126) {
tmp = y0 * (j * ((y3 * y5) - (x * b)));
} else if (y2 <= 4.7e-80) {
tmp = i * (y * ((k * y5) - (x * c)));
} else if (y2 <= 7.2e-36) {
tmp = y0 * (y3 * (j * y5));
} else if (y2 <= 43000.0) {
tmp = y * ((k * ((i * y5) - (b * y4))) + ((x * ((a * b) - (c * i))) + (y3 * ((c * y4) - (a * y5)))));
} else if (y2 <= 7.5e+50) {
tmp = t_3;
} else if (y2 <= 3.4e+118) {
tmp = j * (x * ((i * y1) - (b * y0)));
} else if (y2 <= 5e+211) {
tmp = t_3;
} else {
tmp = t * (y2 * t_2);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (y * k) - (t * j) t_2 = (a * y5) - (c * y4) t_3 = y2 * (((x * ((c * y0) - (a * y1))) + (k * ((y1 * y4) - (y0 * y5)))) + (t * t_2)) tmp = 0 if y2 <= -1.15e+23: tmp = t_3 elif y2 <= -9.5e-241: tmp = y5 * ((i * t_1) + ((a * ((t * y2) - (y * y3))) + (y0 * ((j * y3) - (k * y2))))) elif y2 <= 6.2e-220: tmp = i * ((y1 * ((x * j) - (z * k))) + ((y5 * t_1) + (c * ((z * t) - (x * y))))) elif y2 <= 4e-126: tmp = y0 * (j * ((y3 * y5) - (x * b))) elif y2 <= 4.7e-80: tmp = i * (y * ((k * y5) - (x * c))) elif y2 <= 7.2e-36: tmp = y0 * (y3 * (j * y5)) elif y2 <= 43000.0: tmp = y * ((k * ((i * y5) - (b * y4))) + ((x * ((a * b) - (c * i))) + (y3 * ((c * y4) - (a * y5))))) elif y2 <= 7.5e+50: tmp = t_3 elif y2 <= 3.4e+118: tmp = j * (x * ((i * y1) - (b * y0))) elif y2 <= 5e+211: tmp = t_3 else: tmp = t * (y2 * 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(y * k) - Float64(t * j)) t_2 = Float64(Float64(a * y5) - Float64(c * y4)) t_3 = Float64(y2 * Float64(Float64(Float64(x * Float64(Float64(c * y0) - Float64(a * y1))) + Float64(k * Float64(Float64(y1 * y4) - Float64(y0 * y5)))) + Float64(t * t_2))) tmp = 0.0 if (y2 <= -1.15e+23) tmp = t_3; elseif (y2 <= -9.5e-241) tmp = Float64(y5 * Float64(Float64(i * t_1) + Float64(Float64(a * Float64(Float64(t * y2) - Float64(y * y3))) + Float64(y0 * Float64(Float64(j * y3) - Float64(k * y2)))))); elseif (y2 <= 6.2e-220) tmp = Float64(i * Float64(Float64(y1 * Float64(Float64(x * j) - Float64(z * k))) + Float64(Float64(y5 * t_1) + Float64(c * Float64(Float64(z * t) - Float64(x * y)))))); elseif (y2 <= 4e-126) tmp = Float64(y0 * Float64(j * Float64(Float64(y3 * y5) - Float64(x * b)))); elseif (y2 <= 4.7e-80) tmp = Float64(i * Float64(y * Float64(Float64(k * y5) - Float64(x * c)))); elseif (y2 <= 7.2e-36) tmp = Float64(y0 * Float64(y3 * Float64(j * y5))); elseif (y2 <= 43000.0) tmp = Float64(y * Float64(Float64(k * Float64(Float64(i * y5) - Float64(b * y4))) + Float64(Float64(x * Float64(Float64(a * b) - Float64(c * i))) + Float64(y3 * Float64(Float64(c * y4) - Float64(a * y5)))))); elseif (y2 <= 7.5e+50) tmp = t_3; elseif (y2 <= 3.4e+118) tmp = Float64(j * Float64(x * Float64(Float64(i * y1) - Float64(b * y0)))); elseif (y2 <= 5e+211) tmp = t_3; else tmp = Float64(t * Float64(y2 * 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 = (y * k) - (t * j); t_2 = (a * y5) - (c * y4); t_3 = y2 * (((x * ((c * y0) - (a * y1))) + (k * ((y1 * y4) - (y0 * y5)))) + (t * t_2)); tmp = 0.0; if (y2 <= -1.15e+23) tmp = t_3; elseif (y2 <= -9.5e-241) tmp = y5 * ((i * t_1) + ((a * ((t * y2) - (y * y3))) + (y0 * ((j * y3) - (k * y2))))); elseif (y2 <= 6.2e-220) tmp = i * ((y1 * ((x * j) - (z * k))) + ((y5 * t_1) + (c * ((z * t) - (x * y))))); elseif (y2 <= 4e-126) tmp = y0 * (j * ((y3 * y5) - (x * b))); elseif (y2 <= 4.7e-80) tmp = i * (y * ((k * y5) - (x * c))); elseif (y2 <= 7.2e-36) tmp = y0 * (y3 * (j * y5)); elseif (y2 <= 43000.0) tmp = y * ((k * ((i * y5) - (b * y4))) + ((x * ((a * b) - (c * i))) + (y3 * ((c * y4) - (a * y5))))); elseif (y2 <= 7.5e+50) tmp = t_3; elseif (y2 <= 3.4e+118) tmp = j * (x * ((i * y1) - (b * y0))); elseif (y2 <= 5e+211) tmp = t_3; else tmp = t * (y2 * 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[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(y2 * N[(N[(N[(x * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(k * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(t * t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y2, -1.15e+23], t$95$3, If[LessEqual[y2, -9.5e-241], N[(y5 * N[(N[(i * t$95$1), $MachinePrecision] + N[(N[(a * N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y0 * N[(N[(j * y3), $MachinePrecision] - N[(k * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 6.2e-220], N[(i * N[(N[(y1 * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(y5 * t$95$1), $MachinePrecision] + N[(c * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 4e-126], N[(y0 * N[(j * N[(N[(y3 * y5), $MachinePrecision] - N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 4.7e-80], N[(i * N[(y * N[(N[(k * y5), $MachinePrecision] - N[(x * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 7.2e-36], N[(y0 * N[(y3 * N[(j * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 43000.0], N[(y * N[(N[(k * N[(N[(i * y5), $MachinePrecision] - N[(b * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(x * N[(N[(a * b), $MachinePrecision] - N[(c * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y3 * N[(N[(c * y4), $MachinePrecision] - N[(a * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 7.5e+50], t$95$3, If[LessEqual[y2, 3.4e+118], N[(j * N[(x * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 5e+211], t$95$3, N[(t * N[(y2 * t$95$2), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot k - t \cdot j\\
t_2 := a \cdot y5 - c \cdot y4\\
t_3 := y2 \cdot \left(\left(x \cdot \left(c \cdot y0 - a \cdot y1\right) + k \cdot \left(y1 \cdot y4 - y0 \cdot y5\right)\right) + t \cdot t_2\right)\\
\mathbf{if}\;y2 \leq -1.15 \cdot 10^{+23}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;y2 \leq -9.5 \cdot 10^{-241}:\\
\;\;\;\;y5 \cdot \left(i \cdot t_1 + \left(a \cdot \left(t \cdot y2 - y \cdot y3\right) + y0 \cdot \left(j \cdot y3 - k \cdot y2\right)\right)\right)\\
\mathbf{elif}\;y2 \leq 6.2 \cdot 10^{-220}:\\
\;\;\;\;i \cdot \left(y1 \cdot \left(x \cdot j - z \cdot k\right) + \left(y5 \cdot t_1 + c \cdot \left(z \cdot t - x \cdot y\right)\right)\right)\\
\mathbf{elif}\;y2 \leq 4 \cdot 10^{-126}:\\
\;\;\;\;y0 \cdot \left(j \cdot \left(y3 \cdot y5 - x \cdot b\right)\right)\\
\mathbf{elif}\;y2 \leq 4.7 \cdot 10^{-80}:\\
\;\;\;\;i \cdot \left(y \cdot \left(k \cdot y5 - x \cdot c\right)\right)\\
\mathbf{elif}\;y2 \leq 7.2 \cdot 10^{-36}:\\
\;\;\;\;y0 \cdot \left(y3 \cdot \left(j \cdot y5\right)\right)\\
\mathbf{elif}\;y2 \leq 43000:\\
\;\;\;\;y \cdot \left(k \cdot \left(i \cdot y5 - b \cdot y4\right) + \left(x \cdot \left(a \cdot b - c \cdot i\right) + y3 \cdot \left(c \cdot y4 - a \cdot y5\right)\right)\right)\\
\mathbf{elif}\;y2 \leq 7.5 \cdot 10^{+50}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;y2 \leq 3.4 \cdot 10^{+118}:\\
\;\;\;\;j \cdot \left(x \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{elif}\;y2 \leq 5 \cdot 10^{+211}:\\
\;\;\;\;t_3\\
\mathbf{else}:\\
\;\;\;\;t \cdot \left(y2 \cdot t_2\right)\\
\end{array}
\end{array}
if y2 < -1.15e23 or 43000 < y2 < 7.4999999999999999e50 or 3.39999999999999986e118 < y2 < 4.9999999999999995e211Initial program 24.7%
associate-+l-24.7%
Simplified24.7%
Taylor expanded in y2 around inf 69.2%
if -1.15e23 < y2 < -9.49999999999999971e-241Initial program 26.2%
associate-+l-26.2%
Simplified26.2%
Taylor expanded in y5 around -inf 45.6%
mul-1-neg45.6%
associate--l+45.6%
*-commutative45.6%
Simplified45.6%
if -9.49999999999999971e-241 < y2 < 6.20000000000000023e-220Initial program 32.5%
associate-+l-32.5%
Simplified32.5%
Taylor expanded in i around -inf 56.7%
if 6.20000000000000023e-220 < y2 < 3.9999999999999998e-126Initial program 38.8%
+-commutative38.8%
fma-def38.8%
*-commutative38.8%
*-commutative38.8%
Simplified38.8%
Taylor expanded in j around inf 34.3%
Taylor expanded in y0 around inf 61.1%
if 3.9999999999999998e-126 < y2 < 4.69999999999999973e-80Initial program 41.7%
associate-+l-41.7%
Simplified41.7%
Taylor expanded in i around -inf 66.7%
Taylor expanded in y around inf 75.6%
+-commutative75.6%
mul-1-neg75.6%
unsub-neg75.6%
*-commutative75.6%
Simplified75.6%
if 4.69999999999999973e-80 < y2 < 7.20000000000000064e-36Initial program 8.3%
+-commutative8.3%
fma-def8.3%
*-commutative8.3%
*-commutative8.3%
Simplified8.3%
Taylor expanded in j around inf 51.5%
Taylor expanded in y5 around inf 52.2%
*-commutative52.2%
mul-1-neg52.2%
unsub-neg52.2%
*-commutative52.2%
Simplified52.2%
Taylor expanded in y0 around inf 67.1%
*-commutative67.1%
Simplified67.1%
if 7.20000000000000064e-36 < y2 < 43000Initial program 37.5%
+-commutative37.5%
fma-def50.0%
*-commutative50.0%
*-commutative50.0%
Simplified50.0%
Taylor expanded in y around inf 75.4%
mul-1-neg75.4%
*-commutative75.4%
*-commutative75.4%
*-commutative75.4%
*-commutative75.4%
Simplified75.4%
if 7.4999999999999999e50 < y2 < 3.39999999999999986e118Initial program 16.7%
+-commutative16.7%
fma-def25.0%
*-commutative25.0%
*-commutative25.0%
Simplified25.0%
Taylor expanded in j around inf 42.0%
Taylor expanded in x around inf 50.9%
if 4.9999999999999995e211 < y2 Initial program 9.5%
associate-+l-9.5%
Simplified9.5%
Taylor expanded in y2 around inf 52.7%
Taylor expanded in t around -inf 71.8%
associate-*r*71.8%
neg-mul-171.8%
*-commutative71.8%
Simplified71.8%
Final simplification62.5%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* y1 y4) (* y0 y5)))
(t_2 (- (* y k) (* t j)))
(t_3 (- (* a y5) (* c y4)))
(t_4 (* y2 (+ (+ (* x (- (* c y0) (* a y1))) (* k t_1)) (* t t_3))))
(t_5 (- (* z t) (* x y)))
(t_6
(*
c
(+
(+ (* i t_5) (* y0 (- (* x y2) (* z y3))))
(* y4 (- (* y y3) (* t y2))))))
(t_7 (- (* i y1) (* b y0))))
(if (<= y2 -90000000.0)
t_4
(if (<= y2 -1.26e-85)
(*
y5
(+
(* i t_2)
(+ (* a (- (* t y2) (* y y3))) (* y0 (- (* j y3) (* k y2))))))
(if (<= y2 -3e-166)
(* k (- (- (* y2 t_1) (* z t_7)) (* y (- (* b y4) (* i y5)))))
(if (<= y2 -8.5e-254)
t_6
(if (<= y2 2e-219)
(* i (+ (* y1 (- (* x j) (* z k))) (+ (* y5 t_2) (* c t_5))))
(if (<= y2 1.35e-117)
(* y0 (* j (- (* y3 y5) (* x b))))
(if (<= y2 5.6e-6)
t_6
(if (<= y2 4.8e+50)
t_4
(if (<= y2 9.2e+117)
(* j (* x t_7))
(if (<= y2 5.8e+211) t_4 (* t (* y2 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 = (y1 * y4) - (y0 * y5);
double t_2 = (y * k) - (t * j);
double t_3 = (a * y5) - (c * y4);
double t_4 = y2 * (((x * ((c * y0) - (a * y1))) + (k * t_1)) + (t * t_3));
double t_5 = (z * t) - (x * y);
double t_6 = c * (((i * t_5) + (y0 * ((x * y2) - (z * y3)))) + (y4 * ((y * y3) - (t * y2))));
double t_7 = (i * y1) - (b * y0);
double tmp;
if (y2 <= -90000000.0) {
tmp = t_4;
} else if (y2 <= -1.26e-85) {
tmp = y5 * ((i * t_2) + ((a * ((t * y2) - (y * y3))) + (y0 * ((j * y3) - (k * y2)))));
} else if (y2 <= -3e-166) {
tmp = k * (((y2 * t_1) - (z * t_7)) - (y * ((b * y4) - (i * y5))));
} else if (y2 <= -8.5e-254) {
tmp = t_6;
} else if (y2 <= 2e-219) {
tmp = i * ((y1 * ((x * j) - (z * k))) + ((y5 * t_2) + (c * t_5)));
} else if (y2 <= 1.35e-117) {
tmp = y0 * (j * ((y3 * y5) - (x * b)));
} else if (y2 <= 5.6e-6) {
tmp = t_6;
} else if (y2 <= 4.8e+50) {
tmp = t_4;
} else if (y2 <= 9.2e+117) {
tmp = j * (x * t_7);
} else if (y2 <= 5.8e+211) {
tmp = t_4;
} else {
tmp = t * (y2 * 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) :: t_4
real(8) :: t_5
real(8) :: t_6
real(8) :: t_7
real(8) :: tmp
t_1 = (y1 * y4) - (y0 * y5)
t_2 = (y * k) - (t * j)
t_3 = (a * y5) - (c * y4)
t_4 = y2 * (((x * ((c * y0) - (a * y1))) + (k * t_1)) + (t * t_3))
t_5 = (z * t) - (x * y)
t_6 = c * (((i * t_5) + (y0 * ((x * y2) - (z * y3)))) + (y4 * ((y * y3) - (t * y2))))
t_7 = (i * y1) - (b * y0)
if (y2 <= (-90000000.0d0)) then
tmp = t_4
else if (y2 <= (-1.26d-85)) then
tmp = y5 * ((i * t_2) + ((a * ((t * y2) - (y * y3))) + (y0 * ((j * y3) - (k * y2)))))
else if (y2 <= (-3d-166)) then
tmp = k * (((y2 * t_1) - (z * t_7)) - (y * ((b * y4) - (i * y5))))
else if (y2 <= (-8.5d-254)) then
tmp = t_6
else if (y2 <= 2d-219) then
tmp = i * ((y1 * ((x * j) - (z * k))) + ((y5 * t_2) + (c * t_5)))
else if (y2 <= 1.35d-117) then
tmp = y0 * (j * ((y3 * y5) - (x * b)))
else if (y2 <= 5.6d-6) then
tmp = t_6
else if (y2 <= 4.8d+50) then
tmp = t_4
else if (y2 <= 9.2d+117) then
tmp = j * (x * t_7)
else if (y2 <= 5.8d+211) then
tmp = t_4
else
tmp = t * (y2 * 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 = (y1 * y4) - (y0 * y5);
double t_2 = (y * k) - (t * j);
double t_3 = (a * y5) - (c * y4);
double t_4 = y2 * (((x * ((c * y0) - (a * y1))) + (k * t_1)) + (t * t_3));
double t_5 = (z * t) - (x * y);
double t_6 = c * (((i * t_5) + (y0 * ((x * y2) - (z * y3)))) + (y4 * ((y * y3) - (t * y2))));
double t_7 = (i * y1) - (b * y0);
double tmp;
if (y2 <= -90000000.0) {
tmp = t_4;
} else if (y2 <= -1.26e-85) {
tmp = y5 * ((i * t_2) + ((a * ((t * y2) - (y * y3))) + (y0 * ((j * y3) - (k * y2)))));
} else if (y2 <= -3e-166) {
tmp = k * (((y2 * t_1) - (z * t_7)) - (y * ((b * y4) - (i * y5))));
} else if (y2 <= -8.5e-254) {
tmp = t_6;
} else if (y2 <= 2e-219) {
tmp = i * ((y1 * ((x * j) - (z * k))) + ((y5 * t_2) + (c * t_5)));
} else if (y2 <= 1.35e-117) {
tmp = y0 * (j * ((y3 * y5) - (x * b)));
} else if (y2 <= 5.6e-6) {
tmp = t_6;
} else if (y2 <= 4.8e+50) {
tmp = t_4;
} else if (y2 <= 9.2e+117) {
tmp = j * (x * t_7);
} else if (y2 <= 5.8e+211) {
tmp = t_4;
} else {
tmp = t * (y2 * t_3);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (y1 * y4) - (y0 * y5) t_2 = (y * k) - (t * j) t_3 = (a * y5) - (c * y4) t_4 = y2 * (((x * ((c * y0) - (a * y1))) + (k * t_1)) + (t * t_3)) t_5 = (z * t) - (x * y) t_6 = c * (((i * t_5) + (y0 * ((x * y2) - (z * y3)))) + (y4 * ((y * y3) - (t * y2)))) t_7 = (i * y1) - (b * y0) tmp = 0 if y2 <= -90000000.0: tmp = t_4 elif y2 <= -1.26e-85: tmp = y5 * ((i * t_2) + ((a * ((t * y2) - (y * y3))) + (y0 * ((j * y3) - (k * y2))))) elif y2 <= -3e-166: tmp = k * (((y2 * t_1) - (z * t_7)) - (y * ((b * y4) - (i * y5)))) elif y2 <= -8.5e-254: tmp = t_6 elif y2 <= 2e-219: tmp = i * ((y1 * ((x * j) - (z * k))) + ((y5 * t_2) + (c * t_5))) elif y2 <= 1.35e-117: tmp = y0 * (j * ((y3 * y5) - (x * b))) elif y2 <= 5.6e-6: tmp = t_6 elif y2 <= 4.8e+50: tmp = t_4 elif y2 <= 9.2e+117: tmp = j * (x * t_7) elif y2 <= 5.8e+211: tmp = t_4 else: tmp = t * (y2 * 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(y1 * y4) - Float64(y0 * y5)) t_2 = Float64(Float64(y * k) - Float64(t * j)) t_3 = Float64(Float64(a * y5) - Float64(c * y4)) t_4 = Float64(y2 * Float64(Float64(Float64(x * Float64(Float64(c * y0) - Float64(a * y1))) + Float64(k * t_1)) + Float64(t * t_3))) t_5 = Float64(Float64(z * t) - Float64(x * y)) t_6 = Float64(c * Float64(Float64(Float64(i * t_5) + Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3)))) + Float64(y4 * Float64(Float64(y * y3) - Float64(t * y2))))) t_7 = Float64(Float64(i * y1) - Float64(b * y0)) tmp = 0.0 if (y2 <= -90000000.0) tmp = t_4; elseif (y2 <= -1.26e-85) tmp = Float64(y5 * Float64(Float64(i * t_2) + Float64(Float64(a * Float64(Float64(t * y2) - Float64(y * y3))) + Float64(y0 * Float64(Float64(j * y3) - Float64(k * y2)))))); elseif (y2 <= -3e-166) tmp = Float64(k * Float64(Float64(Float64(y2 * t_1) - Float64(z * t_7)) - Float64(y * Float64(Float64(b * y4) - Float64(i * y5))))); elseif (y2 <= -8.5e-254) tmp = t_6; elseif (y2 <= 2e-219) tmp = Float64(i * Float64(Float64(y1 * Float64(Float64(x * j) - Float64(z * k))) + Float64(Float64(y5 * t_2) + Float64(c * t_5)))); elseif (y2 <= 1.35e-117) tmp = Float64(y0 * Float64(j * Float64(Float64(y3 * y5) - Float64(x * b)))); elseif (y2 <= 5.6e-6) tmp = t_6; elseif (y2 <= 4.8e+50) tmp = t_4; elseif (y2 <= 9.2e+117) tmp = Float64(j * Float64(x * t_7)); elseif (y2 <= 5.8e+211) tmp = t_4; else tmp = Float64(t * Float64(y2 * 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 = (y1 * y4) - (y0 * y5); t_2 = (y * k) - (t * j); t_3 = (a * y5) - (c * y4); t_4 = y2 * (((x * ((c * y0) - (a * y1))) + (k * t_1)) + (t * t_3)); t_5 = (z * t) - (x * y); t_6 = c * (((i * t_5) + (y0 * ((x * y2) - (z * y3)))) + (y4 * ((y * y3) - (t * y2)))); t_7 = (i * y1) - (b * y0); tmp = 0.0; if (y2 <= -90000000.0) tmp = t_4; elseif (y2 <= -1.26e-85) tmp = y5 * ((i * t_2) + ((a * ((t * y2) - (y * y3))) + (y0 * ((j * y3) - (k * y2))))); elseif (y2 <= -3e-166) tmp = k * (((y2 * t_1) - (z * t_7)) - (y * ((b * y4) - (i * y5)))); elseif (y2 <= -8.5e-254) tmp = t_6; elseif (y2 <= 2e-219) tmp = i * ((y1 * ((x * j) - (z * k))) + ((y5 * t_2) + (c * t_5))); elseif (y2 <= 1.35e-117) tmp = y0 * (j * ((y3 * y5) - (x * b))); elseif (y2 <= 5.6e-6) tmp = t_6; elseif (y2 <= 4.8e+50) tmp = t_4; elseif (y2 <= 9.2e+117) tmp = j * (x * t_7); elseif (y2 <= 5.8e+211) tmp = t_4; else tmp = t * (y2 * 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[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(a * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(y2 * N[(N[(N[(x * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(k * t$95$1), $MachinePrecision]), $MachinePrecision] + N[(t * t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$6 = N[(c * N[(N[(N[(i * t$95$5), $MachinePrecision] + N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y4 * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$7 = N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y2, -90000000.0], t$95$4, If[LessEqual[y2, -1.26e-85], N[(y5 * N[(N[(i * t$95$2), $MachinePrecision] + N[(N[(a * N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y0 * N[(N[(j * y3), $MachinePrecision] - N[(k * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, -3e-166], N[(k * N[(N[(N[(y2 * t$95$1), $MachinePrecision] - N[(z * t$95$7), $MachinePrecision]), $MachinePrecision] - N[(y * N[(N[(b * y4), $MachinePrecision] - N[(i * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, -8.5e-254], t$95$6, If[LessEqual[y2, 2e-219], N[(i * N[(N[(y1 * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(y5 * t$95$2), $MachinePrecision] + N[(c * t$95$5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 1.35e-117], N[(y0 * N[(j * N[(N[(y3 * y5), $MachinePrecision] - N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 5.6e-6], t$95$6, If[LessEqual[y2, 4.8e+50], t$95$4, If[LessEqual[y2, 9.2e+117], N[(j * N[(x * t$95$7), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 5.8e+211], t$95$4, N[(t * N[(y2 * t$95$3), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y1 \cdot y4 - y0 \cdot y5\\
t_2 := y \cdot k - t \cdot j\\
t_3 := a \cdot y5 - c \cdot y4\\
t_4 := y2 \cdot \left(\left(x \cdot \left(c \cdot y0 - a \cdot y1\right) + k \cdot t_1\right) + t \cdot t_3\right)\\
t_5 := z \cdot t - x \cdot y\\
t_6 := c \cdot \left(\left(i \cdot t_5 + y0 \cdot \left(x \cdot y2 - z \cdot y3\right)\right) + y4 \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
t_7 := i \cdot y1 - b \cdot y0\\
\mathbf{if}\;y2 \leq -90000000:\\
\;\;\;\;t_4\\
\mathbf{elif}\;y2 \leq -1.26 \cdot 10^{-85}:\\
\;\;\;\;y5 \cdot \left(i \cdot t_2 + \left(a \cdot \left(t \cdot y2 - y \cdot y3\right) + y0 \cdot \left(j \cdot y3 - k \cdot y2\right)\right)\right)\\
\mathbf{elif}\;y2 \leq -3 \cdot 10^{-166}:\\
\;\;\;\;k \cdot \left(\left(y2 \cdot t_1 - z \cdot t_7\right) - y \cdot \left(b \cdot y4 - i \cdot y5\right)\right)\\
\mathbf{elif}\;y2 \leq -8.5 \cdot 10^{-254}:\\
\;\;\;\;t_6\\
\mathbf{elif}\;y2 \leq 2 \cdot 10^{-219}:\\
\;\;\;\;i \cdot \left(y1 \cdot \left(x \cdot j - z \cdot k\right) + \left(y5 \cdot t_2 + c \cdot t_5\right)\right)\\
\mathbf{elif}\;y2 \leq 1.35 \cdot 10^{-117}:\\
\;\;\;\;y0 \cdot \left(j \cdot \left(y3 \cdot y5 - x \cdot b\right)\right)\\
\mathbf{elif}\;y2 \leq 5.6 \cdot 10^{-6}:\\
\;\;\;\;t_6\\
\mathbf{elif}\;y2 \leq 4.8 \cdot 10^{+50}:\\
\;\;\;\;t_4\\
\mathbf{elif}\;y2 \leq 9.2 \cdot 10^{+117}:\\
\;\;\;\;j \cdot \left(x \cdot t_7\right)\\
\mathbf{elif}\;y2 \leq 5.8 \cdot 10^{+211}:\\
\;\;\;\;t_4\\
\mathbf{else}:\\
\;\;\;\;t \cdot \left(y2 \cdot t_3\right)\\
\end{array}
\end{array}
if y2 < -9e7 or 5.59999999999999975e-6 < y2 < 4.8000000000000004e50 or 9.19999999999999951e117 < y2 < 5.8000000000000001e211Initial program 24.0%
associate-+l-24.0%
Simplified24.0%
Taylor expanded in y2 around inf 68.2%
if -9e7 < y2 < -1.26e-85Initial program 14.3%
associate-+l-14.3%
Simplified14.3%
Taylor expanded in y5 around -inf 60.6%
mul-1-neg60.6%
associate--l+60.6%
*-commutative60.6%
Simplified60.6%
if -1.26e-85 < y2 < -3.0000000000000003e-166Initial program 18.4%
+-commutative18.4%
fma-def18.4%
*-commutative18.4%
*-commutative18.4%
Simplified24.3%
Taylor expanded in k around inf 65.2%
if -3.0000000000000003e-166 < y2 < -8.49999999999999963e-254 or 1.35000000000000001e-117 < y2 < 5.59999999999999975e-6Initial program 28.0%
associate-+l-28.0%
Simplified28.0%
Taylor expanded in c around inf 60.3%
if -8.49999999999999963e-254 < y2 < 2.0000000000000001e-219Initial program 40.3%
associate-+l-40.3%
Simplified40.3%
Taylor expanded in i around -inf 60.6%
if 2.0000000000000001e-219 < y2 < 1.35000000000000001e-117Initial program 47.5%
+-commutative47.5%
fma-def47.5%
*-commutative47.5%
*-commutative47.5%
Simplified47.5%
Taylor expanded in j around inf 43.7%
Taylor expanded in y0 around inf 61.9%
if 4.8000000000000004e50 < y2 < 9.19999999999999951e117Initial program 16.7%
+-commutative16.7%
fma-def25.0%
*-commutative25.0%
*-commutative25.0%
Simplified25.0%
Taylor expanded in j around inf 42.0%
Taylor expanded in x around inf 50.9%
if 5.8000000000000001e211 < y2 Initial program 9.5%
associate-+l-9.5%
Simplified9.5%
Taylor expanded in y2 around inf 52.7%
Taylor expanded in t around -inf 71.8%
associate-*r*71.8%
neg-mul-171.8%
*-commutative71.8%
Simplified71.8%
Final simplification64.4%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* y1 (- (* k y2) (* j y3)))) (t_2 (- (* x a) (* k y4))))
(if (<= y3 -1.65e+116)
(* y4 t_1)
(if (<= y3 -3900000000.0)
(* c (* i (- (* z t) (* x y))))
(if (<= y3 -1.08e-141)
(* y2 (* a (- (* t y5) (* x y1))))
(if (<= y3 -4.4e-224)
(* b (* y t_2))
(if (<= y3 4.2e-209)
(* y4 (* t (- (* b j) (* c y2))))
(if (<= y3 1.8e-83)
(* t_2 (* y b))
(if (<= y3 0.145)
(* i (* y (- (* k y5) (* x c))))
(if (<= y3 1.22e+104)
(* j (* y5 (- (* y0 y3) (* t i))))
(if (<= y3 6.8e+169)
(*
y4
(+
(+ (* b (- (* t j) (* y k))) t_1)
(* c (- (* y y3) (* t y2)))))
(* y0 (* j (- (* y3 y5) (* x 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) {
double t_1 = y1 * ((k * y2) - (j * y3));
double t_2 = (x * a) - (k * y4);
double tmp;
if (y3 <= -1.65e+116) {
tmp = y4 * t_1;
} else if (y3 <= -3900000000.0) {
tmp = c * (i * ((z * t) - (x * y)));
} else if (y3 <= -1.08e-141) {
tmp = y2 * (a * ((t * y5) - (x * y1)));
} else if (y3 <= -4.4e-224) {
tmp = b * (y * t_2);
} else if (y3 <= 4.2e-209) {
tmp = y4 * (t * ((b * j) - (c * y2)));
} else if (y3 <= 1.8e-83) {
tmp = t_2 * (y * b);
} else if (y3 <= 0.145) {
tmp = i * (y * ((k * y5) - (x * c)));
} else if (y3 <= 1.22e+104) {
tmp = j * (y5 * ((y0 * y3) - (t * i)));
} else if (y3 <= 6.8e+169) {
tmp = y4 * (((b * ((t * j) - (y * k))) + t_1) + (c * ((y * y3) - (t * y2))));
} else {
tmp = y0 * (j * ((y3 * y5) - (x * b)));
}
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 = y1 * ((k * y2) - (j * y3))
t_2 = (x * a) - (k * y4)
if (y3 <= (-1.65d+116)) then
tmp = y4 * t_1
else if (y3 <= (-3900000000.0d0)) then
tmp = c * (i * ((z * t) - (x * y)))
else if (y3 <= (-1.08d-141)) then
tmp = y2 * (a * ((t * y5) - (x * y1)))
else if (y3 <= (-4.4d-224)) then
tmp = b * (y * t_2)
else if (y3 <= 4.2d-209) then
tmp = y4 * (t * ((b * j) - (c * y2)))
else if (y3 <= 1.8d-83) then
tmp = t_2 * (y * b)
else if (y3 <= 0.145d0) then
tmp = i * (y * ((k * y5) - (x * c)))
else if (y3 <= 1.22d+104) then
tmp = j * (y5 * ((y0 * y3) - (t * i)))
else if (y3 <= 6.8d+169) then
tmp = y4 * (((b * ((t * j) - (y * k))) + t_1) + (c * ((y * y3) - (t * y2))))
else
tmp = y0 * (j * ((y3 * y5) - (x * b)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = y1 * ((k * y2) - (j * y3));
double t_2 = (x * a) - (k * y4);
double tmp;
if (y3 <= -1.65e+116) {
tmp = y4 * t_1;
} else if (y3 <= -3900000000.0) {
tmp = c * (i * ((z * t) - (x * y)));
} else if (y3 <= -1.08e-141) {
tmp = y2 * (a * ((t * y5) - (x * y1)));
} else if (y3 <= -4.4e-224) {
tmp = b * (y * t_2);
} else if (y3 <= 4.2e-209) {
tmp = y4 * (t * ((b * j) - (c * y2)));
} else if (y3 <= 1.8e-83) {
tmp = t_2 * (y * b);
} else if (y3 <= 0.145) {
tmp = i * (y * ((k * y5) - (x * c)));
} else if (y3 <= 1.22e+104) {
tmp = j * (y5 * ((y0 * y3) - (t * i)));
} else if (y3 <= 6.8e+169) {
tmp = y4 * (((b * ((t * j) - (y * k))) + t_1) + (c * ((y * y3) - (t * y2))));
} else {
tmp = y0 * (j * ((y3 * y5) - (x * b)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = y1 * ((k * y2) - (j * y3)) t_2 = (x * a) - (k * y4) tmp = 0 if y3 <= -1.65e+116: tmp = y4 * t_1 elif y3 <= -3900000000.0: tmp = c * (i * ((z * t) - (x * y))) elif y3 <= -1.08e-141: tmp = y2 * (a * ((t * y5) - (x * y1))) elif y3 <= -4.4e-224: tmp = b * (y * t_2) elif y3 <= 4.2e-209: tmp = y4 * (t * ((b * j) - (c * y2))) elif y3 <= 1.8e-83: tmp = t_2 * (y * b) elif y3 <= 0.145: tmp = i * (y * ((k * y5) - (x * c))) elif y3 <= 1.22e+104: tmp = j * (y5 * ((y0 * y3) - (t * i))) elif y3 <= 6.8e+169: tmp = y4 * (((b * ((t * j) - (y * k))) + t_1) + (c * ((y * y3) - (t * y2)))) else: tmp = y0 * (j * ((y3 * y5) - (x * b))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3))) t_2 = Float64(Float64(x * a) - Float64(k * y4)) tmp = 0.0 if (y3 <= -1.65e+116) tmp = Float64(y4 * t_1); elseif (y3 <= -3900000000.0) tmp = Float64(c * Float64(i * Float64(Float64(z * t) - Float64(x * y)))); elseif (y3 <= -1.08e-141) tmp = Float64(y2 * Float64(a * Float64(Float64(t * y5) - Float64(x * y1)))); elseif (y3 <= -4.4e-224) tmp = Float64(b * Float64(y * t_2)); elseif (y3 <= 4.2e-209) tmp = Float64(y4 * Float64(t * Float64(Float64(b * j) - Float64(c * y2)))); elseif (y3 <= 1.8e-83) tmp = Float64(t_2 * Float64(y * b)); elseif (y3 <= 0.145) tmp = Float64(i * Float64(y * Float64(Float64(k * y5) - Float64(x * c)))); elseif (y3 <= 1.22e+104) tmp = Float64(j * Float64(y5 * Float64(Float64(y0 * y3) - Float64(t * i)))); elseif (y3 <= 6.8e+169) tmp = Float64(y4 * Float64(Float64(Float64(b * Float64(Float64(t * j) - Float64(y * k))) + t_1) + Float64(c * Float64(Float64(y * y3) - Float64(t * y2))))); else tmp = Float64(y0 * Float64(j * Float64(Float64(y3 * y5) - Float64(x * b)))); 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 = y1 * ((k * y2) - (j * y3)); t_2 = (x * a) - (k * y4); tmp = 0.0; if (y3 <= -1.65e+116) tmp = y4 * t_1; elseif (y3 <= -3900000000.0) tmp = c * (i * ((z * t) - (x * y))); elseif (y3 <= -1.08e-141) tmp = y2 * (a * ((t * y5) - (x * y1))); elseif (y3 <= -4.4e-224) tmp = b * (y * t_2); elseif (y3 <= 4.2e-209) tmp = y4 * (t * ((b * j) - (c * y2))); elseif (y3 <= 1.8e-83) tmp = t_2 * (y * b); elseif (y3 <= 0.145) tmp = i * (y * ((k * y5) - (x * c))); elseif (y3 <= 1.22e+104) tmp = j * (y5 * ((y0 * y3) - (t * i))); elseif (y3 <= 6.8e+169) tmp = y4 * (((b * ((t * j) - (y * k))) + t_1) + (c * ((y * y3) - (t * y2)))); else tmp = y0 * (j * ((y3 * y5) - (x * b))); 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[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x * a), $MachinePrecision] - N[(k * y4), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y3, -1.65e+116], N[(y4 * t$95$1), $MachinePrecision], If[LessEqual[y3, -3900000000.0], N[(c * N[(i * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, -1.08e-141], N[(y2 * N[(a * N[(N[(t * y5), $MachinePrecision] - N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, -4.4e-224], N[(b * N[(y * t$95$2), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 4.2e-209], N[(y4 * N[(t * N[(N[(b * j), $MachinePrecision] - N[(c * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 1.8e-83], N[(t$95$2 * N[(y * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 0.145], N[(i * N[(y * N[(N[(k * y5), $MachinePrecision] - N[(x * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 1.22e+104], N[(j * N[(y5 * N[(N[(y0 * y3), $MachinePrecision] - N[(t * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 6.8e+169], N[(y4 * N[(N[(N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision] + N[(c * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y0 * N[(j * N[(N[(y3 * y5), $MachinePrecision] - N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\\
t_2 := x \cdot a - k \cdot y4\\
\mathbf{if}\;y3 \leq -1.65 \cdot 10^{+116}:\\
\;\;\;\;y4 \cdot t_1\\
\mathbf{elif}\;y3 \leq -3900000000:\\
\;\;\;\;c \cdot \left(i \cdot \left(z \cdot t - x \cdot y\right)\right)\\
\mathbf{elif}\;y3 \leq -1.08 \cdot 10^{-141}:\\
\;\;\;\;y2 \cdot \left(a \cdot \left(t \cdot y5 - x \cdot y1\right)\right)\\
\mathbf{elif}\;y3 \leq -4.4 \cdot 10^{-224}:\\
\;\;\;\;b \cdot \left(y \cdot t_2\right)\\
\mathbf{elif}\;y3 \leq 4.2 \cdot 10^{-209}:\\
\;\;\;\;y4 \cdot \left(t \cdot \left(b \cdot j - c \cdot y2\right)\right)\\
\mathbf{elif}\;y3 \leq 1.8 \cdot 10^{-83}:\\
\;\;\;\;t_2 \cdot \left(y \cdot b\right)\\
\mathbf{elif}\;y3 \leq 0.145:\\
\;\;\;\;i \cdot \left(y \cdot \left(k \cdot y5 - x \cdot c\right)\right)\\
\mathbf{elif}\;y3 \leq 1.22 \cdot 10^{+104}:\\
\;\;\;\;j \cdot \left(y5 \cdot \left(y0 \cdot y3 - t \cdot i\right)\right)\\
\mathbf{elif}\;y3 \leq 6.8 \cdot 10^{+169}:\\
\;\;\;\;y4 \cdot \left(\left(b \cdot \left(t \cdot j - y \cdot k\right) + t_1\right) + c \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y0 \cdot \left(j \cdot \left(y3 \cdot y5 - x \cdot b\right)\right)\\
\end{array}
\end{array}
if y3 < -1.6499999999999999e116Initial program 11.8%
associate-+l-11.8%
Simplified11.8%
Taylor expanded in y4 around inf 44.4%
Taylor expanded in y1 around inf 59.2%
if -1.6499999999999999e116 < y3 < -3.9e9Initial program 30.4%
associate-+l-30.4%
Simplified30.4%
Taylor expanded in c around inf 71.3%
Taylor expanded in i around inf 60.7%
associate-*r*60.7%
neg-mul-160.7%
Simplified60.7%
if -3.9e9 < y3 < -1.0799999999999999e-141Initial program 31.5%
associate-+l-31.5%
Simplified31.5%
Taylor expanded in y2 around inf 48.7%
Taylor expanded in a around -inf 55.3%
mul-1-neg55.3%
associate-*r*55.4%
*-commutative55.4%
Simplified55.4%
if -1.0799999999999999e-141 < y3 < -4.4000000000000002e-224Initial program 33.2%
associate-+l-33.2%
Simplified33.2%
Taylor expanded in b around inf 45.2%
Taylor expanded in y around inf 51.6%
associate-*r*56.8%
*-commutative56.8%
*-commutative56.8%
+-commutative56.8%
mul-1-neg56.8%
unsub-neg56.8%
Simplified56.8%
if -4.4000000000000002e-224 < y3 < 4.19999999999999991e-209Initial program 33.8%
associate-+l-33.8%
Simplified33.8%
Taylor expanded in y4 around inf 42.0%
Taylor expanded in t around inf 47.8%
*-commutative47.8%
*-commutative47.8%
Simplified47.8%
if 4.19999999999999991e-209 < y3 < 1.80000000000000006e-83Initial program 42.6%
associate-+l-42.6%
Simplified42.6%
Taylor expanded in b around inf 31.3%
Taylor expanded in y around inf 54.8%
if 1.80000000000000006e-83 < y3 < 0.14499999999999999Initial program 15.8%
associate-+l-15.8%
Simplified15.8%
Taylor expanded in i around -inf 42.5%
Taylor expanded in y around inf 59.0%
+-commutative59.0%
mul-1-neg59.0%
unsub-neg59.0%
*-commutative59.0%
Simplified59.0%
if 0.14499999999999999 < y3 < 1.22e104Initial program 17.3%
+-commutative17.3%
fma-def21.7%
*-commutative21.7%
*-commutative21.7%
Simplified21.7%
Taylor expanded in j around inf 48.1%
Taylor expanded in y5 around inf 53.0%
*-commutative53.0%
mul-1-neg53.0%
unsub-neg53.0%
*-commutative53.0%
Simplified53.0%
if 1.22e104 < y3 < 6.80000000000000056e169Initial program 31.8%
associate-+l-31.8%
Simplified31.8%
Taylor expanded in y4 around inf 62.5%
if 6.80000000000000056e169 < y3 Initial program 10.3%
+-commutative10.3%
fma-def10.3%
*-commutative10.3%
*-commutative10.3%
Simplified13.8%
Taylor expanded in j around inf 35.2%
Taylor expanded in y0 around inf 62.3%
Final simplification56.5%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* y1 (- (* k y2) (* j y3)))))
(if (<= y3 -8e+116)
(* y4 t_1)
(if (<= y3 -2800000.0)
(* c (* i (- (* z t) (* x y))))
(if (<= y3 -2.35e-141)
(* y2 (* a (- (* t y5) (* x y1))))
(if (<= y3 -9.6e-254)
(*
x
(+
(+ (* y (- (* a b) (* c i))) (* y2 (- (* c y0) (* a y1))))
(* j (- (* i y1) (* b y0)))))
(if (<= y3 4.8e-208)
(* y4 (* t (- (* b j) (* c y2))))
(if (<= y3 1.15e-84)
(* (- (* x a) (* k y4)) (* y b))
(if (<= y3 3.2e-5)
(* i (* y (- (* k y5) (* x c))))
(if (<= y3 4.5e+104)
(* j (* y5 (- (* y0 y3) (* t i))))
(if (<= y3 1e+171)
(*
y4
(+
(+ (* b (- (* t j) (* y k))) t_1)
(* c (- (* y y3) (* t y2)))))
(* y0 (* j (- (* y3 y5) (* x 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) {
double t_1 = y1 * ((k * y2) - (j * y3));
double tmp;
if (y3 <= -8e+116) {
tmp = y4 * t_1;
} else if (y3 <= -2800000.0) {
tmp = c * (i * ((z * t) - (x * y)));
} else if (y3 <= -2.35e-141) {
tmp = y2 * (a * ((t * y5) - (x * y1)));
} else if (y3 <= -9.6e-254) {
tmp = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))));
} else if (y3 <= 4.8e-208) {
tmp = y4 * (t * ((b * j) - (c * y2)));
} else if (y3 <= 1.15e-84) {
tmp = ((x * a) - (k * y4)) * (y * b);
} else if (y3 <= 3.2e-5) {
tmp = i * (y * ((k * y5) - (x * c)));
} else if (y3 <= 4.5e+104) {
tmp = j * (y5 * ((y0 * y3) - (t * i)));
} else if (y3 <= 1e+171) {
tmp = y4 * (((b * ((t * j) - (y * k))) + t_1) + (c * ((y * y3) - (t * y2))));
} else {
tmp = y0 * (j * ((y3 * y5) - (x * b)));
}
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 = y1 * ((k * y2) - (j * y3))
if (y3 <= (-8d+116)) then
tmp = y4 * t_1
else if (y3 <= (-2800000.0d0)) then
tmp = c * (i * ((z * t) - (x * y)))
else if (y3 <= (-2.35d-141)) then
tmp = y2 * (a * ((t * y5) - (x * y1)))
else if (y3 <= (-9.6d-254)) then
tmp = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))))
else if (y3 <= 4.8d-208) then
tmp = y4 * (t * ((b * j) - (c * y2)))
else if (y3 <= 1.15d-84) then
tmp = ((x * a) - (k * y4)) * (y * b)
else if (y3 <= 3.2d-5) then
tmp = i * (y * ((k * y5) - (x * c)))
else if (y3 <= 4.5d+104) then
tmp = j * (y5 * ((y0 * y3) - (t * i)))
else if (y3 <= 1d+171) then
tmp = y4 * (((b * ((t * j) - (y * k))) + t_1) + (c * ((y * y3) - (t * y2))))
else
tmp = y0 * (j * ((y3 * y5) - (x * b)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = y1 * ((k * y2) - (j * y3));
double tmp;
if (y3 <= -8e+116) {
tmp = y4 * t_1;
} else if (y3 <= -2800000.0) {
tmp = c * (i * ((z * t) - (x * y)));
} else if (y3 <= -2.35e-141) {
tmp = y2 * (a * ((t * y5) - (x * y1)));
} else if (y3 <= -9.6e-254) {
tmp = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0))));
} else if (y3 <= 4.8e-208) {
tmp = y4 * (t * ((b * j) - (c * y2)));
} else if (y3 <= 1.15e-84) {
tmp = ((x * a) - (k * y4)) * (y * b);
} else if (y3 <= 3.2e-5) {
tmp = i * (y * ((k * y5) - (x * c)));
} else if (y3 <= 4.5e+104) {
tmp = j * (y5 * ((y0 * y3) - (t * i)));
} else if (y3 <= 1e+171) {
tmp = y4 * (((b * ((t * j) - (y * k))) + t_1) + (c * ((y * y3) - (t * y2))));
} else {
tmp = y0 * (j * ((y3 * y5) - (x * b)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = y1 * ((k * y2) - (j * y3)) tmp = 0 if y3 <= -8e+116: tmp = y4 * t_1 elif y3 <= -2800000.0: tmp = c * (i * ((z * t) - (x * y))) elif y3 <= -2.35e-141: tmp = y2 * (a * ((t * y5) - (x * y1))) elif y3 <= -9.6e-254: tmp = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0)))) elif y3 <= 4.8e-208: tmp = y4 * (t * ((b * j) - (c * y2))) elif y3 <= 1.15e-84: tmp = ((x * a) - (k * y4)) * (y * b) elif y3 <= 3.2e-5: tmp = i * (y * ((k * y5) - (x * c))) elif y3 <= 4.5e+104: tmp = j * (y5 * ((y0 * y3) - (t * i))) elif y3 <= 1e+171: tmp = y4 * (((b * ((t * j) - (y * k))) + t_1) + (c * ((y * y3) - (t * y2)))) else: tmp = y0 * (j * ((y3 * y5) - (x * b))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3))) tmp = 0.0 if (y3 <= -8e+116) tmp = Float64(y4 * t_1); elseif (y3 <= -2800000.0) tmp = Float64(c * Float64(i * Float64(Float64(z * t) - Float64(x * y)))); elseif (y3 <= -2.35e-141) tmp = Float64(y2 * Float64(a * Float64(Float64(t * y5) - Float64(x * y1)))); elseif (y3 <= -9.6e-254) tmp = 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))))); elseif (y3 <= 4.8e-208) tmp = Float64(y4 * Float64(t * Float64(Float64(b * j) - Float64(c * y2)))); elseif (y3 <= 1.15e-84) tmp = Float64(Float64(Float64(x * a) - Float64(k * y4)) * Float64(y * b)); elseif (y3 <= 3.2e-5) tmp = Float64(i * Float64(y * Float64(Float64(k * y5) - Float64(x * c)))); elseif (y3 <= 4.5e+104) tmp = Float64(j * Float64(y5 * Float64(Float64(y0 * y3) - Float64(t * i)))); elseif (y3 <= 1e+171) tmp = Float64(y4 * Float64(Float64(Float64(b * Float64(Float64(t * j) - Float64(y * k))) + t_1) + Float64(c * Float64(Float64(y * y3) - Float64(t * y2))))); else tmp = Float64(y0 * Float64(j * Float64(Float64(y3 * y5) - Float64(x * b)))); 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 = y1 * ((k * y2) - (j * y3)); tmp = 0.0; if (y3 <= -8e+116) tmp = y4 * t_1; elseif (y3 <= -2800000.0) tmp = c * (i * ((z * t) - (x * y))); elseif (y3 <= -2.35e-141) tmp = y2 * (a * ((t * y5) - (x * y1))); elseif (y3 <= -9.6e-254) tmp = x * (((y * ((a * b) - (c * i))) + (y2 * ((c * y0) - (a * y1)))) + (j * ((i * y1) - (b * y0)))); elseif (y3 <= 4.8e-208) tmp = y4 * (t * ((b * j) - (c * y2))); elseif (y3 <= 1.15e-84) tmp = ((x * a) - (k * y4)) * (y * b); elseif (y3 <= 3.2e-5) tmp = i * (y * ((k * y5) - (x * c))); elseif (y3 <= 4.5e+104) tmp = j * (y5 * ((y0 * y3) - (t * i))); elseif (y3 <= 1e+171) tmp = y4 * (((b * ((t * j) - (y * k))) + t_1) + (c * ((y * y3) - (t * y2)))); else tmp = y0 * (j * ((y3 * y5) - (x * b))); 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[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y3, -8e+116], N[(y4 * t$95$1), $MachinePrecision], If[LessEqual[y3, -2800000.0], N[(c * N[(i * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, -2.35e-141], N[(y2 * N[(a * N[(N[(t * y5), $MachinePrecision] - N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, -9.6e-254], 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[y3, 4.8e-208], N[(y4 * N[(t * N[(N[(b * j), $MachinePrecision] - N[(c * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 1.15e-84], N[(N[(N[(x * a), $MachinePrecision] - N[(k * y4), $MachinePrecision]), $MachinePrecision] * N[(y * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 3.2e-5], N[(i * N[(y * N[(N[(k * y5), $MachinePrecision] - N[(x * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 4.5e+104], N[(j * N[(y5 * N[(N[(y0 * y3), $MachinePrecision] - N[(t * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 1e+171], N[(y4 * N[(N[(N[(b * N[(N[(t * j), $MachinePrecision] - N[(y * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision] + N[(c * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y0 * N[(j * N[(N[(y3 * y5), $MachinePrecision] - N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\\
\mathbf{if}\;y3 \leq -8 \cdot 10^{+116}:\\
\;\;\;\;y4 \cdot t_1\\
\mathbf{elif}\;y3 \leq -2800000:\\
\;\;\;\;c \cdot \left(i \cdot \left(z \cdot t - x \cdot y\right)\right)\\
\mathbf{elif}\;y3 \leq -2.35 \cdot 10^{-141}:\\
\;\;\;\;y2 \cdot \left(a \cdot \left(t \cdot y5 - x \cdot y1\right)\right)\\
\mathbf{elif}\;y3 \leq -9.6 \cdot 10^{-254}:\\
\;\;\;\;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{elif}\;y3 \leq 4.8 \cdot 10^{-208}:\\
\;\;\;\;y4 \cdot \left(t \cdot \left(b \cdot j - c \cdot y2\right)\right)\\
\mathbf{elif}\;y3 \leq 1.15 \cdot 10^{-84}:\\
\;\;\;\;\left(x \cdot a - k \cdot y4\right) \cdot \left(y \cdot b\right)\\
\mathbf{elif}\;y3 \leq 3.2 \cdot 10^{-5}:\\
\;\;\;\;i \cdot \left(y \cdot \left(k \cdot y5 - x \cdot c\right)\right)\\
\mathbf{elif}\;y3 \leq 4.5 \cdot 10^{+104}:\\
\;\;\;\;j \cdot \left(y5 \cdot \left(y0 \cdot y3 - t \cdot i\right)\right)\\
\mathbf{elif}\;y3 \leq 10^{+171}:\\
\;\;\;\;y4 \cdot \left(\left(b \cdot \left(t \cdot j - y \cdot k\right) + t_1\right) + c \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y0 \cdot \left(j \cdot \left(y3 \cdot y5 - x \cdot b\right)\right)\\
\end{array}
\end{array}
if y3 < -8.00000000000000012e116Initial program 11.8%
associate-+l-11.8%
Simplified11.8%
Taylor expanded in y4 around inf 44.4%
Taylor expanded in y1 around inf 59.2%
if -8.00000000000000012e116 < y3 < -2.8e6Initial program 30.4%
associate-+l-30.4%
Simplified30.4%
Taylor expanded in c around inf 71.3%
Taylor expanded in i around inf 60.7%
associate-*r*60.7%
neg-mul-160.7%
Simplified60.7%
if -2.8e6 < y3 < -2.3499999999999999e-141Initial program 31.5%
associate-+l-31.5%
Simplified31.5%
Taylor expanded in y2 around inf 48.7%
Taylor expanded in a around -inf 55.3%
mul-1-neg55.3%
associate-*r*55.4%
*-commutative55.4%
Simplified55.4%
if -2.3499999999999999e-141 < y3 < -9.60000000000000007e-254Initial program 29.0%
associate-+l-29.0%
Simplified29.0%
Taylor expanded in x around inf 58.8%
if -9.60000000000000007e-254 < y3 < 4.7999999999999998e-208Initial program 36.9%
associate-+l-36.9%
Simplified36.9%
Taylor expanded in y4 around inf 43.2%
Taylor expanded in t around inf 50.2%
*-commutative50.2%
*-commutative50.2%
Simplified50.2%
if 4.7999999999999998e-208 < y3 < 1.1499999999999999e-84Initial program 42.6%
associate-+l-42.6%
Simplified42.6%
Taylor expanded in b around inf 31.3%
Taylor expanded in y around inf 54.8%
if 1.1499999999999999e-84 < y3 < 3.19999999999999986e-5Initial program 15.8%
associate-+l-15.8%
Simplified15.8%
Taylor expanded in i around -inf 42.5%
Taylor expanded in y around inf 59.0%
+-commutative59.0%
mul-1-neg59.0%
unsub-neg59.0%
*-commutative59.0%
Simplified59.0%
if 3.19999999999999986e-5 < y3 < 4.4999999999999998e104Initial program 17.3%
+-commutative17.3%
fma-def21.7%
*-commutative21.7%
*-commutative21.7%
Simplified21.7%
Taylor expanded in j around inf 48.1%
Taylor expanded in y5 around inf 53.0%
*-commutative53.0%
mul-1-neg53.0%
unsub-neg53.0%
*-commutative53.0%
Simplified53.0%
if 4.4999999999999998e104 < y3 < 9.99999999999999954e170Initial program 31.8%
associate-+l-31.8%
Simplified31.8%
Taylor expanded in y4 around inf 62.5%
if 9.99999999999999954e170 < y3 Initial program 10.3%
+-commutative10.3%
fma-def10.3%
*-commutative10.3%
*-commutative10.3%
Simplified13.8%
Taylor expanded in j around inf 35.2%
Taylor expanded in y0 around inf 62.3%
Final simplification57.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* a y5) (* c y4)))
(t_2
(*
y2
(+
(+ (* x (- (* c y0) (* a y1))) (* k (- (* y1 y4) (* y0 y5))))
(* t t_1)))))
(if (<= y2 -9000000000.0)
t_2
(if (<= y2 -1.75e-249)
(*
y5
(+
(* i (- (* y k) (* t j)))
(+ (* a (- (* t y2) (* y y3))) (* y0 (- (* j y3) (* k y2))))))
(if (<= y2 -3.6e-308)
(* k (* z (- (* b y0) (* i y1))))
(if (<= y2 3.8e-225)
(* (* x b) (- (* y a) (* j y0)))
(if (<= y2 310000.0)
(* y0 (* j (- (* y3 y5) (* x b))))
(if (<= y2 4.8e+51)
t_2
(if (<= y2 8.6e+114)
(* j (* x (- (* i y1) (* b y0))))
(if (<= y2 8e+211) t_2 (* t (* 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 = (a * y5) - (c * y4);
double t_2 = y2 * (((x * ((c * y0) - (a * y1))) + (k * ((y1 * y4) - (y0 * y5)))) + (t * t_1));
double tmp;
if (y2 <= -9000000000.0) {
tmp = t_2;
} else if (y2 <= -1.75e-249) {
tmp = y5 * ((i * ((y * k) - (t * j))) + ((a * ((t * y2) - (y * y3))) + (y0 * ((j * y3) - (k * y2)))));
} else if (y2 <= -3.6e-308) {
tmp = k * (z * ((b * y0) - (i * y1)));
} else if (y2 <= 3.8e-225) {
tmp = (x * b) * ((y * a) - (j * y0));
} else if (y2 <= 310000.0) {
tmp = y0 * (j * ((y3 * y5) - (x * b)));
} else if (y2 <= 4.8e+51) {
tmp = t_2;
} else if (y2 <= 8.6e+114) {
tmp = j * (x * ((i * y1) - (b * y0)));
} else if (y2 <= 8e+211) {
tmp = t_2;
} else {
tmp = t * (y2 * 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 = (a * y5) - (c * y4)
t_2 = y2 * (((x * ((c * y0) - (a * y1))) + (k * ((y1 * y4) - (y0 * y5)))) + (t * t_1))
if (y2 <= (-9000000000.0d0)) then
tmp = t_2
else if (y2 <= (-1.75d-249)) then
tmp = y5 * ((i * ((y * k) - (t * j))) + ((a * ((t * y2) - (y * y3))) + (y0 * ((j * y3) - (k * y2)))))
else if (y2 <= (-3.6d-308)) then
tmp = k * (z * ((b * y0) - (i * y1)))
else if (y2 <= 3.8d-225) then
tmp = (x * b) * ((y * a) - (j * y0))
else if (y2 <= 310000.0d0) then
tmp = y0 * (j * ((y3 * y5) - (x * b)))
else if (y2 <= 4.8d+51) then
tmp = t_2
else if (y2 <= 8.6d+114) then
tmp = j * (x * ((i * y1) - (b * y0)))
else if (y2 <= 8d+211) then
tmp = t_2
else
tmp = t * (y2 * 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 = (a * y5) - (c * y4);
double t_2 = y2 * (((x * ((c * y0) - (a * y1))) + (k * ((y1 * y4) - (y0 * y5)))) + (t * t_1));
double tmp;
if (y2 <= -9000000000.0) {
tmp = t_2;
} else if (y2 <= -1.75e-249) {
tmp = y5 * ((i * ((y * k) - (t * j))) + ((a * ((t * y2) - (y * y3))) + (y0 * ((j * y3) - (k * y2)))));
} else if (y2 <= -3.6e-308) {
tmp = k * (z * ((b * y0) - (i * y1)));
} else if (y2 <= 3.8e-225) {
tmp = (x * b) * ((y * a) - (j * y0));
} else if (y2 <= 310000.0) {
tmp = y0 * (j * ((y3 * y5) - (x * b)));
} else if (y2 <= 4.8e+51) {
tmp = t_2;
} else if (y2 <= 8.6e+114) {
tmp = j * (x * ((i * y1) - (b * y0)));
} else if (y2 <= 8e+211) {
tmp = t_2;
} else {
tmp = t * (y2 * 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 * y5) - (c * y4) t_2 = y2 * (((x * ((c * y0) - (a * y1))) + (k * ((y1 * y4) - (y0 * y5)))) + (t * t_1)) tmp = 0 if y2 <= -9000000000.0: tmp = t_2 elif y2 <= -1.75e-249: tmp = y5 * ((i * ((y * k) - (t * j))) + ((a * ((t * y2) - (y * y3))) + (y0 * ((j * y3) - (k * y2))))) elif y2 <= -3.6e-308: tmp = k * (z * ((b * y0) - (i * y1))) elif y2 <= 3.8e-225: tmp = (x * b) * ((y * a) - (j * y0)) elif y2 <= 310000.0: tmp = y0 * (j * ((y3 * y5) - (x * b))) elif y2 <= 4.8e+51: tmp = t_2 elif y2 <= 8.6e+114: tmp = j * (x * ((i * y1) - (b * y0))) elif y2 <= 8e+211: tmp = t_2 else: tmp = t * (y2 * 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 * y5) - Float64(c * y4)) t_2 = Float64(y2 * Float64(Float64(Float64(x * Float64(Float64(c * y0) - Float64(a * y1))) + Float64(k * Float64(Float64(y1 * y4) - Float64(y0 * y5)))) + Float64(t * t_1))) tmp = 0.0 if (y2 <= -9000000000.0) tmp = t_2; elseif (y2 <= -1.75e-249) tmp = Float64(y5 * Float64(Float64(i * Float64(Float64(y * k) - Float64(t * j))) + Float64(Float64(a * Float64(Float64(t * y2) - Float64(y * y3))) + Float64(y0 * Float64(Float64(j * y3) - Float64(k * y2)))))); elseif (y2 <= -3.6e-308) tmp = Float64(k * Float64(z * Float64(Float64(b * y0) - Float64(i * y1)))); elseif (y2 <= 3.8e-225) tmp = Float64(Float64(x * b) * Float64(Float64(y * a) - Float64(j * y0))); elseif (y2 <= 310000.0) tmp = Float64(y0 * Float64(j * Float64(Float64(y3 * y5) - Float64(x * b)))); elseif (y2 <= 4.8e+51) tmp = t_2; elseif (y2 <= 8.6e+114) tmp = Float64(j * Float64(x * Float64(Float64(i * y1) - Float64(b * y0)))); elseif (y2 <= 8e+211) tmp = t_2; else tmp = Float64(t * Float64(y2 * 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 * y5) - (c * y4); t_2 = y2 * (((x * ((c * y0) - (a * y1))) + (k * ((y1 * y4) - (y0 * y5)))) + (t * t_1)); tmp = 0.0; if (y2 <= -9000000000.0) tmp = t_2; elseif (y2 <= -1.75e-249) tmp = y5 * ((i * ((y * k) - (t * j))) + ((a * ((t * y2) - (y * y3))) + (y0 * ((j * y3) - (k * y2))))); elseif (y2 <= -3.6e-308) tmp = k * (z * ((b * y0) - (i * y1))); elseif (y2 <= 3.8e-225) tmp = (x * b) * ((y * a) - (j * y0)); elseif (y2 <= 310000.0) tmp = y0 * (j * ((y3 * y5) - (x * b))); elseif (y2 <= 4.8e+51) tmp = t_2; elseif (y2 <= 8.6e+114) tmp = j * (x * ((i * y1) - (b * y0))); elseif (y2 <= 8e+211) tmp = t_2; else tmp = t * (y2 * 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 * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y2 * N[(N[(N[(x * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(k * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(t * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y2, -9000000000.0], t$95$2, If[LessEqual[y2, -1.75e-249], N[(y5 * N[(N[(i * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(a * N[(N[(t * y2), $MachinePrecision] - N[(y * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y0 * N[(N[(j * y3), $MachinePrecision] - N[(k * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, -3.6e-308], N[(k * N[(z * N[(N[(b * y0), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 3.8e-225], N[(N[(x * b), $MachinePrecision] * N[(N[(y * a), $MachinePrecision] - N[(j * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 310000.0], N[(y0 * N[(j * N[(N[(y3 * y5), $MachinePrecision] - N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 4.8e+51], t$95$2, If[LessEqual[y2, 8.6e+114], N[(j * N[(x * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 8e+211], t$95$2, N[(t * N[(y2 * t$95$1), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot y5 - c \cdot y4\\
t_2 := y2 \cdot \left(\left(x \cdot \left(c \cdot y0 - a \cdot y1\right) + k \cdot \left(y1 \cdot y4 - y0 \cdot y5\right)\right) + t \cdot t_1\right)\\
\mathbf{if}\;y2 \leq -9000000000:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y2 \leq -1.75 \cdot 10^{-249}:\\
\;\;\;\;y5 \cdot \left(i \cdot \left(y \cdot k - t \cdot j\right) + \left(a \cdot \left(t \cdot y2 - y \cdot y3\right) + y0 \cdot \left(j \cdot y3 - k \cdot y2\right)\right)\right)\\
\mathbf{elif}\;y2 \leq -3.6 \cdot 10^{-308}:\\
\;\;\;\;k \cdot \left(z \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\\
\mathbf{elif}\;y2 \leq 3.8 \cdot 10^{-225}:\\
\;\;\;\;\left(x \cdot b\right) \cdot \left(y \cdot a - j \cdot y0\right)\\
\mathbf{elif}\;y2 \leq 310000:\\
\;\;\;\;y0 \cdot \left(j \cdot \left(y3 \cdot y5 - x \cdot b\right)\right)\\
\mathbf{elif}\;y2 \leq 4.8 \cdot 10^{+51}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y2 \leq 8.6 \cdot 10^{+114}:\\
\;\;\;\;j \cdot \left(x \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{elif}\;y2 \leq 8 \cdot 10^{+211}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t \cdot \left(y2 \cdot t_1\right)\\
\end{array}
\end{array}
if y2 < -9e9 or 3.1e5 < y2 < 4.7999999999999997e51 or 8.6000000000000001e114 < y2 < 7.9999999999999997e211Initial program 25.0%
associate-+l-25.0%
Simplified25.0%
Taylor expanded in y2 around inf 69.9%
if -9e9 < y2 < -1.75000000000000006e-249Initial program 24.7%
associate-+l-24.7%
Simplified24.7%
Taylor expanded in y5 around -inf 46.7%
mul-1-neg46.7%
associate--l+46.7%
*-commutative46.7%
Simplified46.7%
if -1.75000000000000006e-249 < y2 < -3.5999999999999999e-308Initial program 23.5%
associate-+l-23.5%
Simplified23.5%
Taylor expanded in z around -inf 39.2%
mul-1-neg39.2%
*-commutative39.2%
associate--l+39.2%
*-commutative39.2%
*-commutative39.2%
*-commutative39.2%
*-commutative39.2%
*-commutative39.2%
*-commutative39.2%
*-commutative39.2%
*-commutative39.2%
Simplified39.2%
Taylor expanded in k around inf 62.3%
if -3.5999999999999999e-308 < y2 < 3.8000000000000003e-225Initial program 63.3%
associate-+l-63.3%
Simplified63.3%
Taylor expanded in b around inf 37.7%
Taylor expanded in x around inf 50.8%
if 3.8000000000000003e-225 < y2 < 3.1e5Initial program 30.7%
+-commutative30.7%
fma-def32.7%
*-commutative32.7%
*-commutative32.7%
Simplified36.5%
Taylor expanded in j around inf 41.4%
Taylor expanded in y0 around inf 50.7%
if 4.7999999999999997e51 < y2 < 8.6000000000000001e114Initial program 16.7%
+-commutative16.7%
fma-def25.0%
*-commutative25.0%
*-commutative25.0%
Simplified25.0%
Taylor expanded in j around inf 42.0%
Taylor expanded in x around inf 50.9%
if 7.9999999999999997e211 < y2 Initial program 9.5%
associate-+l-9.5%
Simplified9.5%
Taylor expanded in y2 around inf 52.7%
Taylor expanded in t around -inf 71.8%
associate-*r*71.8%
neg-mul-171.8%
*-commutative71.8%
Simplified71.8%
Final simplification59.5%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* a y5) (* c y4)))
(t_2
(*
y2
(+
(+ (* x (- (* c y0) (* a y1))) (* k (- (* y1 y4) (* y0 y5))))
(* t t_1))))
(t_3 (- (* z t) (* x y)))
(t_4
(*
c
(+
(+ (* i t_3) (* y0 (- (* x y2) (* z y3))))
(* y4 (- (* y y3) (* t y2)))))))
(if (<= y2 -7.4e-31)
t_2
(if (<= y2 -1.4e-253)
t_4
(if (<= y2 1.3e-219)
(*
i
(+
(* y1 (- (* x j) (* z k)))
(+ (* y5 (- (* y k) (* t j))) (* c t_3))))
(if (<= y2 1.42e-117)
(* y0 (* j (- (* y3 y5) (* x b))))
(if (<= y2 5.6e-6)
t_4
(if (<= y2 5e+51)
t_2
(if (<= y2 2.9e+112)
(* j (* x (- (* i y1) (* b y0))))
(if (<= y2 2.45e+211) t_2 (* t (* 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 = (a * y5) - (c * y4);
double t_2 = y2 * (((x * ((c * y0) - (a * y1))) + (k * ((y1 * y4) - (y0 * y5)))) + (t * t_1));
double t_3 = (z * t) - (x * y);
double t_4 = c * (((i * t_3) + (y0 * ((x * y2) - (z * y3)))) + (y4 * ((y * y3) - (t * y2))));
double tmp;
if (y2 <= -7.4e-31) {
tmp = t_2;
} else if (y2 <= -1.4e-253) {
tmp = t_4;
} else if (y2 <= 1.3e-219) {
tmp = i * ((y1 * ((x * j) - (z * k))) + ((y5 * ((y * k) - (t * j))) + (c * t_3)));
} else if (y2 <= 1.42e-117) {
tmp = y0 * (j * ((y3 * y5) - (x * b)));
} else if (y2 <= 5.6e-6) {
tmp = t_4;
} else if (y2 <= 5e+51) {
tmp = t_2;
} else if (y2 <= 2.9e+112) {
tmp = j * (x * ((i * y1) - (b * y0)));
} else if (y2 <= 2.45e+211) {
tmp = t_2;
} else {
tmp = t * (y2 * 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) :: t_4
real(8) :: tmp
t_1 = (a * y5) - (c * y4)
t_2 = y2 * (((x * ((c * y0) - (a * y1))) + (k * ((y1 * y4) - (y0 * y5)))) + (t * t_1))
t_3 = (z * t) - (x * y)
t_4 = c * (((i * t_3) + (y0 * ((x * y2) - (z * y3)))) + (y4 * ((y * y3) - (t * y2))))
if (y2 <= (-7.4d-31)) then
tmp = t_2
else if (y2 <= (-1.4d-253)) then
tmp = t_4
else if (y2 <= 1.3d-219) then
tmp = i * ((y1 * ((x * j) - (z * k))) + ((y5 * ((y * k) - (t * j))) + (c * t_3)))
else if (y2 <= 1.42d-117) then
tmp = y0 * (j * ((y3 * y5) - (x * b)))
else if (y2 <= 5.6d-6) then
tmp = t_4
else if (y2 <= 5d+51) then
tmp = t_2
else if (y2 <= 2.9d+112) then
tmp = j * (x * ((i * y1) - (b * y0)))
else if (y2 <= 2.45d+211) then
tmp = t_2
else
tmp = t * (y2 * 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 = (a * y5) - (c * y4);
double t_2 = y2 * (((x * ((c * y0) - (a * y1))) + (k * ((y1 * y4) - (y0 * y5)))) + (t * t_1));
double t_3 = (z * t) - (x * y);
double t_4 = c * (((i * t_3) + (y0 * ((x * y2) - (z * y3)))) + (y4 * ((y * y3) - (t * y2))));
double tmp;
if (y2 <= -7.4e-31) {
tmp = t_2;
} else if (y2 <= -1.4e-253) {
tmp = t_4;
} else if (y2 <= 1.3e-219) {
tmp = i * ((y1 * ((x * j) - (z * k))) + ((y5 * ((y * k) - (t * j))) + (c * t_3)));
} else if (y2 <= 1.42e-117) {
tmp = y0 * (j * ((y3 * y5) - (x * b)));
} else if (y2 <= 5.6e-6) {
tmp = t_4;
} else if (y2 <= 5e+51) {
tmp = t_2;
} else if (y2 <= 2.9e+112) {
tmp = j * (x * ((i * y1) - (b * y0)));
} else if (y2 <= 2.45e+211) {
tmp = t_2;
} else {
tmp = t * (y2 * 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 * y5) - (c * y4) t_2 = y2 * (((x * ((c * y0) - (a * y1))) + (k * ((y1 * y4) - (y0 * y5)))) + (t * t_1)) t_3 = (z * t) - (x * y) t_4 = c * (((i * t_3) + (y0 * ((x * y2) - (z * y3)))) + (y4 * ((y * y3) - (t * y2)))) tmp = 0 if y2 <= -7.4e-31: tmp = t_2 elif y2 <= -1.4e-253: tmp = t_4 elif y2 <= 1.3e-219: tmp = i * ((y1 * ((x * j) - (z * k))) + ((y5 * ((y * k) - (t * j))) + (c * t_3))) elif y2 <= 1.42e-117: tmp = y0 * (j * ((y3 * y5) - (x * b))) elif y2 <= 5.6e-6: tmp = t_4 elif y2 <= 5e+51: tmp = t_2 elif y2 <= 2.9e+112: tmp = j * (x * ((i * y1) - (b * y0))) elif y2 <= 2.45e+211: tmp = t_2 else: tmp = t * (y2 * 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 * y5) - Float64(c * y4)) t_2 = Float64(y2 * Float64(Float64(Float64(x * Float64(Float64(c * y0) - Float64(a * y1))) + Float64(k * Float64(Float64(y1 * y4) - Float64(y0 * y5)))) + Float64(t * t_1))) t_3 = Float64(Float64(z * t) - Float64(x * y)) t_4 = Float64(c * Float64(Float64(Float64(i * t_3) + Float64(y0 * Float64(Float64(x * y2) - Float64(z * y3)))) + Float64(y4 * Float64(Float64(y * y3) - Float64(t * y2))))) tmp = 0.0 if (y2 <= -7.4e-31) tmp = t_2; elseif (y2 <= -1.4e-253) tmp = t_4; elseif (y2 <= 1.3e-219) tmp = Float64(i * Float64(Float64(y1 * Float64(Float64(x * j) - Float64(z * k))) + Float64(Float64(y5 * Float64(Float64(y * k) - Float64(t * j))) + Float64(c * t_3)))); elseif (y2 <= 1.42e-117) tmp = Float64(y0 * Float64(j * Float64(Float64(y3 * y5) - Float64(x * b)))); elseif (y2 <= 5.6e-6) tmp = t_4; elseif (y2 <= 5e+51) tmp = t_2; elseif (y2 <= 2.9e+112) tmp = Float64(j * Float64(x * Float64(Float64(i * y1) - Float64(b * y0)))); elseif (y2 <= 2.45e+211) tmp = t_2; else tmp = Float64(t * Float64(y2 * 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 * y5) - (c * y4); t_2 = y2 * (((x * ((c * y0) - (a * y1))) + (k * ((y1 * y4) - (y0 * y5)))) + (t * t_1)); t_3 = (z * t) - (x * y); t_4 = c * (((i * t_3) + (y0 * ((x * y2) - (z * y3)))) + (y4 * ((y * y3) - (t * y2)))); tmp = 0.0; if (y2 <= -7.4e-31) tmp = t_2; elseif (y2 <= -1.4e-253) tmp = t_4; elseif (y2 <= 1.3e-219) tmp = i * ((y1 * ((x * j) - (z * k))) + ((y5 * ((y * k) - (t * j))) + (c * t_3))); elseif (y2 <= 1.42e-117) tmp = y0 * (j * ((y3 * y5) - (x * b))); elseif (y2 <= 5.6e-6) tmp = t_4; elseif (y2 <= 5e+51) tmp = t_2; elseif (y2 <= 2.9e+112) tmp = j * (x * ((i * y1) - (b * y0))); elseif (y2 <= 2.45e+211) tmp = t_2; else tmp = t * (y2 * 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 * y5), $MachinePrecision] - N[(c * y4), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y2 * N[(N[(N[(x * N[(N[(c * y0), $MachinePrecision] - N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(k * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(t * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(c * N[(N[(N[(i * t$95$3), $MachinePrecision] + N[(y0 * N[(N[(x * y2), $MachinePrecision] - N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(y4 * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y2, -7.4e-31], t$95$2, If[LessEqual[y2, -1.4e-253], t$95$4, If[LessEqual[y2, 1.3e-219], N[(i * N[(N[(y1 * N[(N[(x * j), $MachinePrecision] - N[(z * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(y5 * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(c * t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 1.42e-117], N[(y0 * N[(j * N[(N[(y3 * y5), $MachinePrecision] - N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 5.6e-6], t$95$4, If[LessEqual[y2, 5e+51], t$95$2, If[LessEqual[y2, 2.9e+112], N[(j * N[(x * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y2, 2.45e+211], t$95$2, N[(t * N[(y2 * t$95$1), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot y5 - c \cdot y4\\
t_2 := y2 \cdot \left(\left(x \cdot \left(c \cdot y0 - a \cdot y1\right) + k \cdot \left(y1 \cdot y4 - y0 \cdot y5\right)\right) + t \cdot t_1\right)\\
t_3 := z \cdot t - x \cdot y\\
t_4 := c \cdot \left(\left(i \cdot t_3 + y0 \cdot \left(x \cdot y2 - z \cdot y3\right)\right) + y4 \cdot \left(y \cdot y3 - t \cdot y2\right)\right)\\
\mathbf{if}\;y2 \leq -7.4 \cdot 10^{-31}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y2 \leq -1.4 \cdot 10^{-253}:\\
\;\;\;\;t_4\\
\mathbf{elif}\;y2 \leq 1.3 \cdot 10^{-219}:\\
\;\;\;\;i \cdot \left(y1 \cdot \left(x \cdot j - z \cdot k\right) + \left(y5 \cdot \left(y \cdot k - t \cdot j\right) + c \cdot t_3\right)\right)\\
\mathbf{elif}\;y2 \leq 1.42 \cdot 10^{-117}:\\
\;\;\;\;y0 \cdot \left(j \cdot \left(y3 \cdot y5 - x \cdot b\right)\right)\\
\mathbf{elif}\;y2 \leq 5.6 \cdot 10^{-6}:\\
\;\;\;\;t_4\\
\mathbf{elif}\;y2 \leq 5 \cdot 10^{+51}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y2 \leq 2.9 \cdot 10^{+112}:\\
\;\;\;\;j \cdot \left(x \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{elif}\;y2 \leq 2.45 \cdot 10^{+211}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t \cdot \left(y2 \cdot t_1\right)\\
\end{array}
\end{array}
if y2 < -7.3999999999999996e-31 or 5.59999999999999975e-6 < y2 < 5e51 or 2.9000000000000002e112 < y2 < 2.4500000000000002e211Initial program 23.2%
associate-+l-23.2%
Simplified23.2%
Taylor expanded in y2 around inf 64.6%
if -7.3999999999999996e-31 < y2 < -1.40000000000000003e-253 or 1.42000000000000001e-117 < y2 < 5.59999999999999975e-6Initial program 24.9%
associate-+l-24.9%
Simplified24.9%
Taylor expanded in c around inf 56.6%
if -1.40000000000000003e-253 < y2 < 1.30000000000000001e-219Initial program 40.3%
associate-+l-40.3%
Simplified40.3%
Taylor expanded in i around -inf 60.6%
if 1.30000000000000001e-219 < y2 < 1.42000000000000001e-117Initial program 47.5%
+-commutative47.5%
fma-def47.5%
*-commutative47.5%
*-commutative47.5%
Simplified47.5%
Taylor expanded in j around inf 43.7%
Taylor expanded in y0 around inf 61.9%
if 5e51 < y2 < 2.9000000000000002e112Initial program 16.7%
+-commutative16.7%
fma-def25.0%
*-commutative25.0%
*-commutative25.0%
Simplified25.0%
Taylor expanded in j around inf 42.0%
Taylor expanded in x around inf 50.9%
if 2.4500000000000002e211 < y2 Initial program 9.5%
associate-+l-9.5%
Simplified9.5%
Taylor expanded in y2 around inf 52.7%
Taylor expanded in t around -inf 71.8%
associate-*r*71.8%
neg-mul-171.8%
*-commutative71.8%
Simplified71.8%
Final simplification61.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* y0 (* j (- (* y3 y5) (* x b)))))
(t_2 (* y1 (* y2 (- (* k y4) (* x a))))))
(if (<= j -2.36e+39)
t_1
(if (<= j -2.2e-162)
(* (* c y4) (- (* y y3) (* t y2)))
(if (<= j -6e-178)
(* y4 (* y1 (- (* k y2) (* j y3))))
(if (<= j -1.75e-194)
(* c (* y2 (- (* x y0) (* t y4))))
(if (<= j 7.2e-306)
(* b (* y (- (* x a) (* k y4))))
(if (<= j 3e-254)
t_2
(if (<= j 1.05e-179)
(* y0 (* y2 (* k (- y5))))
(if (<= j 86000000000000.0)
(* y4 (* y2 (- (* k y1) (* t c))))
(if (<= j 1.12e+77)
t_2
(if (<= j 3.5e+206)
(* j (* y5 (- (* y0 y3) (* t i))))
(if (<= j 1.2e+257)
(* j (* x (- (* i y1) (* b 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 = y0 * (j * ((y3 * y5) - (x * b)));
double t_2 = y1 * (y2 * ((k * y4) - (x * a)));
double tmp;
if (j <= -2.36e+39) {
tmp = t_1;
} else if (j <= -2.2e-162) {
tmp = (c * y4) * ((y * y3) - (t * y2));
} else if (j <= -6e-178) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (j <= -1.75e-194) {
tmp = c * (y2 * ((x * y0) - (t * y4)));
} else if (j <= 7.2e-306) {
tmp = b * (y * ((x * a) - (k * y4)));
} else if (j <= 3e-254) {
tmp = t_2;
} else if (j <= 1.05e-179) {
tmp = y0 * (y2 * (k * -y5));
} else if (j <= 86000000000000.0) {
tmp = y4 * (y2 * ((k * y1) - (t * c)));
} else if (j <= 1.12e+77) {
tmp = t_2;
} else if (j <= 3.5e+206) {
tmp = j * (y5 * ((y0 * y3) - (t * i)));
} else if (j <= 1.2e+257) {
tmp = j * (x * ((i * y1) - (b * 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) :: t_2
real(8) :: tmp
t_1 = y0 * (j * ((y3 * y5) - (x * b)))
t_2 = y1 * (y2 * ((k * y4) - (x * a)))
if (j <= (-2.36d+39)) then
tmp = t_1
else if (j <= (-2.2d-162)) then
tmp = (c * y4) * ((y * y3) - (t * y2))
else if (j <= (-6d-178)) then
tmp = y4 * (y1 * ((k * y2) - (j * y3)))
else if (j <= (-1.75d-194)) then
tmp = c * (y2 * ((x * y0) - (t * y4)))
else if (j <= 7.2d-306) then
tmp = b * (y * ((x * a) - (k * y4)))
else if (j <= 3d-254) then
tmp = t_2
else if (j <= 1.05d-179) then
tmp = y0 * (y2 * (k * -y5))
else if (j <= 86000000000000.0d0) then
tmp = y4 * (y2 * ((k * y1) - (t * c)))
else if (j <= 1.12d+77) then
tmp = t_2
else if (j <= 3.5d+206) then
tmp = j * (y5 * ((y0 * y3) - (t * i)))
else if (j <= 1.2d+257) then
tmp = j * (x * ((i * y1) - (b * 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 = y0 * (j * ((y3 * y5) - (x * b)));
double t_2 = y1 * (y2 * ((k * y4) - (x * a)));
double tmp;
if (j <= -2.36e+39) {
tmp = t_1;
} else if (j <= -2.2e-162) {
tmp = (c * y4) * ((y * y3) - (t * y2));
} else if (j <= -6e-178) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (j <= -1.75e-194) {
tmp = c * (y2 * ((x * y0) - (t * y4)));
} else if (j <= 7.2e-306) {
tmp = b * (y * ((x * a) - (k * y4)));
} else if (j <= 3e-254) {
tmp = t_2;
} else if (j <= 1.05e-179) {
tmp = y0 * (y2 * (k * -y5));
} else if (j <= 86000000000000.0) {
tmp = y4 * (y2 * ((k * y1) - (t * c)));
} else if (j <= 1.12e+77) {
tmp = t_2;
} else if (j <= 3.5e+206) {
tmp = j * (y5 * ((y0 * y3) - (t * i)));
} else if (j <= 1.2e+257) {
tmp = j * (x * ((i * y1) - (b * 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 = y0 * (j * ((y3 * y5) - (x * b))) t_2 = y1 * (y2 * ((k * y4) - (x * a))) tmp = 0 if j <= -2.36e+39: tmp = t_1 elif j <= -2.2e-162: tmp = (c * y4) * ((y * y3) - (t * y2)) elif j <= -6e-178: tmp = y4 * (y1 * ((k * y2) - (j * y3))) elif j <= -1.75e-194: tmp = c * (y2 * ((x * y0) - (t * y4))) elif j <= 7.2e-306: tmp = b * (y * ((x * a) - (k * y4))) elif j <= 3e-254: tmp = t_2 elif j <= 1.05e-179: tmp = y0 * (y2 * (k * -y5)) elif j <= 86000000000000.0: tmp = y4 * (y2 * ((k * y1) - (t * c))) elif j <= 1.12e+77: tmp = t_2 elif j <= 3.5e+206: tmp = j * (y5 * ((y0 * y3) - (t * i))) elif j <= 1.2e+257: tmp = j * (x * ((i * y1) - (b * 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(y0 * Float64(j * Float64(Float64(y3 * y5) - Float64(x * b)))) t_2 = Float64(y1 * Float64(y2 * Float64(Float64(k * y4) - Float64(x * a)))) tmp = 0.0 if (j <= -2.36e+39) tmp = t_1; elseif (j <= -2.2e-162) tmp = Float64(Float64(c * y4) * Float64(Float64(y * y3) - Float64(t * y2))); elseif (j <= -6e-178) tmp = Float64(y4 * Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))); elseif (j <= -1.75e-194) tmp = Float64(c * Float64(y2 * Float64(Float64(x * y0) - Float64(t * y4)))); elseif (j <= 7.2e-306) tmp = Float64(b * Float64(y * Float64(Float64(x * a) - Float64(k * y4)))); elseif (j <= 3e-254) tmp = t_2; elseif (j <= 1.05e-179) tmp = Float64(y0 * Float64(y2 * Float64(k * Float64(-y5)))); elseif (j <= 86000000000000.0) tmp = Float64(y4 * Float64(y2 * Float64(Float64(k * y1) - Float64(t * c)))); elseif (j <= 1.12e+77) tmp = t_2; elseif (j <= 3.5e+206) tmp = Float64(j * Float64(y5 * Float64(Float64(y0 * y3) - Float64(t * i)))); elseif (j <= 1.2e+257) tmp = Float64(j * Float64(x * Float64(Float64(i * y1) - Float64(b * 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 = y0 * (j * ((y3 * y5) - (x * b))); t_2 = y1 * (y2 * ((k * y4) - (x * a))); tmp = 0.0; if (j <= -2.36e+39) tmp = t_1; elseif (j <= -2.2e-162) tmp = (c * y4) * ((y * y3) - (t * y2)); elseif (j <= -6e-178) tmp = y4 * (y1 * ((k * y2) - (j * y3))); elseif (j <= -1.75e-194) tmp = c * (y2 * ((x * y0) - (t * y4))); elseif (j <= 7.2e-306) tmp = b * (y * ((x * a) - (k * y4))); elseif (j <= 3e-254) tmp = t_2; elseif (j <= 1.05e-179) tmp = y0 * (y2 * (k * -y5)); elseif (j <= 86000000000000.0) tmp = y4 * (y2 * ((k * y1) - (t * c))); elseif (j <= 1.12e+77) tmp = t_2; elseif (j <= 3.5e+206) tmp = j * (y5 * ((y0 * y3) - (t * i))); elseif (j <= 1.2e+257) tmp = j * (x * ((i * y1) - (b * 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[(y0 * N[(j * N[(N[(y3 * y5), $MachinePrecision] - N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y1 * N[(y2 * N[(N[(k * y4), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -2.36e+39], t$95$1, If[LessEqual[j, -2.2e-162], N[(N[(c * y4), $MachinePrecision] * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -6e-178], N[(y4 * N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -1.75e-194], N[(c * N[(y2 * N[(N[(x * y0), $MachinePrecision] - N[(t * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 7.2e-306], N[(b * N[(y * N[(N[(x * a), $MachinePrecision] - N[(k * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 3e-254], t$95$2, If[LessEqual[j, 1.05e-179], N[(y0 * N[(y2 * N[(k * (-y5)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 86000000000000.0], N[(y4 * N[(y2 * N[(N[(k * y1), $MachinePrecision] - N[(t * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.12e+77], t$95$2, If[LessEqual[j, 3.5e+206], N[(j * N[(y5 * N[(N[(y0 * y3), $MachinePrecision] - N[(t * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.2e+257], N[(j * N[(x * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y0 \cdot \left(j \cdot \left(y3 \cdot y5 - x \cdot b\right)\right)\\
t_2 := y1 \cdot \left(y2 \cdot \left(k \cdot y4 - x \cdot a\right)\right)\\
\mathbf{if}\;j \leq -2.36 \cdot 10^{+39}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq -2.2 \cdot 10^{-162}:\\
\;\;\;\;\left(c \cdot y4\right) \cdot \left(y \cdot y3 - t \cdot y2\right)\\
\mathbf{elif}\;j \leq -6 \cdot 10^{-178}:\\
\;\;\;\;y4 \cdot \left(y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right)\\
\mathbf{elif}\;j \leq -1.75 \cdot 10^{-194}:\\
\;\;\;\;c \cdot \left(y2 \cdot \left(x \cdot y0 - t \cdot y4\right)\right)\\
\mathbf{elif}\;j \leq 7.2 \cdot 10^{-306}:\\
\;\;\;\;b \cdot \left(y \cdot \left(x \cdot a - k \cdot y4\right)\right)\\
\mathbf{elif}\;j \leq 3 \cdot 10^{-254}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;j \leq 1.05 \cdot 10^{-179}:\\
\;\;\;\;y0 \cdot \left(y2 \cdot \left(k \cdot \left(-y5\right)\right)\right)\\
\mathbf{elif}\;j \leq 86000000000000:\\
\;\;\;\;y4 \cdot \left(y2 \cdot \left(k \cdot y1 - t \cdot c\right)\right)\\
\mathbf{elif}\;j \leq 1.12 \cdot 10^{+77}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;j \leq 3.5 \cdot 10^{+206}:\\
\;\;\;\;j \cdot \left(y5 \cdot \left(y0 \cdot y3 - t \cdot i\right)\right)\\
\mathbf{elif}\;j \leq 1.2 \cdot 10^{+257}:\\
\;\;\;\;j \cdot \left(x \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if j < -2.35999999999999992e39 or 1.2e257 < j Initial program 24.8%
+-commutative24.8%
fma-def27.7%
*-commutative27.7%
*-commutative27.7%
Simplified32.1%
Taylor expanded in j around inf 51.3%
Taylor expanded in y0 around inf 51.3%
if -2.35999999999999992e39 < j < -2.1999999999999999e-162Initial program 30.2%
associate-+l-30.2%
Simplified30.2%
Taylor expanded in y4 around inf 49.4%
Taylor expanded in c around inf 46.8%
associate-*r*44.2%
*-commutative44.2%
*-commutative44.2%
Simplified44.2%
if -2.1999999999999999e-162 < j < -5.9999999999999997e-178Initial program 22.2%
associate-+l-22.2%
Simplified22.2%
Taylor expanded in y4 around inf 66.9%
Taylor expanded in y1 around inf 78.0%
if -5.9999999999999997e-178 < j < -1.7500000000000001e-194Initial program 2.2%
associate-+l-2.2%
Simplified2.2%
Taylor expanded in y2 around inf 52.2%
Taylor expanded in c around inf 77.2%
if -1.7500000000000001e-194 < j < 7.19999999999999982e-306Initial program 5.9%
associate-+l-5.9%
Simplified5.9%
Taylor expanded in b around inf 52.6%
Taylor expanded in y around inf 58.7%
associate-*r*58.7%
*-commutative58.7%
*-commutative58.7%
+-commutative58.7%
mul-1-neg58.7%
unsub-neg58.7%
Simplified58.7%
if 7.19999999999999982e-306 < j < 3.00000000000000012e-254 or 8.6e13 < j < 1.1199999999999999e77Initial program 35.0%
associate-+l-35.0%
Simplified35.0%
Taylor expanded in y2 around inf 36.1%
Taylor expanded in y1 around inf 47.1%
*-commutative47.1%
+-commutative47.1%
mul-1-neg47.1%
unsub-neg47.1%
Simplified47.1%
if 3.00000000000000012e-254 < j < 1.0499999999999999e-179Initial program 11.5%
associate-+l-11.5%
Simplified11.5%
Taylor expanded in y2 around inf 61.1%
Taylor expanded in y0 around -inf 44.9%
associate-*r*44.9%
neg-mul-144.9%
*-commutative44.9%
mul-1-neg44.9%
unsub-neg44.9%
*-commutative44.9%
Simplified44.9%
Taylor expanded in k around inf 50.8%
if 1.0499999999999999e-179 < j < 8.6e13Initial program 35.2%
associate-+l-35.2%
Simplified35.2%
Taylor expanded in y2 around inf 45.8%
Taylor expanded in y4 around inf 45.4%
if 1.1199999999999999e77 < j < 3.50000000000000014e206Initial program 23.1%
+-commutative23.1%
fma-def27.6%
*-commutative27.6%
*-commutative27.6%
Simplified32.1%
Taylor expanded in j around inf 59.3%
Taylor expanded in y5 around inf 68.7%
*-commutative68.7%
mul-1-neg68.7%
unsub-neg68.7%
*-commutative68.7%
Simplified68.7%
if 3.50000000000000014e206 < j < 1.2e257Initial program 22.2%
+-commutative22.2%
fma-def22.2%
*-commutative22.2%
*-commutative22.2%
Simplified22.2%
Taylor expanded in j around inf 66.7%
Taylor expanded in x around inf 77.8%
Final simplification53.1%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* y0 (* j (- (* y3 y5) (* x b))))))
(if (<= j -3.5e+39)
t_1
(if (<= j -1.6e-161)
(* (* c y4) (- (* y y3) (* t y2)))
(if (<= j -3.7e-181)
(* y4 (* y1 (- (* k y2) (* j y3))))
(if (<= j -2.7e-194)
(* c (* y2 (- (* x y0) (* t y4))))
(if (<= j 2.25e-304)
(* b (* y (- (* x a) (* k y4))))
(if (<= j 2.85e-133)
(* k (* y5 (- (* y i) (* y0 y2))))
(if (<= j 85000000000000.0)
(* y4 (* y2 (- (* k y1) (* t c))))
(if (<= j 5e+27)
(* z (* (* c y0) (- y3)))
(if (<= j 1.5e+77)
(* y1 (* y2 (- (* k y4) (* x a))))
(if (<= j 1.7e+206)
(* j (* y5 (- (* y0 y3) (* t i))))
(if (<= j 1.02e+259)
(* j (* x (- (* i y1) (* b 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 = y0 * (j * ((y3 * y5) - (x * b)));
double tmp;
if (j <= -3.5e+39) {
tmp = t_1;
} else if (j <= -1.6e-161) {
tmp = (c * y4) * ((y * y3) - (t * y2));
} else if (j <= -3.7e-181) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (j <= -2.7e-194) {
tmp = c * (y2 * ((x * y0) - (t * y4)));
} else if (j <= 2.25e-304) {
tmp = b * (y * ((x * a) - (k * y4)));
} else if (j <= 2.85e-133) {
tmp = k * (y5 * ((y * i) - (y0 * y2)));
} else if (j <= 85000000000000.0) {
tmp = y4 * (y2 * ((k * y1) - (t * c)));
} else if (j <= 5e+27) {
tmp = z * ((c * y0) * -y3);
} else if (j <= 1.5e+77) {
tmp = y1 * (y2 * ((k * y4) - (x * a)));
} else if (j <= 1.7e+206) {
tmp = j * (y5 * ((y0 * y3) - (t * i)));
} else if (j <= 1.02e+259) {
tmp = j * (x * ((i * y1) - (b * 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 = y0 * (j * ((y3 * y5) - (x * b)))
if (j <= (-3.5d+39)) then
tmp = t_1
else if (j <= (-1.6d-161)) then
tmp = (c * y4) * ((y * y3) - (t * y2))
else if (j <= (-3.7d-181)) then
tmp = y4 * (y1 * ((k * y2) - (j * y3)))
else if (j <= (-2.7d-194)) then
tmp = c * (y2 * ((x * y0) - (t * y4)))
else if (j <= 2.25d-304) then
tmp = b * (y * ((x * a) - (k * y4)))
else if (j <= 2.85d-133) then
tmp = k * (y5 * ((y * i) - (y0 * y2)))
else if (j <= 85000000000000.0d0) then
tmp = y4 * (y2 * ((k * y1) - (t * c)))
else if (j <= 5d+27) then
tmp = z * ((c * y0) * -y3)
else if (j <= 1.5d+77) then
tmp = y1 * (y2 * ((k * y4) - (x * a)))
else if (j <= 1.7d+206) then
tmp = j * (y5 * ((y0 * y3) - (t * i)))
else if (j <= 1.02d+259) then
tmp = j * (x * ((i * y1) - (b * 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 = y0 * (j * ((y3 * y5) - (x * b)));
double tmp;
if (j <= -3.5e+39) {
tmp = t_1;
} else if (j <= -1.6e-161) {
tmp = (c * y4) * ((y * y3) - (t * y2));
} else if (j <= -3.7e-181) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (j <= -2.7e-194) {
tmp = c * (y2 * ((x * y0) - (t * y4)));
} else if (j <= 2.25e-304) {
tmp = b * (y * ((x * a) - (k * y4)));
} else if (j <= 2.85e-133) {
tmp = k * (y5 * ((y * i) - (y0 * y2)));
} else if (j <= 85000000000000.0) {
tmp = y4 * (y2 * ((k * y1) - (t * c)));
} else if (j <= 5e+27) {
tmp = z * ((c * y0) * -y3);
} else if (j <= 1.5e+77) {
tmp = y1 * (y2 * ((k * y4) - (x * a)));
} else if (j <= 1.7e+206) {
tmp = j * (y5 * ((y0 * y3) - (t * i)));
} else if (j <= 1.02e+259) {
tmp = j * (x * ((i * y1) - (b * 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 = y0 * (j * ((y3 * y5) - (x * b))) tmp = 0 if j <= -3.5e+39: tmp = t_1 elif j <= -1.6e-161: tmp = (c * y4) * ((y * y3) - (t * y2)) elif j <= -3.7e-181: tmp = y4 * (y1 * ((k * y2) - (j * y3))) elif j <= -2.7e-194: tmp = c * (y2 * ((x * y0) - (t * y4))) elif j <= 2.25e-304: tmp = b * (y * ((x * a) - (k * y4))) elif j <= 2.85e-133: tmp = k * (y5 * ((y * i) - (y0 * y2))) elif j <= 85000000000000.0: tmp = y4 * (y2 * ((k * y1) - (t * c))) elif j <= 5e+27: tmp = z * ((c * y0) * -y3) elif j <= 1.5e+77: tmp = y1 * (y2 * ((k * y4) - (x * a))) elif j <= 1.7e+206: tmp = j * (y5 * ((y0 * y3) - (t * i))) elif j <= 1.02e+259: tmp = j * (x * ((i * y1) - (b * 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(y0 * Float64(j * Float64(Float64(y3 * y5) - Float64(x * b)))) tmp = 0.0 if (j <= -3.5e+39) tmp = t_1; elseif (j <= -1.6e-161) tmp = Float64(Float64(c * y4) * Float64(Float64(y * y3) - Float64(t * y2))); elseif (j <= -3.7e-181) tmp = Float64(y4 * Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))); elseif (j <= -2.7e-194) tmp = Float64(c * Float64(y2 * Float64(Float64(x * y0) - Float64(t * y4)))); elseif (j <= 2.25e-304) tmp = Float64(b * Float64(y * Float64(Float64(x * a) - Float64(k * y4)))); elseif (j <= 2.85e-133) tmp = Float64(k * Float64(y5 * Float64(Float64(y * i) - Float64(y0 * y2)))); elseif (j <= 85000000000000.0) tmp = Float64(y4 * Float64(y2 * Float64(Float64(k * y1) - Float64(t * c)))); elseif (j <= 5e+27) tmp = Float64(z * Float64(Float64(c * y0) * Float64(-y3))); elseif (j <= 1.5e+77) tmp = Float64(y1 * Float64(y2 * Float64(Float64(k * y4) - Float64(x * a)))); elseif (j <= 1.7e+206) tmp = Float64(j * Float64(y5 * Float64(Float64(y0 * y3) - Float64(t * i)))); elseif (j <= 1.02e+259) tmp = Float64(j * Float64(x * Float64(Float64(i * y1) - Float64(b * 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 = y0 * (j * ((y3 * y5) - (x * b))); tmp = 0.0; if (j <= -3.5e+39) tmp = t_1; elseif (j <= -1.6e-161) tmp = (c * y4) * ((y * y3) - (t * y2)); elseif (j <= -3.7e-181) tmp = y4 * (y1 * ((k * y2) - (j * y3))); elseif (j <= -2.7e-194) tmp = c * (y2 * ((x * y0) - (t * y4))); elseif (j <= 2.25e-304) tmp = b * (y * ((x * a) - (k * y4))); elseif (j <= 2.85e-133) tmp = k * (y5 * ((y * i) - (y0 * y2))); elseif (j <= 85000000000000.0) tmp = y4 * (y2 * ((k * y1) - (t * c))); elseif (j <= 5e+27) tmp = z * ((c * y0) * -y3); elseif (j <= 1.5e+77) tmp = y1 * (y2 * ((k * y4) - (x * a))); elseif (j <= 1.7e+206) tmp = j * (y5 * ((y0 * y3) - (t * i))); elseif (j <= 1.02e+259) tmp = j * (x * ((i * y1) - (b * 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[(y0 * N[(j * N[(N[(y3 * y5), $MachinePrecision] - N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -3.5e+39], t$95$1, If[LessEqual[j, -1.6e-161], N[(N[(c * y4), $MachinePrecision] * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -3.7e-181], N[(y4 * N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -2.7e-194], N[(c * N[(y2 * N[(N[(x * y0), $MachinePrecision] - N[(t * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 2.25e-304], N[(b * N[(y * N[(N[(x * a), $MachinePrecision] - N[(k * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 2.85e-133], N[(k * N[(y5 * N[(N[(y * i), $MachinePrecision] - N[(y0 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 85000000000000.0], N[(y4 * N[(y2 * N[(N[(k * y1), $MachinePrecision] - N[(t * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 5e+27], N[(z * N[(N[(c * y0), $MachinePrecision] * (-y3)), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.5e+77], N[(y1 * N[(y2 * N[(N[(k * y4), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.7e+206], N[(j * N[(y5 * N[(N[(y0 * y3), $MachinePrecision] - N[(t * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.02e+259], N[(j * N[(x * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y0 \cdot \left(j \cdot \left(y3 \cdot y5 - x \cdot b\right)\right)\\
\mathbf{if}\;j \leq -3.5 \cdot 10^{+39}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq -1.6 \cdot 10^{-161}:\\
\;\;\;\;\left(c \cdot y4\right) \cdot \left(y \cdot y3 - t \cdot y2\right)\\
\mathbf{elif}\;j \leq -3.7 \cdot 10^{-181}:\\
\;\;\;\;y4 \cdot \left(y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right)\\
\mathbf{elif}\;j \leq -2.7 \cdot 10^{-194}:\\
\;\;\;\;c \cdot \left(y2 \cdot \left(x \cdot y0 - t \cdot y4\right)\right)\\
\mathbf{elif}\;j \leq 2.25 \cdot 10^{-304}:\\
\;\;\;\;b \cdot \left(y \cdot \left(x \cdot a - k \cdot y4\right)\right)\\
\mathbf{elif}\;j \leq 2.85 \cdot 10^{-133}:\\
\;\;\;\;k \cdot \left(y5 \cdot \left(y \cdot i - y0 \cdot y2\right)\right)\\
\mathbf{elif}\;j \leq 85000000000000:\\
\;\;\;\;y4 \cdot \left(y2 \cdot \left(k \cdot y1 - t \cdot c\right)\right)\\
\mathbf{elif}\;j \leq 5 \cdot 10^{+27}:\\
\;\;\;\;z \cdot \left(\left(c \cdot y0\right) \cdot \left(-y3\right)\right)\\
\mathbf{elif}\;j \leq 1.5 \cdot 10^{+77}:\\
\;\;\;\;y1 \cdot \left(y2 \cdot \left(k \cdot y4 - x \cdot a\right)\right)\\
\mathbf{elif}\;j \leq 1.7 \cdot 10^{+206}:\\
\;\;\;\;j \cdot \left(y5 \cdot \left(y0 \cdot y3 - t \cdot i\right)\right)\\
\mathbf{elif}\;j \leq 1.02 \cdot 10^{+259}:\\
\;\;\;\;j \cdot \left(x \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if j < -3.5000000000000002e39 or 1.02000000000000007e259 < j Initial program 24.8%
+-commutative24.8%
fma-def27.7%
*-commutative27.7%
*-commutative27.7%
Simplified32.1%
Taylor expanded in j around inf 51.3%
Taylor expanded in y0 around inf 51.3%
if -3.5000000000000002e39 < j < -1.59999999999999993e-161Initial program 30.2%
associate-+l-30.2%
Simplified30.2%
Taylor expanded in y4 around inf 49.4%
Taylor expanded in c around inf 46.8%
associate-*r*44.2%
*-commutative44.2%
*-commutative44.2%
Simplified44.2%
if -1.59999999999999993e-161 < j < -3.69999999999999984e-181Initial program 22.2%
associate-+l-22.2%
Simplified22.2%
Taylor expanded in y4 around inf 66.9%
Taylor expanded in y1 around inf 78.0%
if -3.69999999999999984e-181 < j < -2.7e-194Initial program 2.2%
associate-+l-2.2%
Simplified2.2%
Taylor expanded in y2 around inf 52.2%
Taylor expanded in c around inf 77.2%
if -2.7e-194 < j < 2.2499999999999999e-304Initial program 5.9%
associate-+l-5.9%
Simplified5.9%
Taylor expanded in b around inf 52.6%
Taylor expanded in y around inf 58.7%
associate-*r*58.7%
*-commutative58.7%
*-commutative58.7%
+-commutative58.7%
mul-1-neg58.7%
unsub-neg58.7%
Simplified58.7%
if 2.2499999999999999e-304 < j < 2.84999999999999985e-133Initial program 25.1%
associate-+l-25.1%
Simplified25.1%
Taylor expanded in y5 around -inf 43.8%
mul-1-neg43.8%
associate--l+43.8%
*-commutative43.8%
Simplified43.8%
Taylor expanded in k around inf 37.5%
*-commutative37.5%
+-commutative37.5%
mul-1-neg37.5%
unsub-neg37.5%
*-commutative37.5%
Simplified37.5%
if 2.84999999999999985e-133 < j < 8.5e13Initial program 35.9%
associate-+l-35.9%
Simplified35.9%
Taylor expanded in y2 around inf 42.1%
Taylor expanded in y4 around inf 53.0%
if 8.5e13 < j < 4.99999999999999979e27Initial program 0.0%
associate-+l-0.0%
Simplified0.0%
Taylor expanded in z around -inf 42.9%
mul-1-neg42.9%
*-commutative42.9%
associate--l+42.9%
*-commutative42.9%
*-commutative42.9%
*-commutative42.9%
*-commutative42.9%
*-commutative42.9%
*-commutative42.9%
*-commutative42.9%
*-commutative42.9%
Simplified42.9%
Taylor expanded in y3 around inf 85.9%
*-commutative85.9%
Simplified85.9%
Taylor expanded in y0 around inf 85.9%
*-commutative85.9%
Simplified85.9%
if 4.99999999999999979e27 < j < 1.4999999999999999e77Initial program 53.6%
associate-+l-53.6%
Simplified53.6%
Taylor expanded in y2 around inf 54.4%
Taylor expanded in y1 around inf 61.9%
*-commutative61.9%
+-commutative61.9%
mul-1-neg61.9%
unsub-neg61.9%
Simplified61.9%
if 1.4999999999999999e77 < j < 1.69999999999999999e206Initial program 23.1%
+-commutative23.1%
fma-def27.6%
*-commutative27.6%
*-commutative27.6%
Simplified32.1%
Taylor expanded in j around inf 59.3%
Taylor expanded in y5 around inf 68.7%
*-commutative68.7%
mul-1-neg68.7%
unsub-neg68.7%
*-commutative68.7%
Simplified68.7%
if 1.69999999999999999e206 < j < 1.02000000000000007e259Initial program 22.2%
+-commutative22.2%
fma-def22.2%
*-commutative22.2%
*-commutative22.2%
Simplified22.2%
Taylor expanded in j around inf 66.7%
Taylor expanded in x around inf 77.8%
Final simplification53.8%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* y0 (* j (- (* y3 y5) (* x b)))))
(t_2 (* y1 (* y2 (- (* k y4) (* x a))))))
(if (<= j -4.6e+38)
t_1
(if (<= j -4.2e-108)
(* y4 (* t (- (* b j) (* c y2))))
(if (<= j -1.85e-183)
t_2
(if (<= j -1.75e-246)
(* c (* y2 (- (* x y0) (* t y4))))
(if (<= j 4.4e-254)
t_2
(if (<= j 1.5e-179)
(* y0 (* y2 (* k (- y5))))
(if (<= j 2.15e-40)
(* y2 (* k (- (* y1 y4) (* y0 y5))))
(if (<= j 70000000000000.0)
(* c (* y4 (* t (- y2))))
(if (<= j 8e+76) 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 = y0 * (j * ((y3 * y5) - (x * b)));
double t_2 = y1 * (y2 * ((k * y4) - (x * a)));
double tmp;
if (j <= -4.6e+38) {
tmp = t_1;
} else if (j <= -4.2e-108) {
tmp = y4 * (t * ((b * j) - (c * y2)));
} else if (j <= -1.85e-183) {
tmp = t_2;
} else if (j <= -1.75e-246) {
tmp = c * (y2 * ((x * y0) - (t * y4)));
} else if (j <= 4.4e-254) {
tmp = t_2;
} else if (j <= 1.5e-179) {
tmp = y0 * (y2 * (k * -y5));
} else if (j <= 2.15e-40) {
tmp = y2 * (k * ((y1 * y4) - (y0 * y5)));
} else if (j <= 70000000000000.0) {
tmp = c * (y4 * (t * -y2));
} else if (j <= 8e+76) {
tmp = 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 = y0 * (j * ((y3 * y5) - (x * b)))
t_2 = y1 * (y2 * ((k * y4) - (x * a)))
if (j <= (-4.6d+38)) then
tmp = t_1
else if (j <= (-4.2d-108)) then
tmp = y4 * (t * ((b * j) - (c * y2)))
else if (j <= (-1.85d-183)) then
tmp = t_2
else if (j <= (-1.75d-246)) then
tmp = c * (y2 * ((x * y0) - (t * y4)))
else if (j <= 4.4d-254) then
tmp = t_2
else if (j <= 1.5d-179) then
tmp = y0 * (y2 * (k * -y5))
else if (j <= 2.15d-40) then
tmp = y2 * (k * ((y1 * y4) - (y0 * y5)))
else if (j <= 70000000000000.0d0) then
tmp = c * (y4 * (t * -y2))
else if (j <= 8d+76) then
tmp = t_2
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = y0 * (j * ((y3 * y5) - (x * b)));
double t_2 = y1 * (y2 * ((k * y4) - (x * a)));
double tmp;
if (j <= -4.6e+38) {
tmp = t_1;
} else if (j <= -4.2e-108) {
tmp = y4 * (t * ((b * j) - (c * y2)));
} else if (j <= -1.85e-183) {
tmp = t_2;
} else if (j <= -1.75e-246) {
tmp = c * (y2 * ((x * y0) - (t * y4)));
} else if (j <= 4.4e-254) {
tmp = t_2;
} else if (j <= 1.5e-179) {
tmp = y0 * (y2 * (k * -y5));
} else if (j <= 2.15e-40) {
tmp = y2 * (k * ((y1 * y4) - (y0 * y5)));
} else if (j <= 70000000000000.0) {
tmp = c * (y4 * (t * -y2));
} else if (j <= 8e+76) {
tmp = 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 = y0 * (j * ((y3 * y5) - (x * b))) t_2 = y1 * (y2 * ((k * y4) - (x * a))) tmp = 0 if j <= -4.6e+38: tmp = t_1 elif j <= -4.2e-108: tmp = y4 * (t * ((b * j) - (c * y2))) elif j <= -1.85e-183: tmp = t_2 elif j <= -1.75e-246: tmp = c * (y2 * ((x * y0) - (t * y4))) elif j <= 4.4e-254: tmp = t_2 elif j <= 1.5e-179: tmp = y0 * (y2 * (k * -y5)) elif j <= 2.15e-40: tmp = y2 * (k * ((y1 * y4) - (y0 * y5))) elif j <= 70000000000000.0: tmp = c * (y4 * (t * -y2)) elif j <= 8e+76: tmp = 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(y0 * Float64(j * Float64(Float64(y3 * y5) - Float64(x * b)))) t_2 = Float64(y1 * Float64(y2 * Float64(Float64(k * y4) - Float64(x * a)))) tmp = 0.0 if (j <= -4.6e+38) tmp = t_1; elseif (j <= -4.2e-108) tmp = Float64(y4 * Float64(t * Float64(Float64(b * j) - Float64(c * y2)))); elseif (j <= -1.85e-183) tmp = t_2; elseif (j <= -1.75e-246) tmp = Float64(c * Float64(y2 * Float64(Float64(x * y0) - Float64(t * y4)))); elseif (j <= 4.4e-254) tmp = t_2; elseif (j <= 1.5e-179) tmp = Float64(y0 * Float64(y2 * Float64(k * Float64(-y5)))); elseif (j <= 2.15e-40) tmp = Float64(y2 * Float64(k * Float64(Float64(y1 * y4) - Float64(y0 * y5)))); elseif (j <= 70000000000000.0) tmp = Float64(c * Float64(y4 * Float64(t * Float64(-y2)))); elseif (j <= 8e+76) tmp = 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 = y0 * (j * ((y3 * y5) - (x * b))); t_2 = y1 * (y2 * ((k * y4) - (x * a))); tmp = 0.0; if (j <= -4.6e+38) tmp = t_1; elseif (j <= -4.2e-108) tmp = y4 * (t * ((b * j) - (c * y2))); elseif (j <= -1.85e-183) tmp = t_2; elseif (j <= -1.75e-246) tmp = c * (y2 * ((x * y0) - (t * y4))); elseif (j <= 4.4e-254) tmp = t_2; elseif (j <= 1.5e-179) tmp = y0 * (y2 * (k * -y5)); elseif (j <= 2.15e-40) tmp = y2 * (k * ((y1 * y4) - (y0 * y5))); elseif (j <= 70000000000000.0) tmp = c * (y4 * (t * -y2)); elseif (j <= 8e+76) tmp = 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[(y0 * N[(j * N[(N[(y3 * y5), $MachinePrecision] - N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y1 * N[(y2 * N[(N[(k * y4), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -4.6e+38], t$95$1, If[LessEqual[j, -4.2e-108], N[(y4 * N[(t * N[(N[(b * j), $MachinePrecision] - N[(c * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -1.85e-183], t$95$2, If[LessEqual[j, -1.75e-246], N[(c * N[(y2 * N[(N[(x * y0), $MachinePrecision] - N[(t * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 4.4e-254], t$95$2, If[LessEqual[j, 1.5e-179], N[(y0 * N[(y2 * N[(k * (-y5)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 2.15e-40], N[(y2 * N[(k * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 70000000000000.0], N[(c * N[(y4 * N[(t * (-y2)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 8e+76], t$95$2, t$95$1]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y0 \cdot \left(j \cdot \left(y3 \cdot y5 - x \cdot b\right)\right)\\
t_2 := y1 \cdot \left(y2 \cdot \left(k \cdot y4 - x \cdot a\right)\right)\\
\mathbf{if}\;j \leq -4.6 \cdot 10^{+38}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq -4.2 \cdot 10^{-108}:\\
\;\;\;\;y4 \cdot \left(t \cdot \left(b \cdot j - c \cdot y2\right)\right)\\
\mathbf{elif}\;j \leq -1.85 \cdot 10^{-183}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;j \leq -1.75 \cdot 10^{-246}:\\
\;\;\;\;c \cdot \left(y2 \cdot \left(x \cdot y0 - t \cdot y4\right)\right)\\
\mathbf{elif}\;j \leq 4.4 \cdot 10^{-254}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;j \leq 1.5 \cdot 10^{-179}:\\
\;\;\;\;y0 \cdot \left(y2 \cdot \left(k \cdot \left(-y5\right)\right)\right)\\
\mathbf{elif}\;j \leq 2.15 \cdot 10^{-40}:\\
\;\;\;\;y2 \cdot \left(k \cdot \left(y1 \cdot y4 - y0 \cdot y5\right)\right)\\
\mathbf{elif}\;j \leq 70000000000000:\\
\;\;\;\;c \cdot \left(y4 \cdot \left(t \cdot \left(-y2\right)\right)\right)\\
\mathbf{elif}\;j \leq 8 \cdot 10^{+76}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if j < -4.6000000000000002e38 or 8.0000000000000004e76 < j Initial program 24.2%
+-commutative24.2%
fma-def27.2%
*-commutative27.2%
*-commutative27.2%
Simplified31.2%
Taylor expanded in j around inf 54.5%
Taylor expanded in y0 around inf 53.5%
if -4.6000000000000002e38 < j < -4.1999999999999998e-108Initial program 26.6%
associate-+l-26.6%
Simplified26.6%
Taylor expanded in y4 around inf 48.8%
Taylor expanded in t around inf 42.3%
*-commutative42.3%
*-commutative42.3%
Simplified42.3%
if -4.1999999999999998e-108 < j < -1.8499999999999999e-183 or -1.7500000000000001e-246 < j < 4.4000000000000002e-254 or 7e13 < j < 8.0000000000000004e76Initial program 29.6%
associate-+l-29.6%
Simplified29.6%
Taylor expanded in y2 around inf 42.3%
Taylor expanded in y1 around inf 49.8%
*-commutative49.8%
+-commutative49.8%
mul-1-neg49.8%
unsub-neg49.8%
Simplified49.8%
if -1.8499999999999999e-183 < j < -1.7500000000000001e-246Initial program 8.4%
associate-+l-8.4%
Simplified8.4%
Taylor expanded in y2 around inf 31.6%
Taylor expanded in c around inf 40.5%
if 4.4000000000000002e-254 < j < 1.50000000000000003e-179Initial program 11.5%
associate-+l-11.5%
Simplified11.5%
Taylor expanded in y2 around inf 61.1%
Taylor expanded in y0 around -inf 44.9%
associate-*r*44.9%
neg-mul-144.9%
*-commutative44.9%
mul-1-neg44.9%
unsub-neg44.9%
*-commutative44.9%
Simplified44.9%
Taylor expanded in k around inf 50.8%
if 1.50000000000000003e-179 < j < 2.1500000000000001e-40Initial program 31.9%
associate-+l-31.9%
Simplified31.9%
Taylor expanded in y2 around inf 44.6%
Taylor expanded in k around inf 42.1%
associate-*r*42.1%
*-commutative42.1%
Simplified42.1%
Taylor expanded in k around 0 42.1%
*-commutative42.1%
associate-*r*42.1%
*-commutative42.1%
Simplified42.1%
if 2.1500000000000001e-40 < j < 7e13Initial program 44.4%
associate-+l-44.4%
Simplified44.4%
Taylor expanded in y2 around inf 49.3%
Taylor expanded in c around inf 56.6%
Taylor expanded in y0 around 0 67.0%
mul-1-neg67.0%
*-commutative67.0%
distribute-rgt-neg-in67.0%
Simplified67.0%
Final simplification49.9%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* y0 (* j (- (* y3 y5) (* x b)))))
(t_2 (* y1 (* y2 (- (* k y4) (* x a))))))
(if (<= j -2.75e+39)
t_1
(if (<= j -4.2e-129)
(* y4 (* t (- (* b j) (* c y2))))
(if (<= j -3.7e-181)
(* y4 (* y1 (- (* k y2) (* j y3))))
(if (<= j -8.2e-247)
(* c (* y2 (- (* x y0) (* t y4))))
(if (<= j 4.4e-254)
t_2
(if (<= j 1e-179)
(* y0 (* y2 (* k (- y5))))
(if (<= j 1.8e-42)
(* y2 (* k (- (* y1 y4) (* y0 y5))))
(if (<= j 70000000000000.0)
(* c (* y4 (* t (- y2))))
(if (<= j 1.1e+77) 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 = y0 * (j * ((y3 * y5) - (x * b)));
double t_2 = y1 * (y2 * ((k * y4) - (x * a)));
double tmp;
if (j <= -2.75e+39) {
tmp = t_1;
} else if (j <= -4.2e-129) {
tmp = y4 * (t * ((b * j) - (c * y2)));
} else if (j <= -3.7e-181) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (j <= -8.2e-247) {
tmp = c * (y2 * ((x * y0) - (t * y4)));
} else if (j <= 4.4e-254) {
tmp = t_2;
} else if (j <= 1e-179) {
tmp = y0 * (y2 * (k * -y5));
} else if (j <= 1.8e-42) {
tmp = y2 * (k * ((y1 * y4) - (y0 * y5)));
} else if (j <= 70000000000000.0) {
tmp = c * (y4 * (t * -y2));
} else if (j <= 1.1e+77) {
tmp = 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 = y0 * (j * ((y3 * y5) - (x * b)))
t_2 = y1 * (y2 * ((k * y4) - (x * a)))
if (j <= (-2.75d+39)) then
tmp = t_1
else if (j <= (-4.2d-129)) then
tmp = y4 * (t * ((b * j) - (c * y2)))
else if (j <= (-3.7d-181)) then
tmp = y4 * (y1 * ((k * y2) - (j * y3)))
else if (j <= (-8.2d-247)) then
tmp = c * (y2 * ((x * y0) - (t * y4)))
else if (j <= 4.4d-254) then
tmp = t_2
else if (j <= 1d-179) then
tmp = y0 * (y2 * (k * -y5))
else if (j <= 1.8d-42) then
tmp = y2 * (k * ((y1 * y4) - (y0 * y5)))
else if (j <= 70000000000000.0d0) then
tmp = c * (y4 * (t * -y2))
else if (j <= 1.1d+77) then
tmp = t_2
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = y0 * (j * ((y3 * y5) - (x * b)));
double t_2 = y1 * (y2 * ((k * y4) - (x * a)));
double tmp;
if (j <= -2.75e+39) {
tmp = t_1;
} else if (j <= -4.2e-129) {
tmp = y4 * (t * ((b * j) - (c * y2)));
} else if (j <= -3.7e-181) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (j <= -8.2e-247) {
tmp = c * (y2 * ((x * y0) - (t * y4)));
} else if (j <= 4.4e-254) {
tmp = t_2;
} else if (j <= 1e-179) {
tmp = y0 * (y2 * (k * -y5));
} else if (j <= 1.8e-42) {
tmp = y2 * (k * ((y1 * y4) - (y0 * y5)));
} else if (j <= 70000000000000.0) {
tmp = c * (y4 * (t * -y2));
} else if (j <= 1.1e+77) {
tmp = 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 = y0 * (j * ((y3 * y5) - (x * b))) t_2 = y1 * (y2 * ((k * y4) - (x * a))) tmp = 0 if j <= -2.75e+39: tmp = t_1 elif j <= -4.2e-129: tmp = y4 * (t * ((b * j) - (c * y2))) elif j <= -3.7e-181: tmp = y4 * (y1 * ((k * y2) - (j * y3))) elif j <= -8.2e-247: tmp = c * (y2 * ((x * y0) - (t * y4))) elif j <= 4.4e-254: tmp = t_2 elif j <= 1e-179: tmp = y0 * (y2 * (k * -y5)) elif j <= 1.8e-42: tmp = y2 * (k * ((y1 * y4) - (y0 * y5))) elif j <= 70000000000000.0: tmp = c * (y4 * (t * -y2)) elif j <= 1.1e+77: tmp = 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(y0 * Float64(j * Float64(Float64(y3 * y5) - Float64(x * b)))) t_2 = Float64(y1 * Float64(y2 * Float64(Float64(k * y4) - Float64(x * a)))) tmp = 0.0 if (j <= -2.75e+39) tmp = t_1; elseif (j <= -4.2e-129) tmp = Float64(y4 * Float64(t * Float64(Float64(b * j) - Float64(c * y2)))); elseif (j <= -3.7e-181) tmp = Float64(y4 * Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))); elseif (j <= -8.2e-247) tmp = Float64(c * Float64(y2 * Float64(Float64(x * y0) - Float64(t * y4)))); elseif (j <= 4.4e-254) tmp = t_2; elseif (j <= 1e-179) tmp = Float64(y0 * Float64(y2 * Float64(k * Float64(-y5)))); elseif (j <= 1.8e-42) tmp = Float64(y2 * Float64(k * Float64(Float64(y1 * y4) - Float64(y0 * y5)))); elseif (j <= 70000000000000.0) tmp = Float64(c * Float64(y4 * Float64(t * Float64(-y2)))); elseif (j <= 1.1e+77) tmp = 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 = y0 * (j * ((y3 * y5) - (x * b))); t_2 = y1 * (y2 * ((k * y4) - (x * a))); tmp = 0.0; if (j <= -2.75e+39) tmp = t_1; elseif (j <= -4.2e-129) tmp = y4 * (t * ((b * j) - (c * y2))); elseif (j <= -3.7e-181) tmp = y4 * (y1 * ((k * y2) - (j * y3))); elseif (j <= -8.2e-247) tmp = c * (y2 * ((x * y0) - (t * y4))); elseif (j <= 4.4e-254) tmp = t_2; elseif (j <= 1e-179) tmp = y0 * (y2 * (k * -y5)); elseif (j <= 1.8e-42) tmp = y2 * (k * ((y1 * y4) - (y0 * y5))); elseif (j <= 70000000000000.0) tmp = c * (y4 * (t * -y2)); elseif (j <= 1.1e+77) tmp = 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[(y0 * N[(j * N[(N[(y3 * y5), $MachinePrecision] - N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y1 * N[(y2 * N[(N[(k * y4), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -2.75e+39], t$95$1, If[LessEqual[j, -4.2e-129], N[(y4 * N[(t * N[(N[(b * j), $MachinePrecision] - N[(c * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -3.7e-181], N[(y4 * N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -8.2e-247], N[(c * N[(y2 * N[(N[(x * y0), $MachinePrecision] - N[(t * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 4.4e-254], t$95$2, If[LessEqual[j, 1e-179], N[(y0 * N[(y2 * N[(k * (-y5)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.8e-42], N[(y2 * N[(k * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 70000000000000.0], N[(c * N[(y4 * N[(t * (-y2)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.1e+77], t$95$2, t$95$1]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y0 \cdot \left(j \cdot \left(y3 \cdot y5 - x \cdot b\right)\right)\\
t_2 := y1 \cdot \left(y2 \cdot \left(k \cdot y4 - x \cdot a\right)\right)\\
\mathbf{if}\;j \leq -2.75 \cdot 10^{+39}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq -4.2 \cdot 10^{-129}:\\
\;\;\;\;y4 \cdot \left(t \cdot \left(b \cdot j - c \cdot y2\right)\right)\\
\mathbf{elif}\;j \leq -3.7 \cdot 10^{-181}:\\
\;\;\;\;y4 \cdot \left(y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right)\\
\mathbf{elif}\;j \leq -8.2 \cdot 10^{-247}:\\
\;\;\;\;c \cdot \left(y2 \cdot \left(x \cdot y0 - t \cdot y4\right)\right)\\
\mathbf{elif}\;j \leq 4.4 \cdot 10^{-254}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;j \leq 10^{-179}:\\
\;\;\;\;y0 \cdot \left(y2 \cdot \left(k \cdot \left(-y5\right)\right)\right)\\
\mathbf{elif}\;j \leq 1.8 \cdot 10^{-42}:\\
\;\;\;\;y2 \cdot \left(k \cdot \left(y1 \cdot y4 - y0 \cdot y5\right)\right)\\
\mathbf{elif}\;j \leq 70000000000000:\\
\;\;\;\;c \cdot \left(y4 \cdot \left(t \cdot \left(-y2\right)\right)\right)\\
\mathbf{elif}\;j \leq 1.1 \cdot 10^{+77}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if j < -2.7499999999999999e39 or 1.1e77 < j Initial program 24.2%
+-commutative24.2%
fma-def27.2%
*-commutative27.2%
*-commutative27.2%
Simplified31.2%
Taylor expanded in j around inf 54.5%
Taylor expanded in y0 around inf 53.5%
if -2.7499999999999999e39 < j < -4.2e-129Initial program 26.4%
associate-+l-26.4%
Simplified26.4%
Taylor expanded in y4 around inf 49.1%
Taylor expanded in t around inf 43.4%
*-commutative43.4%
*-commutative43.4%
Simplified43.4%
if -4.2e-129 < j < -3.69999999999999984e-181Initial program 33.2%
associate-+l-33.2%
Simplified33.2%
Taylor expanded in y4 around inf 60.6%
Taylor expanded in y1 around inf 61.1%
if -3.69999999999999984e-181 < j < -8.1999999999999997e-247Initial program 8.4%
associate-+l-8.4%
Simplified8.4%
Taylor expanded in y2 around inf 31.6%
Taylor expanded in c around inf 40.5%
if -8.1999999999999997e-247 < j < 4.4000000000000002e-254 or 7e13 < j < 1.1e77Initial program 28.8%
associate-+l-28.8%
Simplified28.8%
Taylor expanded in y2 around inf 43.2%
Taylor expanded in y1 around inf 47.9%
*-commutative47.9%
+-commutative47.9%
mul-1-neg47.9%
unsub-neg47.9%
Simplified47.9%
if 4.4000000000000002e-254 < j < 1e-179Initial program 11.5%
associate-+l-11.5%
Simplified11.5%
Taylor expanded in y2 around inf 61.1%
Taylor expanded in y0 around -inf 44.9%
associate-*r*44.9%
neg-mul-144.9%
*-commutative44.9%
mul-1-neg44.9%
unsub-neg44.9%
*-commutative44.9%
Simplified44.9%
Taylor expanded in k around inf 50.8%
if 1e-179 < j < 1.8000000000000001e-42Initial program 31.9%
associate-+l-31.9%
Simplified31.9%
Taylor expanded in y2 around inf 44.6%
Taylor expanded in k around inf 42.1%
associate-*r*42.1%
*-commutative42.1%
Simplified42.1%
Taylor expanded in k around 0 42.1%
*-commutative42.1%
associate-*r*42.1%
*-commutative42.1%
Simplified42.1%
if 1.8000000000000001e-42 < j < 7e13Initial program 44.4%
associate-+l-44.4%
Simplified44.4%
Taylor expanded in y2 around inf 49.3%
Taylor expanded in c around inf 56.6%
Taylor expanded in y0 around 0 67.0%
mul-1-neg67.0%
*-commutative67.0%
distribute-rgt-neg-in67.0%
Simplified67.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 (* y0 (* j (- (* y3 y5) (* x b)))))
(t_2 (* y1 (* y2 (- (* k y4) (* x a))))))
(if (<= j -3.2e+39)
t_1
(if (<= j -1.9e-129)
(* y4 (* t (- (* b j) (* c y2))))
(if (<= j -2.1e-183)
(* y4 (* y1 (- (* k y2) (* j y3))))
(if (<= j -2.8e-194)
(* c (* y2 (- (* x y0) (* t y4))))
(if (<= j 3.8e-305)
(* b (* y (- (* x a) (* k y4))))
(if (<= j 6e-255)
t_2
(if (<= j 1.35e-179)
(* y0 (* y2 (* k (- y5))))
(if (<= j 80000000000000.0)
(* y4 (* y2 (- (* k y1) (* t c))))
(if (<= j 1.02e+77) 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 = y0 * (j * ((y3 * y5) - (x * b)));
double t_2 = y1 * (y2 * ((k * y4) - (x * a)));
double tmp;
if (j <= -3.2e+39) {
tmp = t_1;
} else if (j <= -1.9e-129) {
tmp = y4 * (t * ((b * j) - (c * y2)));
} else if (j <= -2.1e-183) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (j <= -2.8e-194) {
tmp = c * (y2 * ((x * y0) - (t * y4)));
} else if (j <= 3.8e-305) {
tmp = b * (y * ((x * a) - (k * y4)));
} else if (j <= 6e-255) {
tmp = t_2;
} else if (j <= 1.35e-179) {
tmp = y0 * (y2 * (k * -y5));
} else if (j <= 80000000000000.0) {
tmp = y4 * (y2 * ((k * y1) - (t * c)));
} else if (j <= 1.02e+77) {
tmp = 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 = y0 * (j * ((y3 * y5) - (x * b)))
t_2 = y1 * (y2 * ((k * y4) - (x * a)))
if (j <= (-3.2d+39)) then
tmp = t_1
else if (j <= (-1.9d-129)) then
tmp = y4 * (t * ((b * j) - (c * y2)))
else if (j <= (-2.1d-183)) then
tmp = y4 * (y1 * ((k * y2) - (j * y3)))
else if (j <= (-2.8d-194)) then
tmp = c * (y2 * ((x * y0) - (t * y4)))
else if (j <= 3.8d-305) then
tmp = b * (y * ((x * a) - (k * y4)))
else if (j <= 6d-255) then
tmp = t_2
else if (j <= 1.35d-179) then
tmp = y0 * (y2 * (k * -y5))
else if (j <= 80000000000000.0d0) then
tmp = y4 * (y2 * ((k * y1) - (t * c)))
else if (j <= 1.02d+77) then
tmp = t_2
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = y0 * (j * ((y3 * y5) - (x * b)));
double t_2 = y1 * (y2 * ((k * y4) - (x * a)));
double tmp;
if (j <= -3.2e+39) {
tmp = t_1;
} else if (j <= -1.9e-129) {
tmp = y4 * (t * ((b * j) - (c * y2)));
} else if (j <= -2.1e-183) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (j <= -2.8e-194) {
tmp = c * (y2 * ((x * y0) - (t * y4)));
} else if (j <= 3.8e-305) {
tmp = b * (y * ((x * a) - (k * y4)));
} else if (j <= 6e-255) {
tmp = t_2;
} else if (j <= 1.35e-179) {
tmp = y0 * (y2 * (k * -y5));
} else if (j <= 80000000000000.0) {
tmp = y4 * (y2 * ((k * y1) - (t * c)));
} else if (j <= 1.02e+77) {
tmp = 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 = y0 * (j * ((y3 * y5) - (x * b))) t_2 = y1 * (y2 * ((k * y4) - (x * a))) tmp = 0 if j <= -3.2e+39: tmp = t_1 elif j <= -1.9e-129: tmp = y4 * (t * ((b * j) - (c * y2))) elif j <= -2.1e-183: tmp = y4 * (y1 * ((k * y2) - (j * y3))) elif j <= -2.8e-194: tmp = c * (y2 * ((x * y0) - (t * y4))) elif j <= 3.8e-305: tmp = b * (y * ((x * a) - (k * y4))) elif j <= 6e-255: tmp = t_2 elif j <= 1.35e-179: tmp = y0 * (y2 * (k * -y5)) elif j <= 80000000000000.0: tmp = y4 * (y2 * ((k * y1) - (t * c))) elif j <= 1.02e+77: tmp = 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(y0 * Float64(j * Float64(Float64(y3 * y5) - Float64(x * b)))) t_2 = Float64(y1 * Float64(y2 * Float64(Float64(k * y4) - Float64(x * a)))) tmp = 0.0 if (j <= -3.2e+39) tmp = t_1; elseif (j <= -1.9e-129) tmp = Float64(y4 * Float64(t * Float64(Float64(b * j) - Float64(c * y2)))); elseif (j <= -2.1e-183) tmp = Float64(y4 * Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))); elseif (j <= -2.8e-194) tmp = Float64(c * Float64(y2 * Float64(Float64(x * y0) - Float64(t * y4)))); elseif (j <= 3.8e-305) tmp = Float64(b * Float64(y * Float64(Float64(x * a) - Float64(k * y4)))); elseif (j <= 6e-255) tmp = t_2; elseif (j <= 1.35e-179) tmp = Float64(y0 * Float64(y2 * Float64(k * Float64(-y5)))); elseif (j <= 80000000000000.0) tmp = Float64(y4 * Float64(y2 * Float64(Float64(k * y1) - Float64(t * c)))); elseif (j <= 1.02e+77) tmp = 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 = y0 * (j * ((y3 * y5) - (x * b))); t_2 = y1 * (y2 * ((k * y4) - (x * a))); tmp = 0.0; if (j <= -3.2e+39) tmp = t_1; elseif (j <= -1.9e-129) tmp = y4 * (t * ((b * j) - (c * y2))); elseif (j <= -2.1e-183) tmp = y4 * (y1 * ((k * y2) - (j * y3))); elseif (j <= -2.8e-194) tmp = c * (y2 * ((x * y0) - (t * y4))); elseif (j <= 3.8e-305) tmp = b * (y * ((x * a) - (k * y4))); elseif (j <= 6e-255) tmp = t_2; elseif (j <= 1.35e-179) tmp = y0 * (y2 * (k * -y5)); elseif (j <= 80000000000000.0) tmp = y4 * (y2 * ((k * y1) - (t * c))); elseif (j <= 1.02e+77) tmp = 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[(y0 * N[(j * N[(N[(y3 * y5), $MachinePrecision] - N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y1 * N[(y2 * N[(N[(k * y4), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -3.2e+39], t$95$1, If[LessEqual[j, -1.9e-129], N[(y4 * N[(t * N[(N[(b * j), $MachinePrecision] - N[(c * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -2.1e-183], N[(y4 * N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -2.8e-194], N[(c * N[(y2 * N[(N[(x * y0), $MachinePrecision] - N[(t * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 3.8e-305], N[(b * N[(y * N[(N[(x * a), $MachinePrecision] - N[(k * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 6e-255], t$95$2, If[LessEqual[j, 1.35e-179], N[(y0 * N[(y2 * N[(k * (-y5)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 80000000000000.0], N[(y4 * N[(y2 * N[(N[(k * y1), $MachinePrecision] - N[(t * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.02e+77], t$95$2, t$95$1]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y0 \cdot \left(j \cdot \left(y3 \cdot y5 - x \cdot b\right)\right)\\
t_2 := y1 \cdot \left(y2 \cdot \left(k \cdot y4 - x \cdot a\right)\right)\\
\mathbf{if}\;j \leq -3.2 \cdot 10^{+39}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq -1.9 \cdot 10^{-129}:\\
\;\;\;\;y4 \cdot \left(t \cdot \left(b \cdot j - c \cdot y2\right)\right)\\
\mathbf{elif}\;j \leq -2.1 \cdot 10^{-183}:\\
\;\;\;\;y4 \cdot \left(y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right)\\
\mathbf{elif}\;j \leq -2.8 \cdot 10^{-194}:\\
\;\;\;\;c \cdot \left(y2 \cdot \left(x \cdot y0 - t \cdot y4\right)\right)\\
\mathbf{elif}\;j \leq 3.8 \cdot 10^{-305}:\\
\;\;\;\;b \cdot \left(y \cdot \left(x \cdot a - k \cdot y4\right)\right)\\
\mathbf{elif}\;j \leq 6 \cdot 10^{-255}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;j \leq 1.35 \cdot 10^{-179}:\\
\;\;\;\;y0 \cdot \left(y2 \cdot \left(k \cdot \left(-y5\right)\right)\right)\\
\mathbf{elif}\;j \leq 80000000000000:\\
\;\;\;\;y4 \cdot \left(y2 \cdot \left(k \cdot y1 - t \cdot c\right)\right)\\
\mathbf{elif}\;j \leq 1.02 \cdot 10^{+77}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if j < -3.19999999999999993e39 or 1.02e77 < j Initial program 24.2%
+-commutative24.2%
fma-def27.2%
*-commutative27.2%
*-commutative27.2%
Simplified31.2%
Taylor expanded in j around inf 54.5%
Taylor expanded in y0 around inf 53.5%
if -3.19999999999999993e39 < j < -1.89999999999999992e-129Initial program 26.4%
associate-+l-26.4%
Simplified26.4%
Taylor expanded in y4 around inf 49.1%
Taylor expanded in t around inf 43.4%
*-commutative43.4%
*-commutative43.4%
Simplified43.4%
if -1.89999999999999992e-129 < j < -2.1000000000000002e-183Initial program 33.2%
associate-+l-33.2%
Simplified33.2%
Taylor expanded in y4 around inf 60.6%
Taylor expanded in y1 around inf 61.1%
if -2.1000000000000002e-183 < j < -2.80000000000000011e-194Initial program 2.2%
associate-+l-2.2%
Simplified2.2%
Taylor expanded in y2 around inf 52.2%
Taylor expanded in c around inf 77.2%
if -2.80000000000000011e-194 < j < 3.8e-305Initial program 5.9%
associate-+l-5.9%
Simplified5.9%
Taylor expanded in b around inf 52.6%
Taylor expanded in y around inf 58.7%
associate-*r*58.7%
*-commutative58.7%
*-commutative58.7%
+-commutative58.7%
mul-1-neg58.7%
unsub-neg58.7%
Simplified58.7%
if 3.8e-305 < j < 6.00000000000000004e-255 or 8e13 < j < 1.02e77Initial program 35.0%
associate-+l-35.0%
Simplified35.0%
Taylor expanded in y2 around inf 36.1%
Taylor expanded in y1 around inf 47.1%
*-commutative47.1%
+-commutative47.1%
mul-1-neg47.1%
unsub-neg47.1%
Simplified47.1%
if 6.00000000000000004e-255 < j < 1.34999999999999994e-179Initial program 11.5%
associate-+l-11.5%
Simplified11.5%
Taylor expanded in y2 around inf 61.1%
Taylor expanded in y0 around -inf 44.9%
associate-*r*44.9%
neg-mul-144.9%
*-commutative44.9%
mul-1-neg44.9%
unsub-neg44.9%
*-commutative44.9%
Simplified44.9%
Taylor expanded in k around inf 50.8%
if 1.34999999999999994e-179 < j < 8e13Initial program 35.2%
associate-+l-35.2%
Simplified35.2%
Taylor expanded in y2 around inf 45.8%
Taylor expanded in y4 around inf 45.4%
Final simplification51.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* y0 (* j (- (* y3 y5) (* x b)))))
(t_2 (* y1 (* y2 (- (* k y4) (* x a))))))
(if (<= j -6e+38)
t_1
(if (<= j -2.2e-162)
(* (* c y4) (- (* y y3) (* t y2)))
(if (<= j -3.5e-178)
(* y4 (* y1 (- (* k y2) (* j y3))))
(if (<= j -9e-195)
(* c (* y2 (- (* x y0) (* t y4))))
(if (<= j 7e-304)
(* b (* y (- (* x a) (* k y4))))
(if (<= j 3.1e-254)
t_2
(if (<= j 1.7e-179)
(* y0 (* y2 (* k (- y5))))
(if (<= j 70000000000000.0)
(* y4 (* y2 (- (* k y1) (* t c))))
(if (<= j 8.5e+76) 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 = y0 * (j * ((y3 * y5) - (x * b)));
double t_2 = y1 * (y2 * ((k * y4) - (x * a)));
double tmp;
if (j <= -6e+38) {
tmp = t_1;
} else if (j <= -2.2e-162) {
tmp = (c * y4) * ((y * y3) - (t * y2));
} else if (j <= -3.5e-178) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (j <= -9e-195) {
tmp = c * (y2 * ((x * y0) - (t * y4)));
} else if (j <= 7e-304) {
tmp = b * (y * ((x * a) - (k * y4)));
} else if (j <= 3.1e-254) {
tmp = t_2;
} else if (j <= 1.7e-179) {
tmp = y0 * (y2 * (k * -y5));
} else if (j <= 70000000000000.0) {
tmp = y4 * (y2 * ((k * y1) - (t * c)));
} else if (j <= 8.5e+76) {
tmp = 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 = y0 * (j * ((y3 * y5) - (x * b)))
t_2 = y1 * (y2 * ((k * y4) - (x * a)))
if (j <= (-6d+38)) then
tmp = t_1
else if (j <= (-2.2d-162)) then
tmp = (c * y4) * ((y * y3) - (t * y2))
else if (j <= (-3.5d-178)) then
tmp = y4 * (y1 * ((k * y2) - (j * y3)))
else if (j <= (-9d-195)) then
tmp = c * (y2 * ((x * y0) - (t * y4)))
else if (j <= 7d-304) then
tmp = b * (y * ((x * a) - (k * y4)))
else if (j <= 3.1d-254) then
tmp = t_2
else if (j <= 1.7d-179) then
tmp = y0 * (y2 * (k * -y5))
else if (j <= 70000000000000.0d0) then
tmp = y4 * (y2 * ((k * y1) - (t * c)))
else if (j <= 8.5d+76) then
tmp = t_2
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = y0 * (j * ((y3 * y5) - (x * b)));
double t_2 = y1 * (y2 * ((k * y4) - (x * a)));
double tmp;
if (j <= -6e+38) {
tmp = t_1;
} else if (j <= -2.2e-162) {
tmp = (c * y4) * ((y * y3) - (t * y2));
} else if (j <= -3.5e-178) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (j <= -9e-195) {
tmp = c * (y2 * ((x * y0) - (t * y4)));
} else if (j <= 7e-304) {
tmp = b * (y * ((x * a) - (k * y4)));
} else if (j <= 3.1e-254) {
tmp = t_2;
} else if (j <= 1.7e-179) {
tmp = y0 * (y2 * (k * -y5));
} else if (j <= 70000000000000.0) {
tmp = y4 * (y2 * ((k * y1) - (t * c)));
} else if (j <= 8.5e+76) {
tmp = 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 = y0 * (j * ((y3 * y5) - (x * b))) t_2 = y1 * (y2 * ((k * y4) - (x * a))) tmp = 0 if j <= -6e+38: tmp = t_1 elif j <= -2.2e-162: tmp = (c * y4) * ((y * y3) - (t * y2)) elif j <= -3.5e-178: tmp = y4 * (y1 * ((k * y2) - (j * y3))) elif j <= -9e-195: tmp = c * (y2 * ((x * y0) - (t * y4))) elif j <= 7e-304: tmp = b * (y * ((x * a) - (k * y4))) elif j <= 3.1e-254: tmp = t_2 elif j <= 1.7e-179: tmp = y0 * (y2 * (k * -y5)) elif j <= 70000000000000.0: tmp = y4 * (y2 * ((k * y1) - (t * c))) elif j <= 8.5e+76: tmp = 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(y0 * Float64(j * Float64(Float64(y3 * y5) - Float64(x * b)))) t_2 = Float64(y1 * Float64(y2 * Float64(Float64(k * y4) - Float64(x * a)))) tmp = 0.0 if (j <= -6e+38) tmp = t_1; elseif (j <= -2.2e-162) tmp = Float64(Float64(c * y4) * Float64(Float64(y * y3) - Float64(t * y2))); elseif (j <= -3.5e-178) tmp = Float64(y4 * Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))); elseif (j <= -9e-195) tmp = Float64(c * Float64(y2 * Float64(Float64(x * y0) - Float64(t * y4)))); elseif (j <= 7e-304) tmp = Float64(b * Float64(y * Float64(Float64(x * a) - Float64(k * y4)))); elseif (j <= 3.1e-254) tmp = t_2; elseif (j <= 1.7e-179) tmp = Float64(y0 * Float64(y2 * Float64(k * Float64(-y5)))); elseif (j <= 70000000000000.0) tmp = Float64(y4 * Float64(y2 * Float64(Float64(k * y1) - Float64(t * c)))); elseif (j <= 8.5e+76) tmp = 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 = y0 * (j * ((y3 * y5) - (x * b))); t_2 = y1 * (y2 * ((k * y4) - (x * a))); tmp = 0.0; if (j <= -6e+38) tmp = t_1; elseif (j <= -2.2e-162) tmp = (c * y4) * ((y * y3) - (t * y2)); elseif (j <= -3.5e-178) tmp = y4 * (y1 * ((k * y2) - (j * y3))); elseif (j <= -9e-195) tmp = c * (y2 * ((x * y0) - (t * y4))); elseif (j <= 7e-304) tmp = b * (y * ((x * a) - (k * y4))); elseif (j <= 3.1e-254) tmp = t_2; elseif (j <= 1.7e-179) tmp = y0 * (y2 * (k * -y5)); elseif (j <= 70000000000000.0) tmp = y4 * (y2 * ((k * y1) - (t * c))); elseif (j <= 8.5e+76) tmp = 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[(y0 * N[(j * N[(N[(y3 * y5), $MachinePrecision] - N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y1 * N[(y2 * N[(N[(k * y4), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -6e+38], t$95$1, If[LessEqual[j, -2.2e-162], N[(N[(c * y4), $MachinePrecision] * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -3.5e-178], N[(y4 * N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -9e-195], N[(c * N[(y2 * N[(N[(x * y0), $MachinePrecision] - N[(t * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 7e-304], N[(b * N[(y * N[(N[(x * a), $MachinePrecision] - N[(k * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 3.1e-254], t$95$2, If[LessEqual[j, 1.7e-179], N[(y0 * N[(y2 * N[(k * (-y5)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 70000000000000.0], N[(y4 * N[(y2 * N[(N[(k * y1), $MachinePrecision] - N[(t * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 8.5e+76], t$95$2, t$95$1]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y0 \cdot \left(j \cdot \left(y3 \cdot y5 - x \cdot b\right)\right)\\
t_2 := y1 \cdot \left(y2 \cdot \left(k \cdot y4 - x \cdot a\right)\right)\\
\mathbf{if}\;j \leq -6 \cdot 10^{+38}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq -2.2 \cdot 10^{-162}:\\
\;\;\;\;\left(c \cdot y4\right) \cdot \left(y \cdot y3 - t \cdot y2\right)\\
\mathbf{elif}\;j \leq -3.5 \cdot 10^{-178}:\\
\;\;\;\;y4 \cdot \left(y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right)\\
\mathbf{elif}\;j \leq -9 \cdot 10^{-195}:\\
\;\;\;\;c \cdot \left(y2 \cdot \left(x \cdot y0 - t \cdot y4\right)\right)\\
\mathbf{elif}\;j \leq 7 \cdot 10^{-304}:\\
\;\;\;\;b \cdot \left(y \cdot \left(x \cdot a - k \cdot y4\right)\right)\\
\mathbf{elif}\;j \leq 3.1 \cdot 10^{-254}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;j \leq 1.7 \cdot 10^{-179}:\\
\;\;\;\;y0 \cdot \left(y2 \cdot \left(k \cdot \left(-y5\right)\right)\right)\\
\mathbf{elif}\;j \leq 70000000000000:\\
\;\;\;\;y4 \cdot \left(y2 \cdot \left(k \cdot y1 - t \cdot c\right)\right)\\
\mathbf{elif}\;j \leq 8.5 \cdot 10^{+76}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if j < -6.0000000000000002e38 or 8.49999999999999992e76 < j Initial program 24.2%
+-commutative24.2%
fma-def27.2%
*-commutative27.2%
*-commutative27.2%
Simplified31.2%
Taylor expanded in j around inf 54.5%
Taylor expanded in y0 around inf 53.5%
if -6.0000000000000002e38 < j < -2.1999999999999999e-162Initial program 30.2%
associate-+l-30.2%
Simplified30.2%
Taylor expanded in y4 around inf 49.4%
Taylor expanded in c around inf 46.8%
associate-*r*44.2%
*-commutative44.2%
*-commutative44.2%
Simplified44.2%
if -2.1999999999999999e-162 < j < -3.49999999999999983e-178Initial program 22.2%
associate-+l-22.2%
Simplified22.2%
Taylor expanded in y4 around inf 66.9%
Taylor expanded in y1 around inf 78.0%
if -3.49999999999999983e-178 < j < -9e-195Initial program 2.2%
associate-+l-2.2%
Simplified2.2%
Taylor expanded in y2 around inf 52.2%
Taylor expanded in c around inf 77.2%
if -9e-195 < j < 7e-304Initial program 5.9%
associate-+l-5.9%
Simplified5.9%
Taylor expanded in b around inf 52.6%
Taylor expanded in y around inf 58.7%
associate-*r*58.7%
*-commutative58.7%
*-commutative58.7%
+-commutative58.7%
mul-1-neg58.7%
unsub-neg58.7%
Simplified58.7%
if 7e-304 < j < 3.09999999999999988e-254 or 7e13 < j < 8.49999999999999992e76Initial program 35.0%
associate-+l-35.0%
Simplified35.0%
Taylor expanded in y2 around inf 36.1%
Taylor expanded in y1 around inf 47.1%
*-commutative47.1%
+-commutative47.1%
mul-1-neg47.1%
unsub-neg47.1%
Simplified47.1%
if 3.09999999999999988e-254 < j < 1.6999999999999999e-179Initial program 11.5%
associate-+l-11.5%
Simplified11.5%
Taylor expanded in y2 around inf 61.1%
Taylor expanded in y0 around -inf 44.9%
associate-*r*44.9%
neg-mul-144.9%
*-commutative44.9%
mul-1-neg44.9%
unsub-neg44.9%
*-commutative44.9%
Simplified44.9%
Taylor expanded in k around inf 50.8%
if 1.6999999999999999e-179 < j < 7e13Initial program 35.2%
associate-+l-35.2%
Simplified35.2%
Taylor expanded in y2 around inf 45.8%
Taylor expanded in y4 around inf 45.4%
Final simplification51.5%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* (* c y4) (- (* y y3) (* t y2))))
(t_2 (* y0 (* j (- (* y3 y5) (* x b))))))
(if (<= j -3.25e+38)
t_2
(if (<= j -2.4e-162)
t_1
(if (<= j -1.02e-166)
(* y4 (* y1 (- (* k y2) (* j y3))))
(if (<= j -5e-236)
t_1
(if (<= j 2.2e-116)
(* y2 (* a (- (* t y5) (* x y1))))
(if (<= j 68000000000000.0)
(* y4 (* y2 (- (* k y1) (* t c))))
(if (<= j 1.16e+77)
(* y1 (* y2 (- (* k y4) (* x a))))
(if (<= j 2e+209)
(* j (* y5 (- (* y0 y3) (* t i))))
(if (<= j 1.12e+250)
(* j (* x (- (* i y1) (* b 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 = (c * y4) * ((y * y3) - (t * y2));
double t_2 = y0 * (j * ((y3 * y5) - (x * b)));
double tmp;
if (j <= -3.25e+38) {
tmp = t_2;
} else if (j <= -2.4e-162) {
tmp = t_1;
} else if (j <= -1.02e-166) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (j <= -5e-236) {
tmp = t_1;
} else if (j <= 2.2e-116) {
tmp = y2 * (a * ((t * y5) - (x * y1)));
} else if (j <= 68000000000000.0) {
tmp = y4 * (y2 * ((k * y1) - (t * c)));
} else if (j <= 1.16e+77) {
tmp = y1 * (y2 * ((k * y4) - (x * a)));
} else if (j <= 2e+209) {
tmp = j * (y5 * ((y0 * y3) - (t * i)));
} else if (j <= 1.12e+250) {
tmp = j * (x * ((i * y1) - (b * y0)));
} 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) :: tmp
t_1 = (c * y4) * ((y * y3) - (t * y2))
t_2 = y0 * (j * ((y3 * y5) - (x * b)))
if (j <= (-3.25d+38)) then
tmp = t_2
else if (j <= (-2.4d-162)) then
tmp = t_1
else if (j <= (-1.02d-166)) then
tmp = y4 * (y1 * ((k * y2) - (j * y3)))
else if (j <= (-5d-236)) then
tmp = t_1
else if (j <= 2.2d-116) then
tmp = y2 * (a * ((t * y5) - (x * y1)))
else if (j <= 68000000000000.0d0) then
tmp = y4 * (y2 * ((k * y1) - (t * c)))
else if (j <= 1.16d+77) then
tmp = y1 * (y2 * ((k * y4) - (x * a)))
else if (j <= 2d+209) then
tmp = j * (y5 * ((y0 * y3) - (t * i)))
else if (j <= 1.12d+250) then
tmp = j * (x * ((i * y1) - (b * y0)))
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 = (c * y4) * ((y * y3) - (t * y2));
double t_2 = y0 * (j * ((y3 * y5) - (x * b)));
double tmp;
if (j <= -3.25e+38) {
tmp = t_2;
} else if (j <= -2.4e-162) {
tmp = t_1;
} else if (j <= -1.02e-166) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (j <= -5e-236) {
tmp = t_1;
} else if (j <= 2.2e-116) {
tmp = y2 * (a * ((t * y5) - (x * y1)));
} else if (j <= 68000000000000.0) {
tmp = y4 * (y2 * ((k * y1) - (t * c)));
} else if (j <= 1.16e+77) {
tmp = y1 * (y2 * ((k * y4) - (x * a)));
} else if (j <= 2e+209) {
tmp = j * (y5 * ((y0 * y3) - (t * i)));
} else if (j <= 1.12e+250) {
tmp = j * (x * ((i * y1) - (b * y0)));
} 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 = (c * y4) * ((y * y3) - (t * y2)) t_2 = y0 * (j * ((y3 * y5) - (x * b))) tmp = 0 if j <= -3.25e+38: tmp = t_2 elif j <= -2.4e-162: tmp = t_1 elif j <= -1.02e-166: tmp = y4 * (y1 * ((k * y2) - (j * y3))) elif j <= -5e-236: tmp = t_1 elif j <= 2.2e-116: tmp = y2 * (a * ((t * y5) - (x * y1))) elif j <= 68000000000000.0: tmp = y4 * (y2 * ((k * y1) - (t * c))) elif j <= 1.16e+77: tmp = y1 * (y2 * ((k * y4) - (x * a))) elif j <= 2e+209: tmp = j * (y5 * ((y0 * y3) - (t * i))) elif j <= 1.12e+250: tmp = j * (x * ((i * y1) - (b * y0))) 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(c * y4) * Float64(Float64(y * y3) - Float64(t * y2))) t_2 = Float64(y0 * Float64(j * Float64(Float64(y3 * y5) - Float64(x * b)))) tmp = 0.0 if (j <= -3.25e+38) tmp = t_2; elseif (j <= -2.4e-162) tmp = t_1; elseif (j <= -1.02e-166) tmp = Float64(y4 * Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))); elseif (j <= -5e-236) tmp = t_1; elseif (j <= 2.2e-116) tmp = Float64(y2 * Float64(a * Float64(Float64(t * y5) - Float64(x * y1)))); elseif (j <= 68000000000000.0) tmp = Float64(y4 * Float64(y2 * Float64(Float64(k * y1) - Float64(t * c)))); elseif (j <= 1.16e+77) tmp = Float64(y1 * Float64(y2 * Float64(Float64(k * y4) - Float64(x * a)))); elseif (j <= 2e+209) tmp = Float64(j * Float64(y5 * Float64(Float64(y0 * y3) - Float64(t * i)))); elseif (j <= 1.12e+250) tmp = Float64(j * Float64(x * Float64(Float64(i * y1) - Float64(b * y0)))); 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 = (c * y4) * ((y * y3) - (t * y2)); t_2 = y0 * (j * ((y3 * y5) - (x * b))); tmp = 0.0; if (j <= -3.25e+38) tmp = t_2; elseif (j <= -2.4e-162) tmp = t_1; elseif (j <= -1.02e-166) tmp = y4 * (y1 * ((k * y2) - (j * y3))); elseif (j <= -5e-236) tmp = t_1; elseif (j <= 2.2e-116) tmp = y2 * (a * ((t * y5) - (x * y1))); elseif (j <= 68000000000000.0) tmp = y4 * (y2 * ((k * y1) - (t * c))); elseif (j <= 1.16e+77) tmp = y1 * (y2 * ((k * y4) - (x * a))); elseif (j <= 2e+209) tmp = j * (y5 * ((y0 * y3) - (t * i))); elseif (j <= 1.12e+250) tmp = j * (x * ((i * y1) - (b * y0))); 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[(c * y4), $MachinePrecision] * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y0 * N[(j * N[(N[(y3 * y5), $MachinePrecision] - N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -3.25e+38], t$95$2, If[LessEqual[j, -2.4e-162], t$95$1, If[LessEqual[j, -1.02e-166], N[(y4 * N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, -5e-236], t$95$1, If[LessEqual[j, 2.2e-116], N[(y2 * N[(a * N[(N[(t * y5), $MachinePrecision] - N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 68000000000000.0], N[(y4 * N[(y2 * N[(N[(k * y1), $MachinePrecision] - N[(t * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.16e+77], N[(y1 * N[(y2 * N[(N[(k * y4), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 2e+209], N[(j * N[(y5 * N[(N[(y0 * y3), $MachinePrecision] - N[(t * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.12e+250], N[(j * N[(x * N[(N[(i * y1), $MachinePrecision] - N[(b * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(c \cdot y4\right) \cdot \left(y \cdot y3 - t \cdot y2\right)\\
t_2 := y0 \cdot \left(j \cdot \left(y3 \cdot y5 - x \cdot b\right)\right)\\
\mathbf{if}\;j \leq -3.25 \cdot 10^{+38}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;j \leq -2.4 \cdot 10^{-162}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq -1.02 \cdot 10^{-166}:\\
\;\;\;\;y4 \cdot \left(y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right)\\
\mathbf{elif}\;j \leq -5 \cdot 10^{-236}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq 2.2 \cdot 10^{-116}:\\
\;\;\;\;y2 \cdot \left(a \cdot \left(t \cdot y5 - x \cdot y1\right)\right)\\
\mathbf{elif}\;j \leq 68000000000000:\\
\;\;\;\;y4 \cdot \left(y2 \cdot \left(k \cdot y1 - t \cdot c\right)\right)\\
\mathbf{elif}\;j \leq 1.16 \cdot 10^{+77}:\\
\;\;\;\;y1 \cdot \left(y2 \cdot \left(k \cdot y4 - x \cdot a\right)\right)\\
\mathbf{elif}\;j \leq 2 \cdot 10^{+209}:\\
\;\;\;\;j \cdot \left(y5 \cdot \left(y0 \cdot y3 - t \cdot i\right)\right)\\
\mathbf{elif}\;j \leq 1.12 \cdot 10^{+250}:\\
\;\;\;\;j \cdot \left(x \cdot \left(i \cdot y1 - b \cdot y0\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if j < -3.25e38 or 1.12000000000000007e250 < j Initial program 24.8%
+-commutative24.8%
fma-def27.7%
*-commutative27.7%
*-commutative27.7%
Simplified32.1%
Taylor expanded in j around inf 51.3%
Taylor expanded in y0 around inf 51.3%
if -3.25e38 < j < -2.4000000000000002e-162 or -1.02000000000000007e-166 < j < -4.9999999999999998e-236Initial program 28.5%
associate-+l-28.5%
Simplified28.5%
Taylor expanded in y4 around inf 50.7%
Taylor expanded in c around inf 48.8%
associate-*r*46.8%
*-commutative46.8%
*-commutative46.8%
Simplified46.8%
if -2.4000000000000002e-162 < j < -1.02000000000000007e-166Initial program 0.0%
associate-+l-0.0%
Simplified0.0%
Taylor expanded in y4 around inf 80.0%
Taylor expanded in y1 around inf 100.0%
if -4.9999999999999998e-236 < j < 2.2000000000000001e-116Initial program 19.4%
associate-+l-19.4%
Simplified19.4%
Taylor expanded in y2 around inf 51.7%
Taylor expanded in a around -inf 45.0%
mul-1-neg45.0%
associate-*r*45.0%
*-commutative45.0%
Simplified45.0%
if 2.2000000000000001e-116 < j < 6.8e13Initial program 37.4%
associate-+l-37.4%
Simplified37.4%
Taylor expanded in y2 around inf 43.9%
Taylor expanded in y4 around inf 55.0%
if 6.8e13 < j < 1.1600000000000001e77Initial program 34.8%
associate-+l-34.8%
Simplified34.8%
Taylor expanded in y2 around inf 40.4%
Taylor expanded in y1 around inf 55.7%
*-commutative55.7%
+-commutative55.7%
mul-1-neg55.7%
unsub-neg55.7%
Simplified55.7%
if 1.1600000000000001e77 < j < 2.0000000000000001e209Initial program 23.1%
+-commutative23.1%
fma-def27.6%
*-commutative27.6%
*-commutative27.6%
Simplified32.1%
Taylor expanded in j around inf 59.3%
Taylor expanded in y5 around inf 68.7%
*-commutative68.7%
mul-1-neg68.7%
unsub-neg68.7%
*-commutative68.7%
Simplified68.7%
if 2.0000000000000001e209 < j < 1.12000000000000007e250Initial program 22.2%
+-commutative22.2%
fma-def22.2%
*-commutative22.2%
*-commutative22.2%
Simplified22.2%
Taylor expanded in j around inf 66.7%
Taylor expanded in x around inf 77.8%
Final simplification53.1%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* b (* y (- (* x a) (* k y4))))))
(if (<= y3 -8.5e+116)
(* y4 (* y1 (- (* k y2) (* j y3))))
(if (<= y3 -58000.0)
(* c (* i (- (* z t) (* x y))))
(if (<= y3 -1.82e-141)
(* y2 (* a (- (* t y5) (* x y1))))
(if (<= y3 -7e-225)
t_1
(if (<= y3 1.7e-211)
(* y4 (* t (- (* b j) (* c y2))))
(if (<= y3 7e-84)
t_1
(if (<= y3 1.35e+84)
(* i (* y5 (- (* y k) (* t j))))
(if (<= y3 5.6e+119)
(* k (* z (- (* b y0) (* i y1))))
(if (<= y3 3.4e+160)
(* (* c y4) (- (* y y3) (* t y2)))
(* y0 (* j (- (* y3 y5) (* x 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) {
double t_1 = b * (y * ((x * a) - (k * y4)));
double tmp;
if (y3 <= -8.5e+116) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (y3 <= -58000.0) {
tmp = c * (i * ((z * t) - (x * y)));
} else if (y3 <= -1.82e-141) {
tmp = y2 * (a * ((t * y5) - (x * y1)));
} else if (y3 <= -7e-225) {
tmp = t_1;
} else if (y3 <= 1.7e-211) {
tmp = y4 * (t * ((b * j) - (c * y2)));
} else if (y3 <= 7e-84) {
tmp = t_1;
} else if (y3 <= 1.35e+84) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else if (y3 <= 5.6e+119) {
tmp = k * (z * ((b * y0) - (i * y1)));
} else if (y3 <= 3.4e+160) {
tmp = (c * y4) * ((y * y3) - (t * y2));
} else {
tmp = y0 * (j * ((y3 * y5) - (x * b)));
}
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 = b * (y * ((x * a) - (k * y4)))
if (y3 <= (-8.5d+116)) then
tmp = y4 * (y1 * ((k * y2) - (j * y3)))
else if (y3 <= (-58000.0d0)) then
tmp = c * (i * ((z * t) - (x * y)))
else if (y3 <= (-1.82d-141)) then
tmp = y2 * (a * ((t * y5) - (x * y1)))
else if (y3 <= (-7d-225)) then
tmp = t_1
else if (y3 <= 1.7d-211) then
tmp = y4 * (t * ((b * j) - (c * y2)))
else if (y3 <= 7d-84) then
tmp = t_1
else if (y3 <= 1.35d+84) then
tmp = i * (y5 * ((y * k) - (t * j)))
else if (y3 <= 5.6d+119) then
tmp = k * (z * ((b * y0) - (i * y1)))
else if (y3 <= 3.4d+160) then
tmp = (c * y4) * ((y * y3) - (t * y2))
else
tmp = y0 * (j * ((y3 * y5) - (x * b)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = b * (y * ((x * a) - (k * y4)));
double tmp;
if (y3 <= -8.5e+116) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (y3 <= -58000.0) {
tmp = c * (i * ((z * t) - (x * y)));
} else if (y3 <= -1.82e-141) {
tmp = y2 * (a * ((t * y5) - (x * y1)));
} else if (y3 <= -7e-225) {
tmp = t_1;
} else if (y3 <= 1.7e-211) {
tmp = y4 * (t * ((b * j) - (c * y2)));
} else if (y3 <= 7e-84) {
tmp = t_1;
} else if (y3 <= 1.35e+84) {
tmp = i * (y5 * ((y * k) - (t * j)));
} else if (y3 <= 5.6e+119) {
tmp = k * (z * ((b * y0) - (i * y1)));
} else if (y3 <= 3.4e+160) {
tmp = (c * y4) * ((y * y3) - (t * y2));
} else {
tmp = y0 * (j * ((y3 * y5) - (x * b)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = b * (y * ((x * a) - (k * y4))) tmp = 0 if y3 <= -8.5e+116: tmp = y4 * (y1 * ((k * y2) - (j * y3))) elif y3 <= -58000.0: tmp = c * (i * ((z * t) - (x * y))) elif y3 <= -1.82e-141: tmp = y2 * (a * ((t * y5) - (x * y1))) elif y3 <= -7e-225: tmp = t_1 elif y3 <= 1.7e-211: tmp = y4 * (t * ((b * j) - (c * y2))) elif y3 <= 7e-84: tmp = t_1 elif y3 <= 1.35e+84: tmp = i * (y5 * ((y * k) - (t * j))) elif y3 <= 5.6e+119: tmp = k * (z * ((b * y0) - (i * y1))) elif y3 <= 3.4e+160: tmp = (c * y4) * ((y * y3) - (t * y2)) else: tmp = y0 * (j * ((y3 * y5) - (x * b))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(b * Float64(y * Float64(Float64(x * a) - Float64(k * y4)))) tmp = 0.0 if (y3 <= -8.5e+116) tmp = Float64(y4 * Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))); elseif (y3 <= -58000.0) tmp = Float64(c * Float64(i * Float64(Float64(z * t) - Float64(x * y)))); elseif (y3 <= -1.82e-141) tmp = Float64(y2 * Float64(a * Float64(Float64(t * y5) - Float64(x * y1)))); elseif (y3 <= -7e-225) tmp = t_1; elseif (y3 <= 1.7e-211) tmp = Float64(y4 * Float64(t * Float64(Float64(b * j) - Float64(c * y2)))); elseif (y3 <= 7e-84) tmp = t_1; elseif (y3 <= 1.35e+84) tmp = Float64(i * Float64(y5 * Float64(Float64(y * k) - Float64(t * j)))); elseif (y3 <= 5.6e+119) tmp = Float64(k * Float64(z * Float64(Float64(b * y0) - Float64(i * y1)))); elseif (y3 <= 3.4e+160) tmp = Float64(Float64(c * y4) * Float64(Float64(y * y3) - Float64(t * y2))); else tmp = Float64(y0 * Float64(j * Float64(Float64(y3 * y5) - Float64(x * b)))); 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 = b * (y * ((x * a) - (k * y4))); tmp = 0.0; if (y3 <= -8.5e+116) tmp = y4 * (y1 * ((k * y2) - (j * y3))); elseif (y3 <= -58000.0) tmp = c * (i * ((z * t) - (x * y))); elseif (y3 <= -1.82e-141) tmp = y2 * (a * ((t * y5) - (x * y1))); elseif (y3 <= -7e-225) tmp = t_1; elseif (y3 <= 1.7e-211) tmp = y4 * (t * ((b * j) - (c * y2))); elseif (y3 <= 7e-84) tmp = t_1; elseif (y3 <= 1.35e+84) tmp = i * (y5 * ((y * k) - (t * j))); elseif (y3 <= 5.6e+119) tmp = k * (z * ((b * y0) - (i * y1))); elseif (y3 <= 3.4e+160) tmp = (c * y4) * ((y * y3) - (t * y2)); else tmp = y0 * (j * ((y3 * y5) - (x * b))); 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[(b * N[(y * N[(N[(x * a), $MachinePrecision] - N[(k * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y3, -8.5e+116], N[(y4 * N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, -58000.0], N[(c * N[(i * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, -1.82e-141], N[(y2 * N[(a * N[(N[(t * y5), $MachinePrecision] - N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, -7e-225], t$95$1, If[LessEqual[y3, 1.7e-211], N[(y4 * N[(t * N[(N[(b * j), $MachinePrecision] - N[(c * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 7e-84], t$95$1, If[LessEqual[y3, 1.35e+84], N[(i * N[(y5 * N[(N[(y * k), $MachinePrecision] - N[(t * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 5.6e+119], N[(k * N[(z * N[(N[(b * y0), $MachinePrecision] - N[(i * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 3.4e+160], N[(N[(c * y4), $MachinePrecision] * N[(N[(y * y3), $MachinePrecision] - N[(t * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y0 * N[(j * N[(N[(y3 * y5), $MachinePrecision] - N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot \left(y \cdot \left(x \cdot a - k \cdot y4\right)\right)\\
\mathbf{if}\;y3 \leq -8.5 \cdot 10^{+116}:\\
\;\;\;\;y4 \cdot \left(y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right)\\
\mathbf{elif}\;y3 \leq -58000:\\
\;\;\;\;c \cdot \left(i \cdot \left(z \cdot t - x \cdot y\right)\right)\\
\mathbf{elif}\;y3 \leq -1.82 \cdot 10^{-141}:\\
\;\;\;\;y2 \cdot \left(a \cdot \left(t \cdot y5 - x \cdot y1\right)\right)\\
\mathbf{elif}\;y3 \leq -7 \cdot 10^{-225}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y3 \leq 1.7 \cdot 10^{-211}:\\
\;\;\;\;y4 \cdot \left(t \cdot \left(b \cdot j - c \cdot y2\right)\right)\\
\mathbf{elif}\;y3 \leq 7 \cdot 10^{-84}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y3 \leq 1.35 \cdot 10^{+84}:\\
\;\;\;\;i \cdot \left(y5 \cdot \left(y \cdot k - t \cdot j\right)\right)\\
\mathbf{elif}\;y3 \leq 5.6 \cdot 10^{+119}:\\
\;\;\;\;k \cdot \left(z \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\\
\mathbf{elif}\;y3 \leq 3.4 \cdot 10^{+160}:\\
\;\;\;\;\left(c \cdot y4\right) \cdot \left(y \cdot y3 - t \cdot y2\right)\\
\mathbf{else}:\\
\;\;\;\;y0 \cdot \left(j \cdot \left(y3 \cdot y5 - x \cdot b\right)\right)\\
\end{array}
\end{array}
if y3 < -8.5000000000000002e116Initial program 11.8%
associate-+l-11.8%
Simplified11.8%
Taylor expanded in y4 around inf 44.4%
Taylor expanded in y1 around inf 59.2%
if -8.5000000000000002e116 < y3 < -58000Initial program 30.4%
associate-+l-30.4%
Simplified30.4%
Taylor expanded in c around inf 71.3%
Taylor expanded in i around inf 60.7%
associate-*r*60.7%
neg-mul-160.7%
Simplified60.7%
if -58000 < y3 < -1.82000000000000005e-141Initial program 31.5%
associate-+l-31.5%
Simplified31.5%
Taylor expanded in y2 around inf 48.7%
Taylor expanded in a around -inf 55.3%
mul-1-neg55.3%
associate-*r*55.4%
*-commutative55.4%
Simplified55.4%
if -1.82000000000000005e-141 < y3 < -6.9999999999999994e-225 or 1.7e-211 < y3 < 7.0000000000000002e-84Initial program 38.1%
associate-+l-38.1%
Simplified38.1%
Taylor expanded in b around inf 36.4%
Taylor expanded in y around inf 52.3%
associate-*r*50.4%
*-commutative50.4%
*-commutative50.4%
+-commutative50.4%
mul-1-neg50.4%
unsub-neg50.4%
Simplified50.4%
if -6.9999999999999994e-225 < y3 < 1.7e-211Initial program 34.4%
associate-+l-34.4%
Simplified34.4%
Taylor expanded in y4 around inf 43.0%
Taylor expanded in t around inf 49.0%
*-commutative49.0%
*-commutative49.0%
Simplified49.0%
if 7.0000000000000002e-84 < y3 < 1.35e84Initial program 18.1%
associate-+l-18.1%
Simplified18.1%
Taylor expanded in i around -inf 45.7%
Taylor expanded in y5 around inf 46.3%
if 1.35e84 < y3 < 5.60000000000000026e119Initial program 8.4%
associate-+l-8.4%
Simplified8.4%
Taylor expanded in z around -inf 41.5%
mul-1-neg41.5%
*-commutative41.5%
associate--l+41.5%
*-commutative41.5%
*-commutative41.5%
*-commutative41.5%
*-commutative41.5%
*-commutative41.5%
*-commutative41.5%
*-commutative41.5%
*-commutative41.5%
Simplified41.5%
Taylor expanded in k around inf 67.1%
if 5.60000000000000026e119 < y3 < 3.4000000000000003e160Initial program 50.9%
associate-+l-50.9%
Simplified50.9%
Taylor expanded in y4 around inf 59.9%
Taylor expanded in c around inf 50.7%
associate-*r*60.4%
*-commutative60.4%
*-commutative60.4%
Simplified60.4%
if 3.4000000000000003e160 < y3 Initial program 9.4%
+-commutative9.4%
fma-def9.4%
*-commutative9.4%
*-commutative9.4%
Simplified12.5%
Taylor expanded in j around inf 31.9%
Taylor expanded in y0 around inf 62.8%
Final simplification55.0%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* b (* y (- (* x a) (* k y4))))))
(if (<= y3 -2.7e+116)
(* y4 (* y1 (- (* k y2) (* j y3))))
(if (<= y3 -58000.0)
(* c (* i (- (* z t) (* x y))))
(if (<= y3 -1.12e-141)
(* y2 (* a (- (* t y5) (* x y1))))
(if (<= y3 -1.85e-224)
t_1
(if (<= y3 8.5e-211)
(* y4 (* t (- (* b j) (* c y2))))
(if (<= y3 1.6e-86)
t_1
(if (<= y3 0.0078)
(* i (* y (- (* k y5) (* x c))))
(if (<= y3 9e+103)
(* j (* y5 (- (* y0 y3) (* t i))))
(if (<= y3 2.6e+198)
(* j (* y4 (- (* t b) (* y1 y3))))
(* y0 (* j (- (* y3 y5) (* x 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) {
double t_1 = b * (y * ((x * a) - (k * y4)));
double tmp;
if (y3 <= -2.7e+116) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (y3 <= -58000.0) {
tmp = c * (i * ((z * t) - (x * y)));
} else if (y3 <= -1.12e-141) {
tmp = y2 * (a * ((t * y5) - (x * y1)));
} else if (y3 <= -1.85e-224) {
tmp = t_1;
} else if (y3 <= 8.5e-211) {
tmp = y4 * (t * ((b * j) - (c * y2)));
} else if (y3 <= 1.6e-86) {
tmp = t_1;
} else if (y3 <= 0.0078) {
tmp = i * (y * ((k * y5) - (x * c)));
} else if (y3 <= 9e+103) {
tmp = j * (y5 * ((y0 * y3) - (t * i)));
} else if (y3 <= 2.6e+198) {
tmp = j * (y4 * ((t * b) - (y1 * y3)));
} else {
tmp = y0 * (j * ((y3 * y5) - (x * b)));
}
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 = b * (y * ((x * a) - (k * y4)))
if (y3 <= (-2.7d+116)) then
tmp = y4 * (y1 * ((k * y2) - (j * y3)))
else if (y3 <= (-58000.0d0)) then
tmp = c * (i * ((z * t) - (x * y)))
else if (y3 <= (-1.12d-141)) then
tmp = y2 * (a * ((t * y5) - (x * y1)))
else if (y3 <= (-1.85d-224)) then
tmp = t_1
else if (y3 <= 8.5d-211) then
tmp = y4 * (t * ((b * j) - (c * y2)))
else if (y3 <= 1.6d-86) then
tmp = t_1
else if (y3 <= 0.0078d0) then
tmp = i * (y * ((k * y5) - (x * c)))
else if (y3 <= 9d+103) then
tmp = j * (y5 * ((y0 * y3) - (t * i)))
else if (y3 <= 2.6d+198) then
tmp = j * (y4 * ((t * b) - (y1 * y3)))
else
tmp = y0 * (j * ((y3 * y5) - (x * b)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = b * (y * ((x * a) - (k * y4)));
double tmp;
if (y3 <= -2.7e+116) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (y3 <= -58000.0) {
tmp = c * (i * ((z * t) - (x * y)));
} else if (y3 <= -1.12e-141) {
tmp = y2 * (a * ((t * y5) - (x * y1)));
} else if (y3 <= -1.85e-224) {
tmp = t_1;
} else if (y3 <= 8.5e-211) {
tmp = y4 * (t * ((b * j) - (c * y2)));
} else if (y3 <= 1.6e-86) {
tmp = t_1;
} else if (y3 <= 0.0078) {
tmp = i * (y * ((k * y5) - (x * c)));
} else if (y3 <= 9e+103) {
tmp = j * (y5 * ((y0 * y3) - (t * i)));
} else if (y3 <= 2.6e+198) {
tmp = j * (y4 * ((t * b) - (y1 * y3)));
} else {
tmp = y0 * (j * ((y3 * y5) - (x * b)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = b * (y * ((x * a) - (k * y4))) tmp = 0 if y3 <= -2.7e+116: tmp = y4 * (y1 * ((k * y2) - (j * y3))) elif y3 <= -58000.0: tmp = c * (i * ((z * t) - (x * y))) elif y3 <= -1.12e-141: tmp = y2 * (a * ((t * y5) - (x * y1))) elif y3 <= -1.85e-224: tmp = t_1 elif y3 <= 8.5e-211: tmp = y4 * (t * ((b * j) - (c * y2))) elif y3 <= 1.6e-86: tmp = t_1 elif y3 <= 0.0078: tmp = i * (y * ((k * y5) - (x * c))) elif y3 <= 9e+103: tmp = j * (y5 * ((y0 * y3) - (t * i))) elif y3 <= 2.6e+198: tmp = j * (y4 * ((t * b) - (y1 * y3))) else: tmp = y0 * (j * ((y3 * y5) - (x * b))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(b * Float64(y * Float64(Float64(x * a) - Float64(k * y4)))) tmp = 0.0 if (y3 <= -2.7e+116) tmp = Float64(y4 * Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))); elseif (y3 <= -58000.0) tmp = Float64(c * Float64(i * Float64(Float64(z * t) - Float64(x * y)))); elseif (y3 <= -1.12e-141) tmp = Float64(y2 * Float64(a * Float64(Float64(t * y5) - Float64(x * y1)))); elseif (y3 <= -1.85e-224) tmp = t_1; elseif (y3 <= 8.5e-211) tmp = Float64(y4 * Float64(t * Float64(Float64(b * j) - Float64(c * y2)))); elseif (y3 <= 1.6e-86) tmp = t_1; elseif (y3 <= 0.0078) tmp = Float64(i * Float64(y * Float64(Float64(k * y5) - Float64(x * c)))); elseif (y3 <= 9e+103) tmp = Float64(j * Float64(y5 * Float64(Float64(y0 * y3) - Float64(t * i)))); elseif (y3 <= 2.6e+198) tmp = Float64(j * Float64(y4 * Float64(Float64(t * b) - Float64(y1 * y3)))); else tmp = Float64(y0 * Float64(j * Float64(Float64(y3 * y5) - Float64(x * b)))); 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 = b * (y * ((x * a) - (k * y4))); tmp = 0.0; if (y3 <= -2.7e+116) tmp = y4 * (y1 * ((k * y2) - (j * y3))); elseif (y3 <= -58000.0) tmp = c * (i * ((z * t) - (x * y))); elseif (y3 <= -1.12e-141) tmp = y2 * (a * ((t * y5) - (x * y1))); elseif (y3 <= -1.85e-224) tmp = t_1; elseif (y3 <= 8.5e-211) tmp = y4 * (t * ((b * j) - (c * y2))); elseif (y3 <= 1.6e-86) tmp = t_1; elseif (y3 <= 0.0078) tmp = i * (y * ((k * y5) - (x * c))); elseif (y3 <= 9e+103) tmp = j * (y5 * ((y0 * y3) - (t * i))); elseif (y3 <= 2.6e+198) tmp = j * (y4 * ((t * b) - (y1 * y3))); else tmp = y0 * (j * ((y3 * y5) - (x * b))); 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[(b * N[(y * N[(N[(x * a), $MachinePrecision] - N[(k * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y3, -2.7e+116], N[(y4 * N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, -58000.0], N[(c * N[(i * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, -1.12e-141], N[(y2 * N[(a * N[(N[(t * y5), $MachinePrecision] - N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, -1.85e-224], t$95$1, If[LessEqual[y3, 8.5e-211], N[(y4 * N[(t * N[(N[(b * j), $MachinePrecision] - N[(c * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 1.6e-86], t$95$1, If[LessEqual[y3, 0.0078], N[(i * N[(y * N[(N[(k * y5), $MachinePrecision] - N[(x * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 9e+103], N[(j * N[(y5 * N[(N[(y0 * y3), $MachinePrecision] - N[(t * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 2.6e+198], N[(j * N[(y4 * N[(N[(t * b), $MachinePrecision] - N[(y1 * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y0 * N[(j * N[(N[(y3 * y5), $MachinePrecision] - N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot \left(y \cdot \left(x \cdot a - k \cdot y4\right)\right)\\
\mathbf{if}\;y3 \leq -2.7 \cdot 10^{+116}:\\
\;\;\;\;y4 \cdot \left(y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right)\\
\mathbf{elif}\;y3 \leq -58000:\\
\;\;\;\;c \cdot \left(i \cdot \left(z \cdot t - x \cdot y\right)\right)\\
\mathbf{elif}\;y3 \leq -1.12 \cdot 10^{-141}:\\
\;\;\;\;y2 \cdot \left(a \cdot \left(t \cdot y5 - x \cdot y1\right)\right)\\
\mathbf{elif}\;y3 \leq -1.85 \cdot 10^{-224}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y3 \leq 8.5 \cdot 10^{-211}:\\
\;\;\;\;y4 \cdot \left(t \cdot \left(b \cdot j - c \cdot y2\right)\right)\\
\mathbf{elif}\;y3 \leq 1.6 \cdot 10^{-86}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y3 \leq 0.0078:\\
\;\;\;\;i \cdot \left(y \cdot \left(k \cdot y5 - x \cdot c\right)\right)\\
\mathbf{elif}\;y3 \leq 9 \cdot 10^{+103}:\\
\;\;\;\;j \cdot \left(y5 \cdot \left(y0 \cdot y3 - t \cdot i\right)\right)\\
\mathbf{elif}\;y3 \leq 2.6 \cdot 10^{+198}:\\
\;\;\;\;j \cdot \left(y4 \cdot \left(t \cdot b - y1 \cdot y3\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y0 \cdot \left(j \cdot \left(y3 \cdot y5 - x \cdot b\right)\right)\\
\end{array}
\end{array}
if y3 < -2.7e116Initial program 11.8%
associate-+l-11.8%
Simplified11.8%
Taylor expanded in y4 around inf 44.4%
Taylor expanded in y1 around inf 59.2%
if -2.7e116 < y3 < -58000Initial program 30.4%
associate-+l-30.4%
Simplified30.4%
Taylor expanded in c around inf 71.3%
Taylor expanded in i around inf 60.7%
associate-*r*60.7%
neg-mul-160.7%
Simplified60.7%
if -58000 < y3 < -1.12000000000000002e-141Initial program 31.5%
associate-+l-31.5%
Simplified31.5%
Taylor expanded in y2 around inf 48.7%
Taylor expanded in a around -inf 55.3%
mul-1-neg55.3%
associate-*r*55.4%
*-commutative55.4%
Simplified55.4%
if -1.12000000000000002e-141 < y3 < -1.8500000000000001e-224 or 8.49999999999999936e-211 < y3 < 1.60000000000000003e-86Initial program 38.1%
associate-+l-38.1%
Simplified38.1%
Taylor expanded in b around inf 36.4%
Taylor expanded in y around inf 52.3%
associate-*r*50.4%
*-commutative50.4%
*-commutative50.4%
+-commutative50.4%
mul-1-neg50.4%
unsub-neg50.4%
Simplified50.4%
if -1.8500000000000001e-224 < y3 < 8.49999999999999936e-211Initial program 34.4%
associate-+l-34.4%
Simplified34.4%
Taylor expanded in y4 around inf 43.0%
Taylor expanded in t around inf 49.0%
*-commutative49.0%
*-commutative49.0%
Simplified49.0%
if 1.60000000000000003e-86 < y3 < 0.0077999999999999996Initial program 15.8%
associate-+l-15.8%
Simplified15.8%
Taylor expanded in i around -inf 42.5%
Taylor expanded in y around inf 59.0%
+-commutative59.0%
mul-1-neg59.0%
unsub-neg59.0%
*-commutative59.0%
Simplified59.0%
if 0.0077999999999999996 < y3 < 9.00000000000000002e103Initial program 17.3%
+-commutative17.3%
fma-def21.7%
*-commutative21.7%
*-commutative21.7%
Simplified21.7%
Taylor expanded in j around inf 48.1%
Taylor expanded in y5 around inf 53.0%
*-commutative53.0%
mul-1-neg53.0%
unsub-neg53.0%
*-commutative53.0%
Simplified53.0%
if 9.00000000000000002e103 < y3 < 2.59999999999999981e198Initial program 26.8%
+-commutative26.8%
fma-def42.6%
*-commutative42.6%
*-commutative42.6%
Simplified42.6%
Taylor expanded in j around inf 47.8%
Taylor expanded in y4 around inf 53.1%
mul-1-neg53.1%
unsub-neg53.1%
Simplified53.1%
if 2.59999999999999981e198 < y3 Initial program 11.5%
+-commutative11.5%
fma-def11.5%
*-commutative11.5%
*-commutative11.5%
Simplified15.4%
Taylor expanded in j around inf 27.8%
Taylor expanded in y0 around inf 65.6%
Final simplification55.4%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (- (* x a) (* k y4))))
(if (<= y3 -3e+116)
(* y4 (* y1 (- (* k y2) (* j y3))))
(if (<= y3 -6800000000.0)
(* c (* i (- (* z t) (* x y))))
(if (<= y3 -6.4e-142)
(* y2 (* a (- (* t y5) (* x y1))))
(if (<= y3 -1.1e-224)
(* b (* y t_1))
(if (<= y3 1.7e-208)
(* y4 (* t (- (* b j) (* c y2))))
(if (<= y3 8.4e-85)
(* t_1 (* y b))
(if (<= y3 300.0)
(* i (* y (- (* k y5) (* x c))))
(if (<= y3 2.5e+104)
(* j (* y5 (- (* y0 y3) (* t i))))
(if (<= y3 3.1e+191)
(* j (* y4 (- (* t b) (* y1 y3))))
(* y0 (* j (- (* y3 y5) (* x 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) {
double t_1 = (x * a) - (k * y4);
double tmp;
if (y3 <= -3e+116) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (y3 <= -6800000000.0) {
tmp = c * (i * ((z * t) - (x * y)));
} else if (y3 <= -6.4e-142) {
tmp = y2 * (a * ((t * y5) - (x * y1)));
} else if (y3 <= -1.1e-224) {
tmp = b * (y * t_1);
} else if (y3 <= 1.7e-208) {
tmp = y4 * (t * ((b * j) - (c * y2)));
} else if (y3 <= 8.4e-85) {
tmp = t_1 * (y * b);
} else if (y3 <= 300.0) {
tmp = i * (y * ((k * y5) - (x * c)));
} else if (y3 <= 2.5e+104) {
tmp = j * (y5 * ((y0 * y3) - (t * i)));
} else if (y3 <= 3.1e+191) {
tmp = j * (y4 * ((t * b) - (y1 * y3)));
} else {
tmp = y0 * (j * ((y3 * y5) - (x * b)));
}
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 = (x * a) - (k * y4)
if (y3 <= (-3d+116)) then
tmp = y4 * (y1 * ((k * y2) - (j * y3)))
else if (y3 <= (-6800000000.0d0)) then
tmp = c * (i * ((z * t) - (x * y)))
else if (y3 <= (-6.4d-142)) then
tmp = y2 * (a * ((t * y5) - (x * y1)))
else if (y3 <= (-1.1d-224)) then
tmp = b * (y * t_1)
else if (y3 <= 1.7d-208) then
tmp = y4 * (t * ((b * j) - (c * y2)))
else if (y3 <= 8.4d-85) then
tmp = t_1 * (y * b)
else if (y3 <= 300.0d0) then
tmp = i * (y * ((k * y5) - (x * c)))
else if (y3 <= 2.5d+104) then
tmp = j * (y5 * ((y0 * y3) - (t * i)))
else if (y3 <= 3.1d+191) then
tmp = j * (y4 * ((t * b) - (y1 * y3)))
else
tmp = y0 * (j * ((y3 * y5) - (x * b)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = (x * a) - (k * y4);
double tmp;
if (y3 <= -3e+116) {
tmp = y4 * (y1 * ((k * y2) - (j * y3)));
} else if (y3 <= -6800000000.0) {
tmp = c * (i * ((z * t) - (x * y)));
} else if (y3 <= -6.4e-142) {
tmp = y2 * (a * ((t * y5) - (x * y1)));
} else if (y3 <= -1.1e-224) {
tmp = b * (y * t_1);
} else if (y3 <= 1.7e-208) {
tmp = y4 * (t * ((b * j) - (c * y2)));
} else if (y3 <= 8.4e-85) {
tmp = t_1 * (y * b);
} else if (y3 <= 300.0) {
tmp = i * (y * ((k * y5) - (x * c)));
} else if (y3 <= 2.5e+104) {
tmp = j * (y5 * ((y0 * y3) - (t * i)));
} else if (y3 <= 3.1e+191) {
tmp = j * (y4 * ((t * b) - (y1 * y3)));
} else {
tmp = y0 * (j * ((y3 * y5) - (x * b)));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = (x * a) - (k * y4) tmp = 0 if y3 <= -3e+116: tmp = y4 * (y1 * ((k * y2) - (j * y3))) elif y3 <= -6800000000.0: tmp = c * (i * ((z * t) - (x * y))) elif y3 <= -6.4e-142: tmp = y2 * (a * ((t * y5) - (x * y1))) elif y3 <= -1.1e-224: tmp = b * (y * t_1) elif y3 <= 1.7e-208: tmp = y4 * (t * ((b * j) - (c * y2))) elif y3 <= 8.4e-85: tmp = t_1 * (y * b) elif y3 <= 300.0: tmp = i * (y * ((k * y5) - (x * c))) elif y3 <= 2.5e+104: tmp = j * (y5 * ((y0 * y3) - (t * i))) elif y3 <= 3.1e+191: tmp = j * (y4 * ((t * b) - (y1 * y3))) else: tmp = y0 * (j * ((y3 * y5) - (x * b))) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(x * a) - Float64(k * y4)) tmp = 0.0 if (y3 <= -3e+116) tmp = Float64(y4 * Float64(y1 * Float64(Float64(k * y2) - Float64(j * y3)))); elseif (y3 <= -6800000000.0) tmp = Float64(c * Float64(i * Float64(Float64(z * t) - Float64(x * y)))); elseif (y3 <= -6.4e-142) tmp = Float64(y2 * Float64(a * Float64(Float64(t * y5) - Float64(x * y1)))); elseif (y3 <= -1.1e-224) tmp = Float64(b * Float64(y * t_1)); elseif (y3 <= 1.7e-208) tmp = Float64(y4 * Float64(t * Float64(Float64(b * j) - Float64(c * y2)))); elseif (y3 <= 8.4e-85) tmp = Float64(t_1 * Float64(y * b)); elseif (y3 <= 300.0) tmp = Float64(i * Float64(y * Float64(Float64(k * y5) - Float64(x * c)))); elseif (y3 <= 2.5e+104) tmp = Float64(j * Float64(y5 * Float64(Float64(y0 * y3) - Float64(t * i)))); elseif (y3 <= 3.1e+191) tmp = Float64(j * Float64(y4 * Float64(Float64(t * b) - Float64(y1 * y3)))); else tmp = Float64(y0 * Float64(j * Float64(Float64(y3 * y5) - Float64(x * b)))); 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 * a) - (k * y4); tmp = 0.0; if (y3 <= -3e+116) tmp = y4 * (y1 * ((k * y2) - (j * y3))); elseif (y3 <= -6800000000.0) tmp = c * (i * ((z * t) - (x * y))); elseif (y3 <= -6.4e-142) tmp = y2 * (a * ((t * y5) - (x * y1))); elseif (y3 <= -1.1e-224) tmp = b * (y * t_1); elseif (y3 <= 1.7e-208) tmp = y4 * (t * ((b * j) - (c * y2))); elseif (y3 <= 8.4e-85) tmp = t_1 * (y * b); elseif (y3 <= 300.0) tmp = i * (y * ((k * y5) - (x * c))); elseif (y3 <= 2.5e+104) tmp = j * (y5 * ((y0 * y3) - (t * i))); elseif (y3 <= 3.1e+191) tmp = j * (y4 * ((t * b) - (y1 * y3))); else tmp = y0 * (j * ((y3 * y5) - (x * b))); 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[(x * a), $MachinePrecision] - N[(k * y4), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y3, -3e+116], N[(y4 * N[(y1 * N[(N[(k * y2), $MachinePrecision] - N[(j * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, -6800000000.0], N[(c * N[(i * N[(N[(z * t), $MachinePrecision] - N[(x * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, -6.4e-142], N[(y2 * N[(a * N[(N[(t * y5), $MachinePrecision] - N[(x * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, -1.1e-224], N[(b * N[(y * t$95$1), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 1.7e-208], N[(y4 * N[(t * N[(N[(b * j), $MachinePrecision] - N[(c * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 8.4e-85], N[(t$95$1 * N[(y * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 300.0], N[(i * N[(y * N[(N[(k * y5), $MachinePrecision] - N[(x * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 2.5e+104], N[(j * N[(y5 * N[(N[(y0 * y3), $MachinePrecision] - N[(t * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 3.1e+191], N[(j * N[(y4 * N[(N[(t * b), $MachinePrecision] - N[(y1 * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y0 * N[(j * N[(N[(y3 * y5), $MachinePrecision] - N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot a - k \cdot y4\\
\mathbf{if}\;y3 \leq -3 \cdot 10^{+116}:\\
\;\;\;\;y4 \cdot \left(y1 \cdot \left(k \cdot y2 - j \cdot y3\right)\right)\\
\mathbf{elif}\;y3 \leq -6800000000:\\
\;\;\;\;c \cdot \left(i \cdot \left(z \cdot t - x \cdot y\right)\right)\\
\mathbf{elif}\;y3 \leq -6.4 \cdot 10^{-142}:\\
\;\;\;\;y2 \cdot \left(a \cdot \left(t \cdot y5 - x \cdot y1\right)\right)\\
\mathbf{elif}\;y3 \leq -1.1 \cdot 10^{-224}:\\
\;\;\;\;b \cdot \left(y \cdot t_1\right)\\
\mathbf{elif}\;y3 \leq 1.7 \cdot 10^{-208}:\\
\;\;\;\;y4 \cdot \left(t \cdot \left(b \cdot j - c \cdot y2\right)\right)\\
\mathbf{elif}\;y3 \leq 8.4 \cdot 10^{-85}:\\
\;\;\;\;t_1 \cdot \left(y \cdot b\right)\\
\mathbf{elif}\;y3 \leq 300:\\
\;\;\;\;i \cdot \left(y \cdot \left(k \cdot y5 - x \cdot c\right)\right)\\
\mathbf{elif}\;y3 \leq 2.5 \cdot 10^{+104}:\\
\;\;\;\;j \cdot \left(y5 \cdot \left(y0 \cdot y3 - t \cdot i\right)\right)\\
\mathbf{elif}\;y3 \leq 3.1 \cdot 10^{+191}:\\
\;\;\;\;j \cdot \left(y4 \cdot \left(t \cdot b - y1 \cdot y3\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y0 \cdot \left(j \cdot \left(y3 \cdot y5 - x \cdot b\right)\right)\\
\end{array}
\end{array}
if y3 < -2.9999999999999999e116Initial program 11.8%
associate-+l-11.8%
Simplified11.8%
Taylor expanded in y4 around inf 44.4%
Taylor expanded in y1 around inf 59.2%
if -2.9999999999999999e116 < y3 < -6.8e9Initial program 30.4%
associate-+l-30.4%
Simplified30.4%
Taylor expanded in c around inf 71.3%
Taylor expanded in i around inf 60.7%
associate-*r*60.7%
neg-mul-160.7%
Simplified60.7%
if -6.8e9 < y3 < -6.3999999999999997e-142Initial program 31.5%
associate-+l-31.5%
Simplified31.5%
Taylor expanded in y2 around inf 48.7%
Taylor expanded in a around -inf 55.3%
mul-1-neg55.3%
associate-*r*55.4%
*-commutative55.4%
Simplified55.4%
if -6.3999999999999997e-142 < y3 < -1.1e-224Initial program 33.2%
associate-+l-33.2%
Simplified33.2%
Taylor expanded in b around inf 45.2%
Taylor expanded in y around inf 51.6%
associate-*r*56.8%
*-commutative56.8%
*-commutative56.8%
+-commutative56.8%
mul-1-neg56.8%
unsub-neg56.8%
Simplified56.8%
if -1.1e-224 < y3 < 1.7e-208Initial program 33.8%
associate-+l-33.8%
Simplified33.8%
Taylor expanded in y4 around inf 42.0%
Taylor expanded in t around inf 47.8%
*-commutative47.8%
*-commutative47.8%
Simplified47.8%
if 1.7e-208 < y3 < 8.3999999999999999e-85Initial program 42.6%
associate-+l-42.6%
Simplified42.6%
Taylor expanded in b around inf 31.3%
Taylor expanded in y around inf 54.8%
if 8.3999999999999999e-85 < y3 < 300Initial program 15.8%
associate-+l-15.8%
Simplified15.8%
Taylor expanded in i around -inf 42.5%
Taylor expanded in y around inf 59.0%
+-commutative59.0%
mul-1-neg59.0%
unsub-neg59.0%
*-commutative59.0%
Simplified59.0%
if 300 < y3 < 2.4999999999999998e104Initial program 17.3%
+-commutative17.3%
fma-def21.7%
*-commutative21.7%
*-commutative21.7%
Simplified21.7%
Taylor expanded in j around inf 48.1%
Taylor expanded in y5 around inf 53.0%
*-commutative53.0%
mul-1-neg53.0%
unsub-neg53.0%
*-commutative53.0%
Simplified53.0%
if 2.4999999999999998e104 < y3 < 3.09999999999999999e191Initial program 26.8%
+-commutative26.8%
fma-def42.6%
*-commutative42.6%
*-commutative42.6%
Simplified42.6%
Taylor expanded in j around inf 47.8%
Taylor expanded in y4 around inf 53.1%
mul-1-neg53.1%
unsub-neg53.1%
Simplified53.1%
if 3.09999999999999999e191 < y3 Initial program 11.5%
+-commutative11.5%
fma-def11.5%
*-commutative11.5%
*-commutative11.5%
Simplified15.4%
Taylor expanded in j around inf 27.8%
Taylor expanded in y0 around inf 65.6%
Final simplification56.1%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* y0 (* j (- (* y3 y5) (* x b)))))
(t_2 (* b (* y (- (* x a) (* k y4))))))
(if (<= y0 -4e+36)
t_1
(if (<= y0 -1.15e-84)
(* z (* y3 (* a y1)))
(if (<= y0 3.5e-151)
t_2
(if (<= y0 1.7e+20)
(* y1 (* y2 (- (* k y4) (* x a))))
(if (<= y0 1.95e+114)
(* (* k y0) (* y2 (- y5)))
(if (<= y0 8e+250)
(* c (* y2 (- (* x y0) (* t y4))))
(if (<= y0 4.7e+285) 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 = y0 * (j * ((y3 * y5) - (x * b)));
double t_2 = b * (y * ((x * a) - (k * y4)));
double tmp;
if (y0 <= -4e+36) {
tmp = t_1;
} else if (y0 <= -1.15e-84) {
tmp = z * (y3 * (a * y1));
} else if (y0 <= 3.5e-151) {
tmp = t_2;
} else if (y0 <= 1.7e+20) {
tmp = y1 * (y2 * ((k * y4) - (x * a)));
} else if (y0 <= 1.95e+114) {
tmp = (k * y0) * (y2 * -y5);
} else if (y0 <= 8e+250) {
tmp = c * (y2 * ((x * y0) - (t * y4)));
} else if (y0 <= 4.7e+285) {
tmp = 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 = y0 * (j * ((y3 * y5) - (x * b)))
t_2 = b * (y * ((x * a) - (k * y4)))
if (y0 <= (-4d+36)) then
tmp = t_1
else if (y0 <= (-1.15d-84)) then
tmp = z * (y3 * (a * y1))
else if (y0 <= 3.5d-151) then
tmp = t_2
else if (y0 <= 1.7d+20) then
tmp = y1 * (y2 * ((k * y4) - (x * a)))
else if (y0 <= 1.95d+114) then
tmp = (k * y0) * (y2 * -y5)
else if (y0 <= 8d+250) then
tmp = c * (y2 * ((x * y0) - (t * y4)))
else if (y0 <= 4.7d+285) then
tmp = t_2
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = y0 * (j * ((y3 * y5) - (x * b)));
double t_2 = b * (y * ((x * a) - (k * y4)));
double tmp;
if (y0 <= -4e+36) {
tmp = t_1;
} else if (y0 <= -1.15e-84) {
tmp = z * (y3 * (a * y1));
} else if (y0 <= 3.5e-151) {
tmp = t_2;
} else if (y0 <= 1.7e+20) {
tmp = y1 * (y2 * ((k * y4) - (x * a)));
} else if (y0 <= 1.95e+114) {
tmp = (k * y0) * (y2 * -y5);
} else if (y0 <= 8e+250) {
tmp = c * (y2 * ((x * y0) - (t * y4)));
} else if (y0 <= 4.7e+285) {
tmp = 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 = y0 * (j * ((y3 * y5) - (x * b))) t_2 = b * (y * ((x * a) - (k * y4))) tmp = 0 if y0 <= -4e+36: tmp = t_1 elif y0 <= -1.15e-84: tmp = z * (y3 * (a * y1)) elif y0 <= 3.5e-151: tmp = t_2 elif y0 <= 1.7e+20: tmp = y1 * (y2 * ((k * y4) - (x * a))) elif y0 <= 1.95e+114: tmp = (k * y0) * (y2 * -y5) elif y0 <= 8e+250: tmp = c * (y2 * ((x * y0) - (t * y4))) elif y0 <= 4.7e+285: tmp = 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(y0 * Float64(j * Float64(Float64(y3 * y5) - Float64(x * b)))) t_2 = Float64(b * Float64(y * Float64(Float64(x * a) - Float64(k * y4)))) tmp = 0.0 if (y0 <= -4e+36) tmp = t_1; elseif (y0 <= -1.15e-84) tmp = Float64(z * Float64(y3 * Float64(a * y1))); elseif (y0 <= 3.5e-151) tmp = t_2; elseif (y0 <= 1.7e+20) tmp = Float64(y1 * Float64(y2 * Float64(Float64(k * y4) - Float64(x * a)))); elseif (y0 <= 1.95e+114) tmp = Float64(Float64(k * y0) * Float64(y2 * Float64(-y5))); elseif (y0 <= 8e+250) tmp = Float64(c * Float64(y2 * Float64(Float64(x * y0) - Float64(t * y4)))); elseif (y0 <= 4.7e+285) tmp = 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 = y0 * (j * ((y3 * y5) - (x * b))); t_2 = b * (y * ((x * a) - (k * y4))); tmp = 0.0; if (y0 <= -4e+36) tmp = t_1; elseif (y0 <= -1.15e-84) tmp = z * (y3 * (a * y1)); elseif (y0 <= 3.5e-151) tmp = t_2; elseif (y0 <= 1.7e+20) tmp = y1 * (y2 * ((k * y4) - (x * a))); elseif (y0 <= 1.95e+114) tmp = (k * y0) * (y2 * -y5); elseif (y0 <= 8e+250) tmp = c * (y2 * ((x * y0) - (t * y4))); elseif (y0 <= 4.7e+285) tmp = 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[(y0 * N[(j * N[(N[(y3 * y5), $MachinePrecision] - N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(b * N[(y * N[(N[(x * a), $MachinePrecision] - N[(k * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y0, -4e+36], t$95$1, If[LessEqual[y0, -1.15e-84], N[(z * N[(y3 * N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 3.5e-151], t$95$2, If[LessEqual[y0, 1.7e+20], N[(y1 * N[(y2 * N[(N[(k * y4), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 1.95e+114], N[(N[(k * y0), $MachinePrecision] * N[(y2 * (-y5)), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 8e+250], N[(c * N[(y2 * N[(N[(x * y0), $MachinePrecision] - N[(t * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 4.7e+285], t$95$2, t$95$1]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y0 \cdot \left(j \cdot \left(y3 \cdot y5 - x \cdot b\right)\right)\\
t_2 := b \cdot \left(y \cdot \left(x \cdot a - k \cdot y4\right)\right)\\
\mathbf{if}\;y0 \leq -4 \cdot 10^{+36}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y0 \leq -1.15 \cdot 10^{-84}:\\
\;\;\;\;z \cdot \left(y3 \cdot \left(a \cdot y1\right)\right)\\
\mathbf{elif}\;y0 \leq 3.5 \cdot 10^{-151}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y0 \leq 1.7 \cdot 10^{+20}:\\
\;\;\;\;y1 \cdot \left(y2 \cdot \left(k \cdot y4 - x \cdot a\right)\right)\\
\mathbf{elif}\;y0 \leq 1.95 \cdot 10^{+114}:\\
\;\;\;\;\left(k \cdot y0\right) \cdot \left(y2 \cdot \left(-y5\right)\right)\\
\mathbf{elif}\;y0 \leq 8 \cdot 10^{+250}:\\
\;\;\;\;c \cdot \left(y2 \cdot \left(x \cdot y0 - t \cdot y4\right)\right)\\
\mathbf{elif}\;y0 \leq 4.7 \cdot 10^{+285}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if y0 < -4.00000000000000017e36 or 4.7000000000000001e285 < y0 Initial program 16.0%
+-commutative16.0%
fma-def19.2%
*-commutative19.2%
*-commutative19.2%
Simplified20.8%
Taylor expanded in j around inf 29.1%
Taylor expanded in y0 around inf 52.2%
if -4.00000000000000017e36 < y0 < -1.1499999999999999e-84Initial program 27.7%
associate-+l-27.7%
Simplified27.7%
Taylor expanded in z around -inf 37.6%
mul-1-neg37.6%
*-commutative37.6%
associate--l+37.6%
*-commutative37.6%
*-commutative37.6%
*-commutative37.6%
*-commutative37.6%
*-commutative37.6%
*-commutative37.6%
*-commutative37.6%
*-commutative37.6%
Simplified37.6%
Taylor expanded in y3 around inf 38.1%
*-commutative38.1%
Simplified38.1%
Taylor expanded in y0 around 0 34.7%
mul-1-neg34.7%
*-commutative34.7%
distribute-rgt-neg-in34.7%
Simplified34.7%
if -1.1499999999999999e-84 < y0 < 3.49999999999999995e-151 or 7.9999999999999994e250 < y0 < 4.7000000000000001e285Initial program 34.2%
associate-+l-34.2%
Simplified34.2%
Taylor expanded in b around inf 42.7%
Taylor expanded in y around inf 39.6%
associate-*r*41.7%
*-commutative41.7%
*-commutative41.7%
+-commutative41.7%
mul-1-neg41.7%
unsub-neg41.7%
Simplified41.7%
if 3.49999999999999995e-151 < y0 < 1.7e20Initial program 18.4%
associate-+l-18.4%
Simplified18.4%
Taylor expanded in y2 around inf 49.4%
Taylor expanded in y1 around inf 46.4%
*-commutative46.4%
+-commutative46.4%
mul-1-neg46.4%
unsub-neg46.4%
Simplified46.4%
if 1.7e20 < y0 < 1.95e114Initial program 35.7%
associate-+l-35.7%
Simplified35.7%
Taylor expanded in y2 around inf 43.4%
Taylor expanded in k around inf 51.1%
associate-*r*51.1%
*-commutative51.1%
Simplified51.1%
Taylor expanded in y1 around 0 51.0%
mul-1-neg51.0%
associate-*r*57.8%
distribute-rgt-neg-in57.8%
*-commutative57.8%
Simplified57.8%
if 1.95e114 < y0 < 7.9999999999999994e250Initial program 20.0%
associate-+l-20.0%
Simplified20.0%
Taylor expanded in y2 around inf 32.4%
Taylor expanded in c around inf 52.7%
Final simplification45.9%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* y0 (* j (- (* y3 y5) (* x b)))))
(t_2 (* y1 (* y2 (- (* k y4) (* x a))))))
(if (<= j -2.5e+50)
t_1
(if (<= j -1.05e-108)
(* c (* y2 (- (* x y0) (* t y4))))
(if (<= j 4.6e-255)
t_2
(if (<= j 9.6e-180)
(* y0 (* y2 (* k (- y5))))
(if (<= j 60000000000000.0)
(* y2 (* k (- (* y1 y4) (* y0 y5))))
(if (<= j 1.86e+27)
(* z (* (* c y0) (- y3)))
(if (<= j 5.5e+76) 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 = y0 * (j * ((y3 * y5) - (x * b)));
double t_2 = y1 * (y2 * ((k * y4) - (x * a)));
double tmp;
if (j <= -2.5e+50) {
tmp = t_1;
} else if (j <= -1.05e-108) {
tmp = c * (y2 * ((x * y0) - (t * y4)));
} else if (j <= 4.6e-255) {
tmp = t_2;
} else if (j <= 9.6e-180) {
tmp = y0 * (y2 * (k * -y5));
} else if (j <= 60000000000000.0) {
tmp = y2 * (k * ((y1 * y4) - (y0 * y5)));
} else if (j <= 1.86e+27) {
tmp = z * ((c * y0) * -y3);
} else if (j <= 5.5e+76) {
tmp = 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 = y0 * (j * ((y3 * y5) - (x * b)))
t_2 = y1 * (y2 * ((k * y4) - (x * a)))
if (j <= (-2.5d+50)) then
tmp = t_1
else if (j <= (-1.05d-108)) then
tmp = c * (y2 * ((x * y0) - (t * y4)))
else if (j <= 4.6d-255) then
tmp = t_2
else if (j <= 9.6d-180) then
tmp = y0 * (y2 * (k * -y5))
else if (j <= 60000000000000.0d0) then
tmp = y2 * (k * ((y1 * y4) - (y0 * y5)))
else if (j <= 1.86d+27) then
tmp = z * ((c * y0) * -y3)
else if (j <= 5.5d+76) then
tmp = t_2
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = y0 * (j * ((y3 * y5) - (x * b)));
double t_2 = y1 * (y2 * ((k * y4) - (x * a)));
double tmp;
if (j <= -2.5e+50) {
tmp = t_1;
} else if (j <= -1.05e-108) {
tmp = c * (y2 * ((x * y0) - (t * y4)));
} else if (j <= 4.6e-255) {
tmp = t_2;
} else if (j <= 9.6e-180) {
tmp = y0 * (y2 * (k * -y5));
} else if (j <= 60000000000000.0) {
tmp = y2 * (k * ((y1 * y4) - (y0 * y5)));
} else if (j <= 1.86e+27) {
tmp = z * ((c * y0) * -y3);
} else if (j <= 5.5e+76) {
tmp = 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 = y0 * (j * ((y3 * y5) - (x * b))) t_2 = y1 * (y2 * ((k * y4) - (x * a))) tmp = 0 if j <= -2.5e+50: tmp = t_1 elif j <= -1.05e-108: tmp = c * (y2 * ((x * y0) - (t * y4))) elif j <= 4.6e-255: tmp = t_2 elif j <= 9.6e-180: tmp = y0 * (y2 * (k * -y5)) elif j <= 60000000000000.0: tmp = y2 * (k * ((y1 * y4) - (y0 * y5))) elif j <= 1.86e+27: tmp = z * ((c * y0) * -y3) elif j <= 5.5e+76: tmp = 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(y0 * Float64(j * Float64(Float64(y3 * y5) - Float64(x * b)))) t_2 = Float64(y1 * Float64(y2 * Float64(Float64(k * y4) - Float64(x * a)))) tmp = 0.0 if (j <= -2.5e+50) tmp = t_1; elseif (j <= -1.05e-108) tmp = Float64(c * Float64(y2 * Float64(Float64(x * y0) - Float64(t * y4)))); elseif (j <= 4.6e-255) tmp = t_2; elseif (j <= 9.6e-180) tmp = Float64(y0 * Float64(y2 * Float64(k * Float64(-y5)))); elseif (j <= 60000000000000.0) tmp = Float64(y2 * Float64(k * Float64(Float64(y1 * y4) - Float64(y0 * y5)))); elseif (j <= 1.86e+27) tmp = Float64(z * Float64(Float64(c * y0) * Float64(-y3))); elseif (j <= 5.5e+76) tmp = 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 = y0 * (j * ((y3 * y5) - (x * b))); t_2 = y1 * (y2 * ((k * y4) - (x * a))); tmp = 0.0; if (j <= -2.5e+50) tmp = t_1; elseif (j <= -1.05e-108) tmp = c * (y2 * ((x * y0) - (t * y4))); elseif (j <= 4.6e-255) tmp = t_2; elseif (j <= 9.6e-180) tmp = y0 * (y2 * (k * -y5)); elseif (j <= 60000000000000.0) tmp = y2 * (k * ((y1 * y4) - (y0 * y5))); elseif (j <= 1.86e+27) tmp = z * ((c * y0) * -y3); elseif (j <= 5.5e+76) tmp = 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[(y0 * N[(j * N[(N[(y3 * y5), $MachinePrecision] - N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y1 * N[(y2 * N[(N[(k * y4), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -2.5e+50], t$95$1, If[LessEqual[j, -1.05e-108], N[(c * N[(y2 * N[(N[(x * y0), $MachinePrecision] - N[(t * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 4.6e-255], t$95$2, If[LessEqual[j, 9.6e-180], N[(y0 * N[(y2 * N[(k * (-y5)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 60000000000000.0], N[(y2 * N[(k * N[(N[(y1 * y4), $MachinePrecision] - N[(y0 * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.86e+27], N[(z * N[(N[(c * y0), $MachinePrecision] * (-y3)), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 5.5e+76], t$95$2, t$95$1]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y0 \cdot \left(j \cdot \left(y3 \cdot y5 - x \cdot b\right)\right)\\
t_2 := y1 \cdot \left(y2 \cdot \left(k \cdot y4 - x \cdot a\right)\right)\\
\mathbf{if}\;j \leq -2.5 \cdot 10^{+50}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq -1.05 \cdot 10^{-108}:\\
\;\;\;\;c \cdot \left(y2 \cdot \left(x \cdot y0 - t \cdot y4\right)\right)\\
\mathbf{elif}\;j \leq 4.6 \cdot 10^{-255}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;j \leq 9.6 \cdot 10^{-180}:\\
\;\;\;\;y0 \cdot \left(y2 \cdot \left(k \cdot \left(-y5\right)\right)\right)\\
\mathbf{elif}\;j \leq 60000000000000:\\
\;\;\;\;y2 \cdot \left(k \cdot \left(y1 \cdot y4 - y0 \cdot y5\right)\right)\\
\mathbf{elif}\;j \leq 1.86 \cdot 10^{+27}:\\
\;\;\;\;z \cdot \left(\left(c \cdot y0\right) \cdot \left(-y3\right)\right)\\
\mathbf{elif}\;j \leq 5.5 \cdot 10^{+76}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if j < -2.5e50 or 5.5000000000000001e76 < j Initial program 23.7%
+-commutative23.7%
fma-def26.7%
*-commutative26.7%
*-commutative26.7%
Simplified30.8%
Taylor expanded in j around inf 55.6%
Taylor expanded in y0 around inf 53.5%
if -2.5e50 < j < -1.05e-108Initial program 28.2%
associate-+l-28.2%
Simplified28.2%
Taylor expanded in y2 around inf 52.1%
Taylor expanded in c around inf 35.5%
if -1.05e-108 < j < 4.5999999999999997e-255 or 1.86e27 < j < 5.5000000000000001e76Initial program 28.6%
associate-+l-28.6%
Simplified28.6%
Taylor expanded in y2 around inf 43.1%
Taylor expanded in y1 around inf 42.7%
*-commutative42.7%
+-commutative42.7%
mul-1-neg42.7%
unsub-neg42.7%
Simplified42.7%
if 4.5999999999999997e-255 < j < 9.59999999999999917e-180Initial program 11.5%
associate-+l-11.5%
Simplified11.5%
Taylor expanded in y2 around inf 61.1%
Taylor expanded in y0 around -inf 44.9%
associate-*r*44.9%
neg-mul-144.9%
*-commutative44.9%
mul-1-neg44.9%
unsub-neg44.9%
*-commutative44.9%
Simplified44.9%
Taylor expanded in k around inf 50.8%
if 9.59999999999999917e-180 < j < 6e13Initial program 37.4%
associate-+l-37.4%
Simplified37.4%
Taylor expanded in y2 around inf 48.7%
Taylor expanded in k around inf 42.5%
associate-*r*42.5%
*-commutative42.5%
Simplified42.5%
Taylor expanded in k around 0 42.5%
*-commutative42.5%
associate-*r*42.5%
*-commutative42.5%
Simplified42.5%
if 6e13 < j < 1.86e27Initial program 0.0%
associate-+l-0.0%
Simplified0.0%
Taylor expanded in z around -inf 44.6%
mul-1-neg44.6%
*-commutative44.6%
associate--l+44.6%
*-commutative44.6%
*-commutative44.6%
*-commutative44.6%
*-commutative44.6%
*-commutative44.6%
*-commutative44.6%
*-commutative44.6%
*-commutative44.6%
Simplified44.6%
Taylor expanded in y3 around inf 78.1%
*-commutative78.1%
Simplified78.1%
Taylor expanded in y0 around inf 78.1%
*-commutative78.1%
Simplified78.1%
Final simplification47.8%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* j (* y5 (* t (- i))))))
(if (<= y3 -4.4e-12)
(* c (* y0 (* z (- y3))))
(if (<= y3 -2.3e-161)
(* y0 (* y2 (* k (- y5))))
(if (<= y3 -1.5e-240)
(* (- i) (* t (* j y5)))
(if (<= y3 8.2e-249)
(* c (* y4 (* t (- y2))))
(if (<= y3 8e-116)
t_1
(if (<= y3 410000000000.0)
(* (* k y2) (* y0 (- y5)))
(if (<= y3 9e+43)
(* c (* x (* y0 y2)))
(if (<= y3 1.7e+81) t_1 (* y0 (* y3 (* j y5)))))))))))))
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 = j * (y5 * (t * -i));
double tmp;
if (y3 <= -4.4e-12) {
tmp = c * (y0 * (z * -y3));
} else if (y3 <= -2.3e-161) {
tmp = y0 * (y2 * (k * -y5));
} else if (y3 <= -1.5e-240) {
tmp = -i * (t * (j * y5));
} else if (y3 <= 8.2e-249) {
tmp = c * (y4 * (t * -y2));
} else if (y3 <= 8e-116) {
tmp = t_1;
} else if (y3 <= 410000000000.0) {
tmp = (k * y2) * (y0 * -y5);
} else if (y3 <= 9e+43) {
tmp = c * (x * (y0 * y2));
} else if (y3 <= 1.7e+81) {
tmp = t_1;
} else {
tmp = y0 * (y3 * (j * y5));
}
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 = j * (y5 * (t * -i))
if (y3 <= (-4.4d-12)) then
tmp = c * (y0 * (z * -y3))
else if (y3 <= (-2.3d-161)) then
tmp = y0 * (y2 * (k * -y5))
else if (y3 <= (-1.5d-240)) then
tmp = -i * (t * (j * y5))
else if (y3 <= 8.2d-249) then
tmp = c * (y4 * (t * -y2))
else if (y3 <= 8d-116) then
tmp = t_1
else if (y3 <= 410000000000.0d0) then
tmp = (k * y2) * (y0 * -y5)
else if (y3 <= 9d+43) then
tmp = c * (x * (y0 * y2))
else if (y3 <= 1.7d+81) then
tmp = t_1
else
tmp = y0 * (y3 * (j * y5))
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 = j * (y5 * (t * -i));
double tmp;
if (y3 <= -4.4e-12) {
tmp = c * (y0 * (z * -y3));
} else if (y3 <= -2.3e-161) {
tmp = y0 * (y2 * (k * -y5));
} else if (y3 <= -1.5e-240) {
tmp = -i * (t * (j * y5));
} else if (y3 <= 8.2e-249) {
tmp = c * (y4 * (t * -y2));
} else if (y3 <= 8e-116) {
tmp = t_1;
} else if (y3 <= 410000000000.0) {
tmp = (k * y2) * (y0 * -y5);
} else if (y3 <= 9e+43) {
tmp = c * (x * (y0 * y2));
} else if (y3 <= 1.7e+81) {
tmp = t_1;
} else {
tmp = y0 * (y3 * (j * y5));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = j * (y5 * (t * -i)) tmp = 0 if y3 <= -4.4e-12: tmp = c * (y0 * (z * -y3)) elif y3 <= -2.3e-161: tmp = y0 * (y2 * (k * -y5)) elif y3 <= -1.5e-240: tmp = -i * (t * (j * y5)) elif y3 <= 8.2e-249: tmp = c * (y4 * (t * -y2)) elif y3 <= 8e-116: tmp = t_1 elif y3 <= 410000000000.0: tmp = (k * y2) * (y0 * -y5) elif y3 <= 9e+43: tmp = c * (x * (y0 * y2)) elif y3 <= 1.7e+81: tmp = t_1 else: tmp = y0 * (y3 * (j * y5)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(j * Float64(y5 * Float64(t * Float64(-i)))) tmp = 0.0 if (y3 <= -4.4e-12) tmp = Float64(c * Float64(y0 * Float64(z * Float64(-y3)))); elseif (y3 <= -2.3e-161) tmp = Float64(y0 * Float64(y2 * Float64(k * Float64(-y5)))); elseif (y3 <= -1.5e-240) tmp = Float64(Float64(-i) * Float64(t * Float64(j * y5))); elseif (y3 <= 8.2e-249) tmp = Float64(c * Float64(y4 * Float64(t * Float64(-y2)))); elseif (y3 <= 8e-116) tmp = t_1; elseif (y3 <= 410000000000.0) tmp = Float64(Float64(k * y2) * Float64(y0 * Float64(-y5))); elseif (y3 <= 9e+43) tmp = Float64(c * Float64(x * Float64(y0 * y2))); elseif (y3 <= 1.7e+81) tmp = t_1; else tmp = Float64(y0 * Float64(y3 * Float64(j * y5))); 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 = j * (y5 * (t * -i)); tmp = 0.0; if (y3 <= -4.4e-12) tmp = c * (y0 * (z * -y3)); elseif (y3 <= -2.3e-161) tmp = y0 * (y2 * (k * -y5)); elseif (y3 <= -1.5e-240) tmp = -i * (t * (j * y5)); elseif (y3 <= 8.2e-249) tmp = c * (y4 * (t * -y2)); elseif (y3 <= 8e-116) tmp = t_1; elseif (y3 <= 410000000000.0) tmp = (k * y2) * (y0 * -y5); elseif (y3 <= 9e+43) tmp = c * (x * (y0 * y2)); elseif (y3 <= 1.7e+81) tmp = t_1; else tmp = y0 * (y3 * (j * y5)); 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[(j * N[(y5 * N[(t * (-i)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y3, -4.4e-12], N[(c * N[(y0 * N[(z * (-y3)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, -2.3e-161], N[(y0 * N[(y2 * N[(k * (-y5)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, -1.5e-240], N[((-i) * N[(t * N[(j * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 8.2e-249], N[(c * N[(y4 * N[(t * (-y2)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 8e-116], t$95$1, If[LessEqual[y3, 410000000000.0], N[(N[(k * y2), $MachinePrecision] * N[(y0 * (-y5)), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 9e+43], N[(c * N[(x * N[(y0 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 1.7e+81], t$95$1, N[(y0 * N[(y3 * N[(j * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(y5 \cdot \left(t \cdot \left(-i\right)\right)\right)\\
\mathbf{if}\;y3 \leq -4.4 \cdot 10^{-12}:\\
\;\;\;\;c \cdot \left(y0 \cdot \left(z \cdot \left(-y3\right)\right)\right)\\
\mathbf{elif}\;y3 \leq -2.3 \cdot 10^{-161}:\\
\;\;\;\;y0 \cdot \left(y2 \cdot \left(k \cdot \left(-y5\right)\right)\right)\\
\mathbf{elif}\;y3 \leq -1.5 \cdot 10^{-240}:\\
\;\;\;\;\left(-i\right) \cdot \left(t \cdot \left(j \cdot y5\right)\right)\\
\mathbf{elif}\;y3 \leq 8.2 \cdot 10^{-249}:\\
\;\;\;\;c \cdot \left(y4 \cdot \left(t \cdot \left(-y2\right)\right)\right)\\
\mathbf{elif}\;y3 \leq 8 \cdot 10^{-116}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y3 \leq 410000000000:\\
\;\;\;\;\left(k \cdot y2\right) \cdot \left(y0 \cdot \left(-y5\right)\right)\\
\mathbf{elif}\;y3 \leq 9 \cdot 10^{+43}:\\
\;\;\;\;c \cdot \left(x \cdot \left(y0 \cdot y2\right)\right)\\
\mathbf{elif}\;y3 \leq 1.7 \cdot 10^{+81}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;y0 \cdot \left(y3 \cdot \left(j \cdot y5\right)\right)\\
\end{array}
\end{array}
if y3 < -4.39999999999999983e-12Initial program 20.5%
associate-+l-20.5%
Simplified20.5%
Taylor expanded in z around -inf 27.6%
mul-1-neg27.6%
*-commutative27.6%
associate--l+27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
Simplified27.6%
Taylor expanded in y3 around inf 48.3%
*-commutative48.3%
Simplified48.3%
Taylor expanded in y0 around inf 40.0%
if -4.39999999999999983e-12 < y3 < -2.3e-161Initial program 28.4%
associate-+l-28.4%
Simplified28.4%
Taylor expanded in y2 around inf 51.8%
Taylor expanded in y0 around -inf 50.7%
associate-*r*50.7%
neg-mul-150.7%
*-commutative50.7%
mul-1-neg50.7%
unsub-neg50.7%
*-commutative50.7%
Simplified50.7%
Taylor expanded in k around inf 38.5%
if -2.3e-161 < y3 < -1.49999999999999995e-240Initial program 29.2%
+-commutative29.2%
fma-def35.1%
*-commutative35.1%
*-commutative35.1%
Simplified41.0%
Taylor expanded in j around inf 42.2%
Taylor expanded in y5 around inf 13.8%
*-commutative13.8%
mul-1-neg13.8%
unsub-neg13.8%
*-commutative13.8%
Simplified13.8%
Taylor expanded in y0 around 0 30.7%
associate-*r*30.7%
neg-mul-130.7%
*-commutative30.7%
Simplified30.7%
if -1.49999999999999995e-240 < y3 < 8.20000000000000007e-249Initial program 38.7%
associate-+l-38.7%
Simplified38.7%
Taylor expanded in y2 around inf 58.8%
Taylor expanded in c around inf 39.7%
Taylor expanded in y0 around 0 43.6%
mul-1-neg43.6%
*-commutative43.6%
distribute-rgt-neg-in43.6%
Simplified43.6%
if 8.20000000000000007e-249 < y3 < 8e-116 or 9e43 < y3 < 1.70000000000000001e81Initial program 39.7%
+-commutative39.7%
fma-def39.7%
*-commutative39.7%
*-commutative39.7%
Simplified39.7%
Taylor expanded in j around inf 42.9%
Taylor expanded in y5 around inf 40.8%
*-commutative40.8%
mul-1-neg40.8%
unsub-neg40.8%
*-commutative40.8%
Simplified40.8%
Taylor expanded in y0 around 0 29.2%
mul-1-neg29.2%
associate-*r*37.9%
distribute-rgt-neg-in37.9%
Simplified37.9%
if 8e-116 < y3 < 4.1e11Initial program 19.5%
associate-+l-19.5%
Simplified19.5%
Taylor expanded in y2 around inf 29.9%
Taylor expanded in k around inf 28.6%
associate-*r*28.6%
*-commutative28.6%
Simplified28.6%
Taylor expanded in y1 around 0 28.6%
mul-1-neg28.6%
distribute-lft-neg-out28.6%
*-commutative28.6%
Simplified28.6%
if 4.1e11 < y3 < 9e43Initial program 24.8%
associate-+l-24.8%
Simplified24.8%
Taylor expanded in y2 around inf 38.0%
Taylor expanded in c around inf 50.6%
Taylor expanded in y0 around inf 38.6%
Taylor expanded in c around 0 38.6%
*-commutative38.6%
associate-*r*50.8%
Simplified50.8%
if 1.70000000000000001e81 < y3 Initial program 16.5%
+-commutative16.5%
fma-def22.0%
*-commutative22.0%
*-commutative22.0%
Simplified23.8%
Taylor expanded in j around inf 38.7%
Taylor expanded in y5 around inf 32.1%
*-commutative32.1%
mul-1-neg32.1%
unsub-neg32.1%
*-commutative32.1%
Simplified32.1%
Taylor expanded in y0 around inf 42.6%
*-commutative42.6%
Simplified42.6%
Final simplification39.0%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* z (* y3 (- (* a y1) (* c y0))))))
(if (<= c -1.7e+178)
t_1
(if (<= c -3.25e+66)
(* (* x b) (- (* y a) (* j y0)))
(if (<= c -2.05e-73)
(* k (* y5 (- (* y i) (* y0 y2))))
(if (<= c 2.1e-262)
(* y1 (* y2 (- (* k y4) (* x a))))
(if (<= c 17000000000000.0)
(* b (* y (- (* x a) (* k y4))))
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 = z * (y3 * ((a * y1) - (c * y0)));
double tmp;
if (c <= -1.7e+178) {
tmp = t_1;
} else if (c <= -3.25e+66) {
tmp = (x * b) * ((y * a) - (j * y0));
} else if (c <= -2.05e-73) {
tmp = k * (y5 * ((y * i) - (y0 * y2)));
} else if (c <= 2.1e-262) {
tmp = y1 * (y2 * ((k * y4) - (x * a)));
} else if (c <= 17000000000000.0) {
tmp = b * (y * ((x * a) - (k * y4)));
} 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 = z * (y3 * ((a * y1) - (c * y0)))
if (c <= (-1.7d+178)) then
tmp = t_1
else if (c <= (-3.25d+66)) then
tmp = (x * b) * ((y * a) - (j * y0))
else if (c <= (-2.05d-73)) then
tmp = k * (y5 * ((y * i) - (y0 * y2)))
else if (c <= 2.1d-262) then
tmp = y1 * (y2 * ((k * y4) - (x * a)))
else if (c <= 17000000000000.0d0) then
tmp = b * (y * ((x * a) - (k * y4)))
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 = z * (y3 * ((a * y1) - (c * y0)));
double tmp;
if (c <= -1.7e+178) {
tmp = t_1;
} else if (c <= -3.25e+66) {
tmp = (x * b) * ((y * a) - (j * y0));
} else if (c <= -2.05e-73) {
tmp = k * (y5 * ((y * i) - (y0 * y2)));
} else if (c <= 2.1e-262) {
tmp = y1 * (y2 * ((k * y4) - (x * a)));
} else if (c <= 17000000000000.0) {
tmp = b * (y * ((x * a) - (k * y4)));
} 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 = z * (y3 * ((a * y1) - (c * y0))) tmp = 0 if c <= -1.7e+178: tmp = t_1 elif c <= -3.25e+66: tmp = (x * b) * ((y * a) - (j * y0)) elif c <= -2.05e-73: tmp = k * (y5 * ((y * i) - (y0 * y2))) elif c <= 2.1e-262: tmp = y1 * (y2 * ((k * y4) - (x * a))) elif c <= 17000000000000.0: tmp = b * (y * ((x * a) - (k * y4))) 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(z * Float64(y3 * Float64(Float64(a * y1) - Float64(c * y0)))) tmp = 0.0 if (c <= -1.7e+178) tmp = t_1; elseif (c <= -3.25e+66) tmp = Float64(Float64(x * b) * Float64(Float64(y * a) - Float64(j * y0))); elseif (c <= -2.05e-73) tmp = Float64(k * Float64(y5 * Float64(Float64(y * i) - Float64(y0 * y2)))); elseif (c <= 2.1e-262) tmp = Float64(y1 * Float64(y2 * Float64(Float64(k * y4) - Float64(x * a)))); elseif (c <= 17000000000000.0) tmp = Float64(b * Float64(y * Float64(Float64(x * a) - Float64(k * y4)))); 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 = z * (y3 * ((a * y1) - (c * y0))); tmp = 0.0; if (c <= -1.7e+178) tmp = t_1; elseif (c <= -3.25e+66) tmp = (x * b) * ((y * a) - (j * y0)); elseif (c <= -2.05e-73) tmp = k * (y5 * ((y * i) - (y0 * y2))); elseif (c <= 2.1e-262) tmp = y1 * (y2 * ((k * y4) - (x * a))); elseif (c <= 17000000000000.0) tmp = b * (y * ((x * a) - (k * y4))); 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[(z * N[(y3 * N[(N[(a * y1), $MachinePrecision] - N[(c * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[c, -1.7e+178], t$95$1, If[LessEqual[c, -3.25e+66], N[(N[(x * b), $MachinePrecision] * N[(N[(y * a), $MachinePrecision] - N[(j * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, -2.05e-73], N[(k * N[(y5 * N[(N[(y * i), $MachinePrecision] - N[(y0 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 2.1e-262], N[(y1 * N[(y2 * N[(N[(k * y4), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 17000000000000.0], N[(b * N[(y * N[(N[(x * a), $MachinePrecision] - N[(k * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := z \cdot \left(y3 \cdot \left(a \cdot y1 - c \cdot y0\right)\right)\\
\mathbf{if}\;c \leq -1.7 \cdot 10^{+178}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;c \leq -3.25 \cdot 10^{+66}:\\
\;\;\;\;\left(x \cdot b\right) \cdot \left(y \cdot a - j \cdot y0\right)\\
\mathbf{elif}\;c \leq -2.05 \cdot 10^{-73}:\\
\;\;\;\;k \cdot \left(y5 \cdot \left(y \cdot i - y0 \cdot y2\right)\right)\\
\mathbf{elif}\;c \leq 2.1 \cdot 10^{-262}:\\
\;\;\;\;y1 \cdot \left(y2 \cdot \left(k \cdot y4 - x \cdot a\right)\right)\\
\mathbf{elif}\;c \leq 17000000000000:\\
\;\;\;\;b \cdot \left(y \cdot \left(x \cdot a - k \cdot y4\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if c < -1.7000000000000001e178 or 1.7e13 < c Initial program 22.8%
associate-+l-22.8%
Simplified22.8%
Taylor expanded in z around -inf 36.2%
mul-1-neg36.2%
*-commutative36.2%
associate--l+36.2%
*-commutative36.2%
*-commutative36.2%
*-commutative36.2%
*-commutative36.2%
*-commutative36.2%
*-commutative36.2%
*-commutative36.2%
*-commutative36.2%
Simplified36.2%
Taylor expanded in y3 around inf 45.0%
*-commutative45.0%
Simplified45.0%
if -1.7000000000000001e178 < c < -3.2500000000000001e66Initial program 25.9%
associate-+l-25.9%
Simplified25.9%
Taylor expanded in b around inf 41.1%
Taylor expanded in x around inf 49.2%
if -3.2500000000000001e66 < c < -2.05000000000000008e-73Initial program 34.4%
associate-+l-34.4%
Simplified34.4%
Taylor expanded in y5 around -inf 42.3%
mul-1-neg42.3%
associate--l+42.3%
*-commutative42.3%
Simplified42.3%
Taylor expanded in k around inf 46.0%
*-commutative46.0%
+-commutative46.0%
mul-1-neg46.0%
unsub-neg46.0%
*-commutative46.0%
Simplified46.0%
if -2.05000000000000008e-73 < c < 2.1e-262Initial program 27.6%
associate-+l-27.6%
Simplified27.6%
Taylor expanded in y2 around inf 46.8%
Taylor expanded in y1 around inf 43.5%
*-commutative43.5%
+-commutative43.5%
mul-1-neg43.5%
unsub-neg43.5%
Simplified43.5%
if 2.1e-262 < c < 1.7e13Initial program 23.2%
associate-+l-23.2%
Simplified23.2%
Taylor expanded in b around inf 38.2%
Taylor expanded in y around inf 40.8%
associate-*r*45.4%
*-commutative45.4%
*-commutative45.4%
+-commutative45.4%
mul-1-neg45.4%
unsub-neg45.4%
Simplified45.4%
Final simplification45.3%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* (- i) (* t (* j y5)))))
(if (<= y3 -1.55e-12)
(* c (* y0 (* z (- y3))))
(if (<= y3 -6.5e-161)
(* y0 (* y2 (* k (- y5))))
(if (<= y3 -2.3e-242)
t_1
(if (<= y3 2.5e-243)
(* c (* y4 (* t (- y2))))
(if (<= y3 5.2e-113)
t_1
(if (<= y3 2.9e-15)
(* k (* (* y0 y5) (- y2)))
(* y0 (* y3 (* j y5)))))))))))
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 = -i * (t * (j * y5));
double tmp;
if (y3 <= -1.55e-12) {
tmp = c * (y0 * (z * -y3));
} else if (y3 <= -6.5e-161) {
tmp = y0 * (y2 * (k * -y5));
} else if (y3 <= -2.3e-242) {
tmp = t_1;
} else if (y3 <= 2.5e-243) {
tmp = c * (y4 * (t * -y2));
} else if (y3 <= 5.2e-113) {
tmp = t_1;
} else if (y3 <= 2.9e-15) {
tmp = k * ((y0 * y5) * -y2);
} else {
tmp = y0 * (y3 * (j * y5));
}
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 = -i * (t * (j * y5))
if (y3 <= (-1.55d-12)) then
tmp = c * (y0 * (z * -y3))
else if (y3 <= (-6.5d-161)) then
tmp = y0 * (y2 * (k * -y5))
else if (y3 <= (-2.3d-242)) then
tmp = t_1
else if (y3 <= 2.5d-243) then
tmp = c * (y4 * (t * -y2))
else if (y3 <= 5.2d-113) then
tmp = t_1
else if (y3 <= 2.9d-15) then
tmp = k * ((y0 * y5) * -y2)
else
tmp = y0 * (y3 * (j * y5))
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 = -i * (t * (j * y5));
double tmp;
if (y3 <= -1.55e-12) {
tmp = c * (y0 * (z * -y3));
} else if (y3 <= -6.5e-161) {
tmp = y0 * (y2 * (k * -y5));
} else if (y3 <= -2.3e-242) {
tmp = t_1;
} else if (y3 <= 2.5e-243) {
tmp = c * (y4 * (t * -y2));
} else if (y3 <= 5.2e-113) {
tmp = t_1;
} else if (y3 <= 2.9e-15) {
tmp = k * ((y0 * y5) * -y2);
} else {
tmp = y0 * (y3 * (j * y5));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = -i * (t * (j * y5)) tmp = 0 if y3 <= -1.55e-12: tmp = c * (y0 * (z * -y3)) elif y3 <= -6.5e-161: tmp = y0 * (y2 * (k * -y5)) elif y3 <= -2.3e-242: tmp = t_1 elif y3 <= 2.5e-243: tmp = c * (y4 * (t * -y2)) elif y3 <= 5.2e-113: tmp = t_1 elif y3 <= 2.9e-15: tmp = k * ((y0 * y5) * -y2) else: tmp = y0 * (y3 * (j * y5)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(-i) * Float64(t * Float64(j * y5))) tmp = 0.0 if (y3 <= -1.55e-12) tmp = Float64(c * Float64(y0 * Float64(z * Float64(-y3)))); elseif (y3 <= -6.5e-161) tmp = Float64(y0 * Float64(y2 * Float64(k * Float64(-y5)))); elseif (y3 <= -2.3e-242) tmp = t_1; elseif (y3 <= 2.5e-243) tmp = Float64(c * Float64(y4 * Float64(t * Float64(-y2)))); elseif (y3 <= 5.2e-113) tmp = t_1; elseif (y3 <= 2.9e-15) tmp = Float64(k * Float64(Float64(y0 * y5) * Float64(-y2))); else tmp = Float64(y0 * Float64(y3 * Float64(j * y5))); 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 = -i * (t * (j * y5)); tmp = 0.0; if (y3 <= -1.55e-12) tmp = c * (y0 * (z * -y3)); elseif (y3 <= -6.5e-161) tmp = y0 * (y2 * (k * -y5)); elseif (y3 <= -2.3e-242) tmp = t_1; elseif (y3 <= 2.5e-243) tmp = c * (y4 * (t * -y2)); elseif (y3 <= 5.2e-113) tmp = t_1; elseif (y3 <= 2.9e-15) tmp = k * ((y0 * y5) * -y2); else tmp = y0 * (y3 * (j * y5)); 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[((-i) * N[(t * N[(j * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y3, -1.55e-12], N[(c * N[(y0 * N[(z * (-y3)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, -6.5e-161], N[(y0 * N[(y2 * N[(k * (-y5)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, -2.3e-242], t$95$1, If[LessEqual[y3, 2.5e-243], N[(c * N[(y4 * N[(t * (-y2)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 5.2e-113], t$95$1, If[LessEqual[y3, 2.9e-15], N[(k * N[(N[(y0 * y5), $MachinePrecision] * (-y2)), $MachinePrecision]), $MachinePrecision], N[(y0 * N[(y3 * N[(j * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(-i\right) \cdot \left(t \cdot \left(j \cdot y5\right)\right)\\
\mathbf{if}\;y3 \leq -1.55 \cdot 10^{-12}:\\
\;\;\;\;c \cdot \left(y0 \cdot \left(z \cdot \left(-y3\right)\right)\right)\\
\mathbf{elif}\;y3 \leq -6.5 \cdot 10^{-161}:\\
\;\;\;\;y0 \cdot \left(y2 \cdot \left(k \cdot \left(-y5\right)\right)\right)\\
\mathbf{elif}\;y3 \leq -2.3 \cdot 10^{-242}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y3 \leq 2.5 \cdot 10^{-243}:\\
\;\;\;\;c \cdot \left(y4 \cdot \left(t \cdot \left(-y2\right)\right)\right)\\
\mathbf{elif}\;y3 \leq 5.2 \cdot 10^{-113}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y3 \leq 2.9 \cdot 10^{-15}:\\
\;\;\;\;k \cdot \left(\left(y0 \cdot y5\right) \cdot \left(-y2\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y0 \cdot \left(y3 \cdot \left(j \cdot y5\right)\right)\\
\end{array}
\end{array}
if y3 < -1.5500000000000001e-12Initial program 20.5%
associate-+l-20.5%
Simplified20.5%
Taylor expanded in z around -inf 27.6%
mul-1-neg27.6%
*-commutative27.6%
associate--l+27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
Simplified27.6%
Taylor expanded in y3 around inf 48.3%
*-commutative48.3%
Simplified48.3%
Taylor expanded in y0 around inf 40.0%
if -1.5500000000000001e-12 < y3 < -6.50000000000000008e-161Initial program 28.4%
associate-+l-28.4%
Simplified28.4%
Taylor expanded in y2 around inf 51.8%
Taylor expanded in y0 around -inf 50.7%
associate-*r*50.7%
neg-mul-150.7%
*-commutative50.7%
mul-1-neg50.7%
unsub-neg50.7%
*-commutative50.7%
Simplified50.7%
Taylor expanded in k around inf 38.5%
if -6.50000000000000008e-161 < y3 < -2.29999999999999985e-242 or 2.5e-243 < y3 < 5.1999999999999998e-113Initial program 36.3%
+-commutative36.3%
fma-def38.5%
*-commutative38.5%
*-commutative38.5%
Simplified42.7%
Taylor expanded in j around inf 45.4%
Taylor expanded in y5 around inf 29.4%
*-commutative29.4%
mul-1-neg29.4%
unsub-neg29.4%
*-commutative29.4%
Simplified29.4%
Taylor expanded in y0 around 0 31.3%
associate-*r*31.3%
neg-mul-131.3%
*-commutative31.3%
Simplified31.3%
if -2.29999999999999985e-242 < y3 < 2.5e-243Initial program 38.7%
associate-+l-38.7%
Simplified38.7%
Taylor expanded in y2 around inf 58.8%
Taylor expanded in c around inf 39.7%
Taylor expanded in y0 around 0 43.6%
mul-1-neg43.6%
*-commutative43.6%
distribute-rgt-neg-in43.6%
Simplified43.6%
if 5.1999999999999998e-113 < y3 < 2.90000000000000019e-15Initial program 25.3%
associate-+l-25.3%
Simplified25.3%
Taylor expanded in y2 around inf 28.8%
Taylor expanded in k around inf 32.0%
associate-*r*31.9%
*-commutative31.9%
Simplified31.9%
Taylor expanded in y1 around 0 27.0%
mul-1-neg27.0%
associate-*r*31.8%
*-commutative31.8%
Simplified31.8%
if 2.90000000000000019e-15 < y3 Initial program 16.8%
+-commutative16.8%
fma-def22.3%
*-commutative22.3%
*-commutative22.3%
Simplified23.7%
Taylor expanded in j around inf 39.4%
Taylor expanded in y5 around inf 34.6%
*-commutative34.6%
mul-1-neg34.6%
unsub-neg34.6%
*-commutative34.6%
Simplified34.6%
Taylor expanded in y0 around inf 37.1%
*-commutative37.1%
Simplified37.1%
Final simplification37.1%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* (- i) (* t (* j y5)))))
(if (<= y3 -1.4e-11)
(* c (* y0 (* z (- y3))))
(if (<= y3 -2e-159)
(* y0 (* y2 (* k (- y5))))
(if (<= y3 -1.42e-243)
t_1
(if (<= y3 9.8e-244)
(* c (* y4 (* t (- y2))))
(if (<= y3 5.9e-111)
t_1
(if (<= y3 4.5e-15)
(* (* k y2) (* y0 (- y5)))
(* y0 (* y3 (* j y5)))))))))))
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 = -i * (t * (j * y5));
double tmp;
if (y3 <= -1.4e-11) {
tmp = c * (y0 * (z * -y3));
} else if (y3 <= -2e-159) {
tmp = y0 * (y2 * (k * -y5));
} else if (y3 <= -1.42e-243) {
tmp = t_1;
} else if (y3 <= 9.8e-244) {
tmp = c * (y4 * (t * -y2));
} else if (y3 <= 5.9e-111) {
tmp = t_1;
} else if (y3 <= 4.5e-15) {
tmp = (k * y2) * (y0 * -y5);
} else {
tmp = y0 * (y3 * (j * y5));
}
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 = -i * (t * (j * y5))
if (y3 <= (-1.4d-11)) then
tmp = c * (y0 * (z * -y3))
else if (y3 <= (-2d-159)) then
tmp = y0 * (y2 * (k * -y5))
else if (y3 <= (-1.42d-243)) then
tmp = t_1
else if (y3 <= 9.8d-244) then
tmp = c * (y4 * (t * -y2))
else if (y3 <= 5.9d-111) then
tmp = t_1
else if (y3 <= 4.5d-15) then
tmp = (k * y2) * (y0 * -y5)
else
tmp = y0 * (y3 * (j * y5))
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 = -i * (t * (j * y5));
double tmp;
if (y3 <= -1.4e-11) {
tmp = c * (y0 * (z * -y3));
} else if (y3 <= -2e-159) {
tmp = y0 * (y2 * (k * -y5));
} else if (y3 <= -1.42e-243) {
tmp = t_1;
} else if (y3 <= 9.8e-244) {
tmp = c * (y4 * (t * -y2));
} else if (y3 <= 5.9e-111) {
tmp = t_1;
} else if (y3 <= 4.5e-15) {
tmp = (k * y2) * (y0 * -y5);
} else {
tmp = y0 * (y3 * (j * y5));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = -i * (t * (j * y5)) tmp = 0 if y3 <= -1.4e-11: tmp = c * (y0 * (z * -y3)) elif y3 <= -2e-159: tmp = y0 * (y2 * (k * -y5)) elif y3 <= -1.42e-243: tmp = t_1 elif y3 <= 9.8e-244: tmp = c * (y4 * (t * -y2)) elif y3 <= 5.9e-111: tmp = t_1 elif y3 <= 4.5e-15: tmp = (k * y2) * (y0 * -y5) else: tmp = y0 * (y3 * (j * y5)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(-i) * Float64(t * Float64(j * y5))) tmp = 0.0 if (y3 <= -1.4e-11) tmp = Float64(c * Float64(y0 * Float64(z * Float64(-y3)))); elseif (y3 <= -2e-159) tmp = Float64(y0 * Float64(y2 * Float64(k * Float64(-y5)))); elseif (y3 <= -1.42e-243) tmp = t_1; elseif (y3 <= 9.8e-244) tmp = Float64(c * Float64(y4 * Float64(t * Float64(-y2)))); elseif (y3 <= 5.9e-111) tmp = t_1; elseif (y3 <= 4.5e-15) tmp = Float64(Float64(k * y2) * Float64(y0 * Float64(-y5))); else tmp = Float64(y0 * Float64(y3 * Float64(j * y5))); 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 = -i * (t * (j * y5)); tmp = 0.0; if (y3 <= -1.4e-11) tmp = c * (y0 * (z * -y3)); elseif (y3 <= -2e-159) tmp = y0 * (y2 * (k * -y5)); elseif (y3 <= -1.42e-243) tmp = t_1; elseif (y3 <= 9.8e-244) tmp = c * (y4 * (t * -y2)); elseif (y3 <= 5.9e-111) tmp = t_1; elseif (y3 <= 4.5e-15) tmp = (k * y2) * (y0 * -y5); else tmp = y0 * (y3 * (j * y5)); 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[((-i) * N[(t * N[(j * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y3, -1.4e-11], N[(c * N[(y0 * N[(z * (-y3)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, -2e-159], N[(y0 * N[(y2 * N[(k * (-y5)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, -1.42e-243], t$95$1, If[LessEqual[y3, 9.8e-244], N[(c * N[(y4 * N[(t * (-y2)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 5.9e-111], t$95$1, If[LessEqual[y3, 4.5e-15], N[(N[(k * y2), $MachinePrecision] * N[(y0 * (-y5)), $MachinePrecision]), $MachinePrecision], N[(y0 * N[(y3 * N[(j * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(-i\right) \cdot \left(t \cdot \left(j \cdot y5\right)\right)\\
\mathbf{if}\;y3 \leq -1.4 \cdot 10^{-11}:\\
\;\;\;\;c \cdot \left(y0 \cdot \left(z \cdot \left(-y3\right)\right)\right)\\
\mathbf{elif}\;y3 \leq -2 \cdot 10^{-159}:\\
\;\;\;\;y0 \cdot \left(y2 \cdot \left(k \cdot \left(-y5\right)\right)\right)\\
\mathbf{elif}\;y3 \leq -1.42 \cdot 10^{-243}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y3 \leq 9.8 \cdot 10^{-244}:\\
\;\;\;\;c \cdot \left(y4 \cdot \left(t \cdot \left(-y2\right)\right)\right)\\
\mathbf{elif}\;y3 \leq 5.9 \cdot 10^{-111}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y3 \leq 4.5 \cdot 10^{-15}:\\
\;\;\;\;\left(k \cdot y2\right) \cdot \left(y0 \cdot \left(-y5\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y0 \cdot \left(y3 \cdot \left(j \cdot y5\right)\right)\\
\end{array}
\end{array}
if y3 < -1.4e-11Initial program 20.5%
associate-+l-20.5%
Simplified20.5%
Taylor expanded in z around -inf 27.6%
mul-1-neg27.6%
*-commutative27.6%
associate--l+27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
Simplified27.6%
Taylor expanded in y3 around inf 48.3%
*-commutative48.3%
Simplified48.3%
Taylor expanded in y0 around inf 40.0%
if -1.4e-11 < y3 < -1.99999999999999998e-159Initial program 28.4%
associate-+l-28.4%
Simplified28.4%
Taylor expanded in y2 around inf 51.8%
Taylor expanded in y0 around -inf 50.7%
associate-*r*50.7%
neg-mul-150.7%
*-commutative50.7%
mul-1-neg50.7%
unsub-neg50.7%
*-commutative50.7%
Simplified50.7%
Taylor expanded in k around inf 38.5%
if -1.99999999999999998e-159 < y3 < -1.41999999999999993e-243 or 9.80000000000000029e-244 < y3 < 5.9000000000000001e-111Initial program 36.3%
+-commutative36.3%
fma-def38.5%
*-commutative38.5%
*-commutative38.5%
Simplified42.7%
Taylor expanded in j around inf 45.4%
Taylor expanded in y5 around inf 29.4%
*-commutative29.4%
mul-1-neg29.4%
unsub-neg29.4%
*-commutative29.4%
Simplified29.4%
Taylor expanded in y0 around 0 31.3%
associate-*r*31.3%
neg-mul-131.3%
*-commutative31.3%
Simplified31.3%
if -1.41999999999999993e-243 < y3 < 9.80000000000000029e-244Initial program 38.7%
associate-+l-38.7%
Simplified38.7%
Taylor expanded in y2 around inf 58.8%
Taylor expanded in c around inf 39.7%
Taylor expanded in y0 around 0 43.6%
mul-1-neg43.6%
*-commutative43.6%
distribute-rgt-neg-in43.6%
Simplified43.6%
if 5.9000000000000001e-111 < y3 < 4.4999999999999998e-15Initial program 25.3%
associate-+l-25.3%
Simplified25.3%
Taylor expanded in y2 around inf 28.8%
Taylor expanded in k around inf 32.0%
associate-*r*31.9%
*-commutative31.9%
Simplified31.9%
Taylor expanded in y1 around 0 31.8%
mul-1-neg31.8%
distribute-lft-neg-out31.8%
*-commutative31.8%
Simplified31.8%
if 4.4999999999999998e-15 < y3 Initial program 16.8%
+-commutative16.8%
fma-def22.3%
*-commutative22.3%
*-commutative22.3%
Simplified23.7%
Taylor expanded in j around inf 39.4%
Taylor expanded in y5 around inf 34.6%
*-commutative34.6%
mul-1-neg34.6%
unsub-neg34.6%
*-commutative34.6%
Simplified34.6%
Taylor expanded in y0 around inf 37.1%
*-commutative37.1%
Simplified37.1%
Final simplification37.1%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* (- i) (* t (* j y5)))))
(if (<= j -6.6e-76)
t_1
(if (<= j -2.35e-181)
(* k (* y2 (* y1 y4)))
(if (<= j 1.35e-292)
(* y0 (* y2 (* x c)))
(if (<= j 3.9e-107)
(* y0 (* y2 (* k (- y5))))
(if (<= j 68000000000000.0)
(* c (* y4 (* t (- y2))))
(if (<= j 1.26e+72) (* z (* (* c y0) (- 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 = -i * (t * (j * y5));
double tmp;
if (j <= -6.6e-76) {
tmp = t_1;
} else if (j <= -2.35e-181) {
tmp = k * (y2 * (y1 * y4));
} else if (j <= 1.35e-292) {
tmp = y0 * (y2 * (x * c));
} else if (j <= 3.9e-107) {
tmp = y0 * (y2 * (k * -y5));
} else if (j <= 68000000000000.0) {
tmp = c * (y4 * (t * -y2));
} else if (j <= 1.26e+72) {
tmp = z * ((c * y0) * -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 = -i * (t * (j * y5))
if (j <= (-6.6d-76)) then
tmp = t_1
else if (j <= (-2.35d-181)) then
tmp = k * (y2 * (y1 * y4))
else if (j <= 1.35d-292) then
tmp = y0 * (y2 * (x * c))
else if (j <= 3.9d-107) then
tmp = y0 * (y2 * (k * -y5))
else if (j <= 68000000000000.0d0) then
tmp = c * (y4 * (t * -y2))
else if (j <= 1.26d+72) then
tmp = z * ((c * y0) * -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 = -i * (t * (j * y5));
double tmp;
if (j <= -6.6e-76) {
tmp = t_1;
} else if (j <= -2.35e-181) {
tmp = k * (y2 * (y1 * y4));
} else if (j <= 1.35e-292) {
tmp = y0 * (y2 * (x * c));
} else if (j <= 3.9e-107) {
tmp = y0 * (y2 * (k * -y5));
} else if (j <= 68000000000000.0) {
tmp = c * (y4 * (t * -y2));
} else if (j <= 1.26e+72) {
tmp = z * ((c * y0) * -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 = -i * (t * (j * y5)) tmp = 0 if j <= -6.6e-76: tmp = t_1 elif j <= -2.35e-181: tmp = k * (y2 * (y1 * y4)) elif j <= 1.35e-292: tmp = y0 * (y2 * (x * c)) elif j <= 3.9e-107: tmp = y0 * (y2 * (k * -y5)) elif j <= 68000000000000.0: tmp = c * (y4 * (t * -y2)) elif j <= 1.26e+72: tmp = z * ((c * y0) * -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(Float64(-i) * Float64(t * Float64(j * y5))) tmp = 0.0 if (j <= -6.6e-76) tmp = t_1; elseif (j <= -2.35e-181) tmp = Float64(k * Float64(y2 * Float64(y1 * y4))); elseif (j <= 1.35e-292) tmp = Float64(y0 * Float64(y2 * Float64(x * c))); elseif (j <= 3.9e-107) tmp = Float64(y0 * Float64(y2 * Float64(k * Float64(-y5)))); elseif (j <= 68000000000000.0) tmp = Float64(c * Float64(y4 * Float64(t * Float64(-y2)))); elseif (j <= 1.26e+72) tmp = Float64(z * Float64(Float64(c * y0) * Float64(-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 = -i * (t * (j * y5)); tmp = 0.0; if (j <= -6.6e-76) tmp = t_1; elseif (j <= -2.35e-181) tmp = k * (y2 * (y1 * y4)); elseif (j <= 1.35e-292) tmp = y0 * (y2 * (x * c)); elseif (j <= 3.9e-107) tmp = y0 * (y2 * (k * -y5)); elseif (j <= 68000000000000.0) tmp = c * (y4 * (t * -y2)); elseif (j <= 1.26e+72) tmp = z * ((c * y0) * -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[((-i) * N[(t * N[(j * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -6.6e-76], t$95$1, If[LessEqual[j, -2.35e-181], N[(k * N[(y2 * N[(y1 * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.35e-292], N[(y0 * N[(y2 * N[(x * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 3.9e-107], N[(y0 * N[(y2 * N[(k * (-y5)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 68000000000000.0], N[(c * N[(y4 * N[(t * (-y2)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 1.26e+72], N[(z * N[(N[(c * y0), $MachinePrecision] * (-y3)), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(-i\right) \cdot \left(t \cdot \left(j \cdot y5\right)\right)\\
\mathbf{if}\;j \leq -6.6 \cdot 10^{-76}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq -2.35 \cdot 10^{-181}:\\
\;\;\;\;k \cdot \left(y2 \cdot \left(y1 \cdot y4\right)\right)\\
\mathbf{elif}\;j \leq 1.35 \cdot 10^{-292}:\\
\;\;\;\;y0 \cdot \left(y2 \cdot \left(x \cdot c\right)\right)\\
\mathbf{elif}\;j \leq 3.9 \cdot 10^{-107}:\\
\;\;\;\;y0 \cdot \left(y2 \cdot \left(k \cdot \left(-y5\right)\right)\right)\\
\mathbf{elif}\;j \leq 68000000000000:\\
\;\;\;\;c \cdot \left(y4 \cdot \left(t \cdot \left(-y2\right)\right)\right)\\
\mathbf{elif}\;j \leq 1.26 \cdot 10^{+72}:\\
\;\;\;\;z \cdot \left(\left(c \cdot y0\right) \cdot \left(-y3\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if j < -6.59999999999999967e-76 or 1.26e72 < j Initial program 25.5%
+-commutative25.5%
fma-def28.6%
*-commutative28.6%
*-commutative28.6%
Simplified32.6%
Taylor expanded in j around inf 50.9%
Taylor expanded in y5 around inf 37.7%
*-commutative37.7%
mul-1-neg37.7%
unsub-neg37.7%
*-commutative37.7%
Simplified37.7%
Taylor expanded in y0 around 0 35.9%
associate-*r*35.9%
neg-mul-135.9%
*-commutative35.9%
Simplified35.9%
if -6.59999999999999967e-76 < j < -2.3499999999999999e-181Initial program 31.7%
associate-+l-31.7%
Simplified31.7%
Taylor expanded in y2 around inf 43.8%
Taylor expanded in k around inf 37.6%
associate-*r*33.1%
*-commutative33.1%
Simplified33.1%
Taylor expanded in y1 around inf 46.5%
associate-*r*46.5%
*-commutative46.5%
Simplified46.5%
if -2.3499999999999999e-181 < j < 1.35e-292Initial program 8.7%
associate-+l-8.7%
Simplified8.7%
Taylor expanded in y2 around inf 46.9%
Taylor expanded in y0 around -inf 39.2%
associate-*r*39.2%
neg-mul-139.2%
*-commutative39.2%
mul-1-neg39.2%
unsub-neg39.2%
*-commutative39.2%
Simplified39.2%
Taylor expanded in k around 0 39.3%
neg-mul-139.3%
distribute-rgt-neg-in39.3%
Simplified39.3%
if 1.35e-292 < j < 3.9000000000000001e-107Initial program 22.3%
associate-+l-22.3%
Simplified22.3%
Taylor expanded in y2 around inf 45.1%
Taylor expanded in y0 around -inf 29.9%
associate-*r*29.9%
neg-mul-129.9%
*-commutative29.9%
mul-1-neg29.9%
unsub-neg29.9%
*-commutative29.9%
Simplified29.9%
Taylor expanded in k around inf 30.3%
if 3.9000000000000001e-107 < j < 6.8e13Initial program 42.8%
associate-+l-42.8%
Simplified42.8%
Taylor expanded in y2 around inf 50.1%
Taylor expanded in c around inf 41.1%
Taylor expanded in y0 around 0 41.0%
mul-1-neg41.0%
*-commutative41.0%
distribute-rgt-neg-in41.0%
Simplified41.0%
if 6.8e13 < j < 1.26e72Initial program 29.3%
associate-+l-29.3%
Simplified29.3%
Taylor expanded in z around -inf 53.2%
mul-1-neg53.2%
*-commutative53.2%
associate--l+53.2%
*-commutative53.2%
*-commutative53.2%
*-commutative53.2%
*-commutative53.2%
*-commutative53.2%
*-commutative53.2%
*-commutative53.2%
*-commutative53.2%
Simplified53.2%
Taylor expanded in y3 around inf 59.5%
*-commutative59.5%
Simplified59.5%
Taylor expanded in y0 around inf 48.1%
*-commutative48.1%
Simplified48.1%
Final simplification37.4%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* (- y0) (* y5 (* k y2)))) (t_2 (* (- i) (* t (* j y5)))))
(if (<= j -2.5e-65)
t_2
(if (<= j -4.1e-202)
(* c (* y4 (* t (- y2))))
(if (<= j 3.8e-254)
(* y1 (* a (* z y3)))
(if (<= j 90000000000000.0)
t_1
(if (<= j 4e+72)
(* z (* (* c y0) (- y3)))
(if (<= j 5e+130) t_1 t_2))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = -y0 * (y5 * (k * y2));
double t_2 = -i * (t * (j * y5));
double tmp;
if (j <= -2.5e-65) {
tmp = t_2;
} else if (j <= -4.1e-202) {
tmp = c * (y4 * (t * -y2));
} else if (j <= 3.8e-254) {
tmp = y1 * (a * (z * y3));
} else if (j <= 90000000000000.0) {
tmp = t_1;
} else if (j <= 4e+72) {
tmp = z * ((c * y0) * -y3);
} else if (j <= 5e+130) {
tmp = t_1;
} 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) :: tmp
t_1 = -y0 * (y5 * (k * y2))
t_2 = -i * (t * (j * y5))
if (j <= (-2.5d-65)) then
tmp = t_2
else if (j <= (-4.1d-202)) then
tmp = c * (y4 * (t * -y2))
else if (j <= 3.8d-254) then
tmp = y1 * (a * (z * y3))
else if (j <= 90000000000000.0d0) then
tmp = t_1
else if (j <= 4d+72) then
tmp = z * ((c * y0) * -y3)
else if (j <= 5d+130) then
tmp = t_1
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = -y0 * (y5 * (k * y2));
double t_2 = -i * (t * (j * y5));
double tmp;
if (j <= -2.5e-65) {
tmp = t_2;
} else if (j <= -4.1e-202) {
tmp = c * (y4 * (t * -y2));
} else if (j <= 3.8e-254) {
tmp = y1 * (a * (z * y3));
} else if (j <= 90000000000000.0) {
tmp = t_1;
} else if (j <= 4e+72) {
tmp = z * ((c * y0) * -y3);
} else if (j <= 5e+130) {
tmp = t_1;
} 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 = -y0 * (y5 * (k * y2)) t_2 = -i * (t * (j * y5)) tmp = 0 if j <= -2.5e-65: tmp = t_2 elif j <= -4.1e-202: tmp = c * (y4 * (t * -y2)) elif j <= 3.8e-254: tmp = y1 * (a * (z * y3)) elif j <= 90000000000000.0: tmp = t_1 elif j <= 4e+72: tmp = z * ((c * y0) * -y3) elif j <= 5e+130: tmp = t_1 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(-y0) * Float64(y5 * Float64(k * y2))) t_2 = Float64(Float64(-i) * Float64(t * Float64(j * y5))) tmp = 0.0 if (j <= -2.5e-65) tmp = t_2; elseif (j <= -4.1e-202) tmp = Float64(c * Float64(y4 * Float64(t * Float64(-y2)))); elseif (j <= 3.8e-254) tmp = Float64(y1 * Float64(a * Float64(z * y3))); elseif (j <= 90000000000000.0) tmp = t_1; elseif (j <= 4e+72) tmp = Float64(z * Float64(Float64(c * y0) * Float64(-y3))); elseif (j <= 5e+130) tmp = t_1; 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 = -y0 * (y5 * (k * y2)); t_2 = -i * (t * (j * y5)); tmp = 0.0; if (j <= -2.5e-65) tmp = t_2; elseif (j <= -4.1e-202) tmp = c * (y4 * (t * -y2)); elseif (j <= 3.8e-254) tmp = y1 * (a * (z * y3)); elseif (j <= 90000000000000.0) tmp = t_1; elseif (j <= 4e+72) tmp = z * ((c * y0) * -y3); elseif (j <= 5e+130) tmp = t_1; 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[((-y0) * N[(y5 * N[(k * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[((-i) * N[(t * N[(j * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -2.5e-65], t$95$2, If[LessEqual[j, -4.1e-202], N[(c * N[(y4 * N[(t * (-y2)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 3.8e-254], N[(y1 * N[(a * N[(z * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 90000000000000.0], t$95$1, If[LessEqual[j, 4e+72], N[(z * N[(N[(c * y0), $MachinePrecision] * (-y3)), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 5e+130], t$95$1, t$95$2]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(-y0\right) \cdot \left(y5 \cdot \left(k \cdot y2\right)\right)\\
t_2 := \left(-i\right) \cdot \left(t \cdot \left(j \cdot y5\right)\right)\\
\mathbf{if}\;j \leq -2.5 \cdot 10^{-65}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;j \leq -4.1 \cdot 10^{-202}:\\
\;\;\;\;c \cdot \left(y4 \cdot \left(t \cdot \left(-y2\right)\right)\right)\\
\mathbf{elif}\;j \leq 3.8 \cdot 10^{-254}:\\
\;\;\;\;y1 \cdot \left(a \cdot \left(z \cdot y3\right)\right)\\
\mathbf{elif}\;j \leq 90000000000000:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq 4 \cdot 10^{+72}:\\
\;\;\;\;z \cdot \left(\left(c \cdot y0\right) \cdot \left(-y3\right)\right)\\
\mathbf{elif}\;j \leq 5 \cdot 10^{+130}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if j < -2.49999999999999991e-65 or 4.9999999999999996e130 < j Initial program 25.3%
+-commutative25.3%
fma-def27.8%
*-commutative27.8%
*-commutative27.8%
Simplified32.2%
Taylor expanded in j around inf 51.4%
Taylor expanded in y5 around inf 36.8%
*-commutative36.8%
mul-1-neg36.8%
unsub-neg36.8%
*-commutative36.8%
Simplified36.8%
Taylor expanded in y0 around 0 36.5%
associate-*r*36.5%
neg-mul-136.5%
*-commutative36.5%
Simplified36.5%
if -2.49999999999999991e-65 < j < -4.1000000000000004e-202Initial program 22.8%
associate-+l-22.8%
Simplified22.8%
Taylor expanded in y2 around inf 41.1%
Taylor expanded in c around inf 38.2%
Taylor expanded in y0 around 0 42.7%
mul-1-neg42.7%
*-commutative42.7%
distribute-rgt-neg-in42.7%
Simplified42.7%
if -4.1000000000000004e-202 < j < 3.8000000000000001e-254Initial program 21.8%
associate-+l-21.8%
Simplified21.8%
Taylor expanded in z around -inf 28.8%
mul-1-neg28.8%
*-commutative28.8%
associate--l+28.8%
*-commutative28.8%
*-commutative28.8%
*-commutative28.8%
*-commutative28.8%
*-commutative28.8%
*-commutative28.8%
*-commutative28.8%
*-commutative28.8%
Simplified28.8%
Taylor expanded in y3 around inf 38.7%
*-commutative38.7%
Simplified38.7%
Taylor expanded in y0 around 0 29.7%
if 3.8000000000000001e-254 < j < 9e13 or 3.99999999999999978e72 < j < 4.9999999999999996e130Initial program 28.5%
associate-+l-28.5%
Simplified28.5%
Taylor expanded in y2 around inf 47.8%
Taylor expanded in y0 around -inf 39.3%
associate-*r*39.3%
neg-mul-139.3%
*-commutative39.3%
mul-1-neg39.3%
unsub-neg39.3%
*-commutative39.3%
Simplified39.3%
Taylor expanded in k around inf 36.2%
*-commutative36.2%
associate-*l*38.0%
Simplified38.0%
if 9e13 < j < 3.99999999999999978e72Initial program 29.3%
associate-+l-29.3%
Simplified29.3%
Taylor expanded in z around -inf 53.2%
mul-1-neg53.2%
*-commutative53.2%
associate--l+53.2%
*-commutative53.2%
*-commutative53.2%
*-commutative53.2%
*-commutative53.2%
*-commutative53.2%
*-commutative53.2%
*-commutative53.2%
*-commutative53.2%
Simplified53.2%
Taylor expanded in y3 around inf 59.5%
*-commutative59.5%
Simplified59.5%
Taylor expanded in y0 around inf 48.1%
*-commutative48.1%
Simplified48.1%
Final simplification37.5%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* z (* (* c y0) (- y3)))) (t_2 (* b (* y (- (* x a) (* k y4))))))
(if (<= c -4e+209)
t_1
(if (<= c -3.6e-38)
t_2
(if (<= c -1.9e-264)
(* (- y0) (* y5 (* k y2)))
(if (<= c 1.7e+15) 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 = z * ((c * y0) * -y3);
double t_2 = b * (y * ((x * a) - (k * y4)));
double tmp;
if (c <= -4e+209) {
tmp = t_1;
} else if (c <= -3.6e-38) {
tmp = t_2;
} else if (c <= -1.9e-264) {
tmp = -y0 * (y5 * (k * y2));
} else if (c <= 1.7e+15) {
tmp = 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 = z * ((c * y0) * -y3)
t_2 = b * (y * ((x * a) - (k * y4)))
if (c <= (-4d+209)) then
tmp = t_1
else if (c <= (-3.6d-38)) then
tmp = t_2
else if (c <= (-1.9d-264)) then
tmp = -y0 * (y5 * (k * y2))
else if (c <= 1.7d+15) then
tmp = t_2
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = z * ((c * y0) * -y3);
double t_2 = b * (y * ((x * a) - (k * y4)));
double tmp;
if (c <= -4e+209) {
tmp = t_1;
} else if (c <= -3.6e-38) {
tmp = t_2;
} else if (c <= -1.9e-264) {
tmp = -y0 * (y5 * (k * y2));
} else if (c <= 1.7e+15) {
tmp = 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 = z * ((c * y0) * -y3) t_2 = b * (y * ((x * a) - (k * y4))) tmp = 0 if c <= -4e+209: tmp = t_1 elif c <= -3.6e-38: tmp = t_2 elif c <= -1.9e-264: tmp = -y0 * (y5 * (k * y2)) elif c <= 1.7e+15: tmp = 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(z * Float64(Float64(c * y0) * Float64(-y3))) t_2 = Float64(b * Float64(y * Float64(Float64(x * a) - Float64(k * y4)))) tmp = 0.0 if (c <= -4e+209) tmp = t_1; elseif (c <= -3.6e-38) tmp = t_2; elseif (c <= -1.9e-264) tmp = Float64(Float64(-y0) * Float64(y5 * Float64(k * y2))); elseif (c <= 1.7e+15) tmp = 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 = z * ((c * y0) * -y3); t_2 = b * (y * ((x * a) - (k * y4))); tmp = 0.0; if (c <= -4e+209) tmp = t_1; elseif (c <= -3.6e-38) tmp = t_2; elseif (c <= -1.9e-264) tmp = -y0 * (y5 * (k * y2)); elseif (c <= 1.7e+15) tmp = 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[(z * N[(N[(c * y0), $MachinePrecision] * (-y3)), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(b * N[(y * N[(N[(x * a), $MachinePrecision] - N[(k * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[c, -4e+209], t$95$1, If[LessEqual[c, -3.6e-38], t$95$2, If[LessEqual[c, -1.9e-264], N[((-y0) * N[(y5 * N[(k * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 1.7e+15], t$95$2, t$95$1]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := z \cdot \left(\left(c \cdot y0\right) \cdot \left(-y3\right)\right)\\
t_2 := b \cdot \left(y \cdot \left(x \cdot a - k \cdot y4\right)\right)\\
\mathbf{if}\;c \leq -4 \cdot 10^{+209}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;c \leq -3.6 \cdot 10^{-38}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;c \leq -1.9 \cdot 10^{-264}:\\
\;\;\;\;\left(-y0\right) \cdot \left(y5 \cdot \left(k \cdot y2\right)\right)\\
\mathbf{elif}\;c \leq 1.7 \cdot 10^{+15}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if c < -4.0000000000000003e209 or 1.7e15 < c Initial program 23.8%
associate-+l-23.8%
Simplified23.8%
Taylor expanded in z around -inf 36.7%
mul-1-neg36.7%
*-commutative36.7%
associate--l+36.7%
*-commutative36.7%
*-commutative36.7%
*-commutative36.7%
*-commutative36.7%
*-commutative36.7%
*-commutative36.7%
*-commutative36.7%
*-commutative36.7%
Simplified36.7%
Taylor expanded in y3 around inf 45.9%
*-commutative45.9%
Simplified45.9%
Taylor expanded in y0 around inf 38.7%
*-commutative38.7%
Simplified38.7%
if -4.0000000000000003e209 < c < -3.6000000000000001e-38 or -1.90000000000000007e-264 < c < 1.7e15Initial program 28.1%
associate-+l-28.1%
Simplified28.1%
Taylor expanded in b around inf 35.9%
Taylor expanded in y around inf 35.4%
associate-*r*39.6%
*-commutative39.6%
*-commutative39.6%
+-commutative39.6%
mul-1-neg39.6%
unsub-neg39.6%
Simplified39.6%
if -3.6000000000000001e-38 < c < -1.90000000000000007e-264Initial program 21.0%
associate-+l-21.0%
Simplified21.0%
Taylor expanded in y2 around inf 48.0%
Taylor expanded in y0 around -inf 31.7%
associate-*r*31.7%
neg-mul-131.7%
*-commutative31.7%
mul-1-neg31.7%
unsub-neg31.7%
*-commutative31.7%
Simplified31.7%
Taylor expanded in k around inf 29.5%
*-commutative29.5%
associate-*l*34.0%
Simplified34.0%
Final simplification38.3%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(if (<= y0 -1.1e+37)
(* j (* y5 (* y0 y3)))
(if (<= y0 -3.95e-85)
(* z (* y3 (* a y1)))
(if (<= y0 2.6e-57)
(* b (* y (- (* x a) (* k y4))))
(if (<= y0 9.2e+216)
(* c (* y2 (- (* x y0) (* t y4))))
(if (<= y0 7.8e+288)
(* k (* (* y0 y5) (- y2)))
(* z (* c (* y0 (- 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.1e+37) {
tmp = j * (y5 * (y0 * y3));
} else if (y0 <= -3.95e-85) {
tmp = z * (y3 * (a * y1));
} else if (y0 <= 2.6e-57) {
tmp = b * (y * ((x * a) - (k * y4)));
} else if (y0 <= 9.2e+216) {
tmp = c * (y2 * ((x * y0) - (t * y4)));
} else if (y0 <= 7.8e+288) {
tmp = k * ((y0 * y5) * -y2);
} else {
tmp = z * (c * (y0 * -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.1d+37)) then
tmp = j * (y5 * (y0 * y3))
else if (y0 <= (-3.95d-85)) then
tmp = z * (y3 * (a * y1))
else if (y0 <= 2.6d-57) then
tmp = b * (y * ((x * a) - (k * y4)))
else if (y0 <= 9.2d+216) then
tmp = c * (y2 * ((x * y0) - (t * y4)))
else if (y0 <= 7.8d+288) then
tmp = k * ((y0 * y5) * -y2)
else
tmp = z * (c * (y0 * -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.1e+37) {
tmp = j * (y5 * (y0 * y3));
} else if (y0 <= -3.95e-85) {
tmp = z * (y3 * (a * y1));
} else if (y0 <= 2.6e-57) {
tmp = b * (y * ((x * a) - (k * y4)));
} else if (y0 <= 9.2e+216) {
tmp = c * (y2 * ((x * y0) - (t * y4)));
} else if (y0 <= 7.8e+288) {
tmp = k * ((y0 * y5) * -y2);
} else {
tmp = z * (c * (y0 * -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.1e+37: tmp = j * (y5 * (y0 * y3)) elif y0 <= -3.95e-85: tmp = z * (y3 * (a * y1)) elif y0 <= 2.6e-57: tmp = b * (y * ((x * a) - (k * y4))) elif y0 <= 9.2e+216: tmp = c * (y2 * ((x * y0) - (t * y4))) elif y0 <= 7.8e+288: tmp = k * ((y0 * y5) * -y2) else: tmp = z * (c * (y0 * -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.1e+37) tmp = Float64(j * Float64(y5 * Float64(y0 * y3))); elseif (y0 <= -3.95e-85) tmp = Float64(z * Float64(y3 * Float64(a * y1))); elseif (y0 <= 2.6e-57) tmp = Float64(b * Float64(y * Float64(Float64(x * a) - Float64(k * y4)))); elseif (y0 <= 9.2e+216) tmp = Float64(c * Float64(y2 * Float64(Float64(x * y0) - Float64(t * y4)))); elseif (y0 <= 7.8e+288) tmp = Float64(k * Float64(Float64(y0 * y5) * Float64(-y2))); else tmp = Float64(z * Float64(c * Float64(y0 * Float64(-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.1e+37) tmp = j * (y5 * (y0 * y3)); elseif (y0 <= -3.95e-85) tmp = z * (y3 * (a * y1)); elseif (y0 <= 2.6e-57) tmp = b * (y * ((x * a) - (k * y4))); elseif (y0 <= 9.2e+216) tmp = c * (y2 * ((x * y0) - (t * y4))); elseif (y0 <= 7.8e+288) tmp = k * ((y0 * y5) * -y2); else tmp = z * (c * (y0 * -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.1e+37], N[(j * N[(y5 * N[(y0 * y3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, -3.95e-85], N[(z * N[(y3 * N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 2.6e-57], N[(b * N[(y * N[(N[(x * a), $MachinePrecision] - N[(k * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 9.2e+216], N[(c * N[(y2 * N[(N[(x * y0), $MachinePrecision] - N[(t * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 7.8e+288], N[(k * N[(N[(y0 * y5), $MachinePrecision] * (-y2)), $MachinePrecision]), $MachinePrecision], N[(z * N[(c * N[(y0 * (-y3)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y0 \leq -1.1 \cdot 10^{+37}:\\
\;\;\;\;j \cdot \left(y5 \cdot \left(y0 \cdot y3\right)\right)\\
\mathbf{elif}\;y0 \leq -3.95 \cdot 10^{-85}:\\
\;\;\;\;z \cdot \left(y3 \cdot \left(a \cdot y1\right)\right)\\
\mathbf{elif}\;y0 \leq 2.6 \cdot 10^{-57}:\\
\;\;\;\;b \cdot \left(y \cdot \left(x \cdot a - k \cdot y4\right)\right)\\
\mathbf{elif}\;y0 \leq 9.2 \cdot 10^{+216}:\\
\;\;\;\;c \cdot \left(y2 \cdot \left(x \cdot y0 - t \cdot y4\right)\right)\\
\mathbf{elif}\;y0 \leq 7.8 \cdot 10^{+288}:\\
\;\;\;\;k \cdot \left(\left(y0 \cdot y5\right) \cdot \left(-y2\right)\right)\\
\mathbf{else}:\\
\;\;\;\;z \cdot \left(c \cdot \left(y0 \cdot \left(-y3\right)\right)\right)\\
\end{array}
\end{array}
if y0 < -1.1e37Initial program 18.4%
+-commutative18.4%
fma-def22.0%
*-commutative22.0%
*-commutative22.0%
Simplified23.8%
Taylor expanded in j around inf 33.3%
Taylor expanded in y5 around inf 44.7%
*-commutative44.7%
mul-1-neg44.7%
unsub-neg44.7%
*-commutative44.7%
Simplified44.7%
Taylor expanded in y0 around inf 44.6%
if -1.1e37 < y0 < -3.9500000000000002e-85Initial program 27.7%
associate-+l-27.7%
Simplified27.7%
Taylor expanded in z around -inf 37.6%
mul-1-neg37.6%
*-commutative37.6%
associate--l+37.6%
*-commutative37.6%
*-commutative37.6%
*-commutative37.6%
*-commutative37.6%
*-commutative37.6%
*-commutative37.6%
*-commutative37.6%
*-commutative37.6%
Simplified37.6%
Taylor expanded in y3 around inf 38.1%
*-commutative38.1%
Simplified38.1%
Taylor expanded in y0 around 0 34.7%
mul-1-neg34.7%
*-commutative34.7%
distribute-rgt-neg-in34.7%
Simplified34.7%
if -3.9500000000000002e-85 < y0 < 2.59999999999999985e-57Initial program 33.5%
associate-+l-33.5%
Simplified33.5%
Taylor expanded in b around inf 37.2%
Taylor expanded in y around inf 36.2%
associate-*r*37.2%
*-commutative37.2%
*-commutative37.2%
+-commutative37.2%
mul-1-neg37.2%
unsub-neg37.2%
Simplified37.2%
if 2.59999999999999985e-57 < y0 < 9.19999999999999983e216Initial program 26.1%
associate-+l-26.1%
Simplified26.1%
Taylor expanded in y2 around inf 39.4%
Taylor expanded in c around inf 42.0%
if 9.19999999999999983e216 < y0 < 7.79999999999999957e288Initial program 6.3%
associate-+l-6.3%
Simplified6.3%
Taylor expanded in y2 around inf 38.6%
Taylor expanded in k around inf 51.0%
associate-*r*51.0%
*-commutative51.0%
Simplified51.0%
Taylor expanded in y1 around 0 44.9%
mul-1-neg44.9%
associate-*r*50.9%
*-commutative50.9%
Simplified50.9%
if 7.79999999999999957e288 < y0 Initial program 0.0%
associate-+l-0.0%
Simplified0.0%
Taylor expanded in z around -inf 28.6%
mul-1-neg28.6%
*-commutative28.6%
associate--l+28.6%
*-commutative28.6%
*-commutative28.6%
*-commutative28.6%
*-commutative28.6%
*-commutative28.6%
*-commutative28.6%
*-commutative28.6%
*-commutative28.6%
Simplified28.6%
Taylor expanded in y3 around inf 43.0%
*-commutative43.0%
Simplified43.0%
Taylor expanded in y0 around inf 57.7%
*-commutative57.7%
*-commutative57.7%
Simplified57.7%
Final simplification40.7%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* y0 (* j (- (* y3 y5) (* x b))))))
(if (<= y0 -4e+36)
t_1
(if (<= y0 -7.8e-85)
(* z (* y3 (* a y1)))
(if (<= y0 1.38e-55)
(* b (* y (- (* x a) (* k y4))))
(if (<= y0 1.65e+259) (* c (* y2 (- (* x y0) (* t y4)))) 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 = y0 * (j * ((y3 * y5) - (x * b)));
double tmp;
if (y0 <= -4e+36) {
tmp = t_1;
} else if (y0 <= -7.8e-85) {
tmp = z * (y3 * (a * y1));
} else if (y0 <= 1.38e-55) {
tmp = b * (y * ((x * a) - (k * y4)));
} else if (y0 <= 1.65e+259) {
tmp = c * (y2 * ((x * y0) - (t * y4)));
} 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 = y0 * (j * ((y3 * y5) - (x * b)))
if (y0 <= (-4d+36)) then
tmp = t_1
else if (y0 <= (-7.8d-85)) then
tmp = z * (y3 * (a * y1))
else if (y0 <= 1.38d-55) then
tmp = b * (y * ((x * a) - (k * y4)))
else if (y0 <= 1.65d+259) then
tmp = c * (y2 * ((x * y0) - (t * y4)))
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 = y0 * (j * ((y3 * y5) - (x * b)));
double tmp;
if (y0 <= -4e+36) {
tmp = t_1;
} else if (y0 <= -7.8e-85) {
tmp = z * (y3 * (a * y1));
} else if (y0 <= 1.38e-55) {
tmp = b * (y * ((x * a) - (k * y4)));
} else if (y0 <= 1.65e+259) {
tmp = c * (y2 * ((x * y0) - (t * y4)));
} 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 = y0 * (j * ((y3 * y5) - (x * b))) tmp = 0 if y0 <= -4e+36: tmp = t_1 elif y0 <= -7.8e-85: tmp = z * (y3 * (a * y1)) elif y0 <= 1.38e-55: tmp = b * (y * ((x * a) - (k * y4))) elif y0 <= 1.65e+259: tmp = c * (y2 * ((x * y0) - (t * y4))) 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(y0 * Float64(j * Float64(Float64(y3 * y5) - Float64(x * b)))) tmp = 0.0 if (y0 <= -4e+36) tmp = t_1; elseif (y0 <= -7.8e-85) tmp = Float64(z * Float64(y3 * Float64(a * y1))); elseif (y0 <= 1.38e-55) tmp = Float64(b * Float64(y * Float64(Float64(x * a) - Float64(k * y4)))); elseif (y0 <= 1.65e+259) tmp = Float64(c * Float64(y2 * Float64(Float64(x * y0) - Float64(t * y4)))); 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 = y0 * (j * ((y3 * y5) - (x * b))); tmp = 0.0; if (y0 <= -4e+36) tmp = t_1; elseif (y0 <= -7.8e-85) tmp = z * (y3 * (a * y1)); elseif (y0 <= 1.38e-55) tmp = b * (y * ((x * a) - (k * y4))); elseif (y0 <= 1.65e+259) tmp = c * (y2 * ((x * y0) - (t * y4))); 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[(y0 * N[(j * N[(N[(y3 * y5), $MachinePrecision] - N[(x * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y0, -4e+36], t$95$1, If[LessEqual[y0, -7.8e-85], N[(z * N[(y3 * N[(a * y1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 1.38e-55], N[(b * N[(y * N[(N[(x * a), $MachinePrecision] - N[(k * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y0, 1.65e+259], N[(c * N[(y2 * N[(N[(x * y0), $MachinePrecision] - N[(t * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y0 \cdot \left(j \cdot \left(y3 \cdot y5 - x \cdot b\right)\right)\\
\mathbf{if}\;y0 \leq -4 \cdot 10^{+36}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y0 \leq -7.8 \cdot 10^{-85}:\\
\;\;\;\;z \cdot \left(y3 \cdot \left(a \cdot y1\right)\right)\\
\mathbf{elif}\;y0 \leq 1.38 \cdot 10^{-55}:\\
\;\;\;\;b \cdot \left(y \cdot \left(x \cdot a - k \cdot y4\right)\right)\\
\mathbf{elif}\;y0 \leq 1.65 \cdot 10^{+259}:\\
\;\;\;\;c \cdot \left(y2 \cdot \left(x \cdot y0 - t \cdot y4\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if y0 < -4.00000000000000017e36 or 1.65e259 < y0 Initial program 14.6%
+-commutative14.6%
fma-def17.5%
*-commutative17.5%
*-commutative17.5%
Simplified19.0%
Taylor expanded in j around inf 26.6%
Taylor expanded in y0 around inf 50.6%
if -4.00000000000000017e36 < y0 < -7.79999999999999977e-85Initial program 27.7%
associate-+l-27.7%
Simplified27.7%
Taylor expanded in z around -inf 37.6%
mul-1-neg37.6%
*-commutative37.6%
associate--l+37.6%
*-commutative37.6%
*-commutative37.6%
*-commutative37.6%
*-commutative37.6%
*-commutative37.6%
*-commutative37.6%
*-commutative37.6%
*-commutative37.6%
Simplified37.6%
Taylor expanded in y3 around inf 38.1%
*-commutative38.1%
Simplified38.1%
Taylor expanded in y0 around 0 34.7%
mul-1-neg34.7%
*-commutative34.7%
distribute-rgt-neg-in34.7%
Simplified34.7%
if -7.79999999999999977e-85 < y0 < 1.3799999999999999e-55Initial program 33.5%
associate-+l-33.5%
Simplified33.5%
Taylor expanded in b around inf 37.2%
Taylor expanded in y around inf 36.2%
associate-*r*37.2%
*-commutative37.2%
*-commutative37.2%
+-commutative37.2%
mul-1-neg37.2%
unsub-neg37.2%
Simplified37.2%
if 1.3799999999999999e-55 < y0 < 1.65e259Initial program 23.6%
associate-+l-23.6%
Simplified23.6%
Taylor expanded in y2 around inf 42.3%
Taylor expanded in c around inf 42.5%
Final simplification41.6%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* (- i) (* t (* j y5)))))
(if (<= y3 -4.8e-11)
(* c (* y0 (* z (- y3))))
(if (<= y3 -5.8e-240)
t_1
(if (<= y3 4.5e-247)
(* c (* y4 (* t (- y2))))
(if (<= y3 4.5e+86) t_1 (* y0 (* y3 (* j y5)))))))))
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 = -i * (t * (j * y5));
double tmp;
if (y3 <= -4.8e-11) {
tmp = c * (y0 * (z * -y3));
} else if (y3 <= -5.8e-240) {
tmp = t_1;
} else if (y3 <= 4.5e-247) {
tmp = c * (y4 * (t * -y2));
} else if (y3 <= 4.5e+86) {
tmp = t_1;
} else {
tmp = y0 * (y3 * (j * y5));
}
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 = -i * (t * (j * y5))
if (y3 <= (-4.8d-11)) then
tmp = c * (y0 * (z * -y3))
else if (y3 <= (-5.8d-240)) then
tmp = t_1
else if (y3 <= 4.5d-247) then
tmp = c * (y4 * (t * -y2))
else if (y3 <= 4.5d+86) then
tmp = t_1
else
tmp = y0 * (y3 * (j * y5))
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 = -i * (t * (j * y5));
double tmp;
if (y3 <= -4.8e-11) {
tmp = c * (y0 * (z * -y3));
} else if (y3 <= -5.8e-240) {
tmp = t_1;
} else if (y3 <= 4.5e-247) {
tmp = c * (y4 * (t * -y2));
} else if (y3 <= 4.5e+86) {
tmp = t_1;
} else {
tmp = y0 * (y3 * (j * y5));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): t_1 = -i * (t * (j * y5)) tmp = 0 if y3 <= -4.8e-11: tmp = c * (y0 * (z * -y3)) elif y3 <= -5.8e-240: tmp = t_1 elif y3 <= 4.5e-247: tmp = c * (y4 * (t * -y2)) elif y3 <= 4.5e+86: tmp = t_1 else: tmp = y0 * (y3 * (j * y5)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) t_1 = Float64(Float64(-i) * Float64(t * Float64(j * y5))) tmp = 0.0 if (y3 <= -4.8e-11) tmp = Float64(c * Float64(y0 * Float64(z * Float64(-y3)))); elseif (y3 <= -5.8e-240) tmp = t_1; elseif (y3 <= 4.5e-247) tmp = Float64(c * Float64(y4 * Float64(t * Float64(-y2)))); elseif (y3 <= 4.5e+86) tmp = t_1; else tmp = Float64(y0 * Float64(y3 * Float64(j * y5))); 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 = -i * (t * (j * y5)); tmp = 0.0; if (y3 <= -4.8e-11) tmp = c * (y0 * (z * -y3)); elseif (y3 <= -5.8e-240) tmp = t_1; elseif (y3 <= 4.5e-247) tmp = c * (y4 * (t * -y2)); elseif (y3 <= 4.5e+86) tmp = t_1; else tmp = y0 * (y3 * (j * y5)); 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[((-i) * N[(t * N[(j * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[y3, -4.8e-11], N[(c * N[(y0 * N[(z * (-y3)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, -5.8e-240], t$95$1, If[LessEqual[y3, 4.5e-247], N[(c * N[(y4 * N[(t * (-y2)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 4.5e+86], t$95$1, N[(y0 * N[(y3 * N[(j * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(-i\right) \cdot \left(t \cdot \left(j \cdot y5\right)\right)\\
\mathbf{if}\;y3 \leq -4.8 \cdot 10^{-11}:\\
\;\;\;\;c \cdot \left(y0 \cdot \left(z \cdot \left(-y3\right)\right)\right)\\
\mathbf{elif}\;y3 \leq -5.8 \cdot 10^{-240}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y3 \leq 4.5 \cdot 10^{-247}:\\
\;\;\;\;c \cdot \left(y4 \cdot \left(t \cdot \left(-y2\right)\right)\right)\\
\mathbf{elif}\;y3 \leq 4.5 \cdot 10^{+86}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;y0 \cdot \left(y3 \cdot \left(j \cdot y5\right)\right)\\
\end{array}
\end{array}
if y3 < -4.8000000000000002e-11Initial program 20.5%
associate-+l-20.5%
Simplified20.5%
Taylor expanded in z around -inf 27.6%
mul-1-neg27.6%
*-commutative27.6%
associate--l+27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
Simplified27.6%
Taylor expanded in y3 around inf 48.3%
*-commutative48.3%
Simplified48.3%
Taylor expanded in y0 around inf 40.0%
if -4.8000000000000002e-11 < y3 < -5.8000000000000004e-240 or 4.5000000000000002e-247 < y3 < 4.49999999999999993e86Initial program 28.5%
+-commutative28.5%
fma-def30.2%
*-commutative30.2%
*-commutative30.2%
Simplified32.7%
Taylor expanded in j around inf 41.5%
Taylor expanded in y5 around inf 29.9%
*-commutative29.9%
mul-1-neg29.9%
unsub-neg29.9%
*-commutative29.9%
Simplified29.9%
Taylor expanded in y0 around 0 24.9%
associate-*r*24.9%
neg-mul-124.9%
*-commutative24.9%
Simplified24.9%
if -5.8000000000000004e-240 < y3 < 4.5000000000000002e-247Initial program 38.7%
associate-+l-38.7%
Simplified38.7%
Taylor expanded in y2 around inf 58.8%
Taylor expanded in c around inf 39.7%
Taylor expanded in y0 around 0 43.6%
mul-1-neg43.6%
*-commutative43.6%
distribute-rgt-neg-in43.6%
Simplified43.6%
if 4.49999999999999993e86 < y3 Initial program 17.8%
+-commutative17.8%
fma-def23.7%
*-commutative23.7%
*-commutative23.7%
Simplified25.7%
Taylor expanded in j around inf 35.9%
Taylor expanded in y5 around inf 32.6%
*-commutative32.6%
mul-1-neg32.6%
unsub-neg32.6%
*-commutative32.6%
Simplified32.6%
Taylor expanded in y0 around inf 43.9%
*-commutative43.9%
Simplified43.9%
Final simplification34.0%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* y0 (* y3 (* j y5)))))
(if (<= j -135000000.0)
t_1
(if (<= j -2.8e-178)
(* k (* y4 (* y1 y2)))
(if (<= j 4.5e-14) (* c (* x (* y0 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 = y0 * (y3 * (j * y5));
double tmp;
if (j <= -135000000.0) {
tmp = t_1;
} else if (j <= -2.8e-178) {
tmp = k * (y4 * (y1 * y2));
} else if (j <= 4.5e-14) {
tmp = c * (x * (y0 * 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 = y0 * (y3 * (j * y5))
if (j <= (-135000000.0d0)) then
tmp = t_1
else if (j <= (-2.8d-178)) then
tmp = k * (y4 * (y1 * y2))
else if (j <= 4.5d-14) then
tmp = c * (x * (y0 * 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 = y0 * (y3 * (j * y5));
double tmp;
if (j <= -135000000.0) {
tmp = t_1;
} else if (j <= -2.8e-178) {
tmp = k * (y4 * (y1 * y2));
} else if (j <= 4.5e-14) {
tmp = c * (x * (y0 * 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 = y0 * (y3 * (j * y5)) tmp = 0 if j <= -135000000.0: tmp = t_1 elif j <= -2.8e-178: tmp = k * (y4 * (y1 * y2)) elif j <= 4.5e-14: tmp = c * (x * (y0 * 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(y0 * Float64(y3 * Float64(j * y5))) tmp = 0.0 if (j <= -135000000.0) tmp = t_1; elseif (j <= -2.8e-178) tmp = Float64(k * Float64(y4 * Float64(y1 * y2))); elseif (j <= 4.5e-14) tmp = Float64(c * Float64(x * Float64(y0 * 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 = y0 * (y3 * (j * y5)); tmp = 0.0; if (j <= -135000000.0) tmp = t_1; elseif (j <= -2.8e-178) tmp = k * (y4 * (y1 * y2)); elseif (j <= 4.5e-14) tmp = c * (x * (y0 * 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[(y0 * N[(y3 * N[(j * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[j, -135000000.0], t$95$1, If[LessEqual[j, -2.8e-178], N[(k * N[(y4 * N[(y1 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[j, 4.5e-14], N[(c * N[(x * N[(y0 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y0 \cdot \left(y3 \cdot \left(j \cdot y5\right)\right)\\
\mathbf{if}\;j \leq -135000000:\\
\;\;\;\;t_1\\
\mathbf{elif}\;j \leq -2.8 \cdot 10^{-178}:\\
\;\;\;\;k \cdot \left(y4 \cdot \left(y1 \cdot y2\right)\right)\\
\mathbf{elif}\;j \leq 4.5 \cdot 10^{-14}:\\
\;\;\;\;c \cdot \left(x \cdot \left(y0 \cdot y2\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if j < -1.35e8 or 4.4999999999999998e-14 < j Initial program 27.7%
+-commutative27.7%
fma-def31.5%
*-commutative31.5%
*-commutative31.5%
Simplified34.5%
Taylor expanded in j around inf 46.9%
Taylor expanded in y5 around inf 36.4%
*-commutative36.4%
mul-1-neg36.4%
unsub-neg36.4%
*-commutative36.4%
Simplified36.4%
Taylor expanded in y0 around inf 32.3%
*-commutative32.3%
Simplified32.3%
if -1.35e8 < j < -2.80000000000000019e-178Initial program 27.9%
associate-+l-27.9%
Simplified27.9%
Taylor expanded in y2 around inf 41.9%
Taylor expanded in k around inf 31.6%
associate-*r*26.7%
*-commutative26.7%
Simplified26.7%
Taylor expanded in y1 around inf 33.8%
*-commutative33.8%
Simplified33.8%
if -2.80000000000000019e-178 < j < 4.4999999999999998e-14Initial program 20.9%
associate-+l-20.9%
Simplified20.9%
Taylor expanded in y2 around inf 47.1%
Taylor expanded in c around inf 25.2%
Taylor expanded in y0 around inf 20.0%
Taylor expanded in c around 0 21.2%
*-commutative21.2%
associate-*r*21.2%
Simplified21.2%
Final simplification29.0%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (if (<= y3 -5.8e-12) (* c (* y0 (* z (- y3)))) (if (<= y3 1.3e-15) (* k (* (* y0 y5) (- y2))) (* y0 (* y3 (* j y5))))))
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.8e-12) {
tmp = c * (y0 * (z * -y3));
} else if (y3 <= 1.3e-15) {
tmp = k * ((y0 * y5) * -y2);
} else {
tmp = y0 * (y3 * (j * y5));
}
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.8d-12)) then
tmp = c * (y0 * (z * -y3))
else if (y3 <= 1.3d-15) then
tmp = k * ((y0 * y5) * -y2)
else
tmp = y0 * (y3 * (j * y5))
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.8e-12) {
tmp = c * (y0 * (z * -y3));
} else if (y3 <= 1.3e-15) {
tmp = k * ((y0 * y5) * -y2);
} else {
tmp = y0 * (y3 * (j * y5));
}
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.8e-12: tmp = c * (y0 * (z * -y3)) elif y3 <= 1.3e-15: tmp = k * ((y0 * y5) * -y2) else: tmp = y0 * (y3 * (j * y5)) 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.8e-12) tmp = Float64(c * Float64(y0 * Float64(z * Float64(-y3)))); elseif (y3 <= 1.3e-15) tmp = Float64(k * Float64(Float64(y0 * y5) * Float64(-y2))); else tmp = Float64(y0 * Float64(y3 * Float64(j * y5))); 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.8e-12) tmp = c * (y0 * (z * -y3)); elseif (y3 <= 1.3e-15) tmp = k * ((y0 * y5) * -y2); else tmp = y0 * (y3 * (j * y5)); 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.8e-12], N[(c * N[(y0 * N[(z * (-y3)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 1.3e-15], N[(k * N[(N[(y0 * y5), $MachinePrecision] * (-y2)), $MachinePrecision]), $MachinePrecision], N[(y0 * N[(y3 * N[(j * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y3 \leq -5.8 \cdot 10^{-12}:\\
\;\;\;\;c \cdot \left(y0 \cdot \left(z \cdot \left(-y3\right)\right)\right)\\
\mathbf{elif}\;y3 \leq 1.3 \cdot 10^{-15}:\\
\;\;\;\;k \cdot \left(\left(y0 \cdot y5\right) \cdot \left(-y2\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y0 \cdot \left(y3 \cdot \left(j \cdot y5\right)\right)\\
\end{array}
\end{array}
if y3 < -5.8000000000000003e-12Initial program 20.5%
associate-+l-20.5%
Simplified20.5%
Taylor expanded in z around -inf 27.6%
mul-1-neg27.6%
*-commutative27.6%
associate--l+27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
Simplified27.6%
Taylor expanded in y3 around inf 48.3%
*-commutative48.3%
Simplified48.3%
Taylor expanded in y0 around inf 40.0%
if -5.8000000000000003e-12 < y3 < 1.30000000000000002e-15Initial program 33.0%
associate-+l-33.0%
Simplified33.0%
Taylor expanded in y2 around inf 44.6%
Taylor expanded in k around inf 27.8%
associate-*r*25.5%
*-commutative25.5%
Simplified25.5%
Taylor expanded in y1 around 0 25.4%
mul-1-neg25.4%
associate-*r*24.6%
*-commutative24.6%
Simplified24.6%
if 1.30000000000000002e-15 < y3 Initial program 16.8%
+-commutative16.8%
fma-def22.3%
*-commutative22.3%
*-commutative22.3%
Simplified23.7%
Taylor expanded in j around inf 39.4%
Taylor expanded in y5 around inf 34.6%
*-commutative34.6%
mul-1-neg34.6%
unsub-neg34.6%
*-commutative34.6%
Simplified34.6%
Taylor expanded in y0 around inf 37.1%
*-commutative37.1%
Simplified37.1%
Final simplification31.6%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (if (or (<= y1 -2.3e+118) (not (<= y1 2.6e-114))) (* k (* y2 (* y1 y4))) (* c (* y2 (* x 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 ((y1 <= -2.3e+118) || !(y1 <= 2.6e-114)) {
tmp = k * (y2 * (y1 * y4));
} else {
tmp = c * (y2 * (x * 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 ((y1 <= (-2.3d+118)) .or. (.not. (y1 <= 2.6d-114))) then
tmp = k * (y2 * (y1 * y4))
else
tmp = c * (y2 * (x * 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 ((y1 <= -2.3e+118) || !(y1 <= 2.6e-114)) {
tmp = k * (y2 * (y1 * y4));
} else {
tmp = c * (y2 * (x * y0));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if (y1 <= -2.3e+118) or not (y1 <= 2.6e-114): tmp = k * (y2 * (y1 * y4)) else: tmp = c * (y2 * (x * 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 ((y1 <= -2.3e+118) || !(y1 <= 2.6e-114)) tmp = Float64(k * Float64(y2 * Float64(y1 * y4))); else tmp = Float64(c * Float64(y2 * Float64(x * 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 ((y1 <= -2.3e+118) || ~((y1 <= 2.6e-114))) tmp = k * (y2 * (y1 * y4)); else tmp = c * (y2 * (x * 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[y1, -2.3e+118], N[Not[LessEqual[y1, 2.6e-114]], $MachinePrecision]], N[(k * N[(y2 * N[(y1 * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(c * N[(y2 * N[(x * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y1 \leq -2.3 \cdot 10^{+118} \lor \neg \left(y1 \leq 2.6 \cdot 10^{-114}\right):\\
\;\;\;\;k \cdot \left(y2 \cdot \left(y1 \cdot y4\right)\right)\\
\mathbf{else}:\\
\;\;\;\;c \cdot \left(y2 \cdot \left(x \cdot y0\right)\right)\\
\end{array}
\end{array}
if y1 < -2.30000000000000016e118 or 2.60000000000000013e-114 < y1 Initial program 23.0%
associate-+l-23.0%
Simplified23.0%
Taylor expanded in y2 around inf 37.5%
Taylor expanded in k around inf 32.8%
associate-*r*27.5%
*-commutative27.5%
Simplified27.5%
Taylor expanded in y1 around inf 23.5%
associate-*r*24.2%
*-commutative24.2%
Simplified24.2%
if -2.30000000000000016e118 < y1 < 2.60000000000000013e-114Initial program 28.1%
associate-+l-28.1%
Simplified28.1%
Taylor expanded in y2 around inf 42.6%
Taylor expanded in c around inf 28.9%
Taylor expanded in y0 around inf 21.4%
Final simplification22.8%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (if (<= y1 -1.55e+118) (* k (* y4 (* y1 y2))) (if (<= y1 2.4e-114) (* c (* y2 (* x y0))) (* k (* y2 (* y1 y4))))))
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 (y1 <= -1.55e+118) {
tmp = k * (y4 * (y1 * y2));
} else if (y1 <= 2.4e-114) {
tmp = c * (y2 * (x * y0));
} else {
tmp = k * (y2 * (y1 * y4));
}
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 (y1 <= (-1.55d+118)) then
tmp = k * (y4 * (y1 * y2))
else if (y1 <= 2.4d-114) then
tmp = c * (y2 * (x * y0))
else
tmp = k * (y2 * (y1 * y4))
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 (y1 <= -1.55e+118) {
tmp = k * (y4 * (y1 * y2));
} else if (y1 <= 2.4e-114) {
tmp = c * (y2 * (x * y0));
} else {
tmp = k * (y2 * (y1 * y4));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if y1 <= -1.55e+118: tmp = k * (y4 * (y1 * y2)) elif y1 <= 2.4e-114: tmp = c * (y2 * (x * y0)) else: tmp = k * (y2 * (y1 * y4)) return tmp
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = 0.0 if (y1 <= -1.55e+118) tmp = Float64(k * Float64(y4 * Float64(y1 * y2))); elseif (y1 <= 2.4e-114) tmp = Float64(c * Float64(y2 * Float64(x * y0))); else tmp = Float64(k * Float64(y2 * Float64(y1 * y4))); 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 (y1 <= -1.55e+118) tmp = k * (y4 * (y1 * y2)); elseif (y1 <= 2.4e-114) tmp = c * (y2 * (x * y0)); else tmp = k * (y2 * (y1 * y4)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := If[LessEqual[y1, -1.55e+118], N[(k * N[(y4 * N[(y1 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y1, 2.4e-114], N[(c * N[(y2 * N[(x * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(k * N[(y2 * N[(y1 * y4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y1 \leq -1.55 \cdot 10^{+118}:\\
\;\;\;\;k \cdot \left(y4 \cdot \left(y1 \cdot y2\right)\right)\\
\mathbf{elif}\;y1 \leq 2.4 \cdot 10^{-114}:\\
\;\;\;\;c \cdot \left(y2 \cdot \left(x \cdot y0\right)\right)\\
\mathbf{else}:\\
\;\;\;\;k \cdot \left(y2 \cdot \left(y1 \cdot y4\right)\right)\\
\end{array}
\end{array}
if y1 < -1.54999999999999993e118Initial program 20.6%
associate-+l-20.6%
Simplified20.6%
Taylor expanded in y2 around inf 41.6%
Taylor expanded in k around inf 30.4%
associate-*r*22.1%
*-commutative22.1%
Simplified22.1%
Taylor expanded in y1 around inf 30.3%
*-commutative30.3%
Simplified30.3%
if -1.54999999999999993e118 < y1 < 2.4000000000000001e-114Initial program 28.1%
associate-+l-28.1%
Simplified28.1%
Taylor expanded in y2 around inf 42.6%
Taylor expanded in c around inf 28.9%
Taylor expanded in y0 around inf 21.4%
if 2.4000000000000001e-114 < y1 Initial program 23.9%
associate-+l-23.9%
Simplified23.9%
Taylor expanded in y2 around inf 36.0%
Taylor expanded in k around inf 33.6%
associate-*r*29.4%
*-commutative29.4%
Simplified29.4%
Taylor expanded in y1 around inf 21.0%
associate-*r*23.0%
*-commutative23.0%
Simplified23.0%
Final simplification23.2%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (if (<= y3 -3e-12) (* c (* y0 (* z (- y3)))) (if (<= y3 2.4e+87) (* c (* x (* y0 y2))) (* y0 (* y3 (* j y5))))))
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 <= -3e-12) {
tmp = c * (y0 * (z * -y3));
} else if (y3 <= 2.4e+87) {
tmp = c * (x * (y0 * y2));
} else {
tmp = y0 * (y3 * (j * y5));
}
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 <= (-3d-12)) then
tmp = c * (y0 * (z * -y3))
else if (y3 <= 2.4d+87) then
tmp = c * (x * (y0 * y2))
else
tmp = y0 * (y3 * (j * y5))
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 <= -3e-12) {
tmp = c * (y0 * (z * -y3));
} else if (y3 <= 2.4e+87) {
tmp = c * (x * (y0 * y2));
} else {
tmp = y0 * (y3 * (j * y5));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): tmp = 0 if y3 <= -3e-12: tmp = c * (y0 * (z * -y3)) elif y3 <= 2.4e+87: tmp = c * (x * (y0 * y2)) else: tmp = y0 * (y3 * (j * y5)) 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 <= -3e-12) tmp = Float64(c * Float64(y0 * Float64(z * Float64(-y3)))); elseif (y3 <= 2.4e+87) tmp = Float64(c * Float64(x * Float64(y0 * y2))); else tmp = Float64(y0 * Float64(y3 * Float64(j * y5))); 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 <= -3e-12) tmp = c * (y0 * (z * -y3)); elseif (y3 <= 2.4e+87) tmp = c * (x * (y0 * y2)); else tmp = y0 * (y3 * (j * y5)); 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, -3e-12], N[(c * N[(y0 * N[(z * (-y3)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y3, 2.4e+87], N[(c * N[(x * N[(y0 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(y0 * N[(y3 * N[(j * y5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y3 \leq -3 \cdot 10^{-12}:\\
\;\;\;\;c \cdot \left(y0 \cdot \left(z \cdot \left(-y3\right)\right)\right)\\
\mathbf{elif}\;y3 \leq 2.4 \cdot 10^{+87}:\\
\;\;\;\;c \cdot \left(x \cdot \left(y0 \cdot y2\right)\right)\\
\mathbf{else}:\\
\;\;\;\;y0 \cdot \left(y3 \cdot \left(j \cdot y5\right)\right)\\
\end{array}
\end{array}
if y3 < -3.0000000000000001e-12Initial program 20.5%
associate-+l-20.5%
Simplified20.5%
Taylor expanded in z around -inf 27.6%
mul-1-neg27.6%
*-commutative27.6%
associate--l+27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
*-commutative27.6%
Simplified27.6%
Taylor expanded in y3 around inf 48.3%
*-commutative48.3%
Simplified48.3%
Taylor expanded in y0 around inf 40.0%
if -3.0000000000000001e-12 < y3 < 2.39999999999999981e87Initial program 30.1%
associate-+l-30.1%
Simplified30.1%
Taylor expanded in y2 around inf 43.4%
Taylor expanded in c around inf 25.7%
Taylor expanded in y0 around inf 18.1%
Taylor expanded in c around 0 17.4%
*-commutative17.4%
associate-*r*18.1%
Simplified18.1%
if 2.39999999999999981e87 < y3 Initial program 18.2%
+-commutative18.2%
fma-def24.2%
*-commutative24.2%
*-commutative24.2%
Simplified26.2%
Taylor expanded in j around inf 36.6%
Taylor expanded in y5 around inf 33.3%
*-commutative33.3%
mul-1-neg33.3%
unsub-neg33.3%
*-commutative33.3%
Simplified33.3%
Taylor expanded in y0 around inf 44.8%
*-commutative44.8%
Simplified44.8%
Final simplification28.3%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (* c (* y2 (* x 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 c * (y2 * (x * 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 = c * (y2 * (x * 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 c * (y2 * (x * y0));
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): return c * (y2 * (x * y0))
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) return Float64(c * Float64(y2 * Float64(x * y0))) end
function tmp = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = c * (y2 * (x * y0)); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := N[(c * N[(y2 * N[(x * y0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
c \cdot \left(y2 \cdot \left(x \cdot y0\right)\right)
\end{array}
Initial program 25.6%
associate-+l-25.6%
Simplified25.6%
Taylor expanded in y2 around inf 40.1%
Taylor expanded in c around inf 24.4%
Taylor expanded in y0 around inf 16.1%
Final simplification16.1%
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5) :precision binary64 (* c (* x (* y0 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) {
return c * (x * (y0 * y2));
}
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 = c * (x * (y0 * y2))
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 c * (x * (y0 * y2));
}
def code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5): return c * (x * (y0 * y2))
function code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) return Float64(c * Float64(x * Float64(y0 * y2))) end
function tmp = code(x, y, z, t, a, b, c, i, j, k, y0, y1, y2, y3, y4, y5) tmp = c * (x * (y0 * y2)); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_, k_, y0_, y1_, y2_, y3_, y4_, y5_] := N[(c * N[(x * N[(y0 * y2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
c \cdot \left(x \cdot \left(y0 \cdot y2\right)\right)
\end{array}
Initial program 25.6%
associate-+l-25.6%
Simplified25.6%
Taylor expanded in y2 around inf 40.1%
Taylor expanded in c around inf 24.4%
Taylor expanded in y0 around inf 16.1%
Taylor expanded in c around 0 16.1%
*-commutative16.1%
associate-*r*16.5%
Simplified16.5%
Final simplification16.5%
(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 2023181
(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
:herbie-target
(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)))))