
(FPCore (x y z t a b c i j) :precision binary64 (+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)));
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
code = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)))
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)));
}
def code(x, y, z, t, a, b, c, i, j): return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)))
function code(x, y, z, t, a, b, c, i, j) return Float64(Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) - Float64(b * Float64(Float64(c * z) - Float64(i * a)))) + Float64(j * Float64(Float64(c * t) - Float64(i * y)))) end
function tmp = code(x, y, z, t, a, b, c, i, j) tmp = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y))); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := N[(N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b * N[(N[(c * z), $MachinePrecision] - N[(i * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(c * t), $MachinePrecision] - N[(i * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 25 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a b c i j) :precision binary64 (+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)));
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
code = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)))
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)));
}
def code(x, y, z, t, a, b, c, i, j): return ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y)))
function code(x, y, z, t, a, b, c, i, j) return Float64(Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) - Float64(b * Float64(Float64(c * z) - Float64(i * a)))) + Float64(j * Float64(Float64(c * t) - Float64(i * y)))) end
function tmp = code(x, y, z, t, a, b, c, i, j) tmp = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + (j * ((c * t) - (i * y))); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := N[(N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b * N[(N[(c * z), $MachinePrecision] - N[(i * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(c * t), $MachinePrecision] - N[(i * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)
\end{array}
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* b (- (* a i) (* z c))))
(t_2 (* t (- (* c j) (* x a))))
(t_3 (+ (+ (* x (- (* y z) (* t a))) t_1) (* j (- (* t c) (* y i))))))
(if (<= t_3 (- INFINITY))
(+ (+ (* y (- (* x z) (* i j))) t_2) t_1)
(if (<= t_3 INFINITY) t_3 t_2))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = b * ((a * i) - (z * c));
double t_2 = t * ((c * j) - (x * a));
double t_3 = ((x * ((y * z) - (t * a))) + t_1) + (j * ((t * c) - (y * i)));
double tmp;
if (t_3 <= -((double) INFINITY)) {
tmp = ((y * ((x * z) - (i * j))) + t_2) + t_1;
} else if (t_3 <= ((double) INFINITY)) {
tmp = t_3;
} else {
tmp = t_2;
}
return tmp;
}
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = b * ((a * i) - (z * c));
double t_2 = t * ((c * j) - (x * a));
double t_3 = ((x * ((y * z) - (t * a))) + t_1) + (j * ((t * c) - (y * i)));
double tmp;
if (t_3 <= -Double.POSITIVE_INFINITY) {
tmp = ((y * ((x * z) - (i * j))) + t_2) + t_1;
} else if (t_3 <= Double.POSITIVE_INFINITY) {
tmp = t_3;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = b * ((a * i) - (z * c)) t_2 = t * ((c * j) - (x * a)) t_3 = ((x * ((y * z) - (t * a))) + t_1) + (j * ((t * c) - (y * i))) tmp = 0 if t_3 <= -math.inf: tmp = ((y * ((x * z) - (i * j))) + t_2) + t_1 elif t_3 <= math.inf: tmp = t_3 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(b * Float64(Float64(a * i) - Float64(z * c))) t_2 = Float64(t * Float64(Float64(c * j) - Float64(x * a))) t_3 = Float64(Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) + t_1) + Float64(j * Float64(Float64(t * c) - Float64(y * i)))) tmp = 0.0 if (t_3 <= Float64(-Inf)) tmp = Float64(Float64(Float64(y * Float64(Float64(x * z) - Float64(i * j))) + t_2) + t_1); elseif (t_3 <= Inf) tmp = t_3; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = b * ((a * i) - (z * c)); t_2 = t * ((c * j) - (x * a)); t_3 = ((x * ((y * z) - (t * a))) + t_1) + (j * ((t * c) - (y * i))); tmp = 0.0; if (t_3 <= -Inf) tmp = ((y * ((x * z) - (i * j))) + t_2) + t_1; elseif (t_3 <= Inf) tmp = t_3; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision] + N[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$3, (-Infinity)], N[(N[(N[(y * N[(N[(x * z), $MachinePrecision] - N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$2), $MachinePrecision] + t$95$1), $MachinePrecision], If[LessEqual[t$95$3, Infinity], t$95$3, t$95$2]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot \left(a \cdot i - z \cdot c\right)\\
t_2 := t \cdot \left(c \cdot j - x \cdot a\right)\\
t_3 := \left(x \cdot \left(y \cdot z - t \cdot a\right) + t_1\right) + j \cdot \left(t \cdot c - y \cdot i\right)\\
\mathbf{if}\;t_3 \leq -\infty:\\
\;\;\;\;\left(y \cdot \left(x \cdot z - i \cdot j\right) + t_2\right) + t_1\\
\mathbf{elif}\;t_3 \leq \infty:\\
\;\;\;\;t_3\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if (+.f64 (-.f64 (*.f64 x (-.f64 (*.f64 y z) (*.f64 t a))) (*.f64 b (-.f64 (*.f64 c z) (*.f64 i a)))) (*.f64 j (-.f64 (*.f64 c t) (*.f64 i y)))) < -inf.0Initial program 85.0%
Taylor expanded in t around -inf 88.8%
Simplified92.8%
if -inf.0 < (+.f64 (-.f64 (*.f64 x (-.f64 (*.f64 y z) (*.f64 t a))) (*.f64 b (-.f64 (*.f64 c z) (*.f64 i a)))) (*.f64 j (-.f64 (*.f64 c t) (*.f64 i y)))) < +inf.0Initial program 94.3%
if +inf.0 < (+.f64 (-.f64 (*.f64 x (-.f64 (*.f64 y z) (*.f64 t a))) (*.f64 b (-.f64 (*.f64 c z) (*.f64 i a)))) (*.f64 j (-.f64 (*.f64 c t) (*.f64 i y)))) Initial program 0.0%
Taylor expanded in t around -inf 16.3%
Simplified20.4%
Taylor expanded in t around inf 53.5%
Final simplification86.1%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1
(+
(+ (* x (- (* y z) (* t a))) (* b (- (* a i) (* z c))))
(* j (- (* t c) (* y i))))))
(if (<= t_1 INFINITY) t_1 (* t (- (* c j) (* x a))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = ((x * ((y * z) - (t * a))) + (b * ((a * i) - (z * c)))) + (j * ((t * c) - (y * i)));
double tmp;
if (t_1 <= ((double) INFINITY)) {
tmp = t_1;
} else {
tmp = t * ((c * j) - (x * a));
}
return tmp;
}
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = ((x * ((y * z) - (t * a))) + (b * ((a * i) - (z * c)))) + (j * ((t * c) - (y * i)));
double tmp;
if (t_1 <= Double.POSITIVE_INFINITY) {
tmp = t_1;
} else {
tmp = t * ((c * j) - (x * a));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = ((x * ((y * z) - (t * a))) + (b * ((a * i) - (z * c)))) + (j * ((t * c) - (y * i))) tmp = 0 if t_1 <= math.inf: tmp = t_1 else: tmp = t * ((c * j) - (x * a)) return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) + Float64(b * Float64(Float64(a * i) - Float64(z * c)))) + Float64(j * Float64(Float64(t * c) - Float64(y * i)))) tmp = 0.0 if (t_1 <= Inf) tmp = t_1; else tmp = Float64(t * Float64(Float64(c * j) - Float64(x * a))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = ((x * ((y * z) - (t * a))) + (b * ((a * i) - (z * c)))) + (j * ((t * c) - (y * i))); tmp = 0.0; if (t_1 <= Inf) tmp = t_1; else tmp = t * ((c * j) - (x * a)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, Infinity], t$95$1, N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(x \cdot \left(y \cdot z - t \cdot a\right) + b \cdot \left(a \cdot i - z \cdot c\right)\right) + j \cdot \left(t \cdot c - y \cdot i\right)\\
\mathbf{if}\;t_1 \leq \infty:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t \cdot \left(c \cdot j - x \cdot a\right)\\
\end{array}
\end{array}
if (+.f64 (-.f64 (*.f64 x (-.f64 (*.f64 y z) (*.f64 t a))) (*.f64 b (-.f64 (*.f64 c z) (*.f64 i a)))) (*.f64 j (-.f64 (*.f64 c t) (*.f64 i y)))) < +inf.0Initial program 91.2%
if +inf.0 < (+.f64 (-.f64 (*.f64 x (-.f64 (*.f64 y z) (*.f64 t a))) (*.f64 b (-.f64 (*.f64 c z) (*.f64 i a)))) (*.f64 j (-.f64 (*.f64 c t) (*.f64 i y)))) Initial program 0.0%
Taylor expanded in t around -inf 16.3%
Simplified20.4%
Taylor expanded in t around inf 53.5%
Final simplification84.0%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* a (- (* b i) (* x t))))
(t_2 (+ t_1 (* x (* y z))))
(t_3 (* c (- (* t j) (* z b)))))
(if (<= c -9.2e+28)
t_3
(if (<= c -2300000000000.0)
(* z (* x y))
(if (<= c -1.9e-115)
t_3
(if (<= c -4.2e-228)
(* y (- (* x z) (* i j)))
(if (<= c -5.4e-271)
t_1
(if (<= c 8.8e-134)
t_2
(if (<= c 1.75e+97)
(* t (- (* c j) (* x a)))
(if (<= c 6.5e+128) t_2 t_3))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = a * ((b * i) - (x * t));
double t_2 = t_1 + (x * (y * z));
double t_3 = c * ((t * j) - (z * b));
double tmp;
if (c <= -9.2e+28) {
tmp = t_3;
} else if (c <= -2300000000000.0) {
tmp = z * (x * y);
} else if (c <= -1.9e-115) {
tmp = t_3;
} else if (c <= -4.2e-228) {
tmp = y * ((x * z) - (i * j));
} else if (c <= -5.4e-271) {
tmp = t_1;
} else if (c <= 8.8e-134) {
tmp = t_2;
} else if (c <= 1.75e+97) {
tmp = t * ((c * j) - (x * a));
} else if (c <= 6.5e+128) {
tmp = t_2;
} else {
tmp = t_3;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = a * ((b * i) - (x * t))
t_2 = t_1 + (x * (y * z))
t_3 = c * ((t * j) - (z * b))
if (c <= (-9.2d+28)) then
tmp = t_3
else if (c <= (-2300000000000.0d0)) then
tmp = z * (x * y)
else if (c <= (-1.9d-115)) then
tmp = t_3
else if (c <= (-4.2d-228)) then
tmp = y * ((x * z) - (i * j))
else if (c <= (-5.4d-271)) then
tmp = t_1
else if (c <= 8.8d-134) then
tmp = t_2
else if (c <= 1.75d+97) then
tmp = t * ((c * j) - (x * a))
else if (c <= 6.5d+128) then
tmp = t_2
else
tmp = t_3
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = a * ((b * i) - (x * t));
double t_2 = t_1 + (x * (y * z));
double t_3 = c * ((t * j) - (z * b));
double tmp;
if (c <= -9.2e+28) {
tmp = t_3;
} else if (c <= -2300000000000.0) {
tmp = z * (x * y);
} else if (c <= -1.9e-115) {
tmp = t_3;
} else if (c <= -4.2e-228) {
tmp = y * ((x * z) - (i * j));
} else if (c <= -5.4e-271) {
tmp = t_1;
} else if (c <= 8.8e-134) {
tmp = t_2;
} else if (c <= 1.75e+97) {
tmp = t * ((c * j) - (x * a));
} else if (c <= 6.5e+128) {
tmp = t_2;
} else {
tmp = t_3;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = a * ((b * i) - (x * t)) t_2 = t_1 + (x * (y * z)) t_3 = c * ((t * j) - (z * b)) tmp = 0 if c <= -9.2e+28: tmp = t_3 elif c <= -2300000000000.0: tmp = z * (x * y) elif c <= -1.9e-115: tmp = t_3 elif c <= -4.2e-228: tmp = y * ((x * z) - (i * j)) elif c <= -5.4e-271: tmp = t_1 elif c <= 8.8e-134: tmp = t_2 elif c <= 1.75e+97: tmp = t * ((c * j) - (x * a)) elif c <= 6.5e+128: tmp = t_2 else: tmp = t_3 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(a * Float64(Float64(b * i) - Float64(x * t))) t_2 = Float64(t_1 + Float64(x * Float64(y * z))) t_3 = Float64(c * Float64(Float64(t * j) - Float64(z * b))) tmp = 0.0 if (c <= -9.2e+28) tmp = t_3; elseif (c <= -2300000000000.0) tmp = Float64(z * Float64(x * y)); elseif (c <= -1.9e-115) tmp = t_3; elseif (c <= -4.2e-228) tmp = Float64(y * Float64(Float64(x * z) - Float64(i * j))); elseif (c <= -5.4e-271) tmp = t_1; elseif (c <= 8.8e-134) tmp = t_2; elseif (c <= 1.75e+97) tmp = Float64(t * Float64(Float64(c * j) - Float64(x * a))); elseif (c <= 6.5e+128) tmp = t_2; else tmp = t_3; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = a * ((b * i) - (x * t)); t_2 = t_1 + (x * (y * z)); t_3 = c * ((t * j) - (z * b)); tmp = 0.0; if (c <= -9.2e+28) tmp = t_3; elseif (c <= -2300000000000.0) tmp = z * (x * y); elseif (c <= -1.9e-115) tmp = t_3; elseif (c <= -4.2e-228) tmp = y * ((x * z) - (i * j)); elseif (c <= -5.4e-271) tmp = t_1; elseif (c <= 8.8e-134) tmp = t_2; elseif (c <= 1.75e+97) tmp = t * ((c * j) - (x * a)); elseif (c <= 6.5e+128) tmp = t_2; else tmp = t_3; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(a * N[(N[(b * i), $MachinePrecision] - N[(x * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t$95$1 + N[(x * N[(y * z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(c * N[(N[(t * j), $MachinePrecision] - N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[c, -9.2e+28], t$95$3, If[LessEqual[c, -2300000000000.0], N[(z * N[(x * y), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, -1.9e-115], t$95$3, If[LessEqual[c, -4.2e-228], N[(y * N[(N[(x * z), $MachinePrecision] - N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, -5.4e-271], t$95$1, If[LessEqual[c, 8.8e-134], t$95$2, If[LessEqual[c, 1.75e+97], N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 6.5e+128], t$95$2, t$95$3]]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(b \cdot i - x \cdot t\right)\\
t_2 := t_1 + x \cdot \left(y \cdot z\right)\\
t_3 := c \cdot \left(t \cdot j - z \cdot b\right)\\
\mathbf{if}\;c \leq -9.2 \cdot 10^{+28}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;c \leq -2300000000000:\\
\;\;\;\;z \cdot \left(x \cdot y\right)\\
\mathbf{elif}\;c \leq -1.9 \cdot 10^{-115}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;c \leq -4.2 \cdot 10^{-228}:\\
\;\;\;\;y \cdot \left(x \cdot z - i \cdot j\right)\\
\mathbf{elif}\;c \leq -5.4 \cdot 10^{-271}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;c \leq 8.8 \cdot 10^{-134}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;c \leq 1.75 \cdot 10^{+97}:\\
\;\;\;\;t \cdot \left(c \cdot j - x \cdot a\right)\\
\mathbf{elif}\;c \leq 6.5 \cdot 10^{+128}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t_3\\
\end{array}
\end{array}
if c < -9.19999999999999935e28 or -2.3e12 < c < -1.89999999999999996e-115 or 6.5000000000000003e128 < c Initial program 64.1%
Taylor expanded in c around inf 65.1%
*-commutative65.1%
*-commutative65.1%
Simplified65.1%
if -9.19999999999999935e28 < c < -2.3e12Initial program 79.7%
Taylor expanded in z around inf 100.0%
*-commutative100.0%
Simplified100.0%
Taylor expanded in x around inf 100.0%
if -1.89999999999999996e-115 < c < -4.19999999999999982e-228Initial program 71.3%
Taylor expanded in y around inf 75.5%
+-commutative75.5%
mul-1-neg75.5%
unsub-neg75.5%
*-commutative75.5%
Simplified75.5%
if -4.19999999999999982e-228 < c < -5.3999999999999997e-271Initial program 85.5%
Taylor expanded in a around inf 73.0%
distribute-lft-out--73.0%
*-commutative73.0%
*-commutative73.0%
Simplified73.0%
if -5.3999999999999997e-271 < c < 8.7999999999999999e-134 or 1.75e97 < c < 6.5000000000000003e128Initial program 84.7%
Taylor expanded in t around -inf 84.7%
Simplified82.0%
Taylor expanded in c around 0 80.8%
sub-neg80.8%
+-commutative80.8%
associate-+l+80.8%
sub-neg80.8%
*-commutative80.8%
sub-neg80.8%
associate-*r*80.8%
*-commutative80.8%
associate-*r*80.8%
*-commutative80.8%
distribute-rgt-neg-in80.8%
distribute-lft-in80.8%
neg-mul-180.8%
sub-neg80.8%
Simplified80.8%
Taylor expanded in x around inf 72.7%
*-commutative72.7%
Simplified72.7%
if 8.7999999999999999e-134 < c < 1.75e97Initial program 82.4%
Taylor expanded in t around -inf 74.0%
Simplified73.9%
Taylor expanded in t around inf 57.1%
Final simplification67.9%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* j (- (* t c) (* y i))))
(t_2 (+ (* y (* x z)) (* b (- (* a i) (* z c)))))
(t_3 (+ (* y (- (* x z) (* i j))) (* a (- (* b i) (* x t))))))
(if (<= b -1.75e-6)
t_2
(if (<= b -1.8e-171)
t_3
(if (<= b -9.2e-204)
t_1
(if (<= b 2.35e-181)
t_3
(if (<= b 3.4e-145) t_1 (if (<= b 3.1e+47) t_3 t_2))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = j * ((t * c) - (y * i));
double t_2 = (y * (x * z)) + (b * ((a * i) - (z * c)));
double t_3 = (y * ((x * z) - (i * j))) + (a * ((b * i) - (x * t)));
double tmp;
if (b <= -1.75e-6) {
tmp = t_2;
} else if (b <= -1.8e-171) {
tmp = t_3;
} else if (b <= -9.2e-204) {
tmp = t_1;
} else if (b <= 2.35e-181) {
tmp = t_3;
} else if (b <= 3.4e-145) {
tmp = t_1;
} else if (b <= 3.1e+47) {
tmp = t_3;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = j * ((t * c) - (y * i))
t_2 = (y * (x * z)) + (b * ((a * i) - (z * c)))
t_3 = (y * ((x * z) - (i * j))) + (a * ((b * i) - (x * t)))
if (b <= (-1.75d-6)) then
tmp = t_2
else if (b <= (-1.8d-171)) then
tmp = t_3
else if (b <= (-9.2d-204)) then
tmp = t_1
else if (b <= 2.35d-181) then
tmp = t_3
else if (b <= 3.4d-145) then
tmp = t_1
else if (b <= 3.1d+47) then
tmp = t_3
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = j * ((t * c) - (y * i));
double t_2 = (y * (x * z)) + (b * ((a * i) - (z * c)));
double t_3 = (y * ((x * z) - (i * j))) + (a * ((b * i) - (x * t)));
double tmp;
if (b <= -1.75e-6) {
tmp = t_2;
} else if (b <= -1.8e-171) {
tmp = t_3;
} else if (b <= -9.2e-204) {
tmp = t_1;
} else if (b <= 2.35e-181) {
tmp = t_3;
} else if (b <= 3.4e-145) {
tmp = t_1;
} else if (b <= 3.1e+47) {
tmp = t_3;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = j * ((t * c) - (y * i)) t_2 = (y * (x * z)) + (b * ((a * i) - (z * c))) t_3 = (y * ((x * z) - (i * j))) + (a * ((b * i) - (x * t))) tmp = 0 if b <= -1.75e-6: tmp = t_2 elif b <= -1.8e-171: tmp = t_3 elif b <= -9.2e-204: tmp = t_1 elif b <= 2.35e-181: tmp = t_3 elif b <= 3.4e-145: tmp = t_1 elif b <= 3.1e+47: tmp = t_3 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(j * Float64(Float64(t * c) - Float64(y * i))) t_2 = Float64(Float64(y * Float64(x * z)) + Float64(b * Float64(Float64(a * i) - Float64(z * c)))) t_3 = Float64(Float64(y * Float64(Float64(x * z) - Float64(i * j))) + Float64(a * Float64(Float64(b * i) - Float64(x * t)))) tmp = 0.0 if (b <= -1.75e-6) tmp = t_2; elseif (b <= -1.8e-171) tmp = t_3; elseif (b <= -9.2e-204) tmp = t_1; elseif (b <= 2.35e-181) tmp = t_3; elseif (b <= 3.4e-145) tmp = t_1; elseif (b <= 3.1e+47) tmp = t_3; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = j * ((t * c) - (y * i)); t_2 = (y * (x * z)) + (b * ((a * i) - (z * c))); t_3 = (y * ((x * z) - (i * j))) + (a * ((b * i) - (x * t))); tmp = 0.0; if (b <= -1.75e-6) tmp = t_2; elseif (b <= -1.8e-171) tmp = t_3; elseif (b <= -9.2e-204) tmp = t_1; elseif (b <= 2.35e-181) tmp = t_3; elseif (b <= 3.4e-145) tmp = t_1; elseif (b <= 3.1e+47) tmp = t_3; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision] + N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(y * N[(N[(x * z), $MachinePrecision] - N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a * N[(N[(b * i), $MachinePrecision] - N[(x * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -1.75e-6], t$95$2, If[LessEqual[b, -1.8e-171], t$95$3, If[LessEqual[b, -9.2e-204], t$95$1, If[LessEqual[b, 2.35e-181], t$95$3, If[LessEqual[b, 3.4e-145], t$95$1, If[LessEqual[b, 3.1e+47], t$95$3, t$95$2]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(t \cdot c - y \cdot i\right)\\
t_2 := y \cdot \left(x \cdot z\right) + b \cdot \left(a \cdot i - z \cdot c\right)\\
t_3 := y \cdot \left(x \cdot z - i \cdot j\right) + a \cdot \left(b \cdot i - x \cdot t\right)\\
\mathbf{if}\;b \leq -1.75 \cdot 10^{-6}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;b \leq -1.8 \cdot 10^{-171}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;b \leq -9.2 \cdot 10^{-204}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;b \leq 2.35 \cdot 10^{-181}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;b \leq 3.4 \cdot 10^{-145}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;b \leq 3.1 \cdot 10^{+47}:\\
\;\;\;\;t_3\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if b < -1.74999999999999997e-6 or 3.1000000000000001e47 < b Initial program 75.0%
Taylor expanded in t around 0 68.1%
*-commutative68.1%
associate-*r*68.8%
associate-*r*68.1%
associate-*r*68.1%
distribute-rgt-in68.8%
+-commutative68.8%
mul-1-neg68.8%
unsub-neg68.8%
*-commutative68.8%
*-commutative68.8%
Simplified68.8%
Taylor expanded in x around inf 70.0%
*-commutative21.7%
Simplified70.0%
if -1.74999999999999997e-6 < b < -1.80000000000000002e-171 or -9.1999999999999997e-204 < b < 2.3499999999999999e-181 or 3.3999999999999999e-145 < b < 3.1000000000000001e47Initial program 70.4%
Taylor expanded in t around -inf 74.5%
Simplified74.4%
Taylor expanded in c around 0 69.5%
sub-neg69.5%
+-commutative69.5%
associate-+l+69.5%
sub-neg69.5%
*-commutative69.5%
sub-neg69.5%
associate-*r*69.5%
*-commutative69.5%
associate-*r*69.5%
*-commutative69.5%
distribute-rgt-neg-in69.5%
distribute-lft-in69.5%
neg-mul-169.5%
sub-neg69.5%
Simplified69.5%
if -1.80000000000000002e-171 < b < -9.1999999999999997e-204 or 2.3499999999999999e-181 < b < 3.3999999999999999e-145Initial program 79.6%
Taylor expanded in j around inf 83.0%
sub-neg83.0%
*-commutative83.0%
*-commutative83.0%
sub-neg83.0%
Simplified83.0%
Final simplification71.0%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* j (* t c))))
(if (<= i -62000000000.0)
(* b (* a i))
(if (<= i 4e-308)
t_1
(if (<= i 7.4e-153)
(* b (* z (- c)))
(if (<= i 1.16e-94)
(* t (* x (- a)))
(if (<= i 4.8e+73)
(* x (* y z))
(if (<= i 3.7e+132)
t_1
(if (<= i 1.1e+161)
(* i (* a b))
(if (<= i 1.12e+214) (* j (* y (- i))) (* a (* b i))))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = j * (t * c);
double tmp;
if (i <= -62000000000.0) {
tmp = b * (a * i);
} else if (i <= 4e-308) {
tmp = t_1;
} else if (i <= 7.4e-153) {
tmp = b * (z * -c);
} else if (i <= 1.16e-94) {
tmp = t * (x * -a);
} else if (i <= 4.8e+73) {
tmp = x * (y * z);
} else if (i <= 3.7e+132) {
tmp = t_1;
} else if (i <= 1.1e+161) {
tmp = i * (a * b);
} else if (i <= 1.12e+214) {
tmp = j * (y * -i);
} else {
tmp = a * (b * i);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: tmp
t_1 = j * (t * c)
if (i <= (-62000000000.0d0)) then
tmp = b * (a * i)
else if (i <= 4d-308) then
tmp = t_1
else if (i <= 7.4d-153) then
tmp = b * (z * -c)
else if (i <= 1.16d-94) then
tmp = t * (x * -a)
else if (i <= 4.8d+73) then
tmp = x * (y * z)
else if (i <= 3.7d+132) then
tmp = t_1
else if (i <= 1.1d+161) then
tmp = i * (a * b)
else if (i <= 1.12d+214) then
tmp = j * (y * -i)
else
tmp = a * (b * i)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = j * (t * c);
double tmp;
if (i <= -62000000000.0) {
tmp = b * (a * i);
} else if (i <= 4e-308) {
tmp = t_1;
} else if (i <= 7.4e-153) {
tmp = b * (z * -c);
} else if (i <= 1.16e-94) {
tmp = t * (x * -a);
} else if (i <= 4.8e+73) {
tmp = x * (y * z);
} else if (i <= 3.7e+132) {
tmp = t_1;
} else if (i <= 1.1e+161) {
tmp = i * (a * b);
} else if (i <= 1.12e+214) {
tmp = j * (y * -i);
} else {
tmp = a * (b * i);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = j * (t * c) tmp = 0 if i <= -62000000000.0: tmp = b * (a * i) elif i <= 4e-308: tmp = t_1 elif i <= 7.4e-153: tmp = b * (z * -c) elif i <= 1.16e-94: tmp = t * (x * -a) elif i <= 4.8e+73: tmp = x * (y * z) elif i <= 3.7e+132: tmp = t_1 elif i <= 1.1e+161: tmp = i * (a * b) elif i <= 1.12e+214: tmp = j * (y * -i) else: tmp = a * (b * i) return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(j * Float64(t * c)) tmp = 0.0 if (i <= -62000000000.0) tmp = Float64(b * Float64(a * i)); elseif (i <= 4e-308) tmp = t_1; elseif (i <= 7.4e-153) tmp = Float64(b * Float64(z * Float64(-c))); elseif (i <= 1.16e-94) tmp = Float64(t * Float64(x * Float64(-a))); elseif (i <= 4.8e+73) tmp = Float64(x * Float64(y * z)); elseif (i <= 3.7e+132) tmp = t_1; elseif (i <= 1.1e+161) tmp = Float64(i * Float64(a * b)); elseif (i <= 1.12e+214) tmp = Float64(j * Float64(y * Float64(-i))); else tmp = Float64(a * Float64(b * i)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = j * (t * c); tmp = 0.0; if (i <= -62000000000.0) tmp = b * (a * i); elseif (i <= 4e-308) tmp = t_1; elseif (i <= 7.4e-153) tmp = b * (z * -c); elseif (i <= 1.16e-94) tmp = t * (x * -a); elseif (i <= 4.8e+73) tmp = x * (y * z); elseif (i <= 3.7e+132) tmp = t_1; elseif (i <= 1.1e+161) tmp = i * (a * b); elseif (i <= 1.12e+214) tmp = j * (y * -i); else tmp = a * (b * i); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(j * N[(t * c), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[i, -62000000000.0], N[(b * N[(a * i), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 4e-308], t$95$1, If[LessEqual[i, 7.4e-153], N[(b * N[(z * (-c)), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 1.16e-94], N[(t * N[(x * (-a)), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 4.8e+73], N[(x * N[(y * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 3.7e+132], t$95$1, If[LessEqual[i, 1.1e+161], N[(i * N[(a * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 1.12e+214], N[(j * N[(y * (-i)), $MachinePrecision]), $MachinePrecision], N[(a * N[(b * i), $MachinePrecision]), $MachinePrecision]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(t \cdot c\right)\\
\mathbf{if}\;i \leq -62000000000:\\
\;\;\;\;b \cdot \left(a \cdot i\right)\\
\mathbf{elif}\;i \leq 4 \cdot 10^{-308}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;i \leq 7.4 \cdot 10^{-153}:\\
\;\;\;\;b \cdot \left(z \cdot \left(-c\right)\right)\\
\mathbf{elif}\;i \leq 1.16 \cdot 10^{-94}:\\
\;\;\;\;t \cdot \left(x \cdot \left(-a\right)\right)\\
\mathbf{elif}\;i \leq 4.8 \cdot 10^{+73}:\\
\;\;\;\;x \cdot \left(y \cdot z\right)\\
\mathbf{elif}\;i \leq 3.7 \cdot 10^{+132}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;i \leq 1.1 \cdot 10^{+161}:\\
\;\;\;\;i \cdot \left(a \cdot b\right)\\
\mathbf{elif}\;i \leq 1.12 \cdot 10^{+214}:\\
\;\;\;\;j \cdot \left(y \cdot \left(-i\right)\right)\\
\mathbf{else}:\\
\;\;\;\;a \cdot \left(b \cdot i\right)\\
\end{array}
\end{array}
if i < -6.2e10Initial program 71.0%
Taylor expanded in b around inf 45.4%
*-commutative45.4%
Simplified45.4%
Taylor expanded in a around inf 37.6%
if -6.2e10 < i < 4.00000000000000013e-308 or 4.80000000000000004e73 < i < 3.70000000000000011e132Initial program 77.9%
Taylor expanded in j around inf 47.5%
sub-neg47.5%
*-commutative47.5%
*-commutative47.5%
sub-neg47.5%
Simplified47.5%
Taylor expanded in t around inf 42.1%
*-commutative42.1%
Simplified42.1%
if 4.00000000000000013e-308 < i < 7.4000000000000005e-153Initial program 77.1%
Taylor expanded in b around inf 62.6%
*-commutative62.6%
Simplified62.6%
Taylor expanded in a around 0 58.7%
mul-1-neg58.7%
*-commutative58.7%
*-commutative58.7%
distribute-rgt-neg-in58.7%
*-commutative58.7%
Simplified58.7%
if 7.4000000000000005e-153 < i < 1.16000000000000001e-94Initial program 91.8%
Taylor expanded in a around inf 43.9%
distribute-lft-out--43.9%
*-commutative43.9%
*-commutative43.9%
Simplified43.9%
Taylor expanded in x around inf 35.5%
Taylor expanded in a around 0 35.5%
mul-1-neg35.5%
*-commutative35.5%
associate-*r*51.3%
distribute-rgt-neg-in51.3%
Simplified51.3%
if 1.16000000000000001e-94 < i < 4.80000000000000004e73Initial program 77.8%
Taylor expanded in t around 0 67.1%
*-commutative67.1%
associate-*r*67.3%
associate-*r*70.0%
associate-*r*70.0%
distribute-rgt-in70.0%
+-commutative70.0%
mul-1-neg70.0%
unsub-neg70.0%
*-commutative70.0%
*-commutative70.0%
Simplified70.0%
Taylor expanded in x around inf 38.0%
*-commutative38.0%
Simplified38.0%
if 3.70000000000000011e132 < i < 1.1e161Initial program 83.9%
Taylor expanded in b around inf 67.3%
*-commutative67.3%
Simplified67.3%
Taylor expanded in a around inf 82.8%
associate-*r*83.1%
Simplified83.1%
if 1.1e161 < i < 1.11999999999999996e214Initial program 61.4%
Taylor expanded in j around inf 55.2%
sub-neg55.2%
*-commutative55.2%
*-commutative55.2%
sub-neg55.2%
Simplified55.2%
Taylor expanded in t around 0 70.6%
mul-1-neg70.6%
distribute-rgt-neg-in70.6%
Simplified70.6%
if 1.11999999999999996e214 < i Initial program 54.6%
Taylor expanded in b around inf 55.1%
*-commutative55.1%
Simplified55.1%
Taylor expanded in a around inf 69.7%
Final simplification47.8%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* j (* t c))))
(if (<= i -56000000000000.0)
(* b (* a i))
(if (<= i 1.1e-305)
t_1
(if (<= i 8.5e-155)
(* b (* z (- c)))
(if (<= i 5.1e-95)
(* t (* x (- a)))
(if (<= i 2.9e+73)
(* x (* y z))
(if (<= i 1.32e+132)
t_1
(if (<= i 1.8e+162)
(* i (* a b))
(if (<= i 3.1e+215) (* (* y j) (- i)) (* a (* b i))))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = j * (t * c);
double tmp;
if (i <= -56000000000000.0) {
tmp = b * (a * i);
} else if (i <= 1.1e-305) {
tmp = t_1;
} else if (i <= 8.5e-155) {
tmp = b * (z * -c);
} else if (i <= 5.1e-95) {
tmp = t * (x * -a);
} else if (i <= 2.9e+73) {
tmp = x * (y * z);
} else if (i <= 1.32e+132) {
tmp = t_1;
} else if (i <= 1.8e+162) {
tmp = i * (a * b);
} else if (i <= 3.1e+215) {
tmp = (y * j) * -i;
} else {
tmp = a * (b * i);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: tmp
t_1 = j * (t * c)
if (i <= (-56000000000000.0d0)) then
tmp = b * (a * i)
else if (i <= 1.1d-305) then
tmp = t_1
else if (i <= 8.5d-155) then
tmp = b * (z * -c)
else if (i <= 5.1d-95) then
tmp = t * (x * -a)
else if (i <= 2.9d+73) then
tmp = x * (y * z)
else if (i <= 1.32d+132) then
tmp = t_1
else if (i <= 1.8d+162) then
tmp = i * (a * b)
else if (i <= 3.1d+215) then
tmp = (y * j) * -i
else
tmp = a * (b * i)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = j * (t * c);
double tmp;
if (i <= -56000000000000.0) {
tmp = b * (a * i);
} else if (i <= 1.1e-305) {
tmp = t_1;
} else if (i <= 8.5e-155) {
tmp = b * (z * -c);
} else if (i <= 5.1e-95) {
tmp = t * (x * -a);
} else if (i <= 2.9e+73) {
tmp = x * (y * z);
} else if (i <= 1.32e+132) {
tmp = t_1;
} else if (i <= 1.8e+162) {
tmp = i * (a * b);
} else if (i <= 3.1e+215) {
tmp = (y * j) * -i;
} else {
tmp = a * (b * i);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = j * (t * c) tmp = 0 if i <= -56000000000000.0: tmp = b * (a * i) elif i <= 1.1e-305: tmp = t_1 elif i <= 8.5e-155: tmp = b * (z * -c) elif i <= 5.1e-95: tmp = t * (x * -a) elif i <= 2.9e+73: tmp = x * (y * z) elif i <= 1.32e+132: tmp = t_1 elif i <= 1.8e+162: tmp = i * (a * b) elif i <= 3.1e+215: tmp = (y * j) * -i else: tmp = a * (b * i) return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(j * Float64(t * c)) tmp = 0.0 if (i <= -56000000000000.0) tmp = Float64(b * Float64(a * i)); elseif (i <= 1.1e-305) tmp = t_1; elseif (i <= 8.5e-155) tmp = Float64(b * Float64(z * Float64(-c))); elseif (i <= 5.1e-95) tmp = Float64(t * Float64(x * Float64(-a))); elseif (i <= 2.9e+73) tmp = Float64(x * Float64(y * z)); elseif (i <= 1.32e+132) tmp = t_1; elseif (i <= 1.8e+162) tmp = Float64(i * Float64(a * b)); elseif (i <= 3.1e+215) tmp = Float64(Float64(y * j) * Float64(-i)); else tmp = Float64(a * Float64(b * i)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = j * (t * c); tmp = 0.0; if (i <= -56000000000000.0) tmp = b * (a * i); elseif (i <= 1.1e-305) tmp = t_1; elseif (i <= 8.5e-155) tmp = b * (z * -c); elseif (i <= 5.1e-95) tmp = t * (x * -a); elseif (i <= 2.9e+73) tmp = x * (y * z); elseif (i <= 1.32e+132) tmp = t_1; elseif (i <= 1.8e+162) tmp = i * (a * b); elseif (i <= 3.1e+215) tmp = (y * j) * -i; else tmp = a * (b * i); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(j * N[(t * c), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[i, -56000000000000.0], N[(b * N[(a * i), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 1.1e-305], t$95$1, If[LessEqual[i, 8.5e-155], N[(b * N[(z * (-c)), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 5.1e-95], N[(t * N[(x * (-a)), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 2.9e+73], N[(x * N[(y * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 1.32e+132], t$95$1, If[LessEqual[i, 1.8e+162], N[(i * N[(a * b), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 3.1e+215], N[(N[(y * j), $MachinePrecision] * (-i)), $MachinePrecision], N[(a * N[(b * i), $MachinePrecision]), $MachinePrecision]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(t \cdot c\right)\\
\mathbf{if}\;i \leq -56000000000000:\\
\;\;\;\;b \cdot \left(a \cdot i\right)\\
\mathbf{elif}\;i \leq 1.1 \cdot 10^{-305}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;i \leq 8.5 \cdot 10^{-155}:\\
\;\;\;\;b \cdot \left(z \cdot \left(-c\right)\right)\\
\mathbf{elif}\;i \leq 5.1 \cdot 10^{-95}:\\
\;\;\;\;t \cdot \left(x \cdot \left(-a\right)\right)\\
\mathbf{elif}\;i \leq 2.9 \cdot 10^{+73}:\\
\;\;\;\;x \cdot \left(y \cdot z\right)\\
\mathbf{elif}\;i \leq 1.32 \cdot 10^{+132}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;i \leq 1.8 \cdot 10^{+162}:\\
\;\;\;\;i \cdot \left(a \cdot b\right)\\
\mathbf{elif}\;i \leq 3.1 \cdot 10^{+215}:\\
\;\;\;\;\left(y \cdot j\right) \cdot \left(-i\right)\\
\mathbf{else}:\\
\;\;\;\;a \cdot \left(b \cdot i\right)\\
\end{array}
\end{array}
if i < -5.6e13Initial program 71.0%
Taylor expanded in b around inf 45.4%
*-commutative45.4%
Simplified45.4%
Taylor expanded in a around inf 37.6%
if -5.6e13 < i < 1.09999999999999998e-305 or 2.9000000000000002e73 < i < 1.3199999999999999e132Initial program 77.9%
Taylor expanded in j around inf 47.5%
sub-neg47.5%
*-commutative47.5%
*-commutative47.5%
sub-neg47.5%
Simplified47.5%
Taylor expanded in t around inf 42.1%
*-commutative42.1%
Simplified42.1%
if 1.09999999999999998e-305 < i < 8.4999999999999996e-155Initial program 77.1%
Taylor expanded in b around inf 62.6%
*-commutative62.6%
Simplified62.6%
Taylor expanded in a around 0 58.7%
mul-1-neg58.7%
*-commutative58.7%
*-commutative58.7%
distribute-rgt-neg-in58.7%
*-commutative58.7%
Simplified58.7%
if 8.4999999999999996e-155 < i < 5.1e-95Initial program 91.8%
Taylor expanded in a around inf 43.9%
distribute-lft-out--43.9%
*-commutative43.9%
*-commutative43.9%
Simplified43.9%
Taylor expanded in x around inf 35.5%
Taylor expanded in a around 0 35.5%
mul-1-neg35.5%
*-commutative35.5%
associate-*r*51.3%
distribute-rgt-neg-in51.3%
Simplified51.3%
if 5.1e-95 < i < 2.9000000000000002e73Initial program 77.8%
Taylor expanded in t around 0 67.1%
*-commutative67.1%
associate-*r*67.3%
associate-*r*70.0%
associate-*r*70.0%
distribute-rgt-in70.0%
+-commutative70.0%
mul-1-neg70.0%
unsub-neg70.0%
*-commutative70.0%
*-commutative70.0%
Simplified70.0%
Taylor expanded in x around inf 38.0%
*-commutative38.0%
Simplified38.0%
if 1.3199999999999999e132 < i < 1.79999999999999997e162Initial program 83.9%
Taylor expanded in b around inf 67.3%
*-commutative67.3%
Simplified67.3%
Taylor expanded in a around inf 82.8%
associate-*r*83.1%
Simplified83.1%
if 1.79999999999999997e162 < i < 3.0999999999999999e215Initial program 61.4%
Taylor expanded in t around 0 61.5%
*-commutative61.5%
associate-*r*61.4%
associate-*r*54.2%
associate-*r*54.2%
distribute-rgt-in54.2%
+-commutative54.2%
mul-1-neg54.2%
unsub-neg54.2%
*-commutative54.2%
*-commutative54.2%
Simplified54.2%
Taylor expanded in j around inf 70.7%
mul-1-neg70.7%
*-commutative70.7%
distribute-rgt-neg-in70.7%
*-commutative70.7%
Simplified70.7%
if 3.0999999999999999e215 < i Initial program 54.6%
Taylor expanded in b around inf 55.1%
*-commutative55.1%
Simplified55.1%
Taylor expanded in a around inf 69.7%
Final simplification47.8%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* i (- (* a b) (* y j))))
(t_2 (+ (* y (* x z)) (* b (- (* a i) (* z c)))))
(t_3 (* t (- (* c j) (* x a)))))
(if (<= t -6.5e+99)
t_3
(if (<= t -8.6e-182)
t_2
(if (<= t -4e-251)
t_1
(if (<= t 1.75e-284)
t_2
(if (<= t 4.4e-164) t_1 (if (<= t 4.4e+134) t_2 t_3))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = i * ((a * b) - (y * j));
double t_2 = (y * (x * z)) + (b * ((a * i) - (z * c)));
double t_3 = t * ((c * j) - (x * a));
double tmp;
if (t <= -6.5e+99) {
tmp = t_3;
} else if (t <= -8.6e-182) {
tmp = t_2;
} else if (t <= -4e-251) {
tmp = t_1;
} else if (t <= 1.75e-284) {
tmp = t_2;
} else if (t <= 4.4e-164) {
tmp = t_1;
} else if (t <= 4.4e+134) {
tmp = t_2;
} else {
tmp = t_3;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = i * ((a * b) - (y * j))
t_2 = (y * (x * z)) + (b * ((a * i) - (z * c)))
t_3 = t * ((c * j) - (x * a))
if (t <= (-6.5d+99)) then
tmp = t_3
else if (t <= (-8.6d-182)) then
tmp = t_2
else if (t <= (-4d-251)) then
tmp = t_1
else if (t <= 1.75d-284) then
tmp = t_2
else if (t <= 4.4d-164) then
tmp = t_1
else if (t <= 4.4d+134) then
tmp = t_2
else
tmp = t_3
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = i * ((a * b) - (y * j));
double t_2 = (y * (x * z)) + (b * ((a * i) - (z * c)));
double t_3 = t * ((c * j) - (x * a));
double tmp;
if (t <= -6.5e+99) {
tmp = t_3;
} else if (t <= -8.6e-182) {
tmp = t_2;
} else if (t <= -4e-251) {
tmp = t_1;
} else if (t <= 1.75e-284) {
tmp = t_2;
} else if (t <= 4.4e-164) {
tmp = t_1;
} else if (t <= 4.4e+134) {
tmp = t_2;
} else {
tmp = t_3;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = i * ((a * b) - (y * j)) t_2 = (y * (x * z)) + (b * ((a * i) - (z * c))) t_3 = t * ((c * j) - (x * a)) tmp = 0 if t <= -6.5e+99: tmp = t_3 elif t <= -8.6e-182: tmp = t_2 elif t <= -4e-251: tmp = t_1 elif t <= 1.75e-284: tmp = t_2 elif t <= 4.4e-164: tmp = t_1 elif t <= 4.4e+134: tmp = t_2 else: tmp = t_3 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(i * Float64(Float64(a * b) - Float64(y * j))) t_2 = Float64(Float64(y * Float64(x * z)) + Float64(b * Float64(Float64(a * i) - Float64(z * c)))) t_3 = Float64(t * Float64(Float64(c * j) - Float64(x * a))) tmp = 0.0 if (t <= -6.5e+99) tmp = t_3; elseif (t <= -8.6e-182) tmp = t_2; elseif (t <= -4e-251) tmp = t_1; elseif (t <= 1.75e-284) tmp = t_2; elseif (t <= 4.4e-164) tmp = t_1; elseif (t <= 4.4e+134) tmp = t_2; else tmp = t_3; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = i * ((a * b) - (y * j)); t_2 = (y * (x * z)) + (b * ((a * i) - (z * c))); t_3 = t * ((c * j) - (x * a)); tmp = 0.0; if (t <= -6.5e+99) tmp = t_3; elseif (t <= -8.6e-182) tmp = t_2; elseif (t <= -4e-251) tmp = t_1; elseif (t <= 1.75e-284) tmp = t_2; elseif (t <= 4.4e-164) tmp = t_1; elseif (t <= 4.4e+134) tmp = t_2; else tmp = t_3; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(i * N[(N[(a * b), $MachinePrecision] - N[(y * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision] + N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -6.5e+99], t$95$3, If[LessEqual[t, -8.6e-182], t$95$2, If[LessEqual[t, -4e-251], t$95$1, If[LessEqual[t, 1.75e-284], t$95$2, If[LessEqual[t, 4.4e-164], t$95$1, If[LessEqual[t, 4.4e+134], t$95$2, t$95$3]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := i \cdot \left(a \cdot b - y \cdot j\right)\\
t_2 := y \cdot \left(x \cdot z\right) + b \cdot \left(a \cdot i - z \cdot c\right)\\
t_3 := t \cdot \left(c \cdot j - x \cdot a\right)\\
\mathbf{if}\;t \leq -6.5 \cdot 10^{+99}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;t \leq -8.6 \cdot 10^{-182}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;t \leq -4 \cdot 10^{-251}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq 1.75 \cdot 10^{-284}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;t \leq 4.4 \cdot 10^{-164}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq 4.4 \cdot 10^{+134}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t_3\\
\end{array}
\end{array}
if t < -6.5000000000000004e99 or 4.4e134 < t Initial program 62.0%
Taylor expanded in t around -inf 70.3%
Simplified70.3%
Taylor expanded in t around inf 69.0%
if -6.5000000000000004e99 < t < -8.6e-182 or -4.00000000000000006e-251 < t < 1.74999999999999988e-284 or 4.39999999999999975e-164 < t < 4.4e134Initial program 82.6%
Taylor expanded in t around 0 66.8%
*-commutative66.8%
associate-*r*66.8%
associate-*r*67.4%
associate-*r*67.4%
distribute-rgt-in68.2%
+-commutative68.2%
mul-1-neg68.2%
unsub-neg68.2%
*-commutative68.2%
*-commutative68.2%
Simplified68.2%
Taylor expanded in x around inf 63.7%
*-commutative29.0%
Simplified63.7%
if -8.6e-182 < t < -4.00000000000000006e-251 or 1.74999999999999988e-284 < t < 4.39999999999999975e-164Initial program 67.9%
Taylor expanded in i around inf 80.1%
distribute-lft-out--80.1%
*-commutative80.1%
Simplified80.1%
Final simplification67.8%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* y (- (* x z) (* i j))))
(t_2 (* b (- (* a i) (* z c))))
(t_3 (* t (- (* c j) (* x a)))))
(if (<= t -2.5e+73)
t_3
(if (<= t -2.4e-14)
t_2
(if (<= t -2.4e-185)
t_1
(if (<= t 2.25e-246)
t_2
(if (<= t 8.5e-153) t_1 (if (<= t 9e+104) t_2 t_3))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = y * ((x * z) - (i * j));
double t_2 = b * ((a * i) - (z * c));
double t_3 = t * ((c * j) - (x * a));
double tmp;
if (t <= -2.5e+73) {
tmp = t_3;
} else if (t <= -2.4e-14) {
tmp = t_2;
} else if (t <= -2.4e-185) {
tmp = t_1;
} else if (t <= 2.25e-246) {
tmp = t_2;
} else if (t <= 8.5e-153) {
tmp = t_1;
} else if (t <= 9e+104) {
tmp = t_2;
} else {
tmp = t_3;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = y * ((x * z) - (i * j))
t_2 = b * ((a * i) - (z * c))
t_3 = t * ((c * j) - (x * a))
if (t <= (-2.5d+73)) then
tmp = t_3
else if (t <= (-2.4d-14)) then
tmp = t_2
else if (t <= (-2.4d-185)) then
tmp = t_1
else if (t <= 2.25d-246) then
tmp = t_2
else if (t <= 8.5d-153) then
tmp = t_1
else if (t <= 9d+104) then
tmp = t_2
else
tmp = t_3
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = y * ((x * z) - (i * j));
double t_2 = b * ((a * i) - (z * c));
double t_3 = t * ((c * j) - (x * a));
double tmp;
if (t <= -2.5e+73) {
tmp = t_3;
} else if (t <= -2.4e-14) {
tmp = t_2;
} else if (t <= -2.4e-185) {
tmp = t_1;
} else if (t <= 2.25e-246) {
tmp = t_2;
} else if (t <= 8.5e-153) {
tmp = t_1;
} else if (t <= 9e+104) {
tmp = t_2;
} else {
tmp = t_3;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = y * ((x * z) - (i * j)) t_2 = b * ((a * i) - (z * c)) t_3 = t * ((c * j) - (x * a)) tmp = 0 if t <= -2.5e+73: tmp = t_3 elif t <= -2.4e-14: tmp = t_2 elif t <= -2.4e-185: tmp = t_1 elif t <= 2.25e-246: tmp = t_2 elif t <= 8.5e-153: tmp = t_1 elif t <= 9e+104: tmp = t_2 else: tmp = t_3 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(y * Float64(Float64(x * z) - Float64(i * j))) t_2 = Float64(b * Float64(Float64(a * i) - Float64(z * c))) t_3 = Float64(t * Float64(Float64(c * j) - Float64(x * a))) tmp = 0.0 if (t <= -2.5e+73) tmp = t_3; elseif (t <= -2.4e-14) tmp = t_2; elseif (t <= -2.4e-185) tmp = t_1; elseif (t <= 2.25e-246) tmp = t_2; elseif (t <= 8.5e-153) tmp = t_1; elseif (t <= 9e+104) tmp = t_2; else tmp = t_3; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = y * ((x * z) - (i * j)); t_2 = b * ((a * i) - (z * c)); t_3 = t * ((c * j) - (x * a)); tmp = 0.0; if (t <= -2.5e+73) tmp = t_3; elseif (t <= -2.4e-14) tmp = t_2; elseif (t <= -2.4e-185) tmp = t_1; elseif (t <= 2.25e-246) tmp = t_2; elseif (t <= 8.5e-153) tmp = t_1; elseif (t <= 9e+104) tmp = t_2; else tmp = t_3; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(y * N[(N[(x * z), $MachinePrecision] - N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -2.5e+73], t$95$3, If[LessEqual[t, -2.4e-14], t$95$2, If[LessEqual[t, -2.4e-185], t$95$1, If[LessEqual[t, 2.25e-246], t$95$2, If[LessEqual[t, 8.5e-153], t$95$1, If[LessEqual[t, 9e+104], t$95$2, t$95$3]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := y \cdot \left(x \cdot z - i \cdot j\right)\\
t_2 := b \cdot \left(a \cdot i - z \cdot c\right)\\
t_3 := t \cdot \left(c \cdot j - x \cdot a\right)\\
\mathbf{if}\;t \leq -2.5 \cdot 10^{+73}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;t \leq -2.4 \cdot 10^{-14}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;t \leq -2.4 \cdot 10^{-185}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq 2.25 \cdot 10^{-246}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;t \leq 8.5 \cdot 10^{-153}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq 9 \cdot 10^{+104}:\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t_3\\
\end{array}
\end{array}
if t < -2.49999999999999988e73 or 8.9999999999999997e104 < t Initial program 64.0%
Taylor expanded in t around -inf 71.5%
Simplified71.4%
Taylor expanded in t around inf 66.1%
if -2.49999999999999988e73 < t < -2.4e-14 or -2.4000000000000001e-185 < t < 2.25e-246 or 8.4999999999999996e-153 < t < 8.9999999999999997e104Initial program 75.4%
Taylor expanded in b around inf 59.9%
*-commutative59.9%
Simplified59.9%
if -2.4e-14 < t < -2.4000000000000001e-185 or 2.25e-246 < t < 8.4999999999999996e-153Initial program 85.1%
Taylor expanded in y around inf 54.8%
+-commutative54.8%
mul-1-neg54.8%
unsub-neg54.8%
*-commutative54.8%
Simplified54.8%
Final simplification60.9%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (+ (* x (- (* y z) (* t a))) (* b (- (* a i) (* z c)))))
(t_2 (* c (- (* t j) (* z b)))))
(if (<= c -7.2e+23)
t_2
(if (<= c -6.5e-86)
t_1
(if (<= c 4.1e-156)
(+ (* y (- (* x z) (* i j))) (* a (- (* b i) (* x t))))
(if (<= c 1.8e+161) t_1 t_2))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = (x * ((y * z) - (t * a))) + (b * ((a * i) - (z * c)));
double t_2 = c * ((t * j) - (z * b));
double tmp;
if (c <= -7.2e+23) {
tmp = t_2;
} else if (c <= -6.5e-86) {
tmp = t_1;
} else if (c <= 4.1e-156) {
tmp = (y * ((x * z) - (i * j))) + (a * ((b * i) - (x * t)));
} else if (c <= 1.8e+161) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = (x * ((y * z) - (t * a))) + (b * ((a * i) - (z * c)))
t_2 = c * ((t * j) - (z * b))
if (c <= (-7.2d+23)) then
tmp = t_2
else if (c <= (-6.5d-86)) then
tmp = t_1
else if (c <= 4.1d-156) then
tmp = (y * ((x * z) - (i * j))) + (a * ((b * i) - (x * t)))
else if (c <= 1.8d+161) then
tmp = t_1
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = (x * ((y * z) - (t * a))) + (b * ((a * i) - (z * c)));
double t_2 = c * ((t * j) - (z * b));
double tmp;
if (c <= -7.2e+23) {
tmp = t_2;
} else if (c <= -6.5e-86) {
tmp = t_1;
} else if (c <= 4.1e-156) {
tmp = (y * ((x * z) - (i * j))) + (a * ((b * i) - (x * t)));
} else if (c <= 1.8e+161) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = (x * ((y * z) - (t * a))) + (b * ((a * i) - (z * c))) t_2 = c * ((t * j) - (z * b)) tmp = 0 if c <= -7.2e+23: tmp = t_2 elif c <= -6.5e-86: tmp = t_1 elif c <= 4.1e-156: tmp = (y * ((x * z) - (i * j))) + (a * ((b * i) - (x * t))) elif c <= 1.8e+161: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) + Float64(b * Float64(Float64(a * i) - Float64(z * c)))) t_2 = Float64(c * Float64(Float64(t * j) - Float64(z * b))) tmp = 0.0 if (c <= -7.2e+23) tmp = t_2; elseif (c <= -6.5e-86) tmp = t_1; elseif (c <= 4.1e-156) tmp = Float64(Float64(y * Float64(Float64(x * z) - Float64(i * j))) + Float64(a * Float64(Float64(b * i) - Float64(x * t)))); elseif (c <= 1.8e+161) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = (x * ((y * z) - (t * a))) + (b * ((a * i) - (z * c))); t_2 = c * ((t * j) - (z * b)); tmp = 0.0; if (c <= -7.2e+23) tmp = t_2; elseif (c <= -6.5e-86) tmp = t_1; elseif (c <= 4.1e-156) tmp = (y * ((x * z) - (i * j))) + (a * ((b * i) - (x * t))); elseif (c <= 1.8e+161) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(c * N[(N[(t * j), $MachinePrecision] - N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[c, -7.2e+23], t$95$2, If[LessEqual[c, -6.5e-86], t$95$1, If[LessEqual[c, 4.1e-156], N[(N[(y * N[(N[(x * z), $MachinePrecision] - N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a * N[(N[(b * i), $MachinePrecision] - N[(x * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 1.8e+161], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := x \cdot \left(y \cdot z - t \cdot a\right) + b \cdot \left(a \cdot i - z \cdot c\right)\\
t_2 := c \cdot \left(t \cdot j - z \cdot b\right)\\
\mathbf{if}\;c \leq -7.2 \cdot 10^{+23}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;c \leq -6.5 \cdot 10^{-86}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;c \leq 4.1 \cdot 10^{-156}:\\
\;\;\;\;y \cdot \left(x \cdot z - i \cdot j\right) + a \cdot \left(b \cdot i - x \cdot t\right)\\
\mathbf{elif}\;c \leq 1.8 \cdot 10^{+161}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if c < -7.1999999999999997e23 or 1.79999999999999992e161 < c Initial program 54.9%
Taylor expanded in c around inf 70.6%
*-commutative70.6%
*-commutative70.6%
Simplified70.6%
if -7.1999999999999997e23 < c < -6.50000000000000028e-86 or 4.1000000000000002e-156 < c < 1.79999999999999992e161Initial program 83.3%
Taylor expanded in j around 0 63.8%
*-commutative63.8%
Simplified63.8%
if -6.50000000000000028e-86 < c < 4.1000000000000002e-156Initial program 80.4%
Taylor expanded in t around -inf 80.4%
Simplified84.6%
Taylor expanded in c around 0 78.4%
sub-neg78.4%
+-commutative78.4%
associate-+l+78.4%
sub-neg78.4%
*-commutative78.4%
sub-neg78.4%
associate-*r*78.4%
*-commutative78.4%
associate-*r*78.4%
*-commutative78.4%
distribute-rgt-neg-in78.4%
distribute-lft-in78.4%
neg-mul-178.4%
sub-neg78.4%
Simplified78.4%
Final simplification71.0%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* b (- (* a i) (* z c))))
(t_2 (* y (- (* x z) (* i j))))
(t_3 (* c (- (* t j) (* z b)))))
(if (<= c -3.7e+68)
t_3
(if (<= c -1.95e-237)
(+ t_2 t_1)
(if (<= c 2.1e-154)
(+ t_2 (* a (- (* b i) (* x t))))
(if (<= c 6.5e+160) (+ (* x (- (* y z) (* t a))) t_1) t_3))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = b * ((a * i) - (z * c));
double t_2 = y * ((x * z) - (i * j));
double t_3 = c * ((t * j) - (z * b));
double tmp;
if (c <= -3.7e+68) {
tmp = t_3;
} else if (c <= -1.95e-237) {
tmp = t_2 + t_1;
} else if (c <= 2.1e-154) {
tmp = t_2 + (a * ((b * i) - (x * t)));
} else if (c <= 6.5e+160) {
tmp = (x * ((y * z) - (t * a))) + t_1;
} else {
tmp = t_3;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = b * ((a * i) - (z * c))
t_2 = y * ((x * z) - (i * j))
t_3 = c * ((t * j) - (z * b))
if (c <= (-3.7d+68)) then
tmp = t_3
else if (c <= (-1.95d-237)) then
tmp = t_2 + t_1
else if (c <= 2.1d-154) then
tmp = t_2 + (a * ((b * i) - (x * t)))
else if (c <= 6.5d+160) then
tmp = (x * ((y * z) - (t * a))) + t_1
else
tmp = t_3
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = b * ((a * i) - (z * c));
double t_2 = y * ((x * z) - (i * j));
double t_3 = c * ((t * j) - (z * b));
double tmp;
if (c <= -3.7e+68) {
tmp = t_3;
} else if (c <= -1.95e-237) {
tmp = t_2 + t_1;
} else if (c <= 2.1e-154) {
tmp = t_2 + (a * ((b * i) - (x * t)));
} else if (c <= 6.5e+160) {
tmp = (x * ((y * z) - (t * a))) + t_1;
} else {
tmp = t_3;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = b * ((a * i) - (z * c)) t_2 = y * ((x * z) - (i * j)) t_3 = c * ((t * j) - (z * b)) tmp = 0 if c <= -3.7e+68: tmp = t_3 elif c <= -1.95e-237: tmp = t_2 + t_1 elif c <= 2.1e-154: tmp = t_2 + (a * ((b * i) - (x * t))) elif c <= 6.5e+160: tmp = (x * ((y * z) - (t * a))) + t_1 else: tmp = t_3 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(b * Float64(Float64(a * i) - Float64(z * c))) t_2 = Float64(y * Float64(Float64(x * z) - Float64(i * j))) t_3 = Float64(c * Float64(Float64(t * j) - Float64(z * b))) tmp = 0.0 if (c <= -3.7e+68) tmp = t_3; elseif (c <= -1.95e-237) tmp = Float64(t_2 + t_1); elseif (c <= 2.1e-154) tmp = Float64(t_2 + Float64(a * Float64(Float64(b * i) - Float64(x * t)))); elseif (c <= 6.5e+160) tmp = Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) + t_1); else tmp = t_3; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = b * ((a * i) - (z * c)); t_2 = y * ((x * z) - (i * j)); t_3 = c * ((t * j) - (z * b)); tmp = 0.0; if (c <= -3.7e+68) tmp = t_3; elseif (c <= -1.95e-237) tmp = t_2 + t_1; elseif (c <= 2.1e-154) tmp = t_2 + (a * ((b * i) - (x * t))); elseif (c <= 6.5e+160) tmp = (x * ((y * z) - (t * a))) + t_1; else tmp = t_3; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(y * N[(N[(x * z), $MachinePrecision] - N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(c * N[(N[(t * j), $MachinePrecision] - N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[c, -3.7e+68], t$95$3, If[LessEqual[c, -1.95e-237], N[(t$95$2 + t$95$1), $MachinePrecision], If[LessEqual[c, 2.1e-154], N[(t$95$2 + N[(a * N[(N[(b * i), $MachinePrecision] - N[(x * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[c, 6.5e+160], N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$1), $MachinePrecision], t$95$3]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot \left(a \cdot i - z \cdot c\right)\\
t_2 := y \cdot \left(x \cdot z - i \cdot j\right)\\
t_3 := c \cdot \left(t \cdot j - z \cdot b\right)\\
\mathbf{if}\;c \leq -3.7 \cdot 10^{+68}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;c \leq -1.95 \cdot 10^{-237}:\\
\;\;\;\;t_2 + t_1\\
\mathbf{elif}\;c \leq 2.1 \cdot 10^{-154}:\\
\;\;\;\;t_2 + a \cdot \left(b \cdot i - x \cdot t\right)\\
\mathbf{elif}\;c \leq 6.5 \cdot 10^{+160}:\\
\;\;\;\;x \cdot \left(y \cdot z - t \cdot a\right) + t_1\\
\mathbf{else}:\\
\;\;\;\;t_3\\
\end{array}
\end{array}
if c < -3.69999999999999998e68 or 6.4999999999999995e160 < c Initial program 55.4%
Taylor expanded in c around inf 73.0%
*-commutative73.0%
*-commutative73.0%
Simplified73.0%
if -3.69999999999999998e68 < c < -1.9499999999999999e-237Initial program 76.6%
Taylor expanded in t around 0 67.7%
*-commutative67.7%
associate-*r*72.1%
associate-*r*70.7%
associate-*r*70.7%
distribute-rgt-in72.2%
+-commutative72.2%
mul-1-neg72.2%
unsub-neg72.2%
*-commutative72.2%
*-commutative72.2%
Simplified72.2%
if -1.9499999999999999e-237 < c < 2.09999999999999984e-154Initial program 84.3%
Taylor expanded in t around -inf 79.6%
Simplified79.7%
Taylor expanded in c around 0 79.9%
sub-neg79.9%
+-commutative79.9%
associate-+l+79.9%
sub-neg79.9%
*-commutative79.9%
sub-neg79.9%
associate-*r*79.9%
*-commutative79.9%
associate-*r*79.9%
*-commutative79.9%
distribute-rgt-neg-in79.9%
distribute-lft-in79.9%
neg-mul-179.9%
sub-neg79.9%
Simplified79.9%
if 2.09999999999999984e-154 < c < 6.4999999999999995e160Initial program 80.8%
Taylor expanded in j around 0 62.8%
*-commutative62.8%
Simplified62.8%
Final simplification72.2%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* i (* a b))))
(if (<= b -6e+170)
t_1
(if (<= b -2.85e+76)
(* x (* y z))
(if (<= b -1.75e+51)
(* b (* a i))
(if (<= b -6.2e-48)
(* y (* x z))
(if (<= b 170000.0)
(* j (* t c))
(if (<= b 1.2e+246) (* z (- (* b c))) t_1))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = i * (a * b);
double tmp;
if (b <= -6e+170) {
tmp = t_1;
} else if (b <= -2.85e+76) {
tmp = x * (y * z);
} else if (b <= -1.75e+51) {
tmp = b * (a * i);
} else if (b <= -6.2e-48) {
tmp = y * (x * z);
} else if (b <= 170000.0) {
tmp = j * (t * c);
} else if (b <= 1.2e+246) {
tmp = z * -(b * c);
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: tmp
t_1 = i * (a * b)
if (b <= (-6d+170)) then
tmp = t_1
else if (b <= (-2.85d+76)) then
tmp = x * (y * z)
else if (b <= (-1.75d+51)) then
tmp = b * (a * i)
else if (b <= (-6.2d-48)) then
tmp = y * (x * z)
else if (b <= 170000.0d0) then
tmp = j * (t * c)
else if (b <= 1.2d+246) then
tmp = z * -(b * c)
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = i * (a * b);
double tmp;
if (b <= -6e+170) {
tmp = t_1;
} else if (b <= -2.85e+76) {
tmp = x * (y * z);
} else if (b <= -1.75e+51) {
tmp = b * (a * i);
} else if (b <= -6.2e-48) {
tmp = y * (x * z);
} else if (b <= 170000.0) {
tmp = j * (t * c);
} else if (b <= 1.2e+246) {
tmp = z * -(b * c);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = i * (a * b) tmp = 0 if b <= -6e+170: tmp = t_1 elif b <= -2.85e+76: tmp = x * (y * z) elif b <= -1.75e+51: tmp = b * (a * i) elif b <= -6.2e-48: tmp = y * (x * z) elif b <= 170000.0: tmp = j * (t * c) elif b <= 1.2e+246: tmp = z * -(b * c) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(i * Float64(a * b)) tmp = 0.0 if (b <= -6e+170) tmp = t_1; elseif (b <= -2.85e+76) tmp = Float64(x * Float64(y * z)); elseif (b <= -1.75e+51) tmp = Float64(b * Float64(a * i)); elseif (b <= -6.2e-48) tmp = Float64(y * Float64(x * z)); elseif (b <= 170000.0) tmp = Float64(j * Float64(t * c)); elseif (b <= 1.2e+246) tmp = Float64(z * Float64(-Float64(b * c))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = i * (a * b); tmp = 0.0; if (b <= -6e+170) tmp = t_1; elseif (b <= -2.85e+76) tmp = x * (y * z); elseif (b <= -1.75e+51) tmp = b * (a * i); elseif (b <= -6.2e-48) tmp = y * (x * z); elseif (b <= 170000.0) tmp = j * (t * c); elseif (b <= 1.2e+246) tmp = z * -(b * c); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(i * N[(a * b), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -6e+170], t$95$1, If[LessEqual[b, -2.85e+76], N[(x * N[(y * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, -1.75e+51], N[(b * N[(a * i), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, -6.2e-48], N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 170000.0], N[(j * N[(t * c), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 1.2e+246], N[(z * (-N[(b * c), $MachinePrecision])), $MachinePrecision], t$95$1]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := i \cdot \left(a \cdot b\right)\\
\mathbf{if}\;b \leq -6 \cdot 10^{+170}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;b \leq -2.85 \cdot 10^{+76}:\\
\;\;\;\;x \cdot \left(y \cdot z\right)\\
\mathbf{elif}\;b \leq -1.75 \cdot 10^{+51}:\\
\;\;\;\;b \cdot \left(a \cdot i\right)\\
\mathbf{elif}\;b \leq -6.2 \cdot 10^{-48}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\mathbf{elif}\;b \leq 170000:\\
\;\;\;\;j \cdot \left(t \cdot c\right)\\
\mathbf{elif}\;b \leq 1.2 \cdot 10^{+246}:\\
\;\;\;\;z \cdot \left(-b \cdot c\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if b < -5.99999999999999994e170 or 1.2e246 < b Initial program 73.9%
Taylor expanded in b around inf 76.3%
*-commutative76.3%
Simplified76.3%
Taylor expanded in a around inf 48.9%
associate-*r*63.0%
Simplified63.0%
if -5.99999999999999994e170 < b < -2.85000000000000002e76Initial program 72.7%
Taylor expanded in t around 0 63.7%
*-commutative63.7%
associate-*r*68.2%
associate-*r*63.9%
associate-*r*63.9%
distribute-rgt-in68.5%
+-commutative68.5%
mul-1-neg68.5%
unsub-neg68.5%
*-commutative68.5%
*-commutative68.5%
Simplified68.5%
Taylor expanded in x around inf 51.1%
*-commutative51.1%
Simplified51.1%
if -2.85000000000000002e76 < b < -1.75e51Initial program 99.8%
Taylor expanded in b around inf 58.5%
*-commutative58.5%
Simplified58.5%
Taylor expanded in a around inf 57.8%
if -1.75e51 < b < -6.20000000000000033e-48Initial program 80.4%
Taylor expanded in y around inf 51.9%
+-commutative51.9%
mul-1-neg51.9%
unsub-neg51.9%
*-commutative51.9%
Simplified51.9%
Taylor expanded in x around inf 41.7%
*-commutative41.7%
Simplified41.7%
if -6.20000000000000033e-48 < b < 1.7e5Initial program 72.9%
Taylor expanded in j around inf 51.4%
sub-neg51.4%
*-commutative51.4%
*-commutative51.4%
sub-neg51.4%
Simplified51.4%
Taylor expanded in t around inf 33.2%
*-commutative33.2%
Simplified33.2%
if 1.7e5 < b < 1.2e246Initial program 69.3%
Taylor expanded in z around inf 56.1%
*-commutative56.1%
Simplified56.1%
Taylor expanded in x around 0 43.5%
mul-1-neg43.5%
distribute-rgt-neg-in43.5%
Simplified43.5%
Final simplification44.2%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* j (* t c))))
(if (<= i -600000000.0)
(* b (* a i))
(if (<= i 5e-303)
t_1
(if (<= i 3e-155)
(* z (- (* b c)))
(if (<= i 2.95e-95)
(* t (* x (- a)))
(if (<= i 3.4e+73)
(* x (* y z))
(if (<= i 1.32e+132) t_1 (* a (* b i))))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = j * (t * c);
double tmp;
if (i <= -600000000.0) {
tmp = b * (a * i);
} else if (i <= 5e-303) {
tmp = t_1;
} else if (i <= 3e-155) {
tmp = z * -(b * c);
} else if (i <= 2.95e-95) {
tmp = t * (x * -a);
} else if (i <= 3.4e+73) {
tmp = x * (y * z);
} else if (i <= 1.32e+132) {
tmp = t_1;
} else {
tmp = a * (b * i);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: tmp
t_1 = j * (t * c)
if (i <= (-600000000.0d0)) then
tmp = b * (a * i)
else if (i <= 5d-303) then
tmp = t_1
else if (i <= 3d-155) then
tmp = z * -(b * c)
else if (i <= 2.95d-95) then
tmp = t * (x * -a)
else if (i <= 3.4d+73) then
tmp = x * (y * z)
else if (i <= 1.32d+132) then
tmp = t_1
else
tmp = a * (b * i)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = j * (t * c);
double tmp;
if (i <= -600000000.0) {
tmp = b * (a * i);
} else if (i <= 5e-303) {
tmp = t_1;
} else if (i <= 3e-155) {
tmp = z * -(b * c);
} else if (i <= 2.95e-95) {
tmp = t * (x * -a);
} else if (i <= 3.4e+73) {
tmp = x * (y * z);
} else if (i <= 1.32e+132) {
tmp = t_1;
} else {
tmp = a * (b * i);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = j * (t * c) tmp = 0 if i <= -600000000.0: tmp = b * (a * i) elif i <= 5e-303: tmp = t_1 elif i <= 3e-155: tmp = z * -(b * c) elif i <= 2.95e-95: tmp = t * (x * -a) elif i <= 3.4e+73: tmp = x * (y * z) elif i <= 1.32e+132: tmp = t_1 else: tmp = a * (b * i) return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(j * Float64(t * c)) tmp = 0.0 if (i <= -600000000.0) tmp = Float64(b * Float64(a * i)); elseif (i <= 5e-303) tmp = t_1; elseif (i <= 3e-155) tmp = Float64(z * Float64(-Float64(b * c))); elseif (i <= 2.95e-95) tmp = Float64(t * Float64(x * Float64(-a))); elseif (i <= 3.4e+73) tmp = Float64(x * Float64(y * z)); elseif (i <= 1.32e+132) tmp = t_1; else tmp = Float64(a * Float64(b * i)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = j * (t * c); tmp = 0.0; if (i <= -600000000.0) tmp = b * (a * i); elseif (i <= 5e-303) tmp = t_1; elseif (i <= 3e-155) tmp = z * -(b * c); elseif (i <= 2.95e-95) tmp = t * (x * -a); elseif (i <= 3.4e+73) tmp = x * (y * z); elseif (i <= 1.32e+132) tmp = t_1; else tmp = a * (b * i); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(j * N[(t * c), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[i, -600000000.0], N[(b * N[(a * i), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 5e-303], t$95$1, If[LessEqual[i, 3e-155], N[(z * (-N[(b * c), $MachinePrecision])), $MachinePrecision], If[LessEqual[i, 2.95e-95], N[(t * N[(x * (-a)), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 3.4e+73], N[(x * N[(y * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 1.32e+132], t$95$1, N[(a * N[(b * i), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(t \cdot c\right)\\
\mathbf{if}\;i \leq -600000000:\\
\;\;\;\;b \cdot \left(a \cdot i\right)\\
\mathbf{elif}\;i \leq 5 \cdot 10^{-303}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;i \leq 3 \cdot 10^{-155}:\\
\;\;\;\;z \cdot \left(-b \cdot c\right)\\
\mathbf{elif}\;i \leq 2.95 \cdot 10^{-95}:\\
\;\;\;\;t \cdot \left(x \cdot \left(-a\right)\right)\\
\mathbf{elif}\;i \leq 3.4 \cdot 10^{+73}:\\
\;\;\;\;x \cdot \left(y \cdot z\right)\\
\mathbf{elif}\;i \leq 1.32 \cdot 10^{+132}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;a \cdot \left(b \cdot i\right)\\
\end{array}
\end{array}
if i < -6e8Initial program 71.0%
Taylor expanded in b around inf 45.4%
*-commutative45.4%
Simplified45.4%
Taylor expanded in a around inf 37.6%
if -6e8 < i < 4.9999999999999998e-303 or 3.4000000000000002e73 < i < 1.3199999999999999e132Initial program 77.9%
Taylor expanded in j around inf 47.5%
sub-neg47.5%
*-commutative47.5%
*-commutative47.5%
sub-neg47.5%
Simplified47.5%
Taylor expanded in t around inf 42.1%
*-commutative42.1%
Simplified42.1%
if 4.9999999999999998e-303 < i < 2.99999999999999984e-155Initial program 77.1%
Taylor expanded in z around inf 66.9%
*-commutative66.9%
Simplified66.9%
Taylor expanded in x around 0 55.2%
mul-1-neg55.2%
distribute-rgt-neg-in55.2%
Simplified55.2%
if 2.99999999999999984e-155 < i < 2.9499999999999999e-95Initial program 91.8%
Taylor expanded in a around inf 43.9%
distribute-lft-out--43.9%
*-commutative43.9%
*-commutative43.9%
Simplified43.9%
Taylor expanded in x around inf 35.5%
Taylor expanded in a around 0 35.5%
mul-1-neg35.5%
*-commutative35.5%
associate-*r*51.3%
distribute-rgt-neg-in51.3%
Simplified51.3%
if 2.9499999999999999e-95 < i < 3.4000000000000002e73Initial program 77.8%
Taylor expanded in t around 0 67.1%
*-commutative67.1%
associate-*r*67.3%
associate-*r*70.0%
associate-*r*70.0%
distribute-rgt-in70.0%
+-commutative70.0%
mul-1-neg70.0%
unsub-neg70.0%
*-commutative70.0%
*-commutative70.0%
Simplified70.0%
Taylor expanded in x around inf 38.0%
*-commutative38.0%
Simplified38.0%
if 1.3199999999999999e132 < i Initial program 60.5%
Taylor expanded in b around inf 47.9%
*-commutative47.9%
Simplified47.9%
Taylor expanded in a around inf 56.3%
Final simplification44.7%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* j (* t c))))
(if (<= t -1.25e+101)
t_1
(if (<= t -1.5e-185)
(* y (* x z))
(if (<= t 2.6e+106)
(* i (* a b))
(if (or (<= t 4.6e+153) (not (<= t 6.5e+171)))
t_1
(* a (* t (- x)))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = j * (t * c);
double tmp;
if (t <= -1.25e+101) {
tmp = t_1;
} else if (t <= -1.5e-185) {
tmp = y * (x * z);
} else if (t <= 2.6e+106) {
tmp = i * (a * b);
} else if ((t <= 4.6e+153) || !(t <= 6.5e+171)) {
tmp = t_1;
} else {
tmp = a * (t * -x);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: tmp
t_1 = j * (t * c)
if (t <= (-1.25d+101)) then
tmp = t_1
else if (t <= (-1.5d-185)) then
tmp = y * (x * z)
else if (t <= 2.6d+106) then
tmp = i * (a * b)
else if ((t <= 4.6d+153) .or. (.not. (t <= 6.5d+171))) then
tmp = t_1
else
tmp = a * (t * -x)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = j * (t * c);
double tmp;
if (t <= -1.25e+101) {
tmp = t_1;
} else if (t <= -1.5e-185) {
tmp = y * (x * z);
} else if (t <= 2.6e+106) {
tmp = i * (a * b);
} else if ((t <= 4.6e+153) || !(t <= 6.5e+171)) {
tmp = t_1;
} else {
tmp = a * (t * -x);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = j * (t * c) tmp = 0 if t <= -1.25e+101: tmp = t_1 elif t <= -1.5e-185: tmp = y * (x * z) elif t <= 2.6e+106: tmp = i * (a * b) elif (t <= 4.6e+153) or not (t <= 6.5e+171): tmp = t_1 else: tmp = a * (t * -x) return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(j * Float64(t * c)) tmp = 0.0 if (t <= -1.25e+101) tmp = t_1; elseif (t <= -1.5e-185) tmp = Float64(y * Float64(x * z)); elseif (t <= 2.6e+106) tmp = Float64(i * Float64(a * b)); elseif ((t <= 4.6e+153) || !(t <= 6.5e+171)) tmp = t_1; else tmp = Float64(a * Float64(t * Float64(-x))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = j * (t * c); tmp = 0.0; if (t <= -1.25e+101) tmp = t_1; elseif (t <= -1.5e-185) tmp = y * (x * z); elseif (t <= 2.6e+106) tmp = i * (a * b); elseif ((t <= 4.6e+153) || ~((t <= 6.5e+171))) tmp = t_1; else tmp = a * (t * -x); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(j * N[(t * c), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -1.25e+101], t$95$1, If[LessEqual[t, -1.5e-185], N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 2.6e+106], N[(i * N[(a * b), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[t, 4.6e+153], N[Not[LessEqual[t, 6.5e+171]], $MachinePrecision]], t$95$1, N[(a * N[(t * (-x)), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(t \cdot c\right)\\
\mathbf{if}\;t \leq -1.25 \cdot 10^{+101}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq -1.5 \cdot 10^{-185}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\mathbf{elif}\;t \leq 2.6 \cdot 10^{+106}:\\
\;\;\;\;i \cdot \left(a \cdot b\right)\\
\mathbf{elif}\;t \leq 4.6 \cdot 10^{+153} \lor \neg \left(t \leq 6.5 \cdot 10^{+171}\right):\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;a \cdot \left(t \cdot \left(-x\right)\right)\\
\end{array}
\end{array}
if t < -1.24999999999999997e101 or 2.6000000000000002e106 < t < 4.6000000000000003e153 or 6.5e171 < t Initial program 60.1%
Taylor expanded in j around inf 59.5%
sub-neg59.5%
*-commutative59.5%
*-commutative59.5%
sub-neg59.5%
Simplified59.5%
Taylor expanded in t around inf 54.6%
*-commutative54.6%
Simplified54.6%
if -1.24999999999999997e101 < t < -1.50000000000000015e-185Initial program 88.8%
Taylor expanded in y around inf 43.6%
+-commutative43.6%
mul-1-neg43.6%
unsub-neg43.6%
*-commutative43.6%
Simplified43.6%
Taylor expanded in x around inf 34.0%
*-commutative34.0%
Simplified34.0%
if -1.50000000000000015e-185 < t < 2.6000000000000002e106Initial program 73.2%
Taylor expanded in b around inf 53.7%
*-commutative53.7%
Simplified53.7%
Taylor expanded in a around inf 34.2%
associate-*r*39.8%
Simplified39.8%
if 4.6000000000000003e153 < t < 6.5e171Initial program 85.7%
Taylor expanded in a around inf 85.7%
distribute-lft-out--85.7%
*-commutative85.7%
*-commutative85.7%
Simplified85.7%
Taylor expanded in x around inf 86.3%
Taylor expanded in a around 0 86.3%
mul-1-neg86.3%
*-commutative86.3%
distribute-rgt-neg-in86.3%
Simplified86.3%
Final simplification44.1%
(FPCore (x y z t a b c i j)
:precision binary64
(if (or (<= t -4.6e+83)
(not (or (<= t -4.1e-41) (and (not (<= t -7e-116)) (<= t 3.3e+106)))))
(* t (- (* c j) (* x a)))
(* b (- (* a i) (* z c)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if ((t <= -4.6e+83) || !((t <= -4.1e-41) || (!(t <= -7e-116) && (t <= 3.3e+106)))) {
tmp = t * ((c * j) - (x * a));
} else {
tmp = b * ((a * i) - (z * c));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: tmp
if ((t <= (-4.6d+83)) .or. (.not. (t <= (-4.1d-41)) .or. (.not. (t <= (-7d-116))) .and. (t <= 3.3d+106))) then
tmp = t * ((c * j) - (x * a))
else
tmp = b * ((a * i) - (z * c))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if ((t <= -4.6e+83) || !((t <= -4.1e-41) || (!(t <= -7e-116) && (t <= 3.3e+106)))) {
tmp = t * ((c * j) - (x * a));
} else {
tmp = b * ((a * i) - (z * c));
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if (t <= -4.6e+83) or not ((t <= -4.1e-41) or (not (t <= -7e-116) and (t <= 3.3e+106))): tmp = t * ((c * j) - (x * a)) else: tmp = b * ((a * i) - (z * c)) return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if ((t <= -4.6e+83) || !((t <= -4.1e-41) || (!(t <= -7e-116) && (t <= 3.3e+106)))) tmp = Float64(t * Float64(Float64(c * j) - Float64(x * a))); else tmp = Float64(b * Float64(Float64(a * i) - Float64(z * c))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if ((t <= -4.6e+83) || ~(((t <= -4.1e-41) || (~((t <= -7e-116)) && (t <= 3.3e+106))))) tmp = t * ((c * j) - (x * a)); else tmp = b * ((a * i) - (z * c)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[Or[LessEqual[t, -4.6e+83], N[Not[Or[LessEqual[t, -4.1e-41], And[N[Not[LessEqual[t, -7e-116]], $MachinePrecision], LessEqual[t, 3.3e+106]]]], $MachinePrecision]], N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -4.6 \cdot 10^{+83} \lor \neg \left(t \leq -4.1 \cdot 10^{-41} \lor \neg \left(t \leq -7 \cdot 10^{-116}\right) \land t \leq 3.3 \cdot 10^{+106}\right):\\
\;\;\;\;t \cdot \left(c \cdot j - x \cdot a\right)\\
\mathbf{else}:\\
\;\;\;\;b \cdot \left(a \cdot i - z \cdot c\right)\\
\end{array}
\end{array}
if t < -4.5999999999999999e83 or -4.10000000000000014e-41 < t < -6.99999999999999968e-116 or 3.30000000000000008e106 < t Initial program 69.7%
Taylor expanded in t around -inf 74.0%
Simplified72.3%
Taylor expanded in t around inf 64.6%
if -4.5999999999999999e83 < t < -4.10000000000000014e-41 or -6.99999999999999968e-116 < t < 3.30000000000000008e106Initial program 77.0%
Taylor expanded in b around inf 52.4%
*-commutative52.4%
Simplified52.4%
Final simplification57.9%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* j (- (* t c) (* y i)))) (t_2 (* b (- (* a i) (* z c)))))
(if (<= b -1.62e-12)
t_2
(if (<= b -2e-218)
t_1
(if (<= b -8e-259) (* a (* t (- x))) (if (<= b 230000.0) t_1 t_2))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = j * ((t * c) - (y * i));
double t_2 = b * ((a * i) - (z * c));
double tmp;
if (b <= -1.62e-12) {
tmp = t_2;
} else if (b <= -2e-218) {
tmp = t_1;
} else if (b <= -8e-259) {
tmp = a * (t * -x);
} else if (b <= 230000.0) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = j * ((t * c) - (y * i))
t_2 = b * ((a * i) - (z * c))
if (b <= (-1.62d-12)) then
tmp = t_2
else if (b <= (-2d-218)) then
tmp = t_1
else if (b <= (-8d-259)) then
tmp = a * (t * -x)
else if (b <= 230000.0d0) then
tmp = t_1
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = j * ((t * c) - (y * i));
double t_2 = b * ((a * i) - (z * c));
double tmp;
if (b <= -1.62e-12) {
tmp = t_2;
} else if (b <= -2e-218) {
tmp = t_1;
} else if (b <= -8e-259) {
tmp = a * (t * -x);
} else if (b <= 230000.0) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = j * ((t * c) - (y * i)) t_2 = b * ((a * i) - (z * c)) tmp = 0 if b <= -1.62e-12: tmp = t_2 elif b <= -2e-218: tmp = t_1 elif b <= -8e-259: tmp = a * (t * -x) elif b <= 230000.0: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(j * Float64(Float64(t * c) - Float64(y * i))) t_2 = Float64(b * Float64(Float64(a * i) - Float64(z * c))) tmp = 0.0 if (b <= -1.62e-12) tmp = t_2; elseif (b <= -2e-218) tmp = t_1; elseif (b <= -8e-259) tmp = Float64(a * Float64(t * Float64(-x))); elseif (b <= 230000.0) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = j * ((t * c) - (y * i)); t_2 = b * ((a * i) - (z * c)); tmp = 0.0; if (b <= -1.62e-12) tmp = t_2; elseif (b <= -2e-218) tmp = t_1; elseif (b <= -8e-259) tmp = a * (t * -x); elseif (b <= 230000.0) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(j * N[(N[(t * c), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -1.62e-12], t$95$2, If[LessEqual[b, -2e-218], t$95$1, If[LessEqual[b, -8e-259], N[(a * N[(t * (-x)), $MachinePrecision]), $MachinePrecision], If[LessEqual[b, 230000.0], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(t \cdot c - y \cdot i\right)\\
t_2 := b \cdot \left(a \cdot i - z \cdot c\right)\\
\mathbf{if}\;b \leq -1.62 \cdot 10^{-12}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;b \leq -2 \cdot 10^{-218}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;b \leq -8 \cdot 10^{-259}:\\
\;\;\;\;a \cdot \left(t \cdot \left(-x\right)\right)\\
\mathbf{elif}\;b \leq 230000:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if b < -1.62e-12 or 2.3e5 < b Initial program 75.4%
Taylor expanded in b around inf 60.0%
*-commutative60.0%
Simplified60.0%
if -1.62e-12 < b < -2.0000000000000001e-218 or -8.0000000000000006e-259 < b < 2.3e5Initial program 71.3%
Taylor expanded in j around inf 55.2%
sub-neg55.2%
*-commutative55.2%
*-commutative55.2%
sub-neg55.2%
Simplified55.2%
if -2.0000000000000001e-218 < b < -8.0000000000000006e-259Initial program 73.5%
Taylor expanded in a around inf 49.6%
distribute-lft-out--49.6%
*-commutative49.6%
*-commutative49.6%
Simplified49.6%
Taylor expanded in x around inf 49.7%
Taylor expanded in a around 0 49.7%
mul-1-neg49.7%
*-commutative49.7%
distribute-rgt-neg-in49.7%
Simplified49.7%
Final simplification57.7%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* b (- (* a i) (* z c)))) (t_2 (* t (- (* c j) (* x a)))))
(if (<= t -8.5e+80)
t_2
(if (<= t -1.8e-25)
t_1
(if (<= t -2.4e-116)
(* x (- (* y z) (* t a)))
(if (<= t 4.5e+104) t_1 t_2))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = b * ((a * i) - (z * c));
double t_2 = t * ((c * j) - (x * a));
double tmp;
if (t <= -8.5e+80) {
tmp = t_2;
} else if (t <= -1.8e-25) {
tmp = t_1;
} else if (t <= -2.4e-116) {
tmp = x * ((y * z) - (t * a));
} else if (t <= 4.5e+104) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = b * ((a * i) - (z * c))
t_2 = t * ((c * j) - (x * a))
if (t <= (-8.5d+80)) then
tmp = t_2
else if (t <= (-1.8d-25)) then
tmp = t_1
else if (t <= (-2.4d-116)) then
tmp = x * ((y * z) - (t * a))
else if (t <= 4.5d+104) then
tmp = t_1
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = b * ((a * i) - (z * c));
double t_2 = t * ((c * j) - (x * a));
double tmp;
if (t <= -8.5e+80) {
tmp = t_2;
} else if (t <= -1.8e-25) {
tmp = t_1;
} else if (t <= -2.4e-116) {
tmp = x * ((y * z) - (t * a));
} else if (t <= 4.5e+104) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = b * ((a * i) - (z * c)) t_2 = t * ((c * j) - (x * a)) tmp = 0 if t <= -8.5e+80: tmp = t_2 elif t <= -1.8e-25: tmp = t_1 elif t <= -2.4e-116: tmp = x * ((y * z) - (t * a)) elif t <= 4.5e+104: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(b * Float64(Float64(a * i) - Float64(z * c))) t_2 = Float64(t * Float64(Float64(c * j) - Float64(x * a))) tmp = 0.0 if (t <= -8.5e+80) tmp = t_2; elseif (t <= -1.8e-25) tmp = t_1; elseif (t <= -2.4e-116) tmp = Float64(x * Float64(Float64(y * z) - Float64(t * a))); elseif (t <= 4.5e+104) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = b * ((a * i) - (z * c)); t_2 = t * ((c * j) - (x * a)); tmp = 0.0; if (t <= -8.5e+80) tmp = t_2; elseif (t <= -1.8e-25) tmp = t_1; elseif (t <= -2.4e-116) tmp = x * ((y * z) - (t * a)); elseif (t <= 4.5e+104) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -8.5e+80], t$95$2, If[LessEqual[t, -1.8e-25], t$95$1, If[LessEqual[t, -2.4e-116], N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 4.5e+104], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := b \cdot \left(a \cdot i - z \cdot c\right)\\
t_2 := t \cdot \left(c \cdot j - x \cdot a\right)\\
\mathbf{if}\;t \leq -8.5 \cdot 10^{+80}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;t \leq -1.8 \cdot 10^{-25}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq -2.4 \cdot 10^{-116}:\\
\;\;\;\;x \cdot \left(y \cdot z - t \cdot a\right)\\
\mathbf{elif}\;t \leq 4.5 \cdot 10^{+104}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if t < -8.50000000000000007e80 or 4.4999999999999998e104 < t Initial program 64.0%
Taylor expanded in t around -inf 71.5%
Simplified71.4%
Taylor expanded in t around inf 66.1%
if -8.50000000000000007e80 < t < -1.8e-25 or -2.39999999999999993e-116 < t < 4.4999999999999998e104Initial program 76.1%
Taylor expanded in b around inf 52.7%
*-commutative52.7%
Simplified52.7%
if -1.8e-25 < t < -2.39999999999999993e-116Initial program 96.0%
Taylor expanded in t around -inf 88.3%
Simplified80.8%
Taylor expanded in x around inf 55.4%
+-commutative55.4%
mul-1-neg55.4%
unsub-neg55.4%
*-commutative55.4%
*-commutative55.4%
Simplified55.4%
Final simplification57.9%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* t (- (* c j) (* x a)))))
(if (<= t -2.6e+67)
t_1
(if (<= t 2.8e-246)
(* z (- (* x y) (* b c)))
(if (<= t 4.5e-149)
(* y (- (* x z) (* i j)))
(if (<= t 6e+106) (* b (- (* a i) (* z c))) t_1))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = t * ((c * j) - (x * a));
double tmp;
if (t <= -2.6e+67) {
tmp = t_1;
} else if (t <= 2.8e-246) {
tmp = z * ((x * y) - (b * c));
} else if (t <= 4.5e-149) {
tmp = y * ((x * z) - (i * j));
} else if (t <= 6e+106) {
tmp = b * ((a * i) - (z * c));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: tmp
t_1 = t * ((c * j) - (x * a))
if (t <= (-2.6d+67)) then
tmp = t_1
else if (t <= 2.8d-246) then
tmp = z * ((x * y) - (b * c))
else if (t <= 4.5d-149) then
tmp = y * ((x * z) - (i * j))
else if (t <= 6d+106) then
tmp = b * ((a * i) - (z * c))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = t * ((c * j) - (x * a));
double tmp;
if (t <= -2.6e+67) {
tmp = t_1;
} else if (t <= 2.8e-246) {
tmp = z * ((x * y) - (b * c));
} else if (t <= 4.5e-149) {
tmp = y * ((x * z) - (i * j));
} else if (t <= 6e+106) {
tmp = b * ((a * i) - (z * c));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = t * ((c * j) - (x * a)) tmp = 0 if t <= -2.6e+67: tmp = t_1 elif t <= 2.8e-246: tmp = z * ((x * y) - (b * c)) elif t <= 4.5e-149: tmp = y * ((x * z) - (i * j)) elif t <= 6e+106: tmp = b * ((a * i) - (z * c)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(t * Float64(Float64(c * j) - Float64(x * a))) tmp = 0.0 if (t <= -2.6e+67) tmp = t_1; elseif (t <= 2.8e-246) tmp = Float64(z * Float64(Float64(x * y) - Float64(b * c))); elseif (t <= 4.5e-149) tmp = Float64(y * Float64(Float64(x * z) - Float64(i * j))); elseif (t <= 6e+106) tmp = Float64(b * Float64(Float64(a * i) - Float64(z * c))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = t * ((c * j) - (x * a)); tmp = 0.0; if (t <= -2.6e+67) tmp = t_1; elseif (t <= 2.8e-246) tmp = z * ((x * y) - (b * c)); elseif (t <= 4.5e-149) tmp = y * ((x * z) - (i * j)); elseif (t <= 6e+106) tmp = b * ((a * i) - (z * c)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -2.6e+67], t$95$1, If[LessEqual[t, 2.8e-246], N[(z * N[(N[(x * y), $MachinePrecision] - N[(b * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 4.5e-149], N[(y * N[(N[(x * z), $MachinePrecision] - N[(i * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 6e+106], N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(c \cdot j - x \cdot a\right)\\
\mathbf{if}\;t \leq -2.6 \cdot 10^{+67}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq 2.8 \cdot 10^{-246}:\\
\;\;\;\;z \cdot \left(x \cdot y - b \cdot c\right)\\
\mathbf{elif}\;t \leq 4.5 \cdot 10^{-149}:\\
\;\;\;\;y \cdot \left(x \cdot z - i \cdot j\right)\\
\mathbf{elif}\;t \leq 6 \cdot 10^{+106}:\\
\;\;\;\;b \cdot \left(a \cdot i - z \cdot c\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if t < -2.6e67 or 6.0000000000000001e106 < t Initial program 64.8%
Taylor expanded in t around -inf 72.1%
Simplified72.0%
Taylor expanded in t around inf 66.8%
if -2.6e67 < t < 2.7999999999999999e-246Initial program 78.6%
Taylor expanded in z around inf 52.5%
*-commutative52.5%
Simplified52.5%
if 2.7999999999999999e-246 < t < 4.4999999999999998e-149Initial program 82.0%
Taylor expanded in y around inf 64.7%
+-commutative64.7%
mul-1-neg64.7%
unsub-neg64.7%
*-commutative64.7%
Simplified64.7%
if 4.4999999999999998e-149 < t < 6.0000000000000001e106Initial program 78.7%
Taylor expanded in b around inf 59.7%
*-commutative59.7%
Simplified59.7%
Final simplification60.2%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* t (- (* c j) (* x a)))))
(if (<= t -4.5e+68)
t_1
(if (<= t 6e-285)
(* z (- (* x y) (* b c)))
(if (<= t 2.6e-44)
(* i (- (* a b) (* y j)))
(if (<= t 3.2e+107) (* b (- (* a i) (* z c))) t_1))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = t * ((c * j) - (x * a));
double tmp;
if (t <= -4.5e+68) {
tmp = t_1;
} else if (t <= 6e-285) {
tmp = z * ((x * y) - (b * c));
} else if (t <= 2.6e-44) {
tmp = i * ((a * b) - (y * j));
} else if (t <= 3.2e+107) {
tmp = b * ((a * i) - (z * c));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: tmp
t_1 = t * ((c * j) - (x * a))
if (t <= (-4.5d+68)) then
tmp = t_1
else if (t <= 6d-285) then
tmp = z * ((x * y) - (b * c))
else if (t <= 2.6d-44) then
tmp = i * ((a * b) - (y * j))
else if (t <= 3.2d+107) then
tmp = b * ((a * i) - (z * c))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = t * ((c * j) - (x * a));
double tmp;
if (t <= -4.5e+68) {
tmp = t_1;
} else if (t <= 6e-285) {
tmp = z * ((x * y) - (b * c));
} else if (t <= 2.6e-44) {
tmp = i * ((a * b) - (y * j));
} else if (t <= 3.2e+107) {
tmp = b * ((a * i) - (z * c));
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = t * ((c * j) - (x * a)) tmp = 0 if t <= -4.5e+68: tmp = t_1 elif t <= 6e-285: tmp = z * ((x * y) - (b * c)) elif t <= 2.6e-44: tmp = i * ((a * b) - (y * j)) elif t <= 3.2e+107: tmp = b * ((a * i) - (z * c)) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(t * Float64(Float64(c * j) - Float64(x * a))) tmp = 0.0 if (t <= -4.5e+68) tmp = t_1; elseif (t <= 6e-285) tmp = Float64(z * Float64(Float64(x * y) - Float64(b * c))); elseif (t <= 2.6e-44) tmp = Float64(i * Float64(Float64(a * b) - Float64(y * j))); elseif (t <= 3.2e+107) tmp = Float64(b * Float64(Float64(a * i) - Float64(z * c))); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = t * ((c * j) - (x * a)); tmp = 0.0; if (t <= -4.5e+68) tmp = t_1; elseif (t <= 6e-285) tmp = z * ((x * y) - (b * c)); elseif (t <= 2.6e-44) tmp = i * ((a * b) - (y * j)); elseif (t <= 3.2e+107) tmp = b * ((a * i) - (z * c)); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(t * N[(N[(c * j), $MachinePrecision] - N[(x * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -4.5e+68], t$95$1, If[LessEqual[t, 6e-285], N[(z * N[(N[(x * y), $MachinePrecision] - N[(b * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 2.6e-44], N[(i * N[(N[(a * b), $MachinePrecision] - N[(y * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 3.2e+107], N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := t \cdot \left(c \cdot j - x \cdot a\right)\\
\mathbf{if}\;t \leq -4.5 \cdot 10^{+68}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq 6 \cdot 10^{-285}:\\
\;\;\;\;z \cdot \left(x \cdot y - b \cdot c\right)\\
\mathbf{elif}\;t \leq 2.6 \cdot 10^{-44}:\\
\;\;\;\;i \cdot \left(a \cdot b - y \cdot j\right)\\
\mathbf{elif}\;t \leq 3.2 \cdot 10^{+107}:\\
\;\;\;\;b \cdot \left(a \cdot i - z \cdot c\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if t < -4.5000000000000003e68 or 3.20000000000000029e107 < t Initial program 64.8%
Taylor expanded in t around -inf 72.1%
Simplified72.0%
Taylor expanded in t around inf 66.8%
if -4.5000000000000003e68 < t < 6.00000000000000007e-285Initial program 79.6%
Taylor expanded in z around inf 53.1%
*-commutative53.1%
Simplified53.1%
if 6.00000000000000007e-285 < t < 2.5999999999999998e-44Initial program 79.9%
Taylor expanded in i around inf 63.5%
distribute-lft-out--63.5%
*-commutative63.5%
Simplified63.5%
if 2.5999999999999998e-44 < t < 3.20000000000000029e107Initial program 76.3%
Taylor expanded in b around inf 66.3%
*-commutative66.3%
Simplified66.3%
Final simplification61.5%
(FPCore (x y z t a b c i j)
:precision binary64
(if (<= y -3.4e+177)
(* x (* y z))
(if (<= y 1.3e-229)
(* b (- (* a i) (* z c)))
(if (<= y 3.05e+81)
(* c (- (* t j) (* z b)))
(if (<= y 3.4e+113) (* z (* x y)) (* j (* y (- i))))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (y <= -3.4e+177) {
tmp = x * (y * z);
} else if (y <= 1.3e-229) {
tmp = b * ((a * i) - (z * c));
} else if (y <= 3.05e+81) {
tmp = c * ((t * j) - (z * b));
} else if (y <= 3.4e+113) {
tmp = z * (x * y);
} else {
tmp = j * (y * -i);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: tmp
if (y <= (-3.4d+177)) then
tmp = x * (y * z)
else if (y <= 1.3d-229) then
tmp = b * ((a * i) - (z * c))
else if (y <= 3.05d+81) then
tmp = c * ((t * j) - (z * b))
else if (y <= 3.4d+113) then
tmp = z * (x * y)
else
tmp = j * (y * -i)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (y <= -3.4e+177) {
tmp = x * (y * z);
} else if (y <= 1.3e-229) {
tmp = b * ((a * i) - (z * c));
} else if (y <= 3.05e+81) {
tmp = c * ((t * j) - (z * b));
} else if (y <= 3.4e+113) {
tmp = z * (x * y);
} else {
tmp = j * (y * -i);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if y <= -3.4e+177: tmp = x * (y * z) elif y <= 1.3e-229: tmp = b * ((a * i) - (z * c)) elif y <= 3.05e+81: tmp = c * ((t * j) - (z * b)) elif y <= 3.4e+113: tmp = z * (x * y) else: tmp = j * (y * -i) return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if (y <= -3.4e+177) tmp = Float64(x * Float64(y * z)); elseif (y <= 1.3e-229) tmp = Float64(b * Float64(Float64(a * i) - Float64(z * c))); elseif (y <= 3.05e+81) tmp = Float64(c * Float64(Float64(t * j) - Float64(z * b))); elseif (y <= 3.4e+113) tmp = Float64(z * Float64(x * y)); else tmp = Float64(j * Float64(y * Float64(-i))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if (y <= -3.4e+177) tmp = x * (y * z); elseif (y <= 1.3e-229) tmp = b * ((a * i) - (z * c)); elseif (y <= 3.05e+81) tmp = c * ((t * j) - (z * b)); elseif (y <= 3.4e+113) tmp = z * (x * y); else tmp = j * (y * -i); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[LessEqual[y, -3.4e+177], N[(x * N[(y * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.3e-229], N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 3.05e+81], N[(c * N[(N[(t * j), $MachinePrecision] - N[(z * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 3.4e+113], N[(z * N[(x * y), $MachinePrecision]), $MachinePrecision], N[(j * N[(y * (-i)), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -3.4 \cdot 10^{+177}:\\
\;\;\;\;x \cdot \left(y \cdot z\right)\\
\mathbf{elif}\;y \leq 1.3 \cdot 10^{-229}:\\
\;\;\;\;b \cdot \left(a \cdot i - z \cdot c\right)\\
\mathbf{elif}\;y \leq 3.05 \cdot 10^{+81}:\\
\;\;\;\;c \cdot \left(t \cdot j - z \cdot b\right)\\
\mathbf{elif}\;y \leq 3.4 \cdot 10^{+113}:\\
\;\;\;\;z \cdot \left(x \cdot y\right)\\
\mathbf{else}:\\
\;\;\;\;j \cdot \left(y \cdot \left(-i\right)\right)\\
\end{array}
\end{array}
if y < -3.3999999999999998e177Initial program 55.0%
Taylor expanded in t around 0 66.8%
*-commutative66.8%
associate-*r*66.8%
associate-*r*69.8%
associate-*r*69.8%
distribute-rgt-in69.8%
+-commutative69.8%
mul-1-neg69.8%
unsub-neg69.8%
*-commutative69.8%
*-commutative69.8%
Simplified69.8%
Taylor expanded in x around inf 67.4%
*-commutative67.4%
Simplified67.4%
if -3.3999999999999998e177 < y < 1.3000000000000001e-229Initial program 74.1%
Taylor expanded in b around inf 50.7%
*-commutative50.7%
Simplified50.7%
if 1.3000000000000001e-229 < y < 3.05000000000000019e81Initial program 78.8%
Taylor expanded in c around inf 56.5%
*-commutative56.5%
*-commutative56.5%
Simplified56.5%
if 3.05000000000000019e81 < y < 3.40000000000000019e113Initial program 84.3%
Taylor expanded in z around inf 63.4%
*-commutative63.4%
Simplified63.4%
Taylor expanded in x around inf 60.8%
if 3.40000000000000019e113 < y Initial program 78.7%
Taylor expanded in j around inf 61.4%
sub-neg61.4%
*-commutative61.4%
*-commutative61.4%
sub-neg61.4%
Simplified61.4%
Taylor expanded in t around 0 47.4%
mul-1-neg47.4%
distribute-rgt-neg-in47.4%
Simplified47.4%
Final simplification54.4%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* a (* b i))) (t_2 (* j (* t c))))
(if (<= t -4.6e+89)
t_2
(if (<= t -5.5e-40)
t_1
(if (<= t 2.7e-220) (* x (* y z)) (if (<= t 1.2e+106) t_1 t_2))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = a * (b * i);
double t_2 = j * (t * c);
double tmp;
if (t <= -4.6e+89) {
tmp = t_2;
} else if (t <= -5.5e-40) {
tmp = t_1;
} else if (t <= 2.7e-220) {
tmp = x * (y * z);
} else if (t <= 1.2e+106) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = a * (b * i)
t_2 = j * (t * c)
if (t <= (-4.6d+89)) then
tmp = t_2
else if (t <= (-5.5d-40)) then
tmp = t_1
else if (t <= 2.7d-220) then
tmp = x * (y * z)
else if (t <= 1.2d+106) then
tmp = t_1
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = a * (b * i);
double t_2 = j * (t * c);
double tmp;
if (t <= -4.6e+89) {
tmp = t_2;
} else if (t <= -5.5e-40) {
tmp = t_1;
} else if (t <= 2.7e-220) {
tmp = x * (y * z);
} else if (t <= 1.2e+106) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = a * (b * i) t_2 = j * (t * c) tmp = 0 if t <= -4.6e+89: tmp = t_2 elif t <= -5.5e-40: tmp = t_1 elif t <= 2.7e-220: tmp = x * (y * z) elif t <= 1.2e+106: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(a * Float64(b * i)) t_2 = Float64(j * Float64(t * c)) tmp = 0.0 if (t <= -4.6e+89) tmp = t_2; elseif (t <= -5.5e-40) tmp = t_1; elseif (t <= 2.7e-220) tmp = Float64(x * Float64(y * z)); elseif (t <= 1.2e+106) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = a * (b * i); t_2 = j * (t * c); tmp = 0.0; if (t <= -4.6e+89) tmp = t_2; elseif (t <= -5.5e-40) tmp = t_1; elseif (t <= 2.7e-220) tmp = x * (y * z); elseif (t <= 1.2e+106) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(a * N[(b * i), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(j * N[(t * c), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -4.6e+89], t$95$2, If[LessEqual[t, -5.5e-40], t$95$1, If[LessEqual[t, 2.7e-220], N[(x * N[(y * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.2e+106], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := a \cdot \left(b \cdot i\right)\\
t_2 := j \cdot \left(t \cdot c\right)\\
\mathbf{if}\;t \leq -4.6 \cdot 10^{+89}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;t \leq -5.5 \cdot 10^{-40}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq 2.7 \cdot 10^{-220}:\\
\;\;\;\;x \cdot \left(y \cdot z\right)\\
\mathbf{elif}\;t \leq 1.2 \cdot 10^{+106}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if t < -4.5999999999999998e89 or 1.2e106 < t Initial program 63.8%
Taylor expanded in j around inf 54.8%
sub-neg54.8%
*-commutative54.8%
*-commutative54.8%
sub-neg54.8%
Simplified54.8%
Taylor expanded in t around inf 50.4%
*-commutative50.4%
Simplified50.4%
if -4.5999999999999998e89 < t < -5.50000000000000002e-40 or 2.7e-220 < t < 1.2e106Initial program 80.3%
Taylor expanded in b around inf 52.2%
*-commutative52.2%
Simplified52.2%
Taylor expanded in a around inf 38.7%
if -5.50000000000000002e-40 < t < 2.7e-220Initial program 77.8%
Taylor expanded in t around 0 63.5%
*-commutative63.5%
associate-*r*62.4%
associate-*r*63.6%
associate-*r*63.6%
distribute-rgt-in65.0%
+-commutative65.0%
mul-1-neg65.0%
unsub-neg65.0%
*-commutative65.0%
*-commutative65.0%
Simplified65.0%
Taylor expanded in x around inf 33.9%
*-commutative33.9%
Simplified33.9%
Final simplification41.4%
(FPCore (x y z t a b c i j)
:precision binary64
(if (<= y -5.4e+179)
(* x (* y z))
(if (<= y 1.85e-55)
(* b (- (* a i) (* z c)))
(if (<= y 9.2e+81) (* j (* t c)) (* j (* y (- i)))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (y <= -5.4e+179) {
tmp = x * (y * z);
} else if (y <= 1.85e-55) {
tmp = b * ((a * i) - (z * c));
} else if (y <= 9.2e+81) {
tmp = j * (t * c);
} else {
tmp = j * (y * -i);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: tmp
if (y <= (-5.4d+179)) then
tmp = x * (y * z)
else if (y <= 1.85d-55) then
tmp = b * ((a * i) - (z * c))
else if (y <= 9.2d+81) then
tmp = j * (t * c)
else
tmp = j * (y * -i)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (y <= -5.4e+179) {
tmp = x * (y * z);
} else if (y <= 1.85e-55) {
tmp = b * ((a * i) - (z * c));
} else if (y <= 9.2e+81) {
tmp = j * (t * c);
} else {
tmp = j * (y * -i);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if y <= -5.4e+179: tmp = x * (y * z) elif y <= 1.85e-55: tmp = b * ((a * i) - (z * c)) elif y <= 9.2e+81: tmp = j * (t * c) else: tmp = j * (y * -i) return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if (y <= -5.4e+179) tmp = Float64(x * Float64(y * z)); elseif (y <= 1.85e-55) tmp = Float64(b * Float64(Float64(a * i) - Float64(z * c))); elseif (y <= 9.2e+81) tmp = Float64(j * Float64(t * c)); else tmp = Float64(j * Float64(y * Float64(-i))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if (y <= -5.4e+179) tmp = x * (y * z); elseif (y <= 1.85e-55) tmp = b * ((a * i) - (z * c)); elseif (y <= 9.2e+81) tmp = j * (t * c); else tmp = j * (y * -i); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[LessEqual[y, -5.4e+179], N[(x * N[(y * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.85e-55], N[(b * N[(N[(a * i), $MachinePrecision] - N[(z * c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 9.2e+81], N[(j * N[(t * c), $MachinePrecision]), $MachinePrecision], N[(j * N[(y * (-i)), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -5.4 \cdot 10^{+179}:\\
\;\;\;\;x \cdot \left(y \cdot z\right)\\
\mathbf{elif}\;y \leq 1.85 \cdot 10^{-55}:\\
\;\;\;\;b \cdot \left(a \cdot i - z \cdot c\right)\\
\mathbf{elif}\;y \leq 9.2 \cdot 10^{+81}:\\
\;\;\;\;j \cdot \left(t \cdot c\right)\\
\mathbf{else}:\\
\;\;\;\;j \cdot \left(y \cdot \left(-i\right)\right)\\
\end{array}
\end{array}
if y < -5.39999999999999964e179Initial program 55.0%
Taylor expanded in t around 0 66.8%
*-commutative66.8%
associate-*r*66.8%
associate-*r*69.8%
associate-*r*69.8%
distribute-rgt-in69.8%
+-commutative69.8%
mul-1-neg69.8%
unsub-neg69.8%
*-commutative69.8%
*-commutative69.8%
Simplified69.8%
Taylor expanded in x around inf 67.4%
*-commutative67.4%
Simplified67.4%
if -5.39999999999999964e179 < y < 1.84999999999999993e-55Initial program 75.5%
Taylor expanded in b around inf 49.0%
*-commutative49.0%
Simplified49.0%
if 1.84999999999999993e-55 < y < 9.1999999999999995e81Initial program 76.3%
Taylor expanded in j around inf 67.6%
sub-neg67.6%
*-commutative67.6%
*-commutative67.6%
sub-neg67.6%
Simplified67.6%
Taylor expanded in t around inf 58.3%
*-commutative58.3%
Simplified58.3%
if 9.1999999999999995e81 < y Initial program 80.4%
Taylor expanded in j around inf 53.4%
sub-neg53.4%
*-commutative53.4%
*-commutative53.4%
sub-neg53.4%
Simplified53.4%
Taylor expanded in t around 0 43.6%
mul-1-neg43.6%
distribute-rgt-neg-in43.6%
Simplified43.6%
Final simplification51.3%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* j (* t c))))
(if (<= t -1.15e+101)
t_1
(if (<= t -2.4e-185)
(* y (* x z))
(if (<= t 5e+104) (* a (* b i)) t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = j * (t * c);
double tmp;
if (t <= -1.15e+101) {
tmp = t_1;
} else if (t <= -2.4e-185) {
tmp = y * (x * z);
} else if (t <= 5e+104) {
tmp = a * (b * i);
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: tmp
t_1 = j * (t * c)
if (t <= (-1.15d+101)) then
tmp = t_1
else if (t <= (-2.4d-185)) then
tmp = y * (x * z)
else if (t <= 5d+104) then
tmp = a * (b * i)
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = j * (t * c);
double tmp;
if (t <= -1.15e+101) {
tmp = t_1;
} else if (t <= -2.4e-185) {
tmp = y * (x * z);
} else if (t <= 5e+104) {
tmp = a * (b * i);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = j * (t * c) tmp = 0 if t <= -1.15e+101: tmp = t_1 elif t <= -2.4e-185: tmp = y * (x * z) elif t <= 5e+104: tmp = a * (b * i) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(j * Float64(t * c)) tmp = 0.0 if (t <= -1.15e+101) tmp = t_1; elseif (t <= -2.4e-185) tmp = Float64(y * Float64(x * z)); elseif (t <= 5e+104) tmp = Float64(a * Float64(b * i)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = j * (t * c); tmp = 0.0; if (t <= -1.15e+101) tmp = t_1; elseif (t <= -2.4e-185) tmp = y * (x * z); elseif (t <= 5e+104) tmp = a * (b * i); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(j * N[(t * c), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -1.15e+101], t$95$1, If[LessEqual[t, -2.4e-185], N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 5e+104], N[(a * N[(b * i), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(t \cdot c\right)\\
\mathbf{if}\;t \leq -1.15 \cdot 10^{+101}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq -2.4 \cdot 10^{-185}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\mathbf{elif}\;t \leq 5 \cdot 10^{+104}:\\
\;\;\;\;a \cdot \left(b \cdot i\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if t < -1.1500000000000001e101 or 4.9999999999999997e104 < t Initial program 62.2%
Taylor expanded in j around inf 56.0%
sub-neg56.0%
*-commutative56.0%
*-commutative56.0%
sub-neg56.0%
Simplified56.0%
Taylor expanded in t around inf 51.5%
*-commutative51.5%
Simplified51.5%
if -1.1500000000000001e101 < t < -2.4000000000000001e-185Initial program 88.8%
Taylor expanded in y around inf 43.6%
+-commutative43.6%
mul-1-neg43.6%
unsub-neg43.6%
*-commutative43.6%
Simplified43.6%
Taylor expanded in x around inf 34.0%
*-commutative34.0%
Simplified34.0%
if -2.4000000000000001e-185 < t < 4.9999999999999997e104Initial program 73.2%
Taylor expanded in b around inf 53.7%
*-commutative53.7%
Simplified53.7%
Taylor expanded in a around inf 34.2%
Final simplification40.0%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1 (* j (* t c))))
(if (<= t -1.3e+101)
t_1
(if (<= t -1.05e-185)
(* y (* x z))
(if (<= t 7e+107) (* i (* a b)) t_1)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = j * (t * c);
double tmp;
if (t <= -1.3e+101) {
tmp = t_1;
} else if (t <= -1.05e-185) {
tmp = y * (x * z);
} else if (t <= 7e+107) {
tmp = i * (a * b);
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: tmp
t_1 = j * (t * c)
if (t <= (-1.3d+101)) then
tmp = t_1
else if (t <= (-1.05d-185)) then
tmp = y * (x * z)
else if (t <= 7d+107) then
tmp = i * (a * b)
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = j * (t * c);
double tmp;
if (t <= -1.3e+101) {
tmp = t_1;
} else if (t <= -1.05e-185) {
tmp = y * (x * z);
} else if (t <= 7e+107) {
tmp = i * (a * b);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = j * (t * c) tmp = 0 if t <= -1.3e+101: tmp = t_1 elif t <= -1.05e-185: tmp = y * (x * z) elif t <= 7e+107: tmp = i * (a * b) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(j * Float64(t * c)) tmp = 0.0 if (t <= -1.3e+101) tmp = t_1; elseif (t <= -1.05e-185) tmp = Float64(y * Float64(x * z)); elseif (t <= 7e+107) tmp = Float64(i * Float64(a * b)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = j * (t * c); tmp = 0.0; if (t <= -1.3e+101) tmp = t_1; elseif (t <= -1.05e-185) tmp = y * (x * z); elseif (t <= 7e+107) tmp = i * (a * b); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(j * N[(t * c), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -1.3e+101], t$95$1, If[LessEqual[t, -1.05e-185], N[(y * N[(x * z), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 7e+107], N[(i * N[(a * b), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := j \cdot \left(t \cdot c\right)\\
\mathbf{if}\;t \leq -1.3 \cdot 10^{+101}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq -1.05 \cdot 10^{-185}:\\
\;\;\;\;y \cdot \left(x \cdot z\right)\\
\mathbf{elif}\;t \leq 7 \cdot 10^{+107}:\\
\;\;\;\;i \cdot \left(a \cdot b\right)\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if t < -1.3e101 or 6.9999999999999995e107 < t Initial program 62.2%
Taylor expanded in j around inf 56.0%
sub-neg56.0%
*-commutative56.0%
*-commutative56.0%
sub-neg56.0%
Simplified56.0%
Taylor expanded in t around inf 51.5%
*-commutative51.5%
Simplified51.5%
if -1.3e101 < t < -1.05e-185Initial program 88.8%
Taylor expanded in y around inf 43.6%
+-commutative43.6%
mul-1-neg43.6%
unsub-neg43.6%
*-commutative43.6%
Simplified43.6%
Taylor expanded in x around inf 34.0%
*-commutative34.0%
Simplified34.0%
if -1.05e-185 < t < 6.9999999999999995e107Initial program 73.2%
Taylor expanded in b around inf 53.7%
*-commutative53.7%
Simplified53.7%
Taylor expanded in a around inf 34.2%
associate-*r*39.8%
Simplified39.8%
Final simplification42.2%
(FPCore (x y z t a b c i j) :precision binary64 (if (<= i -85000.0) (* b (* a i)) (if (<= i 1.35e+132) (* j (* t c)) (* a (* b i)))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (i <= -85000.0) {
tmp = b * (a * i);
} else if (i <= 1.35e+132) {
tmp = j * (t * c);
} else {
tmp = a * (b * i);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: tmp
if (i <= (-85000.0d0)) then
tmp = b * (a * i)
else if (i <= 1.35d+132) then
tmp = j * (t * c)
else
tmp = a * (b * i)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double tmp;
if (i <= -85000.0) {
tmp = b * (a * i);
} else if (i <= 1.35e+132) {
tmp = j * (t * c);
} else {
tmp = a * (b * i);
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): tmp = 0 if i <= -85000.0: tmp = b * (a * i) elif i <= 1.35e+132: tmp = j * (t * c) else: tmp = a * (b * i) return tmp
function code(x, y, z, t, a, b, c, i, j) tmp = 0.0 if (i <= -85000.0) tmp = Float64(b * Float64(a * i)); elseif (i <= 1.35e+132) tmp = Float64(j * Float64(t * c)); else tmp = Float64(a * Float64(b * i)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) tmp = 0.0; if (i <= -85000.0) tmp = b * (a * i); elseif (i <= 1.35e+132) tmp = j * (t * c); else tmp = a * (b * i); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := If[LessEqual[i, -85000.0], N[(b * N[(a * i), $MachinePrecision]), $MachinePrecision], If[LessEqual[i, 1.35e+132], N[(j * N[(t * c), $MachinePrecision]), $MachinePrecision], N[(a * N[(b * i), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;i \leq -85000:\\
\;\;\;\;b \cdot \left(a \cdot i\right)\\
\mathbf{elif}\;i \leq 1.35 \cdot 10^{+132}:\\
\;\;\;\;j \cdot \left(t \cdot c\right)\\
\mathbf{else}:\\
\;\;\;\;a \cdot \left(b \cdot i\right)\\
\end{array}
\end{array}
if i < -85000Initial program 71.0%
Taylor expanded in b around inf 45.4%
*-commutative45.4%
Simplified45.4%
Taylor expanded in a around inf 37.6%
if -85000 < i < 1.35e132Initial program 78.8%
Taylor expanded in j around inf 38.1%
sub-neg38.1%
*-commutative38.1%
*-commutative38.1%
sub-neg38.1%
Simplified38.1%
Taylor expanded in t around inf 32.1%
*-commutative32.1%
Simplified32.1%
if 1.35e132 < i Initial program 60.5%
Taylor expanded in b around inf 47.9%
*-commutative47.9%
Simplified47.9%
Taylor expanded in a around inf 56.3%
Final simplification37.7%
(FPCore (x y z t a b c i j) :precision binary64 (* a (* b i)))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return a * (b * i);
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
code = a * (b * i)
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
return a * (b * i);
}
def code(x, y, z, t, a, b, c, i, j): return a * (b * i)
function code(x, y, z, t, a, b, c, i, j) return Float64(a * Float64(b * i)) end
function tmp = code(x, y, z, t, a, b, c, i, j) tmp = a * (b * i); end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := N[(a * N[(b * i), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
a \cdot \left(b \cdot i\right)
\end{array}
Initial program 73.7%
Taylor expanded in b around inf 41.2%
*-commutative41.2%
Simplified41.2%
Taylor expanded in a around inf 24.4%
Final simplification24.4%
(FPCore (x y z t a b c i j)
:precision binary64
(let* ((t_1
(+
(- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a))))
(/
(* j (- (pow (* c t) 2.0) (pow (* i y) 2.0)))
(+ (* c t) (* i y)))))
(t_2
(-
(* x (- (* z y) (* a t)))
(- (* b (- (* z c) (* a i))) (* (- (* c t) (* y i)) j)))))
(if (< t -8.120978919195912e-33)
t_2
(if (< t -4.712553818218485e-169)
t_1
(if (< t -7.633533346031584e-308)
t_2
(if (< t 1.0535888557455487e-139) t_1 t_2))))))
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + ((j * (pow((c * t), 2.0) - pow((i * y), 2.0))) / ((c * t) + (i * y)));
double t_2 = (x * ((z * y) - (a * t))) - ((b * ((z * c) - (a * i))) - (((c * t) - (y * i)) * j));
double tmp;
if (t < -8.120978919195912e-33) {
tmp = t_2;
} else if (t < -4.712553818218485e-169) {
tmp = t_1;
} else if (t < -7.633533346031584e-308) {
tmp = t_2;
} else if (t < 1.0535888557455487e-139) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b, c, i, j)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8), intent (in) :: t
real(8), intent (in) :: a
real(8), intent (in) :: b
real(8), intent (in) :: c
real(8), intent (in) :: i
real(8), intent (in) :: j
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + ((j * (((c * t) ** 2.0d0) - ((i * y) ** 2.0d0))) / ((c * t) + (i * y)))
t_2 = (x * ((z * y) - (a * t))) - ((b * ((z * c) - (a * i))) - (((c * t) - (y * i)) * j))
if (t < (-8.120978919195912d-33)) then
tmp = t_2
else if (t < (-4.712553818218485d-169)) then
tmp = t_1
else if (t < (-7.633533346031584d-308)) then
tmp = t_2
else if (t < 1.0535888557455487d-139) then
tmp = t_1
else
tmp = t_2
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double t_1 = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + ((j * (Math.pow((c * t), 2.0) - Math.pow((i * y), 2.0))) / ((c * t) + (i * y)));
double t_2 = (x * ((z * y) - (a * t))) - ((b * ((z * c) - (a * i))) - (((c * t) - (y * i)) * j));
double tmp;
if (t < -8.120978919195912e-33) {
tmp = t_2;
} else if (t < -4.712553818218485e-169) {
tmp = t_1;
} else if (t < -7.633533346031584e-308) {
tmp = t_2;
} else if (t < 1.0535888557455487e-139) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b, c, i, j): t_1 = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + ((j * (math.pow((c * t), 2.0) - math.pow((i * y), 2.0))) / ((c * t) + (i * y))) t_2 = (x * ((z * y) - (a * t))) - ((b * ((z * c) - (a * i))) - (((c * t) - (y * i)) * j)) tmp = 0 if t < -8.120978919195912e-33: tmp = t_2 elif t < -4.712553818218485e-169: tmp = t_1 elif t < -7.633533346031584e-308: tmp = t_2 elif t < 1.0535888557455487e-139: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b, c, i, j) t_1 = Float64(Float64(Float64(x * Float64(Float64(y * z) - Float64(t * a))) - Float64(b * Float64(Float64(c * z) - Float64(i * a)))) + Float64(Float64(j * Float64((Float64(c * t) ^ 2.0) - (Float64(i * y) ^ 2.0))) / Float64(Float64(c * t) + Float64(i * y)))) t_2 = Float64(Float64(x * Float64(Float64(z * y) - Float64(a * t))) - Float64(Float64(b * Float64(Float64(z * c) - Float64(a * i))) - Float64(Float64(Float64(c * t) - Float64(y * i)) * j))) tmp = 0.0 if (t < -8.120978919195912e-33) tmp = t_2; elseif (t < -4.712553818218485e-169) tmp = t_1; elseif (t < -7.633533346031584e-308) tmp = t_2; elseif (t < 1.0535888557455487e-139) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b, c, i, j) t_1 = ((x * ((y * z) - (t * a))) - (b * ((c * z) - (i * a)))) + ((j * (((c * t) ^ 2.0) - ((i * y) ^ 2.0))) / ((c * t) + (i * y))); t_2 = (x * ((z * y) - (a * t))) - ((b * ((z * c) - (a * i))) - (((c * t) - (y * i)) * j)); tmp = 0.0; if (t < -8.120978919195912e-33) tmp = t_2; elseif (t < -4.712553818218485e-169) tmp = t_1; elseif (t < -7.633533346031584e-308) tmp = t_2; elseif (t < 1.0535888557455487e-139) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_, c_, i_, j_] := Block[{t$95$1 = N[(N[(N[(x * N[(N[(y * z), $MachinePrecision] - N[(t * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(b * N[(N[(c * z), $MachinePrecision] - N[(i * a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(j * N[(N[Power[N[(c * t), $MachinePrecision], 2.0], $MachinePrecision] - N[Power[N[(i * y), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[(c * t), $MachinePrecision] + N[(i * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x * N[(N[(z * y), $MachinePrecision] - N[(a * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(b * N[(N[(z * c), $MachinePrecision] - N[(a * i), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(c * t), $MachinePrecision] - N[(y * i), $MachinePrecision]), $MachinePrecision] * j), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Less[t, -8.120978919195912e-33], t$95$2, If[Less[t, -4.712553818218485e-169], t$95$1, If[Less[t, -7.633533346031584e-308], t$95$2, If[Less[t, 1.0535888557455487e-139], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \frac{j \cdot \left({\left(c \cdot t\right)}^{2} - {\left(i \cdot y\right)}^{2}\right)}{c \cdot t + i \cdot y}\\
t_2 := x \cdot \left(z \cdot y - a \cdot t\right) - \left(b \cdot \left(z \cdot c - a \cdot i\right) - \left(c \cdot t - y \cdot i\right) \cdot j\right)\\
\mathbf{if}\;t < -8.120978919195912 \cdot 10^{-33}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;t < -4.712553818218485 \cdot 10^{-169}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t < -7.633533346031584 \cdot 10^{-308}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;t < 1.0535888557455487 \cdot 10^{-139}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
herbie shell --seed 2024026
(FPCore (x y z t a b c i j)
:name "Linear.Matrix:det33 from linear-1.19.1.3"
:precision binary64
:herbie-target
(if (< t -8.120978919195912e-33) (- (* x (- (* z y) (* a t))) (- (* b (- (* z c) (* a i))) (* (- (* c t) (* y i)) j))) (if (< t -4.712553818218485e-169) (+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (/ (* j (- (pow (* c t) 2.0) (pow (* i y) 2.0))) (+ (* c t) (* i y)))) (if (< t -7.633533346031584e-308) (- (* x (- (* z y) (* a t))) (- (* b (- (* z c) (* a i))) (* (- (* c t) (* y i)) j))) (if (< t 1.0535888557455487e-139) (+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (/ (* j (- (pow (* c t) 2.0) (pow (* i y) 2.0))) (+ (* c t) (* i y)))) (- (* x (- (* z y) (* a t))) (- (* b (- (* z c) (* a i))) (* (- (* c t) (* y i)) j)))))))
(+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y)))))