
(FPCore (x y z t a b) :precision binary64 (/ (+ x (/ (* y z) t)) (+ (+ a 1.0) (/ (* y b) t))))
double code(double x, double y, double z, double t, double a, double b) {
return (x + ((y * z) / t)) / ((a + 1.0) + ((y * b) / t));
}
real(8) function code(x, y, z, t, a, b)
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
code = (x + ((y * z) / t)) / ((a + 1.0d0) + ((y * b) / t))
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return (x + ((y * z) / t)) / ((a + 1.0) + ((y * b) / t));
}
def code(x, y, z, t, a, b): return (x + ((y * z) / t)) / ((a + 1.0) + ((y * b) / t))
function code(x, y, z, t, a, b) return Float64(Float64(x + Float64(Float64(y * z) / t)) / Float64(Float64(a + 1.0) + Float64(Float64(y * b) / t))) end
function tmp = code(x, y, z, t, a, b) tmp = (x + ((y * z) / t)) / ((a + 1.0) + ((y * b) / t)); end
code[x_, y_, z_, t_, a_, b_] := N[(N[(x + N[(N[(y * z), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision] / N[(N[(a + 1.0), $MachinePrecision] + N[(N[(y * b), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{x + \frac{y \cdot z}{t}}{\left(a + 1\right) + \frac{y \cdot b}{t}}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 20 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a b) :precision binary64 (/ (+ x (/ (* y z) t)) (+ (+ a 1.0) (/ (* y b) t))))
double code(double x, double y, double z, double t, double a, double b) {
return (x + ((y * z) / t)) / ((a + 1.0) + ((y * b) / t));
}
real(8) function code(x, y, z, t, a, b)
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
code = (x + ((y * z) / t)) / ((a + 1.0d0) + ((y * b) / t))
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return (x + ((y * z) / t)) / ((a + 1.0) + ((y * b) / t));
}
def code(x, y, z, t, a, b): return (x + ((y * z) / t)) / ((a + 1.0) + ((y * b) / t))
function code(x, y, z, t, a, b) return Float64(Float64(x + Float64(Float64(y * z) / t)) / Float64(Float64(a + 1.0) + Float64(Float64(y * b) / t))) end
function tmp = code(x, y, z, t, a, b) tmp = (x + ((y * z) / t)) / ((a + 1.0) + ((y * b) / t)); end
code[x_, y_, z_, t_, a_, b_] := N[(N[(x + N[(N[(y * z), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision] / N[(N[(a + 1.0), $MachinePrecision] + N[(N[(y * b), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{x + \frac{y \cdot z}{t}}{\left(a + 1\right) + \frac{y \cdot b}{t}}
\end{array}
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (/ (+ x (/ (* y z) t)) (+ (+ a 1.0) (/ (* y b) t)))))
(if (<= t_1 (- INFINITY))
(* (/ y t) (/ z (+ 1.0 (+ a (* y (/ b t))))))
(if (<= t_1 -1e-276)
t_1
(if (<= t_1 2e+266)
(/ (+ x (/ y (/ t z))) (+ a (+ 1.0 (* b (/ y t)))))
(if (<= t_1 INFINITY)
(/ (* y (/ z (+ 1.0 (fma y (/ b t) a)))) t)
(/ z b)))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x + ((y * z) / t)) / ((a + 1.0) + ((y * b) / t));
double tmp;
if (t_1 <= -((double) INFINITY)) {
tmp = (y / t) * (z / (1.0 + (a + (y * (b / t)))));
} else if (t_1 <= -1e-276) {
tmp = t_1;
} else if (t_1 <= 2e+266) {
tmp = (x + (y / (t / z))) / (a + (1.0 + (b * (y / t))));
} else if (t_1 <= ((double) INFINITY)) {
tmp = (y * (z / (1.0 + fma(y, (b / t), a)))) / t;
} else {
tmp = z / b;
}
return tmp;
}
function code(x, y, z, t, a, b) t_1 = Float64(Float64(x + Float64(Float64(y * z) / t)) / Float64(Float64(a + 1.0) + Float64(Float64(y * b) / t))) tmp = 0.0 if (t_1 <= Float64(-Inf)) tmp = Float64(Float64(y / t) * Float64(z / Float64(1.0 + Float64(a + Float64(y * Float64(b / t)))))); elseif (t_1 <= -1e-276) tmp = t_1; elseif (t_1 <= 2e+266) tmp = Float64(Float64(x + Float64(y / Float64(t / z))) / Float64(a + Float64(1.0 + Float64(b * Float64(y / t))))); elseif (t_1 <= Inf) tmp = Float64(Float64(y * Float64(z / Float64(1.0 + fma(y, Float64(b / t), a)))) / t); else tmp = Float64(z / b); end return tmp end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(x + N[(N[(y * z), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision] / N[(N[(a + 1.0), $MachinePrecision] + N[(N[(y * b), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, (-Infinity)], N[(N[(y / t), $MachinePrecision] * N[(z / N[(1.0 + N[(a + N[(y * N[(b / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$1, -1e-276], t$95$1, If[LessEqual[t$95$1, 2e+266], N[(N[(x + N[(y / N[(t / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(a + N[(1.0 + N[(b * N[(y / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$1, Infinity], N[(N[(y * N[(z / N[(1.0 + N[(y * N[(b / t), $MachinePrecision] + a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision], N[(z / b), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{x + \frac{y \cdot z}{t}}{\left(a + 1\right) + \frac{y \cdot b}{t}}\\
\mathbf{if}\;t_1 \leq -\infty:\\
\;\;\;\;\frac{y}{t} \cdot \frac{z}{1 + \left(a + y \cdot \frac{b}{t}\right)}\\
\mathbf{elif}\;t_1 \leq -1 \cdot 10^{-276}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t_1 \leq 2 \cdot 10^{+266}:\\
\;\;\;\;\frac{x + \frac{y}{\frac{t}{z}}}{a + \left(1 + b \cdot \frac{y}{t}\right)}\\
\mathbf{elif}\;t_1 \leq \infty:\\
\;\;\;\;\frac{y \cdot \frac{z}{1 + \mathsf{fma}\left(y, \frac{b}{t}, a\right)}}{t}\\
\mathbf{else}:\\
\;\;\;\;\frac{z}{b}\\
\end{array}
\end{array}
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (/ (+ x (/ (* y z) t)) (+ (+ a 1.0) (/ (* y b) t)))))
(if (<= t_1 (- INFINITY))
(* (/ y t) (/ z (+ 1.0 (+ a (* y (/ b t))))))
(if (<= t_1 -1e-276)
t_1
(if (<= t_1 INFINITY)
(/ (+ x (/ y (/ t z))) (+ a (+ 1.0 (* b (/ y t)))))
(/ z b))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x + ((y * z) / t)) / ((a + 1.0) + ((y * b) / t));
double tmp;
if (t_1 <= -((double) INFINITY)) {
tmp = (y / t) * (z / (1.0 + (a + (y * (b / t)))));
} else if (t_1 <= -1e-276) {
tmp = t_1;
} else if (t_1 <= ((double) INFINITY)) {
tmp = (x + (y / (t / z))) / (a + (1.0 + (b * (y / t))));
} else {
tmp = z / b;
}
return tmp;
}
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = (x + ((y * z) / t)) / ((a + 1.0) + ((y * b) / t));
double tmp;
if (t_1 <= -Double.POSITIVE_INFINITY) {
tmp = (y / t) * (z / (1.0 + (a + (y * (b / t)))));
} else if (t_1 <= -1e-276) {
tmp = t_1;
} else if (t_1 <= Double.POSITIVE_INFINITY) {
tmp = (x + (y / (t / z))) / (a + (1.0 + (b * (y / t))));
} else {
tmp = z / b;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = (x + ((y * z) / t)) / ((a + 1.0) + ((y * b) / t)) tmp = 0 if t_1 <= -math.inf: tmp = (y / t) * (z / (1.0 + (a + (y * (b / t))))) elif t_1 <= -1e-276: tmp = t_1 elif t_1 <= math.inf: tmp = (x + (y / (t / z))) / (a + (1.0 + (b * (y / t)))) else: tmp = z / b return tmp
function code(x, y, z, t, a, b) t_1 = Float64(Float64(x + Float64(Float64(y * z) / t)) / Float64(Float64(a + 1.0) + Float64(Float64(y * b) / t))) tmp = 0.0 if (t_1 <= Float64(-Inf)) tmp = Float64(Float64(y / t) * Float64(z / Float64(1.0 + Float64(a + Float64(y * Float64(b / t)))))); elseif (t_1 <= -1e-276) tmp = t_1; elseif (t_1 <= Inf) tmp = Float64(Float64(x + Float64(y / Float64(t / z))) / Float64(a + Float64(1.0 + Float64(b * Float64(y / t))))); else tmp = Float64(z / b); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = (x + ((y * z) / t)) / ((a + 1.0) + ((y * b) / t)); tmp = 0.0; if (t_1 <= -Inf) tmp = (y / t) * (z / (1.0 + (a + (y * (b / t))))); elseif (t_1 <= -1e-276) tmp = t_1; elseif (t_1 <= Inf) tmp = (x + (y / (t / z))) / (a + (1.0 + (b * (y / t)))); else tmp = z / b; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(N[(x + N[(N[(y * z), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision] / N[(N[(a + 1.0), $MachinePrecision] + N[(N[(y * b), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$1, (-Infinity)], N[(N[(y / t), $MachinePrecision] * N[(z / N[(1.0 + N[(a + N[(y * N[(b / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$1, -1e-276], t$95$1, If[LessEqual[t$95$1, Infinity], N[(N[(x + N[(y / N[(t / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(a + N[(1.0 + N[(b * N[(y / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(z / b), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{x + \frac{y \cdot z}{t}}{\left(a + 1\right) + \frac{y \cdot b}{t}}\\
\mathbf{if}\;t_1 \leq -\infty:\\
\;\;\;\;\frac{y}{t} \cdot \frac{z}{1 + \left(a + y \cdot \frac{b}{t}\right)}\\
\mathbf{elif}\;t_1 \leq -1 \cdot 10^{-276}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t_1 \leq \infty:\\
\;\;\;\;\frac{x + \frac{y}{\frac{t}{z}}}{a + \left(1 + b \cdot \frac{y}{t}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{z}{b}\\
\end{array}
\end{array}
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (/ x (+ 1.0 (+ a (/ (* y b) t))))))
(if (<= t -1.9e-98)
(/ (+ x (/ z (/ t y))) (+ a 1.0))
(if (<= t 6.3e-152)
(/ (* y z) (+ (* y b) (* t (+ a 1.0))))
(if (<= t 2.25e-27)
t_1
(if (<= t 1.5e+29)
(* (/ y t) (/ z (+ 1.0 (+ a (* y (/ b t))))))
(if (<= t 1.6e+120) t_1 (/ (+ x (* y (/ z t))) (+ a 1.0)))))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x / (1.0 + (a + ((y * b) / t)));
double tmp;
if (t <= -1.9e-98) {
tmp = (x + (z / (t / y))) / (a + 1.0);
} else if (t <= 6.3e-152) {
tmp = (y * z) / ((y * b) + (t * (a + 1.0)));
} else if (t <= 2.25e-27) {
tmp = t_1;
} else if (t <= 1.5e+29) {
tmp = (y / t) * (z / (1.0 + (a + (y * (b / t)))));
} else if (t <= 1.6e+120) {
tmp = t_1;
} else {
tmp = (x + (y * (z / t))) / (a + 1.0);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: t_1
real(8) :: tmp
t_1 = x / (1.0d0 + (a + ((y * b) / t)))
if (t <= (-1.9d-98)) then
tmp = (x + (z / (t / y))) / (a + 1.0d0)
else if (t <= 6.3d-152) then
tmp = (y * z) / ((y * b) + (t * (a + 1.0d0)))
else if (t <= 2.25d-27) then
tmp = t_1
else if (t <= 1.5d+29) then
tmp = (y / t) * (z / (1.0d0 + (a + (y * (b / t)))))
else if (t <= 1.6d+120) then
tmp = t_1
else
tmp = (x + (y * (z / t))) / (a + 1.0d0)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x / (1.0 + (a + ((y * b) / t)));
double tmp;
if (t <= -1.9e-98) {
tmp = (x + (z / (t / y))) / (a + 1.0);
} else if (t <= 6.3e-152) {
tmp = (y * z) / ((y * b) + (t * (a + 1.0)));
} else if (t <= 2.25e-27) {
tmp = t_1;
} else if (t <= 1.5e+29) {
tmp = (y / t) * (z / (1.0 + (a + (y * (b / t)))));
} else if (t <= 1.6e+120) {
tmp = t_1;
} else {
tmp = (x + (y * (z / t))) / (a + 1.0);
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x / (1.0 + (a + ((y * b) / t))) tmp = 0 if t <= -1.9e-98: tmp = (x + (z / (t / y))) / (a + 1.0) elif t <= 6.3e-152: tmp = (y * z) / ((y * b) + (t * (a + 1.0))) elif t <= 2.25e-27: tmp = t_1 elif t <= 1.5e+29: tmp = (y / t) * (z / (1.0 + (a + (y * (b / t))))) elif t <= 1.6e+120: tmp = t_1 else: tmp = (x + (y * (z / t))) / (a + 1.0) return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x / Float64(1.0 + Float64(a + Float64(Float64(y * b) / t)))) tmp = 0.0 if (t <= -1.9e-98) tmp = Float64(Float64(x + Float64(z / Float64(t / y))) / Float64(a + 1.0)); elseif (t <= 6.3e-152) tmp = Float64(Float64(y * z) / Float64(Float64(y * b) + Float64(t * Float64(a + 1.0)))); elseif (t <= 2.25e-27) tmp = t_1; elseif (t <= 1.5e+29) tmp = Float64(Float64(y / t) * Float64(z / Float64(1.0 + Float64(a + Float64(y * Float64(b / t)))))); elseif (t <= 1.6e+120) tmp = t_1; else tmp = Float64(Float64(x + Float64(y * Float64(z / t))) / Float64(a + 1.0)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x / (1.0 + (a + ((y * b) / t))); tmp = 0.0; if (t <= -1.9e-98) tmp = (x + (z / (t / y))) / (a + 1.0); elseif (t <= 6.3e-152) tmp = (y * z) / ((y * b) + (t * (a + 1.0))); elseif (t <= 2.25e-27) tmp = t_1; elseif (t <= 1.5e+29) tmp = (y / t) * (z / (1.0 + (a + (y * (b / t))))); elseif (t <= 1.6e+120) tmp = t_1; else tmp = (x + (y * (z / t))) / (a + 1.0); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x / N[(1.0 + N[(a + N[(N[(y * b), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -1.9e-98], N[(N[(x + N[(z / N[(t / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(a + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 6.3e-152], N[(N[(y * z), $MachinePrecision] / N[(N[(y * b), $MachinePrecision] + N[(t * N[(a + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 2.25e-27], t$95$1, If[LessEqual[t, 1.5e+29], N[(N[(y / t), $MachinePrecision] * N[(z / N[(1.0 + N[(a + N[(y * N[(b / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.6e+120], t$95$1, N[(N[(x + N[(y * N[(z / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(a + 1.0), $MachinePrecision]), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{x}{1 + \left(a + \frac{y \cdot b}{t}\right)}\\
\mathbf{if}\;t \leq -1.9 \cdot 10^{-98}:\\
\;\;\;\;\frac{x + \frac{z}{\frac{t}{y}}}{a + 1}\\
\mathbf{elif}\;t \leq 6.3 \cdot 10^{-152}:\\
\;\;\;\;\frac{y \cdot z}{y \cdot b + t \cdot \left(a + 1\right)}\\
\mathbf{elif}\;t \leq 2.25 \cdot 10^{-27}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq 1.5 \cdot 10^{+29}:\\
\;\;\;\;\frac{y}{t} \cdot \frac{z}{1 + \left(a + y \cdot \frac{b}{t}\right)}\\
\mathbf{elif}\;t \leq 1.6 \cdot 10^{+120}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;\frac{x + y \cdot \frac{z}{t}}{a + 1}\\
\end{array}
\end{array}
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (/ x (+ 1.0 (+ a (/ (* y b) t))))))
(if (<= t -2.5e-98)
(/ (+ x (/ z (/ t y))) (+ a 1.0))
(if (<= t 1.35e-151)
(/ (* y z) (+ (* y b) (* t (+ a 1.0))))
(if (<= t 2e-27)
t_1
(if (<= t 1.52e+29)
(* (/ y t) (/ z (+ (+ a 1.0) (/ b (/ t y)))))
(if (<= t 1.5e+117) t_1 (/ (+ x (* y (/ z t))) (+ a 1.0)))))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x / (1.0 + (a + ((y * b) / t)));
double tmp;
if (t <= -2.5e-98) {
tmp = (x + (z / (t / y))) / (a + 1.0);
} else if (t <= 1.35e-151) {
tmp = (y * z) / ((y * b) + (t * (a + 1.0)));
} else if (t <= 2e-27) {
tmp = t_1;
} else if (t <= 1.52e+29) {
tmp = (y / t) * (z / ((a + 1.0) + (b / (t / y))));
} else if (t <= 1.5e+117) {
tmp = t_1;
} else {
tmp = (x + (y * (z / t))) / (a + 1.0);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: t_1
real(8) :: tmp
t_1 = x / (1.0d0 + (a + ((y * b) / t)))
if (t <= (-2.5d-98)) then
tmp = (x + (z / (t / y))) / (a + 1.0d0)
else if (t <= 1.35d-151) then
tmp = (y * z) / ((y * b) + (t * (a + 1.0d0)))
else if (t <= 2d-27) then
tmp = t_1
else if (t <= 1.52d+29) then
tmp = (y / t) * (z / ((a + 1.0d0) + (b / (t / y))))
else if (t <= 1.5d+117) then
tmp = t_1
else
tmp = (x + (y * (z / t))) / (a + 1.0d0)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x / (1.0 + (a + ((y * b) / t)));
double tmp;
if (t <= -2.5e-98) {
tmp = (x + (z / (t / y))) / (a + 1.0);
} else if (t <= 1.35e-151) {
tmp = (y * z) / ((y * b) + (t * (a + 1.0)));
} else if (t <= 2e-27) {
tmp = t_1;
} else if (t <= 1.52e+29) {
tmp = (y / t) * (z / ((a + 1.0) + (b / (t / y))));
} else if (t <= 1.5e+117) {
tmp = t_1;
} else {
tmp = (x + (y * (z / t))) / (a + 1.0);
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x / (1.0 + (a + ((y * b) / t))) tmp = 0 if t <= -2.5e-98: tmp = (x + (z / (t / y))) / (a + 1.0) elif t <= 1.35e-151: tmp = (y * z) / ((y * b) + (t * (a + 1.0))) elif t <= 2e-27: tmp = t_1 elif t <= 1.52e+29: tmp = (y / t) * (z / ((a + 1.0) + (b / (t / y)))) elif t <= 1.5e+117: tmp = t_1 else: tmp = (x + (y * (z / t))) / (a + 1.0) return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x / Float64(1.0 + Float64(a + Float64(Float64(y * b) / t)))) tmp = 0.0 if (t <= -2.5e-98) tmp = Float64(Float64(x + Float64(z / Float64(t / y))) / Float64(a + 1.0)); elseif (t <= 1.35e-151) tmp = Float64(Float64(y * z) / Float64(Float64(y * b) + Float64(t * Float64(a + 1.0)))); elseif (t <= 2e-27) tmp = t_1; elseif (t <= 1.52e+29) tmp = Float64(Float64(y / t) * Float64(z / Float64(Float64(a + 1.0) + Float64(b / Float64(t / y))))); elseif (t <= 1.5e+117) tmp = t_1; else tmp = Float64(Float64(x + Float64(y * Float64(z / t))) / Float64(a + 1.0)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x / (1.0 + (a + ((y * b) / t))); tmp = 0.0; if (t <= -2.5e-98) tmp = (x + (z / (t / y))) / (a + 1.0); elseif (t <= 1.35e-151) tmp = (y * z) / ((y * b) + (t * (a + 1.0))); elseif (t <= 2e-27) tmp = t_1; elseif (t <= 1.52e+29) tmp = (y / t) * (z / ((a + 1.0) + (b / (t / y)))); elseif (t <= 1.5e+117) tmp = t_1; else tmp = (x + (y * (z / t))) / (a + 1.0); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x / N[(1.0 + N[(a + N[(N[(y * b), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -2.5e-98], N[(N[(x + N[(z / N[(t / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(a + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.35e-151], N[(N[(y * z), $MachinePrecision] / N[(N[(y * b), $MachinePrecision] + N[(t * N[(a + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 2e-27], t$95$1, If[LessEqual[t, 1.52e+29], N[(N[(y / t), $MachinePrecision] * N[(z / N[(N[(a + 1.0), $MachinePrecision] + N[(b / N[(t / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.5e+117], t$95$1, N[(N[(x + N[(y * N[(z / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(a + 1.0), $MachinePrecision]), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{x}{1 + \left(a + \frac{y \cdot b}{t}\right)}\\
\mathbf{if}\;t \leq -2.5 \cdot 10^{-98}:\\
\;\;\;\;\frac{x + \frac{z}{\frac{t}{y}}}{a + 1}\\
\mathbf{elif}\;t \leq 1.35 \cdot 10^{-151}:\\
\;\;\;\;\frac{y \cdot z}{y \cdot b + t \cdot \left(a + 1\right)}\\
\mathbf{elif}\;t \leq 2 \cdot 10^{-27}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq 1.52 \cdot 10^{+29}:\\
\;\;\;\;\frac{y}{t} \cdot \frac{z}{\left(a + 1\right) + \frac{b}{\frac{t}{y}}}\\
\mathbf{elif}\;t \leq 1.5 \cdot 10^{+117}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;\frac{x + y \cdot \frac{z}{t}}{a + 1}\\
\end{array}
\end{array}
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (/ x (+ 1.0 (+ a (/ (* y b) t)))))
(t_2 (/ (* y z) (+ (* y b) (* t (+ a 1.0))))))
(if (<= t -1.6e-97)
(/ (+ x (/ z (/ t y))) (+ a 1.0))
(if (<= t 6.5e-152)
t_2
(if (<= t 2e-27)
t_1
(if (<= t 1.5e+29)
t_2
(if (<= t 3.1e+121) t_1 (/ (+ x (* y (/ z t))) (+ a 1.0)))))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x / (1.0 + (a + ((y * b) / t)));
double t_2 = (y * z) / ((y * b) + (t * (a + 1.0)));
double tmp;
if (t <= -1.6e-97) {
tmp = (x + (z / (t / y))) / (a + 1.0);
} else if (t <= 6.5e-152) {
tmp = t_2;
} else if (t <= 2e-27) {
tmp = t_1;
} else if (t <= 1.5e+29) {
tmp = t_2;
} else if (t <= 3.1e+121) {
tmp = t_1;
} else {
tmp = (x + (y * (z / t))) / (a + 1.0);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = x / (1.0d0 + (a + ((y * b) / t)))
t_2 = (y * z) / ((y * b) + (t * (a + 1.0d0)))
if (t <= (-1.6d-97)) then
tmp = (x + (z / (t / y))) / (a + 1.0d0)
else if (t <= 6.5d-152) then
tmp = t_2
else if (t <= 2d-27) then
tmp = t_1
else if (t <= 1.5d+29) then
tmp = t_2
else if (t <= 3.1d+121) then
tmp = t_1
else
tmp = (x + (y * (z / t))) / (a + 1.0d0)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x / (1.0 + (a + ((y * b) / t)));
double t_2 = (y * z) / ((y * b) + (t * (a + 1.0)));
double tmp;
if (t <= -1.6e-97) {
tmp = (x + (z / (t / y))) / (a + 1.0);
} else if (t <= 6.5e-152) {
tmp = t_2;
} else if (t <= 2e-27) {
tmp = t_1;
} else if (t <= 1.5e+29) {
tmp = t_2;
} else if (t <= 3.1e+121) {
tmp = t_1;
} else {
tmp = (x + (y * (z / t))) / (a + 1.0);
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x / (1.0 + (a + ((y * b) / t))) t_2 = (y * z) / ((y * b) + (t * (a + 1.0))) tmp = 0 if t <= -1.6e-97: tmp = (x + (z / (t / y))) / (a + 1.0) elif t <= 6.5e-152: tmp = t_2 elif t <= 2e-27: tmp = t_1 elif t <= 1.5e+29: tmp = t_2 elif t <= 3.1e+121: tmp = t_1 else: tmp = (x + (y * (z / t))) / (a + 1.0) return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x / Float64(1.0 + Float64(a + Float64(Float64(y * b) / t)))) t_2 = Float64(Float64(y * z) / Float64(Float64(y * b) + Float64(t * Float64(a + 1.0)))) tmp = 0.0 if (t <= -1.6e-97) tmp = Float64(Float64(x + Float64(z / Float64(t / y))) / Float64(a + 1.0)); elseif (t <= 6.5e-152) tmp = t_2; elseif (t <= 2e-27) tmp = t_1; elseif (t <= 1.5e+29) tmp = t_2; elseif (t <= 3.1e+121) tmp = t_1; else tmp = Float64(Float64(x + Float64(y * Float64(z / t))) / Float64(a + 1.0)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x / (1.0 + (a + ((y * b) / t))); t_2 = (y * z) / ((y * b) + (t * (a + 1.0))); tmp = 0.0; if (t <= -1.6e-97) tmp = (x + (z / (t / y))) / (a + 1.0); elseif (t <= 6.5e-152) tmp = t_2; elseif (t <= 2e-27) tmp = t_1; elseif (t <= 1.5e+29) tmp = t_2; elseif (t <= 3.1e+121) tmp = t_1; else tmp = (x + (y * (z / t))) / (a + 1.0); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x / N[(1.0 + N[(a + N[(N[(y * b), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(y * z), $MachinePrecision] / N[(N[(y * b), $MachinePrecision] + N[(t * N[(a + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -1.6e-97], N[(N[(x + N[(z / N[(t / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(a + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 6.5e-152], t$95$2, If[LessEqual[t, 2e-27], t$95$1, If[LessEqual[t, 1.5e+29], t$95$2, If[LessEqual[t, 3.1e+121], t$95$1, N[(N[(x + N[(y * N[(z / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(a + 1.0), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{x}{1 + \left(a + \frac{y \cdot b}{t}\right)}\\
t_2 := \frac{y \cdot z}{y \cdot b + t \cdot \left(a + 1\right)}\\
\mathbf{if}\;t \leq -1.6 \cdot 10^{-97}:\\
\;\;\;\;\frac{x + \frac{z}{\frac{t}{y}}}{a + 1}\\
\mathbf{elif}\;t \leq 6.5 \cdot 10^{-152}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;t \leq 2 \cdot 10^{-27}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq 1.5 \cdot 10^{+29}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;t \leq 3.1 \cdot 10^{+121}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;\frac{x + y \cdot \frac{z}{t}}{a + 1}\\
\end{array}
\end{array}
(FPCore (x y z t a b) :precision binary64 (if (or (<= t -4.8e-184) (not (<= t 3.4e-152))) (/ (+ x (* y (/ z t))) (+ 1.0 (+ a (* y (/ b t))))) (/ (* y z) (+ (* y b) (* t (+ a 1.0))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((t <= -4.8e-184) || !(t <= 3.4e-152)) {
tmp = (x + (y * (z / t))) / (1.0 + (a + (y * (b / t))));
} else {
tmp = (y * z) / ((y * b) + (t * (a + 1.0)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: tmp
if ((t <= (-4.8d-184)) .or. (.not. (t <= 3.4d-152))) then
tmp = (x + (y * (z / t))) / (1.0d0 + (a + (y * (b / t))))
else
tmp = (y * z) / ((y * b) + (t * (a + 1.0d0)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((t <= -4.8e-184) || !(t <= 3.4e-152)) {
tmp = (x + (y * (z / t))) / (1.0 + (a + (y * (b / t))));
} else {
tmp = (y * z) / ((y * b) + (t * (a + 1.0)));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if (t <= -4.8e-184) or not (t <= 3.4e-152): tmp = (x + (y * (z / t))) / (1.0 + (a + (y * (b / t)))) else: tmp = (y * z) / ((y * b) + (t * (a + 1.0))) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((t <= -4.8e-184) || !(t <= 3.4e-152)) tmp = Float64(Float64(x + Float64(y * Float64(z / t))) / Float64(1.0 + Float64(a + Float64(y * Float64(b / t))))); else tmp = Float64(Float64(y * z) / Float64(Float64(y * b) + Float64(t * Float64(a + 1.0)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if ((t <= -4.8e-184) || ~((t <= 3.4e-152))) tmp = (x + (y * (z / t))) / (1.0 + (a + (y * (b / t)))); else tmp = (y * z) / ((y * b) + (t * (a + 1.0))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[t, -4.8e-184], N[Not[LessEqual[t, 3.4e-152]], $MachinePrecision]], N[(N[(x + N[(y * N[(z / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(1.0 + N[(a + N[(y * N[(b / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(y * z), $MachinePrecision] / N[(N[(y * b), $MachinePrecision] + N[(t * N[(a + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -4.8 \cdot 10^{-184} \lor \neg \left(t \leq 3.4 \cdot 10^{-152}\right):\\
\;\;\;\;\frac{x + y \cdot \frac{z}{t}}{1 + \left(a + y \cdot \frac{b}{t}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{y \cdot z}{y \cdot b + t \cdot \left(a + 1\right)}\\
\end{array}
\end{array}
(FPCore (x y z t a b)
:precision binary64
(if (<= t -5.2e-184)
(/ (+ x (/ y (/ t z))) (+ a (+ 1.0 (/ y (/ t b)))))
(if (<= t 1.4e-151)
(/ (* y z) (+ (* y b) (* t (+ a 1.0))))
(/ (+ x (* y (/ z t))) (+ 1.0 (+ a (* y (/ b t))))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (t <= -5.2e-184) {
tmp = (x + (y / (t / z))) / (a + (1.0 + (y / (t / b))));
} else if (t <= 1.4e-151) {
tmp = (y * z) / ((y * b) + (t * (a + 1.0)));
} else {
tmp = (x + (y * (z / t))) / (1.0 + (a + (y * (b / t))));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: tmp
if (t <= (-5.2d-184)) then
tmp = (x + (y / (t / z))) / (a + (1.0d0 + (y / (t / b))))
else if (t <= 1.4d-151) then
tmp = (y * z) / ((y * b) + (t * (a + 1.0d0)))
else
tmp = (x + (y * (z / t))) / (1.0d0 + (a + (y * (b / t))))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (t <= -5.2e-184) {
tmp = (x + (y / (t / z))) / (a + (1.0 + (y / (t / b))));
} else if (t <= 1.4e-151) {
tmp = (y * z) / ((y * b) + (t * (a + 1.0)));
} else {
tmp = (x + (y * (z / t))) / (1.0 + (a + (y * (b / t))));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if t <= -5.2e-184: tmp = (x + (y / (t / z))) / (a + (1.0 + (y / (t / b)))) elif t <= 1.4e-151: tmp = (y * z) / ((y * b) + (t * (a + 1.0))) else: tmp = (x + (y * (z / t))) / (1.0 + (a + (y * (b / t)))) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (t <= -5.2e-184) tmp = Float64(Float64(x + Float64(y / Float64(t / z))) / Float64(a + Float64(1.0 + Float64(y / Float64(t / b))))); elseif (t <= 1.4e-151) tmp = Float64(Float64(y * z) / Float64(Float64(y * b) + Float64(t * Float64(a + 1.0)))); else tmp = Float64(Float64(x + Float64(y * Float64(z / t))) / Float64(1.0 + Float64(a + Float64(y * Float64(b / t))))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (t <= -5.2e-184) tmp = (x + (y / (t / z))) / (a + (1.0 + (y / (t / b)))); elseif (t <= 1.4e-151) tmp = (y * z) / ((y * b) + (t * (a + 1.0))); else tmp = (x + (y * (z / t))) / (1.0 + (a + (y * (b / t)))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[t, -5.2e-184], N[(N[(x + N[(y / N[(t / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(a + N[(1.0 + N[(y / N[(t / b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.4e-151], N[(N[(y * z), $MachinePrecision] / N[(N[(y * b), $MachinePrecision] + N[(t * N[(a + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(x + N[(y * N[(z / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(1.0 + N[(a + N[(y * N[(b / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -5.2 \cdot 10^{-184}:\\
\;\;\;\;\frac{x + \frac{y}{\frac{t}{z}}}{a + \left(1 + \frac{y}{\frac{t}{b}}\right)}\\
\mathbf{elif}\;t \leq 1.4 \cdot 10^{-151}:\\
\;\;\;\;\frac{y \cdot z}{y \cdot b + t \cdot \left(a + 1\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{x + y \cdot \frac{z}{t}}{1 + \left(a + y \cdot \frac{b}{t}\right)}\\
\end{array}
\end{array}
(FPCore (x y z t a b)
:precision binary64
(if (<= y -3.05e+124)
(/ z b)
(if (<= y -7.6e+43)
(/ x (+ a (+ 1.0 (* b (/ y t)))))
(if (<= y -3.3e+16)
(/ y (/ (+ t (* y b)) z))
(if (<= y 1.56e+105) (/ x (+ 1.0 (+ a (/ (* y b) t)))) (/ z b))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -3.05e+124) {
tmp = z / b;
} else if (y <= -7.6e+43) {
tmp = x / (a + (1.0 + (b * (y / t))));
} else if (y <= -3.3e+16) {
tmp = y / ((t + (y * b)) / z);
} else if (y <= 1.56e+105) {
tmp = x / (1.0 + (a + ((y * b) / t)));
} else {
tmp = z / b;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: tmp
if (y <= (-3.05d+124)) then
tmp = z / b
else if (y <= (-7.6d+43)) then
tmp = x / (a + (1.0d0 + (b * (y / t))))
else if (y <= (-3.3d+16)) then
tmp = y / ((t + (y * b)) / z)
else if (y <= 1.56d+105) then
tmp = x / (1.0d0 + (a + ((y * b) / t)))
else
tmp = z / b
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -3.05e+124) {
tmp = z / b;
} else if (y <= -7.6e+43) {
tmp = x / (a + (1.0 + (b * (y / t))));
} else if (y <= -3.3e+16) {
tmp = y / ((t + (y * b)) / z);
} else if (y <= 1.56e+105) {
tmp = x / (1.0 + (a + ((y * b) / t)));
} else {
tmp = z / b;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -3.05e+124: tmp = z / b elif y <= -7.6e+43: tmp = x / (a + (1.0 + (b * (y / t)))) elif y <= -3.3e+16: tmp = y / ((t + (y * b)) / z) elif y <= 1.56e+105: tmp = x / (1.0 + (a + ((y * b) / t))) else: tmp = z / b return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -3.05e+124) tmp = Float64(z / b); elseif (y <= -7.6e+43) tmp = Float64(x / Float64(a + Float64(1.0 + Float64(b * Float64(y / t))))); elseif (y <= -3.3e+16) tmp = Float64(y / Float64(Float64(t + Float64(y * b)) / z)); elseif (y <= 1.56e+105) tmp = Float64(x / Float64(1.0 + Float64(a + Float64(Float64(y * b) / t)))); else tmp = Float64(z / b); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -3.05e+124) tmp = z / b; elseif (y <= -7.6e+43) tmp = x / (a + (1.0 + (b * (y / t)))); elseif (y <= -3.3e+16) tmp = y / ((t + (y * b)) / z); elseif (y <= 1.56e+105) tmp = x / (1.0 + (a + ((y * b) / t))); else tmp = z / b; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -3.05e+124], N[(z / b), $MachinePrecision], If[LessEqual[y, -7.6e+43], N[(x / N[(a + N[(1.0 + N[(b * N[(y / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -3.3e+16], N[(y / N[(N[(t + N[(y * b), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.56e+105], N[(x / N[(1.0 + N[(a + N[(N[(y * b), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(z / b), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -3.05 \cdot 10^{+124}:\\
\;\;\;\;\frac{z}{b}\\
\mathbf{elif}\;y \leq -7.6 \cdot 10^{+43}:\\
\;\;\;\;\frac{x}{a + \left(1 + b \cdot \frac{y}{t}\right)}\\
\mathbf{elif}\;y \leq -3.3 \cdot 10^{+16}:\\
\;\;\;\;\frac{y}{\frac{t + y \cdot b}{z}}\\
\mathbf{elif}\;y \leq 1.56 \cdot 10^{+105}:\\
\;\;\;\;\frac{x}{1 + \left(a + \frac{y \cdot b}{t}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{z}{b}\\
\end{array}
\end{array}
(FPCore (x y z t a b)
:precision binary64
(if (<= y -1.8e+127)
(/ z b)
(if (<= y -9.5e+44)
(/ x (+ a (+ 1.0 (/ y (/ t b)))))
(if (<= y -6.8e+15)
(/ y (/ (+ t (* y b)) z))
(if (<= y 1.25e+102) (/ x (+ 1.0 (+ a (/ (* y b) t)))) (/ z b))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -1.8e+127) {
tmp = z / b;
} else if (y <= -9.5e+44) {
tmp = x / (a + (1.0 + (y / (t / b))));
} else if (y <= -6.8e+15) {
tmp = y / ((t + (y * b)) / z);
} else if (y <= 1.25e+102) {
tmp = x / (1.0 + (a + ((y * b) / t)));
} else {
tmp = z / b;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: tmp
if (y <= (-1.8d+127)) then
tmp = z / b
else if (y <= (-9.5d+44)) then
tmp = x / (a + (1.0d0 + (y / (t / b))))
else if (y <= (-6.8d+15)) then
tmp = y / ((t + (y * b)) / z)
else if (y <= 1.25d+102) then
tmp = x / (1.0d0 + (a + ((y * b) / t)))
else
tmp = z / b
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -1.8e+127) {
tmp = z / b;
} else if (y <= -9.5e+44) {
tmp = x / (a + (1.0 + (y / (t / b))));
} else if (y <= -6.8e+15) {
tmp = y / ((t + (y * b)) / z);
} else if (y <= 1.25e+102) {
tmp = x / (1.0 + (a + ((y * b) / t)));
} else {
tmp = z / b;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -1.8e+127: tmp = z / b elif y <= -9.5e+44: tmp = x / (a + (1.0 + (y / (t / b)))) elif y <= -6.8e+15: tmp = y / ((t + (y * b)) / z) elif y <= 1.25e+102: tmp = x / (1.0 + (a + ((y * b) / t))) else: tmp = z / b return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -1.8e+127) tmp = Float64(z / b); elseif (y <= -9.5e+44) tmp = Float64(x / Float64(a + Float64(1.0 + Float64(y / Float64(t / b))))); elseif (y <= -6.8e+15) tmp = Float64(y / Float64(Float64(t + Float64(y * b)) / z)); elseif (y <= 1.25e+102) tmp = Float64(x / Float64(1.0 + Float64(a + Float64(Float64(y * b) / t)))); else tmp = Float64(z / b); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -1.8e+127) tmp = z / b; elseif (y <= -9.5e+44) tmp = x / (a + (1.0 + (y / (t / b)))); elseif (y <= -6.8e+15) tmp = y / ((t + (y * b)) / z); elseif (y <= 1.25e+102) tmp = x / (1.0 + (a + ((y * b) / t))); else tmp = z / b; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -1.8e+127], N[(z / b), $MachinePrecision], If[LessEqual[y, -9.5e+44], N[(x / N[(a + N[(1.0 + N[(y / N[(t / b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -6.8e+15], N[(y / N[(N[(t + N[(y * b), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 1.25e+102], N[(x / N[(1.0 + N[(a + N[(N[(y * b), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(z / b), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -1.8 \cdot 10^{+127}:\\
\;\;\;\;\frac{z}{b}\\
\mathbf{elif}\;y \leq -9.5 \cdot 10^{+44}:\\
\;\;\;\;\frac{x}{a + \left(1 + \frac{y}{\frac{t}{b}}\right)}\\
\mathbf{elif}\;y \leq -6.8 \cdot 10^{+15}:\\
\;\;\;\;\frac{y}{\frac{t + y \cdot b}{z}}\\
\mathbf{elif}\;y \leq 1.25 \cdot 10^{+102}:\\
\;\;\;\;\frac{x}{1 + \left(a + \frac{y \cdot b}{t}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{z}{b}\\
\end{array}
\end{array}
(FPCore (x y z t a b)
:precision binary64
(if (<= a -4600000.0)
(/ (+ x (* y (/ z t))) (+ a 1.0))
(if (<= a 7.8e+24)
(/ (+ x (/ (* y z) t)) (+ 1.0 (/ (* y b) t)))
(/ (+ x (/ z (/ t y))) (+ a 1.0)))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (a <= -4600000.0) {
tmp = (x + (y * (z / t))) / (a + 1.0);
} else if (a <= 7.8e+24) {
tmp = (x + ((y * z) / t)) / (1.0 + ((y * b) / t));
} else {
tmp = (x + (z / (t / y))) / (a + 1.0);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: tmp
if (a <= (-4600000.0d0)) then
tmp = (x + (y * (z / t))) / (a + 1.0d0)
else if (a <= 7.8d+24) then
tmp = (x + ((y * z) / t)) / (1.0d0 + ((y * b) / t))
else
tmp = (x + (z / (t / y))) / (a + 1.0d0)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (a <= -4600000.0) {
tmp = (x + (y * (z / t))) / (a + 1.0);
} else if (a <= 7.8e+24) {
tmp = (x + ((y * z) / t)) / (1.0 + ((y * b) / t));
} else {
tmp = (x + (z / (t / y))) / (a + 1.0);
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if a <= -4600000.0: tmp = (x + (y * (z / t))) / (a + 1.0) elif a <= 7.8e+24: tmp = (x + ((y * z) / t)) / (1.0 + ((y * b) / t)) else: tmp = (x + (z / (t / y))) / (a + 1.0) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (a <= -4600000.0) tmp = Float64(Float64(x + Float64(y * Float64(z / t))) / Float64(a + 1.0)); elseif (a <= 7.8e+24) tmp = Float64(Float64(x + Float64(Float64(y * z) / t)) / Float64(1.0 + Float64(Float64(y * b) / t))); else tmp = Float64(Float64(x + Float64(z / Float64(t / y))) / Float64(a + 1.0)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (a <= -4600000.0) tmp = (x + (y * (z / t))) / (a + 1.0); elseif (a <= 7.8e+24) tmp = (x + ((y * z) / t)) / (1.0 + ((y * b) / t)); else tmp = (x + (z / (t / y))) / (a + 1.0); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[a, -4600000.0], N[(N[(x + N[(y * N[(z / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(a + 1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[a, 7.8e+24], N[(N[(x + N[(N[(y * z), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision] / N[(1.0 + N[(N[(y * b), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(x + N[(z / N[(t / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(a + 1.0), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -4600000:\\
\;\;\;\;\frac{x + y \cdot \frac{z}{t}}{a + 1}\\
\mathbf{elif}\;a \leq 7.8 \cdot 10^{+24}:\\
\;\;\;\;\frac{x + \frac{y \cdot z}{t}}{1 + \frac{y \cdot b}{t}}\\
\mathbf{else}:\\
\;\;\;\;\frac{x + \frac{z}{\frac{t}{y}}}{a + 1}\\
\end{array}
\end{array}
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (/ x (+ a (+ 1.0 (* b (/ y t)))))))
(if (<= b -1.6e+188)
t_1
(if (<= b -9.6e+88)
(/ z b)
(if (<= b 1.4e+31) (/ (+ x (* y (/ z t))) (+ a 1.0)) t_1)))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x / (a + (1.0 + (b * (y / t))));
double tmp;
if (b <= -1.6e+188) {
tmp = t_1;
} else if (b <= -9.6e+88) {
tmp = z / b;
} else if (b <= 1.4e+31) {
tmp = (x + (y * (z / t))) / (a + 1.0);
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: t_1
real(8) :: tmp
t_1 = x / (a + (1.0d0 + (b * (y / t))))
if (b <= (-1.6d+188)) then
tmp = t_1
else if (b <= (-9.6d+88)) then
tmp = z / b
else if (b <= 1.4d+31) then
tmp = (x + (y * (z / t))) / (a + 1.0d0)
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 t_1 = x / (a + (1.0 + (b * (y / t))));
double tmp;
if (b <= -1.6e+188) {
tmp = t_1;
} else if (b <= -9.6e+88) {
tmp = z / b;
} else if (b <= 1.4e+31) {
tmp = (x + (y * (z / t))) / (a + 1.0);
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x / (a + (1.0 + (b * (y / t)))) tmp = 0 if b <= -1.6e+188: tmp = t_1 elif b <= -9.6e+88: tmp = z / b elif b <= 1.4e+31: tmp = (x + (y * (z / t))) / (a + 1.0) else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x / Float64(a + Float64(1.0 + Float64(b * Float64(y / t))))) tmp = 0.0 if (b <= -1.6e+188) tmp = t_1; elseif (b <= -9.6e+88) tmp = Float64(z / b); elseif (b <= 1.4e+31) tmp = Float64(Float64(x + Float64(y * Float64(z / t))) / Float64(a + 1.0)); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x / (a + (1.0 + (b * (y / t)))); tmp = 0.0; if (b <= -1.6e+188) tmp = t_1; elseif (b <= -9.6e+88) tmp = z / b; elseif (b <= 1.4e+31) tmp = (x + (y * (z / t))) / (a + 1.0); else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x / N[(a + N[(1.0 + N[(b * N[(y / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[b, -1.6e+188], t$95$1, If[LessEqual[b, -9.6e+88], N[(z / b), $MachinePrecision], If[LessEqual[b, 1.4e+31], N[(N[(x + N[(y * N[(z / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(a + 1.0), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{x}{a + \left(1 + b \cdot \frac{y}{t}\right)}\\
\mathbf{if}\;b \leq -1.6 \cdot 10^{+188}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;b \leq -9.6 \cdot 10^{+88}:\\
\;\;\;\;\frac{z}{b}\\
\mathbf{elif}\;b \leq 1.4 \cdot 10^{+31}:\\
\;\;\;\;\frac{x + y \cdot \frac{z}{t}}{a + 1}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
(FPCore (x y z t a b) :precision binary64 (if (or (<= (+ a 1.0) -4e+44) (not (<= (+ a 1.0) 1e+25))) (/ (+ x (/ (* y z) t)) a) (/ x (+ 1.0 (* b (/ y t))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (((a + 1.0) <= -4e+44) || !((a + 1.0) <= 1e+25)) {
tmp = (x + ((y * z) / t)) / a;
} else {
tmp = x / (1.0 + (b * (y / t)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: tmp
if (((a + 1.0d0) <= (-4d+44)) .or. (.not. ((a + 1.0d0) <= 1d+25))) then
tmp = (x + ((y * z) / t)) / a
else
tmp = x / (1.0d0 + (b * (y / t)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (((a + 1.0) <= -4e+44) || !((a + 1.0) <= 1e+25)) {
tmp = (x + ((y * z) / t)) / a;
} else {
tmp = x / (1.0 + (b * (y / t)));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if ((a + 1.0) <= -4e+44) or not ((a + 1.0) <= 1e+25): tmp = (x + ((y * z) / t)) / a else: tmp = x / (1.0 + (b * (y / t))) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((Float64(a + 1.0) <= -4e+44) || !(Float64(a + 1.0) <= 1e+25)) tmp = Float64(Float64(x + Float64(Float64(y * z) / t)) / a); else tmp = Float64(x / Float64(1.0 + Float64(b * Float64(y / t)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (((a + 1.0) <= -4e+44) || ~(((a + 1.0) <= 1e+25))) tmp = (x + ((y * z) / t)) / a; else tmp = x / (1.0 + (b * (y / t))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[N[(a + 1.0), $MachinePrecision], -4e+44], N[Not[LessEqual[N[(a + 1.0), $MachinePrecision], 1e+25]], $MachinePrecision]], N[(N[(x + N[(N[(y * z), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision], N[(x / N[(1.0 + N[(b * N[(y / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a + 1 \leq -4 \cdot 10^{+44} \lor \neg \left(a + 1 \leq 10^{+25}\right):\\
\;\;\;\;\frac{x + \frac{y \cdot z}{t}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{1 + b \cdot \frac{y}{t}}\\
\end{array}
\end{array}
(FPCore (x y z t a b)
:precision binary64
(if (<= a -3.9e+40)
(/ x a)
(if (<= a -1.9e-131)
(/ z b)
(if (<= a 3.2e-196)
x
(if (or (<= a 3.15e+25) (and (not (<= a 4.2e+62)) (<= a 2.3e+105)))
(/ z b)
(/ x a))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (a <= -3.9e+40) {
tmp = x / a;
} else if (a <= -1.9e-131) {
tmp = z / b;
} else if (a <= 3.2e-196) {
tmp = x;
} else if ((a <= 3.15e+25) || (!(a <= 4.2e+62) && (a <= 2.3e+105))) {
tmp = z / b;
} else {
tmp = x / a;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: tmp
if (a <= (-3.9d+40)) then
tmp = x / a
else if (a <= (-1.9d-131)) then
tmp = z / b
else if (a <= 3.2d-196) then
tmp = x
else if ((a <= 3.15d+25) .or. (.not. (a <= 4.2d+62)) .and. (a <= 2.3d+105)) then
tmp = z / b
else
tmp = x / a
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (a <= -3.9e+40) {
tmp = x / a;
} else if (a <= -1.9e-131) {
tmp = z / b;
} else if (a <= 3.2e-196) {
tmp = x;
} else if ((a <= 3.15e+25) || (!(a <= 4.2e+62) && (a <= 2.3e+105))) {
tmp = z / b;
} else {
tmp = x / a;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if a <= -3.9e+40: tmp = x / a elif a <= -1.9e-131: tmp = z / b elif a <= 3.2e-196: tmp = x elif (a <= 3.15e+25) or (not (a <= 4.2e+62) and (a <= 2.3e+105)): tmp = z / b else: tmp = x / a return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (a <= -3.9e+40) tmp = Float64(x / a); elseif (a <= -1.9e-131) tmp = Float64(z / b); elseif (a <= 3.2e-196) tmp = x; elseif ((a <= 3.15e+25) || (!(a <= 4.2e+62) && (a <= 2.3e+105))) tmp = Float64(z / b); else tmp = Float64(x / a); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (a <= -3.9e+40) tmp = x / a; elseif (a <= -1.9e-131) tmp = z / b; elseif (a <= 3.2e-196) tmp = x; elseif ((a <= 3.15e+25) || (~((a <= 4.2e+62)) && (a <= 2.3e+105))) tmp = z / b; else tmp = x / a; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[a, -3.9e+40], N[(x / a), $MachinePrecision], If[LessEqual[a, -1.9e-131], N[(z / b), $MachinePrecision], If[LessEqual[a, 3.2e-196], x, If[Or[LessEqual[a, 3.15e+25], And[N[Not[LessEqual[a, 4.2e+62]], $MachinePrecision], LessEqual[a, 2.3e+105]]], N[(z / b), $MachinePrecision], N[(x / a), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -3.9 \cdot 10^{+40}:\\
\;\;\;\;\frac{x}{a}\\
\mathbf{elif}\;a \leq -1.9 \cdot 10^{-131}:\\
\;\;\;\;\frac{z}{b}\\
\mathbf{elif}\;a \leq 3.2 \cdot 10^{-196}:\\
\;\;\;\;x\\
\mathbf{elif}\;a \leq 3.15 \cdot 10^{+25} \lor \neg \left(a \leq 4.2 \cdot 10^{+62}\right) \land a \leq 2.3 \cdot 10^{+105}:\\
\;\;\;\;\frac{z}{b}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{a}\\
\end{array}
\end{array}
(FPCore (x y z t a b)
:precision binary64
(if (<= y -2.7e+22)
(/ z b)
(if (<= y -5.9e-21)
(/ z (* (+ a 1.0) (/ t y)))
(if (<= y -7e-44)
(/ y (/ (+ t (* y b)) z))
(if (<= y 5e+97) (/ x (+ a 1.0)) (/ z b))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -2.7e+22) {
tmp = z / b;
} else if (y <= -5.9e-21) {
tmp = z / ((a + 1.0) * (t / y));
} else if (y <= -7e-44) {
tmp = y / ((t + (y * b)) / z);
} else if (y <= 5e+97) {
tmp = x / (a + 1.0);
} else {
tmp = z / b;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: tmp
if (y <= (-2.7d+22)) then
tmp = z / b
else if (y <= (-5.9d-21)) then
tmp = z / ((a + 1.0d0) * (t / y))
else if (y <= (-7d-44)) then
tmp = y / ((t + (y * b)) / z)
else if (y <= 5d+97) then
tmp = x / (a + 1.0d0)
else
tmp = z / b
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -2.7e+22) {
tmp = z / b;
} else if (y <= -5.9e-21) {
tmp = z / ((a + 1.0) * (t / y));
} else if (y <= -7e-44) {
tmp = y / ((t + (y * b)) / z);
} else if (y <= 5e+97) {
tmp = x / (a + 1.0);
} else {
tmp = z / b;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -2.7e+22: tmp = z / b elif y <= -5.9e-21: tmp = z / ((a + 1.0) * (t / y)) elif y <= -7e-44: tmp = y / ((t + (y * b)) / z) elif y <= 5e+97: tmp = x / (a + 1.0) else: tmp = z / b return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -2.7e+22) tmp = Float64(z / b); elseif (y <= -5.9e-21) tmp = Float64(z / Float64(Float64(a + 1.0) * Float64(t / y))); elseif (y <= -7e-44) tmp = Float64(y / Float64(Float64(t + Float64(y * b)) / z)); elseif (y <= 5e+97) tmp = Float64(x / Float64(a + 1.0)); else tmp = Float64(z / b); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -2.7e+22) tmp = z / b; elseif (y <= -5.9e-21) tmp = z / ((a + 1.0) * (t / y)); elseif (y <= -7e-44) tmp = y / ((t + (y * b)) / z); elseif (y <= 5e+97) tmp = x / (a + 1.0); else tmp = z / b; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -2.7e+22], N[(z / b), $MachinePrecision], If[LessEqual[y, -5.9e-21], N[(z / N[(N[(a + 1.0), $MachinePrecision] * N[(t / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -7e-44], N[(y / N[(N[(t + N[(y * b), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 5e+97], N[(x / N[(a + 1.0), $MachinePrecision]), $MachinePrecision], N[(z / b), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -2.7 \cdot 10^{+22}:\\
\;\;\;\;\frac{z}{b}\\
\mathbf{elif}\;y \leq -5.9 \cdot 10^{-21}:\\
\;\;\;\;\frac{z}{\left(a + 1\right) \cdot \frac{t}{y}}\\
\mathbf{elif}\;y \leq -7 \cdot 10^{-44}:\\
\;\;\;\;\frac{y}{\frac{t + y \cdot b}{z}}\\
\mathbf{elif}\;y \leq 5 \cdot 10^{+97}:\\
\;\;\;\;\frac{x}{a + 1}\\
\mathbf{else}:\\
\;\;\;\;\frac{z}{b}\\
\end{array}
\end{array}
(FPCore (x y z t a b)
:precision binary64
(if (<= y -1.9e+23)
(/ z b)
(if (<= y -1.26e-20)
(/ (* y z) (* t (+ a 1.0)))
(if (<= y -6.6e-43)
(/ y (/ (+ t (* y b)) z))
(if (<= y 4.5e+97) (/ x (+ a 1.0)) (/ z b))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -1.9e+23) {
tmp = z / b;
} else if (y <= -1.26e-20) {
tmp = (y * z) / (t * (a + 1.0));
} else if (y <= -6.6e-43) {
tmp = y / ((t + (y * b)) / z);
} else if (y <= 4.5e+97) {
tmp = x / (a + 1.0);
} else {
tmp = z / b;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: tmp
if (y <= (-1.9d+23)) then
tmp = z / b
else if (y <= (-1.26d-20)) then
tmp = (y * z) / (t * (a + 1.0d0))
else if (y <= (-6.6d-43)) then
tmp = y / ((t + (y * b)) / z)
else if (y <= 4.5d+97) then
tmp = x / (a + 1.0d0)
else
tmp = z / b
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -1.9e+23) {
tmp = z / b;
} else if (y <= -1.26e-20) {
tmp = (y * z) / (t * (a + 1.0));
} else if (y <= -6.6e-43) {
tmp = y / ((t + (y * b)) / z);
} else if (y <= 4.5e+97) {
tmp = x / (a + 1.0);
} else {
tmp = z / b;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -1.9e+23: tmp = z / b elif y <= -1.26e-20: tmp = (y * z) / (t * (a + 1.0)) elif y <= -6.6e-43: tmp = y / ((t + (y * b)) / z) elif y <= 4.5e+97: tmp = x / (a + 1.0) else: tmp = z / b return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -1.9e+23) tmp = Float64(z / b); elseif (y <= -1.26e-20) tmp = Float64(Float64(y * z) / Float64(t * Float64(a + 1.0))); elseif (y <= -6.6e-43) tmp = Float64(y / Float64(Float64(t + Float64(y * b)) / z)); elseif (y <= 4.5e+97) tmp = Float64(x / Float64(a + 1.0)); else tmp = Float64(z / b); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -1.9e+23) tmp = z / b; elseif (y <= -1.26e-20) tmp = (y * z) / (t * (a + 1.0)); elseif (y <= -6.6e-43) tmp = y / ((t + (y * b)) / z); elseif (y <= 4.5e+97) tmp = x / (a + 1.0); else tmp = z / b; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -1.9e+23], N[(z / b), $MachinePrecision], If[LessEqual[y, -1.26e-20], N[(N[(y * z), $MachinePrecision] / N[(t * N[(a + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, -6.6e-43], N[(y / N[(N[(t + N[(y * b), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 4.5e+97], N[(x / N[(a + 1.0), $MachinePrecision]), $MachinePrecision], N[(z / b), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -1.9 \cdot 10^{+23}:\\
\;\;\;\;\frac{z}{b}\\
\mathbf{elif}\;y \leq -1.26 \cdot 10^{-20}:\\
\;\;\;\;\frac{y \cdot z}{t \cdot \left(a + 1\right)}\\
\mathbf{elif}\;y \leq -6.6 \cdot 10^{-43}:\\
\;\;\;\;\frac{y}{\frac{t + y \cdot b}{z}}\\
\mathbf{elif}\;y \leq 4.5 \cdot 10^{+97}:\\
\;\;\;\;\frac{x}{a + 1}\\
\mathbf{else}:\\
\;\;\;\;\frac{z}{b}\\
\end{array}
\end{array}
(FPCore (x y z t a b) :precision binary64 (if (or (<= y -4.2e+23) (not (<= y 2.1e+104))) (/ z b) (/ x (+ 1.0 (+ a (/ (* y b) t))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((y <= -4.2e+23) || !(y <= 2.1e+104)) {
tmp = z / b;
} else {
tmp = x / (1.0 + (a + ((y * b) / t)));
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: tmp
if ((y <= (-4.2d+23)) .or. (.not. (y <= 2.1d+104))) then
tmp = z / b
else
tmp = x / (1.0d0 + (a + ((y * b) / t)))
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((y <= -4.2e+23) || !(y <= 2.1e+104)) {
tmp = z / b;
} else {
tmp = x / (1.0 + (a + ((y * b) / t)));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if (y <= -4.2e+23) or not (y <= 2.1e+104): tmp = z / b else: tmp = x / (1.0 + (a + ((y * b) / t))) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((y <= -4.2e+23) || !(y <= 2.1e+104)) tmp = Float64(z / b); else tmp = Float64(x / Float64(1.0 + Float64(a + Float64(Float64(y * b) / t)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if ((y <= -4.2e+23) || ~((y <= 2.1e+104))) tmp = z / b; else tmp = x / (1.0 + (a + ((y * b) / t))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[y, -4.2e+23], N[Not[LessEqual[y, 2.1e+104]], $MachinePrecision]], N[(z / b), $MachinePrecision], N[(x / N[(1.0 + N[(a + N[(N[(y * b), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -4.2 \cdot 10^{+23} \lor \neg \left(y \leq 2.1 \cdot 10^{+104}\right):\\
\;\;\;\;\frac{z}{b}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{1 + \left(a + \frac{y \cdot b}{t}\right)}\\
\end{array}
\end{array}
(FPCore (x y z t a b) :precision binary64 (if (or (<= y -9e+237) (not (<= y 9.2e+108))) (/ z b) (/ (+ x (/ z (/ t y))) (+ a 1.0))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((y <= -9e+237) || !(y <= 9.2e+108)) {
tmp = z / b;
} else {
tmp = (x + (z / (t / y))) / (a + 1.0);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: tmp
if ((y <= (-9d+237)) .or. (.not. (y <= 9.2d+108))) then
tmp = z / b
else
tmp = (x + (z / (t / y))) / (a + 1.0d0)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((y <= -9e+237) || !(y <= 9.2e+108)) {
tmp = z / b;
} else {
tmp = (x + (z / (t / y))) / (a + 1.0);
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if (y <= -9e+237) or not (y <= 9.2e+108): tmp = z / b else: tmp = (x + (z / (t / y))) / (a + 1.0) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((y <= -9e+237) || !(y <= 9.2e+108)) tmp = Float64(z / b); else tmp = Float64(Float64(x + Float64(z / Float64(t / y))) / Float64(a + 1.0)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if ((y <= -9e+237) || ~((y <= 9.2e+108))) tmp = z / b; else tmp = (x + (z / (t / y))) / (a + 1.0); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[y, -9e+237], N[Not[LessEqual[y, 9.2e+108]], $MachinePrecision]], N[(z / b), $MachinePrecision], N[(N[(x + N[(z / N[(t / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(a + 1.0), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -9 \cdot 10^{+237} \lor \neg \left(y \leq 9.2 \cdot 10^{+108}\right):\\
\;\;\;\;\frac{z}{b}\\
\mathbf{else}:\\
\;\;\;\;\frac{x + \frac{z}{\frac{t}{y}}}{a + 1}\\
\end{array}
\end{array}
(FPCore (x y z t a b) :precision binary64 (if (or (<= y -1.05e+24) (not (<= y 2.3e+98))) (/ z b) (/ x (+ a 1.0))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((y <= -1.05e+24) || !(y <= 2.3e+98)) {
tmp = z / b;
} else {
tmp = x / (a + 1.0);
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: tmp
if ((y <= (-1.05d+24)) .or. (.not. (y <= 2.3d+98))) then
tmp = z / b
else
tmp = x / (a + 1.0d0)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((y <= -1.05e+24) || !(y <= 2.3e+98)) {
tmp = z / b;
} else {
tmp = x / (a + 1.0);
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if (y <= -1.05e+24) or not (y <= 2.3e+98): tmp = z / b else: tmp = x / (a + 1.0) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((y <= -1.05e+24) || !(y <= 2.3e+98)) tmp = Float64(z / b); else tmp = Float64(x / Float64(a + 1.0)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if ((y <= -1.05e+24) || ~((y <= 2.3e+98))) tmp = z / b; else tmp = x / (a + 1.0); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[y, -1.05e+24], N[Not[LessEqual[y, 2.3e+98]], $MachinePrecision]], N[(z / b), $MachinePrecision], N[(x / N[(a + 1.0), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -1.05 \cdot 10^{+24} \lor \neg \left(y \leq 2.3 \cdot 10^{+98}\right):\\
\;\;\;\;\frac{z}{b}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{a + 1}\\
\end{array}
\end{array}
(FPCore (x y z t a b) :precision binary64 (if (or (<= a -1.0) (not (<= a 1.0))) (/ x a) x))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((a <= -1.0) || !(a <= 1.0)) {
tmp = x / a;
} else {
tmp = x;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: tmp
if ((a <= (-1.0d0)) .or. (.not. (a <= 1.0d0))) then
tmp = x / a
else
tmp = x
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((a <= -1.0) || !(a <= 1.0)) {
tmp = x / a;
} else {
tmp = x;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if (a <= -1.0) or not (a <= 1.0): tmp = x / a else: tmp = x return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((a <= -1.0) || !(a <= 1.0)) tmp = Float64(x / a); else tmp = x; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if ((a <= -1.0) || ~((a <= 1.0))) tmp = x / a; else tmp = x; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[a, -1.0], N[Not[LessEqual[a, 1.0]], $MachinePrecision]], N[(x / a), $MachinePrecision], x]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq -1 \lor \neg \left(a \leq 1\right):\\
\;\;\;\;\frac{x}{a}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\end{array}
(FPCore (x y z t a b) :precision binary64 x)
double code(double x, double y, double z, double t, double a, double b) {
return x;
}
real(8) function code(x, y, z, t, a, b)
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
code = x
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return x;
}
def code(x, y, z, t, a, b): return x
function code(x, y, z, t, a, b) return x end
function tmp = code(x, y, z, t, a, b) tmp = x; end
code[x_, y_, z_, t_, a_, b_] := x
\begin{array}{l}
\\
x
\end{array}
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1
(* 1.0 (* (+ x (* (/ y t) z)) (/ 1.0 (+ (+ a 1.0) (* (/ y t) b)))))))
(if (< t -1.3659085366310088e-271)
t_1
(if (< t 3.036967103737246e-130) (/ z b) t_1))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = 1.0 * ((x + ((y / t) * z)) * (1.0 / ((a + 1.0) + ((y / t) * b))));
double tmp;
if (t < -1.3659085366310088e-271) {
tmp = t_1;
} else if (t < 3.036967103737246e-130) {
tmp = z / b;
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(x, y, z, t, a, b)
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) :: t_1
real(8) :: tmp
t_1 = 1.0d0 * ((x + ((y / t) * z)) * (1.0d0 / ((a + 1.0d0) + ((y / t) * b))))
if (t < (-1.3659085366310088d-271)) then
tmp = t_1
else if (t < 3.036967103737246d-130) then
tmp = z / b
else
tmp = t_1
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = 1.0 * ((x + ((y / t) * z)) * (1.0 / ((a + 1.0) + ((y / t) * b))));
double tmp;
if (t < -1.3659085366310088e-271) {
tmp = t_1;
} else if (t < 3.036967103737246e-130) {
tmp = z / b;
} else {
tmp = t_1;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = 1.0 * ((x + ((y / t) * z)) * (1.0 / ((a + 1.0) + ((y / t) * b)))) tmp = 0 if t < -1.3659085366310088e-271: tmp = t_1 elif t < 3.036967103737246e-130: tmp = z / b else: tmp = t_1 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(1.0 * Float64(Float64(x + Float64(Float64(y / t) * z)) * Float64(1.0 / Float64(Float64(a + 1.0) + Float64(Float64(y / t) * b))))) tmp = 0.0 if (t < -1.3659085366310088e-271) tmp = t_1; elseif (t < 3.036967103737246e-130) tmp = Float64(z / b); else tmp = t_1; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = 1.0 * ((x + ((y / t) * z)) * (1.0 / ((a + 1.0) + ((y / t) * b)))); tmp = 0.0; if (t < -1.3659085366310088e-271) tmp = t_1; elseif (t < 3.036967103737246e-130) tmp = z / b; else tmp = t_1; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(1.0 * N[(N[(x + N[(N[(y / t), $MachinePrecision] * z), $MachinePrecision]), $MachinePrecision] * N[(1.0 / N[(N[(a + 1.0), $MachinePrecision] + N[(N[(y / t), $MachinePrecision] * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Less[t, -1.3659085366310088e-271], t$95$1, If[Less[t, 3.036967103737246e-130], N[(z / b), $MachinePrecision], t$95$1]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 1 \cdot \left(\left(x + \frac{y}{t} \cdot z\right) \cdot \frac{1}{\left(a + 1\right) + \frac{y}{t} \cdot b}\right)\\
\mathbf{if}\;t < -1.3659085366310088 \cdot 10^{-271}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t < 3.036967103737246 \cdot 10^{-130}:\\
\;\;\;\;\frac{z}{b}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
herbie shell --seed 2023343
(FPCore (x y z t a b)
:name "Diagrams.Solve.Tridiagonal:solveCyclicTriDiagonal from diagrams-solve-0.1, B"
:precision binary64
:herbie-target
(if (< t -1.3659085366310088e-271) (* 1.0 (* (+ x (* (/ y t) z)) (/ 1.0 (+ (+ a 1.0) (* (/ y t) b))))) (if (< t 3.036967103737246e-130) (/ z b) (* 1.0 (* (+ x (* (/ y t) z)) (/ 1.0 (+ (+ a 1.0) (* (/ y t) b)))))))
(/ (+ x (/ (* y z) t)) (+ (+ a 1.0) (/ (* y b) t))))