
(FPCore (x y z t a b) :precision binary64 (/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y))
double code(double x, double y, double z, double t, double a, double b) {
return (x * exp((((y * log(z)) + ((t - 1.0) * log(a))) - b))) / y;
}
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 * exp((((y * log(z)) + ((t - 1.0d0) * log(a))) - b))) / y
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return (x * Math.exp((((y * Math.log(z)) + ((t - 1.0) * Math.log(a))) - b))) / y;
}
def code(x, y, z, t, a, b): return (x * math.exp((((y * math.log(z)) + ((t - 1.0) * math.log(a))) - b))) / y
function code(x, y, z, t, a, b) return Float64(Float64(x * exp(Float64(Float64(Float64(y * log(z)) + Float64(Float64(t - 1.0) * log(a))) - b))) / y) end
function tmp = code(x, y, z, t, a, b) tmp = (x * exp((((y * log(z)) + ((t - 1.0) * log(a))) - b))) / y; end
code[x_, y_, z_, t_, a_, b_] := N[(N[(x * N[Exp[N[(N[(N[(y * N[Log[z], $MachinePrecision]), $MachinePrecision] + N[(N[(t - 1.0), $MachinePrecision] * N[Log[a], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]
\begin{array}{l}
\\
\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 16 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x y z t a b) :precision binary64 (/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y))
double code(double x, double y, double z, double t, double a, double b) {
return (x * exp((((y * log(z)) + ((t - 1.0) * log(a))) - b))) / y;
}
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 * exp((((y * log(z)) + ((t - 1.0d0) * log(a))) - b))) / y
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return (x * Math.exp((((y * Math.log(z)) + ((t - 1.0) * Math.log(a))) - b))) / y;
}
def code(x, y, z, t, a, b): return (x * math.exp((((y * math.log(z)) + ((t - 1.0) * math.log(a))) - b))) / y
function code(x, y, z, t, a, b) return Float64(Float64(x * exp(Float64(Float64(Float64(y * log(z)) + Float64(Float64(t - 1.0) * log(a))) - b))) / y) end
function tmp = code(x, y, z, t, a, b) tmp = (x * exp((((y * log(z)) + ((t - 1.0) * log(a))) - b))) / y; end
code[x_, y_, z_, t_, a_, b_] := N[(N[(x * N[Exp[N[(N[(N[(y * N[Log[z], $MachinePrecision]), $MachinePrecision] + N[(N[(t - 1.0), $MachinePrecision] * N[Log[a], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]
\begin{array}{l}
\\
\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}
\end{array}
(FPCore (x y z t a b) :precision binary64 (/ (* x (exp (- (+ (* y (log z)) (* (+ t -1.0) (log a))) b))) y))
double code(double x, double y, double z, double t, double a, double b) {
return (x * exp((((y * log(z)) + ((t + -1.0) * log(a))) - b))) / y;
}
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 * exp((((y * log(z)) + ((t + (-1.0d0)) * log(a))) - b))) / y
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return (x * Math.exp((((y * Math.log(z)) + ((t + -1.0) * Math.log(a))) - b))) / y;
}
def code(x, y, z, t, a, b): return (x * math.exp((((y * math.log(z)) + ((t + -1.0) * math.log(a))) - b))) / y
function code(x, y, z, t, a, b) return Float64(Float64(x * exp(Float64(Float64(Float64(y * log(z)) + Float64(Float64(t + -1.0) * log(a))) - b))) / y) end
function tmp = code(x, y, z, t, a, b) tmp = (x * exp((((y * log(z)) + ((t + -1.0) * log(a))) - b))) / y; end
code[x_, y_, z_, t_, a_, b_] := N[(N[(x * N[Exp[N[(N[(N[(y * N[Log[z], $MachinePrecision]), $MachinePrecision] + N[(N[(t + -1.0), $MachinePrecision] * N[Log[a], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]
\begin{array}{l}
\\
\frac{x \cdot e^{\left(y \cdot \log z + \left(t + -1\right) \cdot \log a\right) - b}}{y}
\end{array}
(FPCore (x y z t a b) :precision binary64 (if (or (<= y -1.1e+110) (not (<= y 4.25e-38))) (/ (* x (exp (- (- (* y (log z)) (log a)) b))) y) (/ (* x (exp (- (* (+ t -1.0) (log a)) b))) y)))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((y <= -1.1e+110) || !(y <= 4.25e-38)) {
tmp = (x * exp((((y * log(z)) - log(a)) - b))) / y;
} else {
tmp = (x * exp((((t + -1.0) * log(a)) - b))) / y;
}
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.1d+110)) .or. (.not. (y <= 4.25d-38))) then
tmp = (x * exp((((y * log(z)) - log(a)) - b))) / y
else
tmp = (x * exp((((t + (-1.0d0)) * log(a)) - b))) / y
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.1e+110) || !(y <= 4.25e-38)) {
tmp = (x * Math.exp((((y * Math.log(z)) - Math.log(a)) - b))) / y;
} else {
tmp = (x * Math.exp((((t + -1.0) * Math.log(a)) - b))) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if (y <= -1.1e+110) or not (y <= 4.25e-38): tmp = (x * math.exp((((y * math.log(z)) - math.log(a)) - b))) / y else: tmp = (x * math.exp((((t + -1.0) * math.log(a)) - b))) / y return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((y <= -1.1e+110) || !(y <= 4.25e-38)) tmp = Float64(Float64(x * exp(Float64(Float64(Float64(y * log(z)) - log(a)) - b))) / y); else tmp = Float64(Float64(x * exp(Float64(Float64(Float64(t + -1.0) * log(a)) - b))) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if ((y <= -1.1e+110) || ~((y <= 4.25e-38))) tmp = (x * exp((((y * log(z)) - log(a)) - b))) / y; else tmp = (x * exp((((t + -1.0) * log(a)) - b))) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[y, -1.1e+110], N[Not[LessEqual[y, 4.25e-38]], $MachinePrecision]], N[(N[(x * N[Exp[N[(N[(N[(y * N[Log[z], $MachinePrecision]), $MachinePrecision] - N[Log[a], $MachinePrecision]), $MachinePrecision] - b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], N[(N[(x * N[Exp[N[(N[(N[(t + -1.0), $MachinePrecision] * N[Log[a], $MachinePrecision]), $MachinePrecision] - b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -1.1 \cdot 10^{+110} \lor \neg \left(y \leq 4.25 \cdot 10^{-38}\right):\\
\;\;\;\;\frac{x \cdot e^{\left(y \cdot \log z - \log a\right) - b}}{y}\\
\mathbf{else}:\\
\;\;\;\;\frac{x \cdot e^{\left(t + -1\right) \cdot \log a - b}}{y}\\
\end{array}
\end{array}
(FPCore (x y z t a b) :precision binary64 (if (or (<= y -8.2e+110) (not (<= y 7.1e+31))) (/ (* x (/ (pow z y) y)) a) (/ (* x (exp (- (* (+ t -1.0) (log a)) b))) y)))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((y <= -8.2e+110) || !(y <= 7.1e+31)) {
tmp = (x * (pow(z, y) / y)) / a;
} else {
tmp = (x * exp((((t + -1.0) * log(a)) - b))) / y;
}
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 <= (-8.2d+110)) .or. (.not. (y <= 7.1d+31))) then
tmp = (x * ((z ** y) / y)) / a
else
tmp = (x * exp((((t + (-1.0d0)) * log(a)) - b))) / y
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 <= -8.2e+110) || !(y <= 7.1e+31)) {
tmp = (x * (Math.pow(z, y) / y)) / a;
} else {
tmp = (x * Math.exp((((t + -1.0) * Math.log(a)) - b))) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if (y <= -8.2e+110) or not (y <= 7.1e+31): tmp = (x * (math.pow(z, y) / y)) / a else: tmp = (x * math.exp((((t + -1.0) * math.log(a)) - b))) / y return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((y <= -8.2e+110) || !(y <= 7.1e+31)) tmp = Float64(Float64(x * Float64((z ^ y) / y)) / a); else tmp = Float64(Float64(x * exp(Float64(Float64(Float64(t + -1.0) * log(a)) - b))) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if ((y <= -8.2e+110) || ~((y <= 7.1e+31))) tmp = (x * ((z ^ y) / y)) / a; else tmp = (x * exp((((t + -1.0) * log(a)) - b))) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[y, -8.2e+110], N[Not[LessEqual[y, 7.1e+31]], $MachinePrecision]], N[(N[(x * N[(N[Power[z, y], $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision], N[(N[(x * N[Exp[N[(N[(N[(t + -1.0), $MachinePrecision] * N[Log[a], $MachinePrecision]), $MachinePrecision] - b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -8.2 \cdot 10^{+110} \lor \neg \left(y \leq 7.1 \cdot 10^{+31}\right):\\
\;\;\;\;\frac{x \cdot \frac{{z}^{y}}{y}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{x \cdot e^{\left(t + -1\right) \cdot \log a - b}}{y}\\
\end{array}
\end{array}
(FPCore (x y z t a b) :precision binary64 (if (or (<= y -2.3e+58) (not (<= y 3.2e+30))) (/ (* x (/ (pow z y) y)) a) (/ (* x (/ (/ (pow a t) a) (exp b))) y)))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((y <= -2.3e+58) || !(y <= 3.2e+30)) {
tmp = (x * (pow(z, y) / y)) / a;
} else {
tmp = (x * ((pow(a, t) / a) / exp(b))) / y;
}
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.3d+58)) .or. (.not. (y <= 3.2d+30))) then
tmp = (x * ((z ** y) / y)) / a
else
tmp = (x * (((a ** t) / a) / exp(b))) / y
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.3e+58) || !(y <= 3.2e+30)) {
tmp = (x * (Math.pow(z, y) / y)) / a;
} else {
tmp = (x * ((Math.pow(a, t) / a) / Math.exp(b))) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if (y <= -2.3e+58) or not (y <= 3.2e+30): tmp = (x * (math.pow(z, y) / y)) / a else: tmp = (x * ((math.pow(a, t) / a) / math.exp(b))) / y return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((y <= -2.3e+58) || !(y <= 3.2e+30)) tmp = Float64(Float64(x * Float64((z ^ y) / y)) / a); else tmp = Float64(Float64(x * Float64(Float64((a ^ t) / a) / exp(b))) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if ((y <= -2.3e+58) || ~((y <= 3.2e+30))) tmp = (x * ((z ^ y) / y)) / a; else tmp = (x * (((a ^ t) / a) / exp(b))) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[y, -2.3e+58], N[Not[LessEqual[y, 3.2e+30]], $MachinePrecision]], N[(N[(x * N[(N[Power[z, y], $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision], N[(N[(x * N[(N[(N[Power[a, t], $MachinePrecision] / a), $MachinePrecision] / N[Exp[b], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -2.3 \cdot 10^{+58} \lor \neg \left(y \leq 3.2 \cdot 10^{+30}\right):\\
\;\;\;\;\frac{x \cdot \frac{{z}^{y}}{y}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{x \cdot \frac{\frac{{a}^{t}}{a}}{e^{b}}}{y}\\
\end{array}
\end{array}
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (/ x (* a (* y (exp b))))) (t_2 (/ (* x (/ (pow z y) y)) a)))
(if (<= y -1.6e+98)
t_2
(if (<= y -2.6e-137)
t_1
(if (<= y 2.5e-160)
(/ (* x (pow a (+ t -1.0))) y)
(if (<= y 1.48e+29) t_1 t_2))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x / (a * (y * exp(b)));
double t_2 = (x * (pow(z, y) / y)) / a;
double tmp;
if (y <= -1.6e+98) {
tmp = t_2;
} else if (y <= -2.6e-137) {
tmp = t_1;
} else if (y <= 2.5e-160) {
tmp = (x * pow(a, (t + -1.0))) / y;
} else if (y <= 1.48e+29) {
tmp = t_1;
} else {
tmp = t_2;
}
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 / (a * (y * exp(b)))
t_2 = (x * ((z ** y) / y)) / a
if (y <= (-1.6d+98)) then
tmp = t_2
else if (y <= (-2.6d-137)) then
tmp = t_1
else if (y <= 2.5d-160) then
tmp = (x * (a ** (t + (-1.0d0)))) / y
else if (y <= 1.48d+29) 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 t_1 = x / (a * (y * Math.exp(b)));
double t_2 = (x * (Math.pow(z, y) / y)) / a;
double tmp;
if (y <= -1.6e+98) {
tmp = t_2;
} else if (y <= -2.6e-137) {
tmp = t_1;
} else if (y <= 2.5e-160) {
tmp = (x * Math.pow(a, (t + -1.0))) / y;
} else if (y <= 1.48e+29) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x / (a * (y * math.exp(b))) t_2 = (x * (math.pow(z, y) / y)) / a tmp = 0 if y <= -1.6e+98: tmp = t_2 elif y <= -2.6e-137: tmp = t_1 elif y <= 2.5e-160: tmp = (x * math.pow(a, (t + -1.0))) / y elif y <= 1.48e+29: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x / Float64(a * Float64(y * exp(b)))) t_2 = Float64(Float64(x * Float64((z ^ y) / y)) / a) tmp = 0.0 if (y <= -1.6e+98) tmp = t_2; elseif (y <= -2.6e-137) tmp = t_1; elseif (y <= 2.5e-160) tmp = Float64(Float64(x * (a ^ Float64(t + -1.0))) / y); elseif (y <= 1.48e+29) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x / (a * (y * exp(b))); t_2 = (x * ((z ^ y) / y)) / a; tmp = 0.0; if (y <= -1.6e+98) tmp = t_2; elseif (y <= -2.6e-137) tmp = t_1; elseif (y <= 2.5e-160) tmp = (x * (a ^ (t + -1.0))) / y; elseif (y <= 1.48e+29) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x / N[(a * N[(y * N[Exp[b], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x * N[(N[Power[z, y], $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision]}, If[LessEqual[y, -1.6e+98], t$95$2, If[LessEqual[y, -2.6e-137], t$95$1, If[LessEqual[y, 2.5e-160], N[(N[(x * N[Power[a, N[(t + -1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[y, 1.48e+29], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{x}{a \cdot \left(y \cdot e^{b}\right)}\\
t_2 := \frac{x \cdot \frac{{z}^{y}}{y}}{a}\\
\mathbf{if}\;y \leq -1.6 \cdot 10^{+98}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y \leq -2.6 \cdot 10^{-137}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq 2.5 \cdot 10^{-160}:\\
\;\;\;\;\frac{x \cdot {a}^{\left(t + -1\right)}}{y}\\
\mathbf{elif}\;y \leq 1.48 \cdot 10^{+29}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (/ x (* a (* y (exp b))))) (t_2 (/ (* x (/ (pow z y) y)) a)))
(if (<= y -1.26e+98)
t_2
(if (<= y -1.08e-136)
t_1
(if (<= y 2.3e-158)
(/ (/ x (/ a (pow a t))) y)
(if (<= y 2.25e+29) t_1 t_2))))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = x / (a * (y * exp(b)));
double t_2 = (x * (pow(z, y) / y)) / a;
double tmp;
if (y <= -1.26e+98) {
tmp = t_2;
} else if (y <= -1.08e-136) {
tmp = t_1;
} else if (y <= 2.3e-158) {
tmp = (x / (a / pow(a, t))) / y;
} else if (y <= 2.25e+29) {
tmp = t_1;
} else {
tmp = t_2;
}
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 / (a * (y * exp(b)))
t_2 = (x * ((z ** y) / y)) / a
if (y <= (-1.26d+98)) then
tmp = t_2
else if (y <= (-1.08d-136)) then
tmp = t_1
else if (y <= 2.3d-158) then
tmp = (x / (a / (a ** t))) / y
else if (y <= 2.25d+29) 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 t_1 = x / (a * (y * Math.exp(b)));
double t_2 = (x * (Math.pow(z, y) / y)) / a;
double tmp;
if (y <= -1.26e+98) {
tmp = t_2;
} else if (y <= -1.08e-136) {
tmp = t_1;
} else if (y <= 2.3e-158) {
tmp = (x / (a / Math.pow(a, t))) / y;
} else if (y <= 2.25e+29) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = x / (a * (y * math.exp(b))) t_2 = (x * (math.pow(z, y) / y)) / a tmp = 0 if y <= -1.26e+98: tmp = t_2 elif y <= -1.08e-136: tmp = t_1 elif y <= 2.3e-158: tmp = (x / (a / math.pow(a, t))) / y elif y <= 2.25e+29: tmp = t_1 else: tmp = t_2 return tmp
function code(x, y, z, t, a, b) t_1 = Float64(x / Float64(a * Float64(y * exp(b)))) t_2 = Float64(Float64(x * Float64((z ^ y) / y)) / a) tmp = 0.0 if (y <= -1.26e+98) tmp = t_2; elseif (y <= -1.08e-136) tmp = t_1; elseif (y <= 2.3e-158) tmp = Float64(Float64(x / Float64(a / (a ^ t))) / y); elseif (y <= 2.25e+29) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = x / (a * (y * exp(b))); t_2 = (x * ((z ^ y) / y)) / a; tmp = 0.0; if (y <= -1.26e+98) tmp = t_2; elseif (y <= -1.08e-136) tmp = t_1; elseif (y <= 2.3e-158) tmp = (x / (a / (a ^ t))) / y; elseif (y <= 2.25e+29) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(x / N[(a * N[(y * N[Exp[b], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(x * N[(N[Power[z, y], $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision]}, If[LessEqual[y, -1.26e+98], t$95$2, If[LessEqual[y, -1.08e-136], t$95$1, If[LessEqual[y, 2.3e-158], N[(N[(x / N[(a / N[Power[a, t], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[y, 2.25e+29], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{x}{a \cdot \left(y \cdot e^{b}\right)}\\
t_2 := \frac{x \cdot \frac{{z}^{y}}{y}}{a}\\
\mathbf{if}\;y \leq -1.26 \cdot 10^{+98}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;y \leq -1.08 \cdot 10^{-136}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq 2.3 \cdot 10^{-158}:\\
\;\;\;\;\frac{\frac{x}{\frac{a}{{a}^{t}}}}{y}\\
\mathbf{elif}\;y \leq 2.25 \cdot 10^{+29}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
(FPCore (x y z t a b) :precision binary64 (if (or (<= b -760000000.0) (not (<= b 4.5e-16))) (/ x (* a (* y (exp b)))) (* (/ (pow z y) y) (/ x a))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((b <= -760000000.0) || !(b <= 4.5e-16)) {
tmp = x / (a * (y * exp(b)));
} else {
tmp = (pow(z, y) / y) * (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 ((b <= (-760000000.0d0)) .or. (.not. (b <= 4.5d-16))) then
tmp = x / (a * (y * exp(b)))
else
tmp = ((z ** y) / y) * (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 ((b <= -760000000.0) || !(b <= 4.5e-16)) {
tmp = x / (a * (y * Math.exp(b)));
} else {
tmp = (Math.pow(z, y) / y) * (x / a);
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if (b <= -760000000.0) or not (b <= 4.5e-16): tmp = x / (a * (y * math.exp(b))) else: tmp = (math.pow(z, y) / y) * (x / a) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((b <= -760000000.0) || !(b <= 4.5e-16)) tmp = Float64(x / Float64(a * Float64(y * exp(b)))); else tmp = Float64(Float64((z ^ y) / y) * Float64(x / a)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if ((b <= -760000000.0) || ~((b <= 4.5e-16))) tmp = x / (a * (y * exp(b))); else tmp = ((z ^ y) / y) * (x / a); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[b, -760000000.0], N[Not[LessEqual[b, 4.5e-16]], $MachinePrecision]], N[(x / N[(a * N[(y * N[Exp[b], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[Power[z, y], $MachinePrecision] / y), $MachinePrecision] * N[(x / a), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -760000000 \lor \neg \left(b \leq 4.5 \cdot 10^{-16}\right):\\
\;\;\;\;\frac{x}{a \cdot \left(y \cdot e^{b}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{{z}^{y}}{y} \cdot \frac{x}{a}\\
\end{array}
\end{array}
(FPCore (x y z t a b) :precision binary64 (if (or (<= y -1.35e+98) (not (<= y 2.1e+29))) (/ (* x (/ (pow z y) y)) a) (/ x (* a (* y (exp b))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if ((y <= -1.35e+98) || !(y <= 2.1e+29)) {
tmp = (x * (pow(z, y) / y)) / a;
} else {
tmp = x / (a * (y * exp(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.35d+98)) .or. (.not. (y <= 2.1d+29))) then
tmp = (x * ((z ** y) / y)) / a
else
tmp = x / (a * (y * exp(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.35e+98) || !(y <= 2.1e+29)) {
tmp = (x * (Math.pow(z, y) / y)) / a;
} else {
tmp = x / (a * (y * Math.exp(b)));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if (y <= -1.35e+98) or not (y <= 2.1e+29): tmp = (x * (math.pow(z, y) / y)) / a else: tmp = x / (a * (y * math.exp(b))) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if ((y <= -1.35e+98) || !(y <= 2.1e+29)) tmp = Float64(Float64(x * Float64((z ^ y) / y)) / a); else tmp = Float64(x / Float64(a * Float64(y * exp(b)))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if ((y <= -1.35e+98) || ~((y <= 2.1e+29))) tmp = (x * ((z ^ y) / y)) / a; else tmp = x / (a * (y * exp(b))); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[Or[LessEqual[y, -1.35e+98], N[Not[LessEqual[y, 2.1e+29]], $MachinePrecision]], N[(N[(x * N[(N[Power[z, y], $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision], N[(x / N[(a * N[(y * N[Exp[b], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -1.35 \cdot 10^{+98} \lor \neg \left(y \leq 2.1 \cdot 10^{+29}\right):\\
\;\;\;\;\frac{x \cdot \frac{{z}^{y}}{y}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{a \cdot \left(y \cdot e^{b}\right)}\\
\end{array}
\end{array}
(FPCore (x y z t a b) :precision binary64 (/ x (* a (* y (exp b)))))
double code(double x, double y, double z, double t, double a, double b) {
return x / (a * (y * exp(b)));
}
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 / (a * (y * exp(b)))
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return x / (a * (y * Math.exp(b)));
}
def code(x, y, z, t, a, b): return x / (a * (y * math.exp(b)))
function code(x, y, z, t, a, b) return Float64(x / Float64(a * Float64(y * exp(b)))) end
function tmp = code(x, y, z, t, a, b) tmp = x / (a * (y * exp(b))); end
code[x_, y_, z_, t_, a_, b_] := N[(x / N[(a * N[(y * N[Exp[b], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{x}{a \cdot \left(y \cdot e^{b}\right)}
\end{array}
(FPCore (x y z t a b)
:precision binary64
(if (<= b -2.1e-41)
(* (/ (/ b a) y) (- x))
(if (<= b 1.1e+23)
(/ x (* y a))
(if (or (<= b 4.5e+131) (not (<= b 9.6e+302)))
(/ (/ x (* a b)) y)
(/ x (* a (* y b)))))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= -2.1e-41) {
tmp = ((b / a) / y) * -x;
} else if (b <= 1.1e+23) {
tmp = x / (y * a);
} else if ((b <= 4.5e+131) || !(b <= 9.6e+302)) {
tmp = (x / (a * b)) / y;
} else {
tmp = x / (a * (y * 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 (b <= (-2.1d-41)) then
tmp = ((b / a) / y) * -x
else if (b <= 1.1d+23) then
tmp = x / (y * a)
else if ((b <= 4.5d+131) .or. (.not. (b <= 9.6d+302))) then
tmp = (x / (a * b)) / y
else
tmp = x / (a * (y * 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 (b <= -2.1e-41) {
tmp = ((b / a) / y) * -x;
} else if (b <= 1.1e+23) {
tmp = x / (y * a);
} else if ((b <= 4.5e+131) || !(b <= 9.6e+302)) {
tmp = (x / (a * b)) / y;
} else {
tmp = x / (a * (y * b));
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if b <= -2.1e-41: tmp = ((b / a) / y) * -x elif b <= 1.1e+23: tmp = x / (y * a) elif (b <= 4.5e+131) or not (b <= 9.6e+302): tmp = (x / (a * b)) / y else: tmp = x / (a * (y * b)) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= -2.1e-41) tmp = Float64(Float64(Float64(b / a) / y) * Float64(-x)); elseif (b <= 1.1e+23) tmp = Float64(x / Float64(y * a)); elseif ((b <= 4.5e+131) || !(b <= 9.6e+302)) tmp = Float64(Float64(x / Float64(a * b)) / y); else tmp = Float64(x / Float64(a * Float64(y * b))); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (b <= -2.1e-41) tmp = ((b / a) / y) * -x; elseif (b <= 1.1e+23) tmp = x / (y * a); elseif ((b <= 4.5e+131) || ~((b <= 9.6e+302))) tmp = (x / (a * b)) / y; else tmp = x / (a * (y * b)); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, -2.1e-41], N[(N[(N[(b / a), $MachinePrecision] / y), $MachinePrecision] * (-x)), $MachinePrecision], If[LessEqual[b, 1.1e+23], N[(x / N[(y * a), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[b, 4.5e+131], N[Not[LessEqual[b, 9.6e+302]], $MachinePrecision]], N[(N[(x / N[(a * b), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], N[(x / N[(a * N[(y * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -2.1 \cdot 10^{-41}:\\
\;\;\;\;\frac{\frac{b}{a}}{y} \cdot \left(-x\right)\\
\mathbf{elif}\;b \leq 1.1 \cdot 10^{+23}:\\
\;\;\;\;\frac{x}{y \cdot a}\\
\mathbf{elif}\;b \leq 4.5 \cdot 10^{+131} \lor \neg \left(b \leq 9.6 \cdot 10^{+302}\right):\\
\;\;\;\;\frac{\frac{x}{a \cdot b}}{y}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{a \cdot \left(y \cdot b\right)}\\
\end{array}
\end{array}
(FPCore (x y z t a b)
:precision binary64
(if (<= b -5.4e-40)
(* (/ (/ b a) y) (- x))
(if (<= b 4.4e+131)
(/ (/ x (+ a (* a b))) y)
(if (<= b 7.5e+302) (/ x (* a (* y b))) (/ (/ x (* a b)) y)))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= -5.4e-40) {
tmp = ((b / a) / y) * -x;
} else if (b <= 4.4e+131) {
tmp = (x / (a + (a * b))) / y;
} else if (b <= 7.5e+302) {
tmp = x / (a * (y * b));
} else {
tmp = (x / (a * b)) / y;
}
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 (b <= (-5.4d-40)) then
tmp = ((b / a) / y) * -x
else if (b <= 4.4d+131) then
tmp = (x / (a + (a * b))) / y
else if (b <= 7.5d+302) then
tmp = x / (a * (y * b))
else
tmp = (x / (a * b)) / y
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 (b <= -5.4e-40) {
tmp = ((b / a) / y) * -x;
} else if (b <= 4.4e+131) {
tmp = (x / (a + (a * b))) / y;
} else if (b <= 7.5e+302) {
tmp = x / (a * (y * b));
} else {
tmp = (x / (a * b)) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if b <= -5.4e-40: tmp = ((b / a) / y) * -x elif b <= 4.4e+131: tmp = (x / (a + (a * b))) / y elif b <= 7.5e+302: tmp = x / (a * (y * b)) else: tmp = (x / (a * b)) / y return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= -5.4e-40) tmp = Float64(Float64(Float64(b / a) / y) * Float64(-x)); elseif (b <= 4.4e+131) tmp = Float64(Float64(x / Float64(a + Float64(a * b))) / y); elseif (b <= 7.5e+302) tmp = Float64(x / Float64(a * Float64(y * b))); else tmp = Float64(Float64(x / Float64(a * b)) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (b <= -5.4e-40) tmp = ((b / a) / y) * -x; elseif (b <= 4.4e+131) tmp = (x / (a + (a * b))) / y; elseif (b <= 7.5e+302) tmp = x / (a * (y * b)); else tmp = (x / (a * b)) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, -5.4e-40], N[(N[(N[(b / a), $MachinePrecision] / y), $MachinePrecision] * (-x)), $MachinePrecision], If[LessEqual[b, 4.4e+131], N[(N[(x / N[(a + N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[b, 7.5e+302], N[(x / N[(a * N[(y * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(x / N[(a * b), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -5.4 \cdot 10^{-40}:\\
\;\;\;\;\frac{\frac{b}{a}}{y} \cdot \left(-x\right)\\
\mathbf{elif}\;b \leq 4.4 \cdot 10^{+131}:\\
\;\;\;\;\frac{\frac{x}{a + a \cdot b}}{y}\\
\mathbf{elif}\;b \leq 7.5 \cdot 10^{+302}:\\
\;\;\;\;\frac{x}{a \cdot \left(y \cdot b\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{x}{a \cdot b}}{y}\\
\end{array}
\end{array}
(FPCore (x y z t a b)
:precision binary64
(if (<= b -2e-277)
(/ (- (/ x y) (* b (/ x y))) a)
(if (<= b 4.4e+131)
(/ (/ x (+ a (* a b))) y)
(if (<= b 6.8e+302) (/ x (* a (* y b))) (/ (/ x (* a b)) y)))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= -2e-277) {
tmp = ((x / y) - (b * (x / y))) / a;
} else if (b <= 4.4e+131) {
tmp = (x / (a + (a * b))) / y;
} else if (b <= 6.8e+302) {
tmp = x / (a * (y * b));
} else {
tmp = (x / (a * b)) / y;
}
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 (b <= (-2d-277)) then
tmp = ((x / y) - (b * (x / y))) / a
else if (b <= 4.4d+131) then
tmp = (x / (a + (a * b))) / y
else if (b <= 6.8d+302) then
tmp = x / (a * (y * b))
else
tmp = (x / (a * b)) / y
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 (b <= -2e-277) {
tmp = ((x / y) - (b * (x / y))) / a;
} else if (b <= 4.4e+131) {
tmp = (x / (a + (a * b))) / y;
} else if (b <= 6.8e+302) {
tmp = x / (a * (y * b));
} else {
tmp = (x / (a * b)) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if b <= -2e-277: tmp = ((x / y) - (b * (x / y))) / a elif b <= 4.4e+131: tmp = (x / (a + (a * b))) / y elif b <= 6.8e+302: tmp = x / (a * (y * b)) else: tmp = (x / (a * b)) / y return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= -2e-277) tmp = Float64(Float64(Float64(x / y) - Float64(b * Float64(x / y))) / a); elseif (b <= 4.4e+131) tmp = Float64(Float64(x / Float64(a + Float64(a * b))) / y); elseif (b <= 6.8e+302) tmp = Float64(x / Float64(a * Float64(y * b))); else tmp = Float64(Float64(x / Float64(a * b)) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (b <= -2e-277) tmp = ((x / y) - (b * (x / y))) / a; elseif (b <= 4.4e+131) tmp = (x / (a + (a * b))) / y; elseif (b <= 6.8e+302) tmp = x / (a * (y * b)); else tmp = (x / (a * b)) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, -2e-277], N[(N[(N[(x / y), $MachinePrecision] - N[(b * N[(x / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision], If[LessEqual[b, 4.4e+131], N[(N[(x / N[(a + N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[b, 6.8e+302], N[(x / N[(a * N[(y * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(x / N[(a * b), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -2 \cdot 10^{-277}:\\
\;\;\;\;\frac{\frac{x}{y} - b \cdot \frac{x}{y}}{a}\\
\mathbf{elif}\;b \leq 4.4 \cdot 10^{+131}:\\
\;\;\;\;\frac{\frac{x}{a + a \cdot b}}{y}\\
\mathbf{elif}\;b \leq 6.8 \cdot 10^{+302}:\\
\;\;\;\;\frac{x}{a \cdot \left(y \cdot b\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{x}{a \cdot b}}{y}\\
\end{array}
\end{array}
(FPCore (x y z t a b)
:precision binary64
(if (<= b -1.5e-281)
(/ (- (/ x y) (/ (* x b) y)) a)
(if (<= b 4.5e+131)
(/ (/ x (+ a (* a b))) y)
(if (<= b 7.5e+302) (/ x (* a (* y b))) (/ (/ x (* a b)) y)))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (b <= -1.5e-281) {
tmp = ((x / y) - ((x * b) / y)) / a;
} else if (b <= 4.5e+131) {
tmp = (x / (a + (a * b))) / y;
} else if (b <= 7.5e+302) {
tmp = x / (a * (y * b));
} else {
tmp = (x / (a * b)) / y;
}
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 (b <= (-1.5d-281)) then
tmp = ((x / y) - ((x * b) / y)) / a
else if (b <= 4.5d+131) then
tmp = (x / (a + (a * b))) / y
else if (b <= 7.5d+302) then
tmp = x / (a * (y * b))
else
tmp = (x / (a * b)) / y
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 (b <= -1.5e-281) {
tmp = ((x / y) - ((x * b) / y)) / a;
} else if (b <= 4.5e+131) {
tmp = (x / (a + (a * b))) / y;
} else if (b <= 7.5e+302) {
tmp = x / (a * (y * b));
} else {
tmp = (x / (a * b)) / y;
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if b <= -1.5e-281: tmp = ((x / y) - ((x * b) / y)) / a elif b <= 4.5e+131: tmp = (x / (a + (a * b))) / y elif b <= 7.5e+302: tmp = x / (a * (y * b)) else: tmp = (x / (a * b)) / y return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (b <= -1.5e-281) tmp = Float64(Float64(Float64(x / y) - Float64(Float64(x * b) / y)) / a); elseif (b <= 4.5e+131) tmp = Float64(Float64(x / Float64(a + Float64(a * b))) / y); elseif (b <= 7.5e+302) tmp = Float64(x / Float64(a * Float64(y * b))); else tmp = Float64(Float64(x / Float64(a * b)) / y); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (b <= -1.5e-281) tmp = ((x / y) - ((x * b) / y)) / a; elseif (b <= 4.5e+131) tmp = (x / (a + (a * b))) / y; elseif (b <= 7.5e+302) tmp = x / (a * (y * b)); else tmp = (x / (a * b)) / y; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[b, -1.5e-281], N[(N[(N[(x / y), $MachinePrecision] - N[(N[(x * b), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision], If[LessEqual[b, 4.5e+131], N[(N[(x / N[(a + N[(a * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision], If[LessEqual[b, 7.5e+302], N[(x / N[(a * N[(y * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(x / N[(a * b), $MachinePrecision]), $MachinePrecision] / y), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;b \leq -1.5 \cdot 10^{-281}:\\
\;\;\;\;\frac{\frac{x}{y} - \frac{x \cdot b}{y}}{a}\\
\mathbf{elif}\;b \leq 4.5 \cdot 10^{+131}:\\
\;\;\;\;\frac{\frac{x}{a + a \cdot b}}{y}\\
\mathbf{elif}\;b \leq 7.5 \cdot 10^{+302}:\\
\;\;\;\;\frac{x}{a \cdot \left(y \cdot b\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{x}{a \cdot b}}{y}\\
\end{array}
\end{array}
(FPCore (x y z t a b) :precision binary64 (if (<= a 5.7e-236) (/ x (* a (* y b))) (/ x (* y a))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (a <= 5.7e-236) {
tmp = x / (a * (y * b));
} else {
tmp = x / (y * 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 <= 5.7d-236) then
tmp = x / (a * (y * b))
else
tmp = x / (y * a)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (a <= 5.7e-236) {
tmp = x / (a * (y * b));
} else {
tmp = x / (y * a);
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if a <= 5.7e-236: tmp = x / (a * (y * b)) else: tmp = x / (y * a) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (a <= 5.7e-236) tmp = Float64(x / Float64(a * Float64(y * b))); else tmp = Float64(x / Float64(y * a)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (a <= 5.7e-236) tmp = x / (a * (y * b)); else tmp = x / (y * a); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[a, 5.7e-236], N[(x / N[(a * N[(y * b), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x / N[(y * a), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;a \leq 5.7 \cdot 10^{-236}:\\
\;\;\;\;\frac{x}{a \cdot \left(y \cdot b\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{y \cdot a}\\
\end{array}
\end{array}
(FPCore (x y z t a b) :precision binary64 (if (<= y -1.22e-182) (/ (/ x y) a) (/ x (* y a))))
double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -1.22e-182) {
tmp = (x / y) / a;
} else {
tmp = x / (y * 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 (y <= (-1.22d-182)) then
tmp = (x / y) / a
else
tmp = x / (y * a)
end if
code = tmp
end function
public static double code(double x, double y, double z, double t, double a, double b) {
double tmp;
if (y <= -1.22e-182) {
tmp = (x / y) / a;
} else {
tmp = x / (y * a);
}
return tmp;
}
def code(x, y, z, t, a, b): tmp = 0 if y <= -1.22e-182: tmp = (x / y) / a else: tmp = x / (y * a) return tmp
function code(x, y, z, t, a, b) tmp = 0.0 if (y <= -1.22e-182) tmp = Float64(Float64(x / y) / a); else tmp = Float64(x / Float64(y * a)); end return tmp end
function tmp_2 = code(x, y, z, t, a, b) tmp = 0.0; if (y <= -1.22e-182) tmp = (x / y) / a; else tmp = x / (y * a); end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := If[LessEqual[y, -1.22e-182], N[(N[(x / y), $MachinePrecision] / a), $MachinePrecision], N[(x / N[(y * a), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;y \leq -1.22 \cdot 10^{-182}:\\
\;\;\;\;\frac{\frac{x}{y}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{y \cdot a}\\
\end{array}
\end{array}
(FPCore (x y z t a b) :precision binary64 (/ x (* y a)))
double code(double x, double y, double z, double t, double a, double b) {
return x / (y * a);
}
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 * a)
end function
public static double code(double x, double y, double z, double t, double a, double b) {
return x / (y * a);
}
def code(x, y, z, t, a, b): return x / (y * a)
function code(x, y, z, t, a, b) return Float64(x / Float64(y * a)) end
function tmp = code(x, y, z, t, a, b) tmp = x / (y * a); end
code[x_, y_, z_, t_, a_, b_] := N[(x / N[(y * a), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{x}{y \cdot a}
\end{array}
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (pow a (- t 1.0)))
(t_2 (/ (* x (/ t_1 y)) (- (+ b 1.0) (* y (log z))))))
(if (< t -0.8845848504127471)
t_2
(if (< t 852031.2288374073)
(/ (* (/ x y) t_1) (exp (- b (* (log z) y))))
t_2))))
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = pow(a, (t - 1.0));
double t_2 = (x * (t_1 / y)) / ((b + 1.0) - (y * log(z)));
double tmp;
if (t < -0.8845848504127471) {
tmp = t_2;
} else if (t < 852031.2288374073) {
tmp = ((x / y) * t_1) / exp((b - (log(z) * y)));
} else {
tmp = t_2;
}
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 = a ** (t - 1.0d0)
t_2 = (x * (t_1 / y)) / ((b + 1.0d0) - (y * log(z)))
if (t < (-0.8845848504127471d0)) then
tmp = t_2
else if (t < 852031.2288374073d0) then
tmp = ((x / y) * t_1) / exp((b - (log(z) * y)))
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 t_1 = Math.pow(a, (t - 1.0));
double t_2 = (x * (t_1 / y)) / ((b + 1.0) - (y * Math.log(z)));
double tmp;
if (t < -0.8845848504127471) {
tmp = t_2;
} else if (t < 852031.2288374073) {
tmp = ((x / y) * t_1) / Math.exp((b - (Math.log(z) * y)));
} else {
tmp = t_2;
}
return tmp;
}
def code(x, y, z, t, a, b): t_1 = math.pow(a, (t - 1.0)) t_2 = (x * (t_1 / y)) / ((b + 1.0) - (y * math.log(z))) tmp = 0 if t < -0.8845848504127471: tmp = t_2 elif t < 852031.2288374073: tmp = ((x / y) * t_1) / math.exp((b - (math.log(z) * y))) else: tmp = t_2 return tmp
function code(x, y, z, t, a, b) t_1 = a ^ Float64(t - 1.0) t_2 = Float64(Float64(x * Float64(t_1 / y)) / Float64(Float64(b + 1.0) - Float64(y * log(z)))) tmp = 0.0 if (t < -0.8845848504127471) tmp = t_2; elseif (t < 852031.2288374073) tmp = Float64(Float64(Float64(x / y) * t_1) / exp(Float64(b - Float64(log(z) * y)))); else tmp = t_2; end return tmp end
function tmp_2 = code(x, y, z, t, a, b) t_1 = a ^ (t - 1.0); t_2 = (x * (t_1 / y)) / ((b + 1.0) - (y * log(z))); tmp = 0.0; if (t < -0.8845848504127471) tmp = t_2; elseif (t < 852031.2288374073) tmp = ((x / y) * t_1) / exp((b - (log(z) * y))); else tmp = t_2; end tmp_2 = tmp; end
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[Power[a, N[(t - 1.0), $MachinePrecision]], $MachinePrecision]}, Block[{t$95$2 = N[(N[(x * N[(t$95$1 / y), $MachinePrecision]), $MachinePrecision] / N[(N[(b + 1.0), $MachinePrecision] - N[(y * N[Log[z], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[Less[t, -0.8845848504127471], t$95$2, If[Less[t, 852031.2288374073], N[(N[(N[(x / y), $MachinePrecision] * t$95$1), $MachinePrecision] / N[Exp[N[(b - N[(N[Log[z], $MachinePrecision] * y), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], t$95$2]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := {a}^{\left(t - 1\right)}\\
t_2 := \frac{x \cdot \frac{t_1}{y}}{\left(b + 1\right) - y \cdot \log z}\\
\mathbf{if}\;t < -0.8845848504127471:\\
\;\;\;\;t_2\\
\mathbf{elif}\;t < 852031.2288374073:\\
\;\;\;\;\frac{\frac{x}{y} \cdot t_1}{e^{b - \log z \cdot y}}\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
herbie shell --seed 2024008
(FPCore (x y z t a b)
:name "Numeric.SpecFunctions:incompleteBetaWorker from math-functions-0.1.5.2, A"
:precision binary64
:herbie-target
(if (< t -0.8845848504127471) (/ (* x (/ (pow a (- t 1.0)) y)) (- (+ b 1.0) (* y (log z)))) (if (< t 852031.2288374073) (/ (* (/ x y) (pow a (- t 1.0))) (exp (- b (* (log z) y)))) (/ (* x (/ (pow a (- t 1.0)) y)) (- (+ b 1.0) (* y (log z))))))
(/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y))