
(FPCore (F B x) :precision binary64 (+ (- (* x (/ 1.0 (tan B)))) (* (/ F (sin B)) (pow (+ (+ (* F F) 2.0) (* 2.0 x)) (- (/ 1.0 2.0))))))
double code(double F, double B, double x) {
return -(x * (1.0 / tan(B))) + ((F / sin(B)) * pow((((F * F) + 2.0) + (2.0 * x)), -(1.0 / 2.0)));
}
real(8) function code(f, b, x)
real(8), intent (in) :: f
real(8), intent (in) :: b
real(8), intent (in) :: x
code = -(x * (1.0d0 / tan(b))) + ((f / sin(b)) * ((((f * f) + 2.0d0) + (2.0d0 * x)) ** -(1.0d0 / 2.0d0)))
end function
public static double code(double F, double B, double x) {
return -(x * (1.0 / Math.tan(B))) + ((F / Math.sin(B)) * Math.pow((((F * F) + 2.0) + (2.0 * x)), -(1.0 / 2.0)));
}
def code(F, B, x): return -(x * (1.0 / math.tan(B))) + ((F / math.sin(B)) * math.pow((((F * F) + 2.0) + (2.0 * x)), -(1.0 / 2.0)))
function code(F, B, x) return Float64(Float64(-Float64(x * Float64(1.0 / tan(B)))) + Float64(Float64(F / sin(B)) * (Float64(Float64(Float64(F * F) + 2.0) + Float64(2.0 * x)) ^ Float64(-Float64(1.0 / 2.0))))) end
function tmp = code(F, B, x) tmp = -(x * (1.0 / tan(B))) + ((F / sin(B)) * ((((F * F) + 2.0) + (2.0 * x)) ^ -(1.0 / 2.0))); end
code[F_, B_, x_] := N[((-N[(x * N[(1.0 / N[Tan[B], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]) + N[(N[(F / N[Sin[B], $MachinePrecision]), $MachinePrecision] * N[Power[N[(N[(N[(F * F), $MachinePrecision] + 2.0), $MachinePrecision] + N[(2.0 * x), $MachinePrecision]), $MachinePrecision], (-N[(1.0 / 2.0), $MachinePrecision])], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(-x \cdot \frac{1}{\tan B}\right) + \frac{F}{\sin B} \cdot {\left(\left(F \cdot F + 2\right) + 2 \cdot x\right)}^{\left(-\frac{1}{2}\right)}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 25 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (F B x) :precision binary64 (+ (- (* x (/ 1.0 (tan B)))) (* (/ F (sin B)) (pow (+ (+ (* F F) 2.0) (* 2.0 x)) (- (/ 1.0 2.0))))))
double code(double F, double B, double x) {
return -(x * (1.0 / tan(B))) + ((F / sin(B)) * pow((((F * F) + 2.0) + (2.0 * x)), -(1.0 / 2.0)));
}
real(8) function code(f, b, x)
real(8), intent (in) :: f
real(8), intent (in) :: b
real(8), intent (in) :: x
code = -(x * (1.0d0 / tan(b))) + ((f / sin(b)) * ((((f * f) + 2.0d0) + (2.0d0 * x)) ** -(1.0d0 / 2.0d0)))
end function
public static double code(double F, double B, double x) {
return -(x * (1.0 / Math.tan(B))) + ((F / Math.sin(B)) * Math.pow((((F * F) + 2.0) + (2.0 * x)), -(1.0 / 2.0)));
}
def code(F, B, x): return -(x * (1.0 / math.tan(B))) + ((F / math.sin(B)) * math.pow((((F * F) + 2.0) + (2.0 * x)), -(1.0 / 2.0)))
function code(F, B, x) return Float64(Float64(-Float64(x * Float64(1.0 / tan(B)))) + Float64(Float64(F / sin(B)) * (Float64(Float64(Float64(F * F) + 2.0) + Float64(2.0 * x)) ^ Float64(-Float64(1.0 / 2.0))))) end
function tmp = code(F, B, x) tmp = -(x * (1.0 / tan(B))) + ((F / sin(B)) * ((((F * F) + 2.0) + (2.0 * x)) ^ -(1.0 / 2.0))); end
code[F_, B_, x_] := N[((-N[(x * N[(1.0 / N[Tan[B], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]) + N[(N[(F / N[Sin[B], $MachinePrecision]), $MachinePrecision] * N[Power[N[(N[(N[(F * F), $MachinePrecision] + 2.0), $MachinePrecision] + N[(2.0 * x), $MachinePrecision]), $MachinePrecision], (-N[(1.0 / 2.0), $MachinePrecision])], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(-x \cdot \frac{1}{\tan B}\right) + \frac{F}{\sin B} \cdot {\left(\left(F \cdot F + 2\right) + 2 \cdot x\right)}^{\left(-\frac{1}{2}\right)}
\end{array}
(FPCore (F B x)
:precision binary64
(let* ((t_0 (/ x (tan B))))
(if (<= F -1e+45)
(- (/ -1.0 (sin B)) t_0)
(if (<= F 200000000.0)
(- (* (/ F (sin B)) (pow (+ (+ (* F F) 2.0) (* x 2.0)) -0.5)) t_0)
(- (/ 1.0 (sin B)) t_0)))))
double code(double F, double B, double x) {
double t_0 = x / tan(B);
double tmp;
if (F <= -1e+45) {
tmp = (-1.0 / sin(B)) - t_0;
} else if (F <= 200000000.0) {
tmp = ((F / sin(B)) * pow((((F * F) + 2.0) + (x * 2.0)), -0.5)) - t_0;
} else {
tmp = (1.0 / sin(B)) - t_0;
}
return tmp;
}
real(8) function code(f, b, x)
real(8), intent (in) :: f
real(8), intent (in) :: b
real(8), intent (in) :: x
real(8) :: t_0
real(8) :: tmp
t_0 = x / tan(b)
if (f <= (-1d+45)) then
tmp = ((-1.0d0) / sin(b)) - t_0
else if (f <= 200000000.0d0) then
tmp = ((f / sin(b)) * ((((f * f) + 2.0d0) + (x * 2.0d0)) ** (-0.5d0))) - t_0
else
tmp = (1.0d0 / sin(b)) - t_0
end if
code = tmp
end function
public static double code(double F, double B, double x) {
double t_0 = x / Math.tan(B);
double tmp;
if (F <= -1e+45) {
tmp = (-1.0 / Math.sin(B)) - t_0;
} else if (F <= 200000000.0) {
tmp = ((F / Math.sin(B)) * Math.pow((((F * F) + 2.0) + (x * 2.0)), -0.5)) - t_0;
} else {
tmp = (1.0 / Math.sin(B)) - t_0;
}
return tmp;
}
def code(F, B, x): t_0 = x / math.tan(B) tmp = 0 if F <= -1e+45: tmp = (-1.0 / math.sin(B)) - t_0 elif F <= 200000000.0: tmp = ((F / math.sin(B)) * math.pow((((F * F) + 2.0) + (x * 2.0)), -0.5)) - t_0 else: tmp = (1.0 / math.sin(B)) - t_0 return tmp
function code(F, B, x) t_0 = Float64(x / tan(B)) tmp = 0.0 if (F <= -1e+45) tmp = Float64(Float64(-1.0 / sin(B)) - t_0); elseif (F <= 200000000.0) tmp = Float64(Float64(Float64(F / sin(B)) * (Float64(Float64(Float64(F * F) + 2.0) + Float64(x * 2.0)) ^ -0.5)) - t_0); else tmp = Float64(Float64(1.0 / sin(B)) - t_0); end return tmp end
function tmp_2 = code(F, B, x) t_0 = x / tan(B); tmp = 0.0; if (F <= -1e+45) tmp = (-1.0 / sin(B)) - t_0; elseif (F <= 200000000.0) tmp = ((F / sin(B)) * ((((F * F) + 2.0) + (x * 2.0)) ^ -0.5)) - t_0; else tmp = (1.0 / sin(B)) - t_0; end tmp_2 = tmp; end
code[F_, B_, x_] := Block[{t$95$0 = N[(x / N[Tan[B], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[F, -1e+45], N[(N[(-1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - t$95$0), $MachinePrecision], If[LessEqual[F, 200000000.0], N[(N[(N[(F / N[Sin[B], $MachinePrecision]), $MachinePrecision] * N[Power[N[(N[(N[(F * F), $MachinePrecision] + 2.0), $MachinePrecision] + N[(x * 2.0), $MachinePrecision]), $MachinePrecision], -0.5], $MachinePrecision]), $MachinePrecision] - t$95$0), $MachinePrecision], N[(N[(1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - t$95$0), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := \frac{x}{\tan B}\\
\mathbf{if}\;F \leq -1 \cdot 10^{+45}:\\
\;\;\;\;\frac{-1}{\sin B} - t_0\\
\mathbf{elif}\;F \leq 200000000:\\
\;\;\;\;\frac{F}{\sin B} \cdot {\left(\left(F \cdot F + 2\right) + x \cdot 2\right)}^{-0.5} - t_0\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\sin B} - t_0\\
\end{array}
\end{array}
(FPCore (F B x)
:precision binary64
(let* ((t_0 (/ x (tan B))))
(if (<= F -1.45)
(- (/ -1.0 (sin B)) t_0)
(if (<= F 1.42)
(- (* (/ F (sin B)) (sqrt 0.5)) t_0)
(- (/ 1.0 (sin B)) t_0)))))
double code(double F, double B, double x) {
double t_0 = x / tan(B);
double tmp;
if (F <= -1.45) {
tmp = (-1.0 / sin(B)) - t_0;
} else if (F <= 1.42) {
tmp = ((F / sin(B)) * sqrt(0.5)) - t_0;
} else {
tmp = (1.0 / sin(B)) - t_0;
}
return tmp;
}
real(8) function code(f, b, x)
real(8), intent (in) :: f
real(8), intent (in) :: b
real(8), intent (in) :: x
real(8) :: t_0
real(8) :: tmp
t_0 = x / tan(b)
if (f <= (-1.45d0)) then
tmp = ((-1.0d0) / sin(b)) - t_0
else if (f <= 1.42d0) then
tmp = ((f / sin(b)) * sqrt(0.5d0)) - t_0
else
tmp = (1.0d0 / sin(b)) - t_0
end if
code = tmp
end function
public static double code(double F, double B, double x) {
double t_0 = x / Math.tan(B);
double tmp;
if (F <= -1.45) {
tmp = (-1.0 / Math.sin(B)) - t_0;
} else if (F <= 1.42) {
tmp = ((F / Math.sin(B)) * Math.sqrt(0.5)) - t_0;
} else {
tmp = (1.0 / Math.sin(B)) - t_0;
}
return tmp;
}
def code(F, B, x): t_0 = x / math.tan(B) tmp = 0 if F <= -1.45: tmp = (-1.0 / math.sin(B)) - t_0 elif F <= 1.42: tmp = ((F / math.sin(B)) * math.sqrt(0.5)) - t_0 else: tmp = (1.0 / math.sin(B)) - t_0 return tmp
function code(F, B, x) t_0 = Float64(x / tan(B)) tmp = 0.0 if (F <= -1.45) tmp = Float64(Float64(-1.0 / sin(B)) - t_0); elseif (F <= 1.42) tmp = Float64(Float64(Float64(F / sin(B)) * sqrt(0.5)) - t_0); else tmp = Float64(Float64(1.0 / sin(B)) - t_0); end return tmp end
function tmp_2 = code(F, B, x) t_0 = x / tan(B); tmp = 0.0; if (F <= -1.45) tmp = (-1.0 / sin(B)) - t_0; elseif (F <= 1.42) tmp = ((F / sin(B)) * sqrt(0.5)) - t_0; else tmp = (1.0 / sin(B)) - t_0; end tmp_2 = tmp; end
code[F_, B_, x_] := Block[{t$95$0 = N[(x / N[Tan[B], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[F, -1.45], N[(N[(-1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - t$95$0), $MachinePrecision], If[LessEqual[F, 1.42], N[(N[(N[(F / N[Sin[B], $MachinePrecision]), $MachinePrecision] * N[Sqrt[0.5], $MachinePrecision]), $MachinePrecision] - t$95$0), $MachinePrecision], N[(N[(1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - t$95$0), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := \frac{x}{\tan B}\\
\mathbf{if}\;F \leq -1.45:\\
\;\;\;\;\frac{-1}{\sin B} - t_0\\
\mathbf{elif}\;F \leq 1.42:\\
\;\;\;\;\frac{F}{\sin B} \cdot \sqrt{0.5} - t_0\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\sin B} - t_0\\
\end{array}
\end{array}
(FPCore (F B x)
:precision binary64
(let* ((t_0 (/ x (tan B))))
(if (<= F -1.45)
(- (/ -1.0 (sin B)) t_0)
(if (<= F 1.42)
(- (/ F (/ (sin B) (sqrt 0.5))) t_0)
(- (/ 1.0 (sin B)) t_0)))))
double code(double F, double B, double x) {
double t_0 = x / tan(B);
double tmp;
if (F <= -1.45) {
tmp = (-1.0 / sin(B)) - t_0;
} else if (F <= 1.42) {
tmp = (F / (sin(B) / sqrt(0.5))) - t_0;
} else {
tmp = (1.0 / sin(B)) - t_0;
}
return tmp;
}
real(8) function code(f, b, x)
real(8), intent (in) :: f
real(8), intent (in) :: b
real(8), intent (in) :: x
real(8) :: t_0
real(8) :: tmp
t_0 = x / tan(b)
if (f <= (-1.45d0)) then
tmp = ((-1.0d0) / sin(b)) - t_0
else if (f <= 1.42d0) then
tmp = (f / (sin(b) / sqrt(0.5d0))) - t_0
else
tmp = (1.0d0 / sin(b)) - t_0
end if
code = tmp
end function
public static double code(double F, double B, double x) {
double t_0 = x / Math.tan(B);
double tmp;
if (F <= -1.45) {
tmp = (-1.0 / Math.sin(B)) - t_0;
} else if (F <= 1.42) {
tmp = (F / (Math.sin(B) / Math.sqrt(0.5))) - t_0;
} else {
tmp = (1.0 / Math.sin(B)) - t_0;
}
return tmp;
}
def code(F, B, x): t_0 = x / math.tan(B) tmp = 0 if F <= -1.45: tmp = (-1.0 / math.sin(B)) - t_0 elif F <= 1.42: tmp = (F / (math.sin(B) / math.sqrt(0.5))) - t_0 else: tmp = (1.0 / math.sin(B)) - t_0 return tmp
function code(F, B, x) t_0 = Float64(x / tan(B)) tmp = 0.0 if (F <= -1.45) tmp = Float64(Float64(-1.0 / sin(B)) - t_0); elseif (F <= 1.42) tmp = Float64(Float64(F / Float64(sin(B) / sqrt(0.5))) - t_0); else tmp = Float64(Float64(1.0 / sin(B)) - t_0); end return tmp end
function tmp_2 = code(F, B, x) t_0 = x / tan(B); tmp = 0.0; if (F <= -1.45) tmp = (-1.0 / sin(B)) - t_0; elseif (F <= 1.42) tmp = (F / (sin(B) / sqrt(0.5))) - t_0; else tmp = (1.0 / sin(B)) - t_0; end tmp_2 = tmp; end
code[F_, B_, x_] := Block[{t$95$0 = N[(x / N[Tan[B], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[F, -1.45], N[(N[(-1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - t$95$0), $MachinePrecision], If[LessEqual[F, 1.42], N[(N[(F / N[(N[Sin[B], $MachinePrecision] / N[Sqrt[0.5], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - t$95$0), $MachinePrecision], N[(N[(1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - t$95$0), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := \frac{x}{\tan B}\\
\mathbf{if}\;F \leq -1.45:\\
\;\;\;\;\frac{-1}{\sin B} - t_0\\
\mathbf{elif}\;F \leq 1.42:\\
\;\;\;\;\frac{F}{\frac{\sin B}{\sqrt{0.5}}} - t_0\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\sin B} - t_0\\
\end{array}
\end{array}
(FPCore (F B x)
:precision binary64
(let* ((t_0
(-
(* (/ F (sin B)) (pow (+ (+ (* F F) 2.0) (* x 2.0)) -0.5))
(/ x B)))
(t_1 (/ x (tan B))))
(if (<= F -59000.0)
(- (/ -1.0 (sin B)) t_1)
(if (<= F -1.62e-133)
t_0
(if (<= F 2.55e-123)
(/ (- (* x (cos B))) (sin B))
(if (<= F 2500000.0) t_0 (- (/ 1.0 (sin B)) t_1)))))))
double code(double F, double B, double x) {
double t_0 = ((F / sin(B)) * pow((((F * F) + 2.0) + (x * 2.0)), -0.5)) - (x / B);
double t_1 = x / tan(B);
double tmp;
if (F <= -59000.0) {
tmp = (-1.0 / sin(B)) - t_1;
} else if (F <= -1.62e-133) {
tmp = t_0;
} else if (F <= 2.55e-123) {
tmp = -(x * cos(B)) / sin(B);
} else if (F <= 2500000.0) {
tmp = t_0;
} else {
tmp = (1.0 / sin(B)) - t_1;
}
return tmp;
}
real(8) function code(f, b, x)
real(8), intent (in) :: f
real(8), intent (in) :: b
real(8), intent (in) :: x
real(8) :: t_0
real(8) :: t_1
real(8) :: tmp
t_0 = ((f / sin(b)) * ((((f * f) + 2.0d0) + (x * 2.0d0)) ** (-0.5d0))) - (x / b)
t_1 = x / tan(b)
if (f <= (-59000.0d0)) then
tmp = ((-1.0d0) / sin(b)) - t_1
else if (f <= (-1.62d-133)) then
tmp = t_0
else if (f <= 2.55d-123) then
tmp = -(x * cos(b)) / sin(b)
else if (f <= 2500000.0d0) then
tmp = t_0
else
tmp = (1.0d0 / sin(b)) - t_1
end if
code = tmp
end function
public static double code(double F, double B, double x) {
double t_0 = ((F / Math.sin(B)) * Math.pow((((F * F) + 2.0) + (x * 2.0)), -0.5)) - (x / B);
double t_1 = x / Math.tan(B);
double tmp;
if (F <= -59000.0) {
tmp = (-1.0 / Math.sin(B)) - t_1;
} else if (F <= -1.62e-133) {
tmp = t_0;
} else if (F <= 2.55e-123) {
tmp = -(x * Math.cos(B)) / Math.sin(B);
} else if (F <= 2500000.0) {
tmp = t_0;
} else {
tmp = (1.0 / Math.sin(B)) - t_1;
}
return tmp;
}
def code(F, B, x): t_0 = ((F / math.sin(B)) * math.pow((((F * F) + 2.0) + (x * 2.0)), -0.5)) - (x / B) t_1 = x / math.tan(B) tmp = 0 if F <= -59000.0: tmp = (-1.0 / math.sin(B)) - t_1 elif F <= -1.62e-133: tmp = t_0 elif F <= 2.55e-123: tmp = -(x * math.cos(B)) / math.sin(B) elif F <= 2500000.0: tmp = t_0 else: tmp = (1.0 / math.sin(B)) - t_1 return tmp
function code(F, B, x) t_0 = Float64(Float64(Float64(F / sin(B)) * (Float64(Float64(Float64(F * F) + 2.0) + Float64(x * 2.0)) ^ -0.5)) - Float64(x / B)) t_1 = Float64(x / tan(B)) tmp = 0.0 if (F <= -59000.0) tmp = Float64(Float64(-1.0 / sin(B)) - t_1); elseif (F <= -1.62e-133) tmp = t_0; elseif (F <= 2.55e-123) tmp = Float64(Float64(-Float64(x * cos(B))) / sin(B)); elseif (F <= 2500000.0) tmp = t_0; else tmp = Float64(Float64(1.0 / sin(B)) - t_1); end return tmp end
function tmp_2 = code(F, B, x) t_0 = ((F / sin(B)) * ((((F * F) + 2.0) + (x * 2.0)) ^ -0.5)) - (x / B); t_1 = x / tan(B); tmp = 0.0; if (F <= -59000.0) tmp = (-1.0 / sin(B)) - t_1; elseif (F <= -1.62e-133) tmp = t_0; elseif (F <= 2.55e-123) tmp = -(x * cos(B)) / sin(B); elseif (F <= 2500000.0) tmp = t_0; else tmp = (1.0 / sin(B)) - t_1; end tmp_2 = tmp; end
code[F_, B_, x_] := Block[{t$95$0 = N[(N[(N[(F / N[Sin[B], $MachinePrecision]), $MachinePrecision] * N[Power[N[(N[(N[(F * F), $MachinePrecision] + 2.0), $MachinePrecision] + N[(x * 2.0), $MachinePrecision]), $MachinePrecision], -0.5], $MachinePrecision]), $MachinePrecision] - N[(x / B), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(x / N[Tan[B], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[F, -59000.0], N[(N[(-1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - t$95$1), $MachinePrecision], If[LessEqual[F, -1.62e-133], t$95$0, If[LessEqual[F, 2.55e-123], N[((-N[(x * N[Cos[B], $MachinePrecision]), $MachinePrecision]) / N[Sin[B], $MachinePrecision]), $MachinePrecision], If[LessEqual[F, 2500000.0], t$95$0, N[(N[(1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - t$95$1), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := \frac{F}{\sin B} \cdot {\left(\left(F \cdot F + 2\right) + x \cdot 2\right)}^{-0.5} - \frac{x}{B}\\
t_1 := \frac{x}{\tan B}\\
\mathbf{if}\;F \leq -59000:\\
\;\;\;\;\frac{-1}{\sin B} - t_1\\
\mathbf{elif}\;F \leq -1.62 \cdot 10^{-133}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;F \leq 2.55 \cdot 10^{-123}:\\
\;\;\;\;\frac{-x \cdot \cos B}{\sin B}\\
\mathbf{elif}\;F \leq 2500000:\\
\;\;\;\;t_0\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\sin B} - t_1\\
\end{array}
\end{array}
(FPCore (F B x)
:precision binary64
(let* ((t_0 (sqrt (/ 1.0 (+ 2.0 (* x 2.0))))) (t_1 (/ x (tan B))))
(if (<= F -0.31)
(- (/ -1.0 (sin B)) t_1)
(if (<= F -1.55e-133)
(- (* (/ F (sin B)) t_0) (/ x B))
(if (<= F 4.1e-123)
(/ (- (* x (cos B))) (sin B))
(if (<= F 0.72)
(- (/ t_0 (/ (sin B) F)) (/ x B))
(- (/ 1.0 (sin B)) t_1)))))))
double code(double F, double B, double x) {
double t_0 = sqrt((1.0 / (2.0 + (x * 2.0))));
double t_1 = x / tan(B);
double tmp;
if (F <= -0.31) {
tmp = (-1.0 / sin(B)) - t_1;
} else if (F <= -1.55e-133) {
tmp = ((F / sin(B)) * t_0) - (x / B);
} else if (F <= 4.1e-123) {
tmp = -(x * cos(B)) / sin(B);
} else if (F <= 0.72) {
tmp = (t_0 / (sin(B) / F)) - (x / B);
} else {
tmp = (1.0 / sin(B)) - t_1;
}
return tmp;
}
real(8) function code(f, b, x)
real(8), intent (in) :: f
real(8), intent (in) :: b
real(8), intent (in) :: x
real(8) :: t_0
real(8) :: t_1
real(8) :: tmp
t_0 = sqrt((1.0d0 / (2.0d0 + (x * 2.0d0))))
t_1 = x / tan(b)
if (f <= (-0.31d0)) then
tmp = ((-1.0d0) / sin(b)) - t_1
else if (f <= (-1.55d-133)) then
tmp = ((f / sin(b)) * t_0) - (x / b)
else if (f <= 4.1d-123) then
tmp = -(x * cos(b)) / sin(b)
else if (f <= 0.72d0) then
tmp = (t_0 / (sin(b) / f)) - (x / b)
else
tmp = (1.0d0 / sin(b)) - t_1
end if
code = tmp
end function
public static double code(double F, double B, double x) {
double t_0 = Math.sqrt((1.0 / (2.0 + (x * 2.0))));
double t_1 = x / Math.tan(B);
double tmp;
if (F <= -0.31) {
tmp = (-1.0 / Math.sin(B)) - t_1;
} else if (F <= -1.55e-133) {
tmp = ((F / Math.sin(B)) * t_0) - (x / B);
} else if (F <= 4.1e-123) {
tmp = -(x * Math.cos(B)) / Math.sin(B);
} else if (F <= 0.72) {
tmp = (t_0 / (Math.sin(B) / F)) - (x / B);
} else {
tmp = (1.0 / Math.sin(B)) - t_1;
}
return tmp;
}
def code(F, B, x): t_0 = math.sqrt((1.0 / (2.0 + (x * 2.0)))) t_1 = x / math.tan(B) tmp = 0 if F <= -0.31: tmp = (-1.0 / math.sin(B)) - t_1 elif F <= -1.55e-133: tmp = ((F / math.sin(B)) * t_0) - (x / B) elif F <= 4.1e-123: tmp = -(x * math.cos(B)) / math.sin(B) elif F <= 0.72: tmp = (t_0 / (math.sin(B) / F)) - (x / B) else: tmp = (1.0 / math.sin(B)) - t_1 return tmp
function code(F, B, x) t_0 = sqrt(Float64(1.0 / Float64(2.0 + Float64(x * 2.0)))) t_1 = Float64(x / tan(B)) tmp = 0.0 if (F <= -0.31) tmp = Float64(Float64(-1.0 / sin(B)) - t_1); elseif (F <= -1.55e-133) tmp = Float64(Float64(Float64(F / sin(B)) * t_0) - Float64(x / B)); elseif (F <= 4.1e-123) tmp = Float64(Float64(-Float64(x * cos(B))) / sin(B)); elseif (F <= 0.72) tmp = Float64(Float64(t_0 / Float64(sin(B) / F)) - Float64(x / B)); else tmp = Float64(Float64(1.0 / sin(B)) - t_1); end return tmp end
function tmp_2 = code(F, B, x) t_0 = sqrt((1.0 / (2.0 + (x * 2.0)))); t_1 = x / tan(B); tmp = 0.0; if (F <= -0.31) tmp = (-1.0 / sin(B)) - t_1; elseif (F <= -1.55e-133) tmp = ((F / sin(B)) * t_0) - (x / B); elseif (F <= 4.1e-123) tmp = -(x * cos(B)) / sin(B); elseif (F <= 0.72) tmp = (t_0 / (sin(B) / F)) - (x / B); else tmp = (1.0 / sin(B)) - t_1; end tmp_2 = tmp; end
code[F_, B_, x_] := Block[{t$95$0 = N[Sqrt[N[(1.0 / N[(2.0 + N[(x * 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]}, Block[{t$95$1 = N[(x / N[Tan[B], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[F, -0.31], N[(N[(-1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - t$95$1), $MachinePrecision], If[LessEqual[F, -1.55e-133], N[(N[(N[(F / N[Sin[B], $MachinePrecision]), $MachinePrecision] * t$95$0), $MachinePrecision] - N[(x / B), $MachinePrecision]), $MachinePrecision], If[LessEqual[F, 4.1e-123], N[((-N[(x * N[Cos[B], $MachinePrecision]), $MachinePrecision]) / N[Sin[B], $MachinePrecision]), $MachinePrecision], If[LessEqual[F, 0.72], N[(N[(t$95$0 / N[(N[Sin[B], $MachinePrecision] / F), $MachinePrecision]), $MachinePrecision] - N[(x / B), $MachinePrecision]), $MachinePrecision], N[(N[(1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - t$95$1), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := \sqrt{\frac{1}{2 + x \cdot 2}}\\
t_1 := \frac{x}{\tan B}\\
\mathbf{if}\;F \leq -0.31:\\
\;\;\;\;\frac{-1}{\sin B} - t_1\\
\mathbf{elif}\;F \leq -1.55 \cdot 10^{-133}:\\
\;\;\;\;\frac{F}{\sin B} \cdot t_0 - \frac{x}{B}\\
\mathbf{elif}\;F \leq 4.1 \cdot 10^{-123}:\\
\;\;\;\;\frac{-x \cdot \cos B}{\sin B}\\
\mathbf{elif}\;F \leq 0.72:\\
\;\;\;\;\frac{t_0}{\frac{\sin B}{F}} - \frac{x}{B}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\sin B} - t_1\\
\end{array}
\end{array}
(FPCore (F B x)
:precision binary64
(let* ((t_0 (/ x (tan B))))
(if (<= F -1600.0)
(- (/ -1.0 (sin B)) t_0)
(if (<= F 640.0)
(- (* (pow (+ (+ (* F F) 2.0) (* x 2.0)) -0.5) (/ F B)) t_0)
(- (/ 1.0 (sin B)) t_0)))))
double code(double F, double B, double x) {
double t_0 = x / tan(B);
double tmp;
if (F <= -1600.0) {
tmp = (-1.0 / sin(B)) - t_0;
} else if (F <= 640.0) {
tmp = (pow((((F * F) + 2.0) + (x * 2.0)), -0.5) * (F / B)) - t_0;
} else {
tmp = (1.0 / sin(B)) - t_0;
}
return tmp;
}
real(8) function code(f, b, x)
real(8), intent (in) :: f
real(8), intent (in) :: b
real(8), intent (in) :: x
real(8) :: t_0
real(8) :: tmp
t_0 = x / tan(b)
if (f <= (-1600.0d0)) then
tmp = ((-1.0d0) / sin(b)) - t_0
else if (f <= 640.0d0) then
tmp = (((((f * f) + 2.0d0) + (x * 2.0d0)) ** (-0.5d0)) * (f / b)) - t_0
else
tmp = (1.0d0 / sin(b)) - t_0
end if
code = tmp
end function
public static double code(double F, double B, double x) {
double t_0 = x / Math.tan(B);
double tmp;
if (F <= -1600.0) {
tmp = (-1.0 / Math.sin(B)) - t_0;
} else if (F <= 640.0) {
tmp = (Math.pow((((F * F) + 2.0) + (x * 2.0)), -0.5) * (F / B)) - t_0;
} else {
tmp = (1.0 / Math.sin(B)) - t_0;
}
return tmp;
}
def code(F, B, x): t_0 = x / math.tan(B) tmp = 0 if F <= -1600.0: tmp = (-1.0 / math.sin(B)) - t_0 elif F <= 640.0: tmp = (math.pow((((F * F) + 2.0) + (x * 2.0)), -0.5) * (F / B)) - t_0 else: tmp = (1.0 / math.sin(B)) - t_0 return tmp
function code(F, B, x) t_0 = Float64(x / tan(B)) tmp = 0.0 if (F <= -1600.0) tmp = Float64(Float64(-1.0 / sin(B)) - t_0); elseif (F <= 640.0) tmp = Float64(Float64((Float64(Float64(Float64(F * F) + 2.0) + Float64(x * 2.0)) ^ -0.5) * Float64(F / B)) - t_0); else tmp = Float64(Float64(1.0 / sin(B)) - t_0); end return tmp end
function tmp_2 = code(F, B, x) t_0 = x / tan(B); tmp = 0.0; if (F <= -1600.0) tmp = (-1.0 / sin(B)) - t_0; elseif (F <= 640.0) tmp = (((((F * F) + 2.0) + (x * 2.0)) ^ -0.5) * (F / B)) - t_0; else tmp = (1.0 / sin(B)) - t_0; end tmp_2 = tmp; end
code[F_, B_, x_] := Block[{t$95$0 = N[(x / N[Tan[B], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[F, -1600.0], N[(N[(-1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - t$95$0), $MachinePrecision], If[LessEqual[F, 640.0], N[(N[(N[Power[N[(N[(N[(F * F), $MachinePrecision] + 2.0), $MachinePrecision] + N[(x * 2.0), $MachinePrecision]), $MachinePrecision], -0.5], $MachinePrecision] * N[(F / B), $MachinePrecision]), $MachinePrecision] - t$95$0), $MachinePrecision], N[(N[(1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - t$95$0), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := \frac{x}{\tan B}\\
\mathbf{if}\;F \leq -1600:\\
\;\;\;\;\frac{-1}{\sin B} - t_0\\
\mathbf{elif}\;F \leq 640:\\
\;\;\;\;{\left(\left(F \cdot F + 2\right) + x \cdot 2\right)}^{-0.5} \cdot \frac{F}{B} - t_0\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\sin B} - t_0\\
\end{array}
\end{array}
(FPCore (F B x)
:precision binary64
(let* ((t_0 (/ x (tan B))))
(if (<= F -0.31)
(- (/ -1.0 (sin B)) t_0)
(if (<= F -6.8e-130)
(- (* (/ F (sin B)) (sqrt (/ 1.0 (+ 2.0 (* x 2.0))))) (/ x B))
(if (<= F 2.7e-123)
(/ (- (* x (cos B))) (sin B))
(if (<= F 0.064)
(- (/ F (/ (sin B) (sqrt 0.5))) (/ x B))
(- (/ 1.0 (sin B)) t_0)))))))
double code(double F, double B, double x) {
double t_0 = x / tan(B);
double tmp;
if (F <= -0.31) {
tmp = (-1.0 / sin(B)) - t_0;
} else if (F <= -6.8e-130) {
tmp = ((F / sin(B)) * sqrt((1.0 / (2.0 + (x * 2.0))))) - (x / B);
} else if (F <= 2.7e-123) {
tmp = -(x * cos(B)) / sin(B);
} else if (F <= 0.064) {
tmp = (F / (sin(B) / sqrt(0.5))) - (x / B);
} else {
tmp = (1.0 / sin(B)) - t_0;
}
return tmp;
}
real(8) function code(f, b, x)
real(8), intent (in) :: f
real(8), intent (in) :: b
real(8), intent (in) :: x
real(8) :: t_0
real(8) :: tmp
t_0 = x / tan(b)
if (f <= (-0.31d0)) then
tmp = ((-1.0d0) / sin(b)) - t_0
else if (f <= (-6.8d-130)) then
tmp = ((f / sin(b)) * sqrt((1.0d0 / (2.0d0 + (x * 2.0d0))))) - (x / b)
else if (f <= 2.7d-123) then
tmp = -(x * cos(b)) / sin(b)
else if (f <= 0.064d0) then
tmp = (f / (sin(b) / sqrt(0.5d0))) - (x / b)
else
tmp = (1.0d0 / sin(b)) - t_0
end if
code = tmp
end function
public static double code(double F, double B, double x) {
double t_0 = x / Math.tan(B);
double tmp;
if (F <= -0.31) {
tmp = (-1.0 / Math.sin(B)) - t_0;
} else if (F <= -6.8e-130) {
tmp = ((F / Math.sin(B)) * Math.sqrt((1.0 / (2.0 + (x * 2.0))))) - (x / B);
} else if (F <= 2.7e-123) {
tmp = -(x * Math.cos(B)) / Math.sin(B);
} else if (F <= 0.064) {
tmp = (F / (Math.sin(B) / Math.sqrt(0.5))) - (x / B);
} else {
tmp = (1.0 / Math.sin(B)) - t_0;
}
return tmp;
}
def code(F, B, x): t_0 = x / math.tan(B) tmp = 0 if F <= -0.31: tmp = (-1.0 / math.sin(B)) - t_0 elif F <= -6.8e-130: tmp = ((F / math.sin(B)) * math.sqrt((1.0 / (2.0 + (x * 2.0))))) - (x / B) elif F <= 2.7e-123: tmp = -(x * math.cos(B)) / math.sin(B) elif F <= 0.064: tmp = (F / (math.sin(B) / math.sqrt(0.5))) - (x / B) else: tmp = (1.0 / math.sin(B)) - t_0 return tmp
function code(F, B, x) t_0 = Float64(x / tan(B)) tmp = 0.0 if (F <= -0.31) tmp = Float64(Float64(-1.0 / sin(B)) - t_0); elseif (F <= -6.8e-130) tmp = Float64(Float64(Float64(F / sin(B)) * sqrt(Float64(1.0 / Float64(2.0 + Float64(x * 2.0))))) - Float64(x / B)); elseif (F <= 2.7e-123) tmp = Float64(Float64(-Float64(x * cos(B))) / sin(B)); elseif (F <= 0.064) tmp = Float64(Float64(F / Float64(sin(B) / sqrt(0.5))) - Float64(x / B)); else tmp = Float64(Float64(1.0 / sin(B)) - t_0); end return tmp end
function tmp_2 = code(F, B, x) t_0 = x / tan(B); tmp = 0.0; if (F <= -0.31) tmp = (-1.0 / sin(B)) - t_0; elseif (F <= -6.8e-130) tmp = ((F / sin(B)) * sqrt((1.0 / (2.0 + (x * 2.0))))) - (x / B); elseif (F <= 2.7e-123) tmp = -(x * cos(B)) / sin(B); elseif (F <= 0.064) tmp = (F / (sin(B) / sqrt(0.5))) - (x / B); else tmp = (1.0 / sin(B)) - t_0; end tmp_2 = tmp; end
code[F_, B_, x_] := Block[{t$95$0 = N[(x / N[Tan[B], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[F, -0.31], N[(N[(-1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - t$95$0), $MachinePrecision], If[LessEqual[F, -6.8e-130], N[(N[(N[(F / N[Sin[B], $MachinePrecision]), $MachinePrecision] * N[Sqrt[N[(1.0 / N[(2.0 + N[(x * 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] - N[(x / B), $MachinePrecision]), $MachinePrecision], If[LessEqual[F, 2.7e-123], N[((-N[(x * N[Cos[B], $MachinePrecision]), $MachinePrecision]) / N[Sin[B], $MachinePrecision]), $MachinePrecision], If[LessEqual[F, 0.064], N[(N[(F / N[(N[Sin[B], $MachinePrecision] / N[Sqrt[0.5], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(x / B), $MachinePrecision]), $MachinePrecision], N[(N[(1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - t$95$0), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := \frac{x}{\tan B}\\
\mathbf{if}\;F \leq -0.31:\\
\;\;\;\;\frac{-1}{\sin B} - t_0\\
\mathbf{elif}\;F \leq -6.8 \cdot 10^{-130}:\\
\;\;\;\;\frac{F}{\sin B} \cdot \sqrt{\frac{1}{2 + x \cdot 2}} - \frac{x}{B}\\
\mathbf{elif}\;F \leq 2.7 \cdot 10^{-123}:\\
\;\;\;\;\frac{-x \cdot \cos B}{\sin B}\\
\mathbf{elif}\;F \leq 0.064:\\
\;\;\;\;\frac{F}{\frac{\sin B}{\sqrt{0.5}}} - \frac{x}{B}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\sin B} - t_0\\
\end{array}
\end{array}
(FPCore (F B x)
:precision binary64
(let* ((t_0 (- (/ F (/ (sin B) (sqrt 0.5))) (/ x B))) (t_1 (/ x (tan B))))
(if (<= F -0.205)
(- (/ -1.0 (sin B)) t_1)
(if (<= F -1.7e-131)
t_0
(if (<= F 2.55e-123)
(/ (- (* x (cos B))) (sin B))
(if (<= F 0.47) t_0 (- (/ 1.0 (sin B)) t_1)))))))
double code(double F, double B, double x) {
double t_0 = (F / (sin(B) / sqrt(0.5))) - (x / B);
double t_1 = x / tan(B);
double tmp;
if (F <= -0.205) {
tmp = (-1.0 / sin(B)) - t_1;
} else if (F <= -1.7e-131) {
tmp = t_0;
} else if (F <= 2.55e-123) {
tmp = -(x * cos(B)) / sin(B);
} else if (F <= 0.47) {
tmp = t_0;
} else {
tmp = (1.0 / sin(B)) - t_1;
}
return tmp;
}
real(8) function code(f, b, x)
real(8), intent (in) :: f
real(8), intent (in) :: b
real(8), intent (in) :: x
real(8) :: t_0
real(8) :: t_1
real(8) :: tmp
t_0 = (f / (sin(b) / sqrt(0.5d0))) - (x / b)
t_1 = x / tan(b)
if (f <= (-0.205d0)) then
tmp = ((-1.0d0) / sin(b)) - t_1
else if (f <= (-1.7d-131)) then
tmp = t_0
else if (f <= 2.55d-123) then
tmp = -(x * cos(b)) / sin(b)
else if (f <= 0.47d0) then
tmp = t_0
else
tmp = (1.0d0 / sin(b)) - t_1
end if
code = tmp
end function
public static double code(double F, double B, double x) {
double t_0 = (F / (Math.sin(B) / Math.sqrt(0.5))) - (x / B);
double t_1 = x / Math.tan(B);
double tmp;
if (F <= -0.205) {
tmp = (-1.0 / Math.sin(B)) - t_1;
} else if (F <= -1.7e-131) {
tmp = t_0;
} else if (F <= 2.55e-123) {
tmp = -(x * Math.cos(B)) / Math.sin(B);
} else if (F <= 0.47) {
tmp = t_0;
} else {
tmp = (1.0 / Math.sin(B)) - t_1;
}
return tmp;
}
def code(F, B, x): t_0 = (F / (math.sin(B) / math.sqrt(0.5))) - (x / B) t_1 = x / math.tan(B) tmp = 0 if F <= -0.205: tmp = (-1.0 / math.sin(B)) - t_1 elif F <= -1.7e-131: tmp = t_0 elif F <= 2.55e-123: tmp = -(x * math.cos(B)) / math.sin(B) elif F <= 0.47: tmp = t_0 else: tmp = (1.0 / math.sin(B)) - t_1 return tmp
function code(F, B, x) t_0 = Float64(Float64(F / Float64(sin(B) / sqrt(0.5))) - Float64(x / B)) t_1 = Float64(x / tan(B)) tmp = 0.0 if (F <= -0.205) tmp = Float64(Float64(-1.0 / sin(B)) - t_1); elseif (F <= -1.7e-131) tmp = t_0; elseif (F <= 2.55e-123) tmp = Float64(Float64(-Float64(x * cos(B))) / sin(B)); elseif (F <= 0.47) tmp = t_0; else tmp = Float64(Float64(1.0 / sin(B)) - t_1); end return tmp end
function tmp_2 = code(F, B, x) t_0 = (F / (sin(B) / sqrt(0.5))) - (x / B); t_1 = x / tan(B); tmp = 0.0; if (F <= -0.205) tmp = (-1.0 / sin(B)) - t_1; elseif (F <= -1.7e-131) tmp = t_0; elseif (F <= 2.55e-123) tmp = -(x * cos(B)) / sin(B); elseif (F <= 0.47) tmp = t_0; else tmp = (1.0 / sin(B)) - t_1; end tmp_2 = tmp; end
code[F_, B_, x_] := Block[{t$95$0 = N[(N[(F / N[(N[Sin[B], $MachinePrecision] / N[Sqrt[0.5], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(x / B), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(x / N[Tan[B], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[F, -0.205], N[(N[(-1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - t$95$1), $MachinePrecision], If[LessEqual[F, -1.7e-131], t$95$0, If[LessEqual[F, 2.55e-123], N[((-N[(x * N[Cos[B], $MachinePrecision]), $MachinePrecision]) / N[Sin[B], $MachinePrecision]), $MachinePrecision], If[LessEqual[F, 0.47], t$95$0, N[(N[(1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - t$95$1), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := \frac{F}{\frac{\sin B}{\sqrt{0.5}}} - \frac{x}{B}\\
t_1 := \frac{x}{\tan B}\\
\mathbf{if}\;F \leq -0.205:\\
\;\;\;\;\frac{-1}{\sin B} - t_1\\
\mathbf{elif}\;F \leq -1.7 \cdot 10^{-131}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;F \leq 2.55 \cdot 10^{-123}:\\
\;\;\;\;\frac{-x \cdot \cos B}{\sin B}\\
\mathbf{elif}\;F \leq 0.47:\\
\;\;\;\;t_0\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\sin B} - t_1\\
\end{array}
\end{array}
(FPCore (F B x)
:precision binary64
(let* ((t_0 (/ 1.0 (sin B))))
(if (<= F -1.28e+147)
(- (/ -1.0 B) (/ x (tan B)))
(if (<= F -0.002)
(- (/ -1.0 (sin B)) (/ x B))
(if (<= F -6.8e-102)
(/ (* F (sqrt 0.5)) (sin B))
(if (<= F 1e-117)
(/ (- (* x (cos B))) (sin B))
(if (<= F 8.2e-10)
(* (/ F (sin B)) (sqrt 0.5))
(if (<= F 4.5e+211)
(- t_0 (/ x B))
(if (<= F 1.95e+288)
(+ (/ -1.0 (/ (tan B) x)) (/ 1.0 B))
t_0)))))))))
double code(double F, double B, double x) {
double t_0 = 1.0 / sin(B);
double tmp;
if (F <= -1.28e+147) {
tmp = (-1.0 / B) - (x / tan(B));
} else if (F <= -0.002) {
tmp = (-1.0 / sin(B)) - (x / B);
} else if (F <= -6.8e-102) {
tmp = (F * sqrt(0.5)) / sin(B);
} else if (F <= 1e-117) {
tmp = -(x * cos(B)) / sin(B);
} else if (F <= 8.2e-10) {
tmp = (F / sin(B)) * sqrt(0.5);
} else if (F <= 4.5e+211) {
tmp = t_0 - (x / B);
} else if (F <= 1.95e+288) {
tmp = (-1.0 / (tan(B) / x)) + (1.0 / B);
} else {
tmp = t_0;
}
return tmp;
}
real(8) function code(f, b, x)
real(8), intent (in) :: f
real(8), intent (in) :: b
real(8), intent (in) :: x
real(8) :: t_0
real(8) :: tmp
t_0 = 1.0d0 / sin(b)
if (f <= (-1.28d+147)) then
tmp = ((-1.0d0) / b) - (x / tan(b))
else if (f <= (-0.002d0)) then
tmp = ((-1.0d0) / sin(b)) - (x / b)
else if (f <= (-6.8d-102)) then
tmp = (f * sqrt(0.5d0)) / sin(b)
else if (f <= 1d-117) then
tmp = -(x * cos(b)) / sin(b)
else if (f <= 8.2d-10) then
tmp = (f / sin(b)) * sqrt(0.5d0)
else if (f <= 4.5d+211) then
tmp = t_0 - (x / b)
else if (f <= 1.95d+288) then
tmp = ((-1.0d0) / (tan(b) / x)) + (1.0d0 / b)
else
tmp = t_0
end if
code = tmp
end function
public static double code(double F, double B, double x) {
double t_0 = 1.0 / Math.sin(B);
double tmp;
if (F <= -1.28e+147) {
tmp = (-1.0 / B) - (x / Math.tan(B));
} else if (F <= -0.002) {
tmp = (-1.0 / Math.sin(B)) - (x / B);
} else if (F <= -6.8e-102) {
tmp = (F * Math.sqrt(0.5)) / Math.sin(B);
} else if (F <= 1e-117) {
tmp = -(x * Math.cos(B)) / Math.sin(B);
} else if (F <= 8.2e-10) {
tmp = (F / Math.sin(B)) * Math.sqrt(0.5);
} else if (F <= 4.5e+211) {
tmp = t_0 - (x / B);
} else if (F <= 1.95e+288) {
tmp = (-1.0 / (Math.tan(B) / x)) + (1.0 / B);
} else {
tmp = t_0;
}
return tmp;
}
def code(F, B, x): t_0 = 1.0 / math.sin(B) tmp = 0 if F <= -1.28e+147: tmp = (-1.0 / B) - (x / math.tan(B)) elif F <= -0.002: tmp = (-1.0 / math.sin(B)) - (x / B) elif F <= -6.8e-102: tmp = (F * math.sqrt(0.5)) / math.sin(B) elif F <= 1e-117: tmp = -(x * math.cos(B)) / math.sin(B) elif F <= 8.2e-10: tmp = (F / math.sin(B)) * math.sqrt(0.5) elif F <= 4.5e+211: tmp = t_0 - (x / B) elif F <= 1.95e+288: tmp = (-1.0 / (math.tan(B) / x)) + (1.0 / B) else: tmp = t_0 return tmp
function code(F, B, x) t_0 = Float64(1.0 / sin(B)) tmp = 0.0 if (F <= -1.28e+147) tmp = Float64(Float64(-1.0 / B) - Float64(x / tan(B))); elseif (F <= -0.002) tmp = Float64(Float64(-1.0 / sin(B)) - Float64(x / B)); elseif (F <= -6.8e-102) tmp = Float64(Float64(F * sqrt(0.5)) / sin(B)); elseif (F <= 1e-117) tmp = Float64(Float64(-Float64(x * cos(B))) / sin(B)); elseif (F <= 8.2e-10) tmp = Float64(Float64(F / sin(B)) * sqrt(0.5)); elseif (F <= 4.5e+211) tmp = Float64(t_0 - Float64(x / B)); elseif (F <= 1.95e+288) tmp = Float64(Float64(-1.0 / Float64(tan(B) / x)) + Float64(1.0 / B)); else tmp = t_0; end return tmp end
function tmp_2 = code(F, B, x) t_0 = 1.0 / sin(B); tmp = 0.0; if (F <= -1.28e+147) tmp = (-1.0 / B) - (x / tan(B)); elseif (F <= -0.002) tmp = (-1.0 / sin(B)) - (x / B); elseif (F <= -6.8e-102) tmp = (F * sqrt(0.5)) / sin(B); elseif (F <= 1e-117) tmp = -(x * cos(B)) / sin(B); elseif (F <= 8.2e-10) tmp = (F / sin(B)) * sqrt(0.5); elseif (F <= 4.5e+211) tmp = t_0 - (x / B); elseif (F <= 1.95e+288) tmp = (-1.0 / (tan(B) / x)) + (1.0 / B); else tmp = t_0; end tmp_2 = tmp; end
code[F_, B_, x_] := Block[{t$95$0 = N[(1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[F, -1.28e+147], N[(N[(-1.0 / B), $MachinePrecision] - N[(x / N[Tan[B], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[F, -0.002], N[(N[(-1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - N[(x / B), $MachinePrecision]), $MachinePrecision], If[LessEqual[F, -6.8e-102], N[(N[(F * N[Sqrt[0.5], $MachinePrecision]), $MachinePrecision] / N[Sin[B], $MachinePrecision]), $MachinePrecision], If[LessEqual[F, 1e-117], N[((-N[(x * N[Cos[B], $MachinePrecision]), $MachinePrecision]) / N[Sin[B], $MachinePrecision]), $MachinePrecision], If[LessEqual[F, 8.2e-10], N[(N[(F / N[Sin[B], $MachinePrecision]), $MachinePrecision] * N[Sqrt[0.5], $MachinePrecision]), $MachinePrecision], If[LessEqual[F, 4.5e+211], N[(t$95$0 - N[(x / B), $MachinePrecision]), $MachinePrecision], If[LessEqual[F, 1.95e+288], N[(N[(-1.0 / N[(N[Tan[B], $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision] + N[(1.0 / B), $MachinePrecision]), $MachinePrecision], t$95$0]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := \frac{1}{\sin B}\\
\mathbf{if}\;F \leq -1.28 \cdot 10^{+147}:\\
\;\;\;\;\frac{-1}{B} - \frac{x}{\tan B}\\
\mathbf{elif}\;F \leq -0.002:\\
\;\;\;\;\frac{-1}{\sin B} - \frac{x}{B}\\
\mathbf{elif}\;F \leq -6.8 \cdot 10^{-102}:\\
\;\;\;\;\frac{F \cdot \sqrt{0.5}}{\sin B}\\
\mathbf{elif}\;F \leq 10^{-117}:\\
\;\;\;\;\frac{-x \cdot \cos B}{\sin B}\\
\mathbf{elif}\;F \leq 8.2 \cdot 10^{-10}:\\
\;\;\;\;\frac{F}{\sin B} \cdot \sqrt{0.5}\\
\mathbf{elif}\;F \leq 4.5 \cdot 10^{+211}:\\
\;\;\;\;t_0 - \frac{x}{B}\\
\mathbf{elif}\;F \leq 1.95 \cdot 10^{+288}:\\
\;\;\;\;\frac{-1}{\frac{\tan B}{x}} + \frac{1}{B}\\
\mathbf{else}:\\
\;\;\;\;t_0\\
\end{array}
\end{array}
(FPCore (F B x)
:precision binary64
(let* ((t_0 (/ x (tan B))))
(if (<= F -1.95e-5)
(- (/ -1.0 (sin B)) t_0)
(if (<= F -8.8e-102)
(/ (* F (sqrt 0.5)) (sin B))
(if (<= F 2.8e-115)
(/ (- (* x (cos B))) (sin B))
(if (<= F 8.2e-10)
(* (/ F (sin B)) (sqrt 0.5))
(- (/ 1.0 (sin B)) t_0)))))))
double code(double F, double B, double x) {
double t_0 = x / tan(B);
double tmp;
if (F <= -1.95e-5) {
tmp = (-1.0 / sin(B)) - t_0;
} else if (F <= -8.8e-102) {
tmp = (F * sqrt(0.5)) / sin(B);
} else if (F <= 2.8e-115) {
tmp = -(x * cos(B)) / sin(B);
} else if (F <= 8.2e-10) {
tmp = (F / sin(B)) * sqrt(0.5);
} else {
tmp = (1.0 / sin(B)) - t_0;
}
return tmp;
}
real(8) function code(f, b, x)
real(8), intent (in) :: f
real(8), intent (in) :: b
real(8), intent (in) :: x
real(8) :: t_0
real(8) :: tmp
t_0 = x / tan(b)
if (f <= (-1.95d-5)) then
tmp = ((-1.0d0) / sin(b)) - t_0
else if (f <= (-8.8d-102)) then
tmp = (f * sqrt(0.5d0)) / sin(b)
else if (f <= 2.8d-115) then
tmp = -(x * cos(b)) / sin(b)
else if (f <= 8.2d-10) then
tmp = (f / sin(b)) * sqrt(0.5d0)
else
tmp = (1.0d0 / sin(b)) - t_0
end if
code = tmp
end function
public static double code(double F, double B, double x) {
double t_0 = x / Math.tan(B);
double tmp;
if (F <= -1.95e-5) {
tmp = (-1.0 / Math.sin(B)) - t_0;
} else if (F <= -8.8e-102) {
tmp = (F * Math.sqrt(0.5)) / Math.sin(B);
} else if (F <= 2.8e-115) {
tmp = -(x * Math.cos(B)) / Math.sin(B);
} else if (F <= 8.2e-10) {
tmp = (F / Math.sin(B)) * Math.sqrt(0.5);
} else {
tmp = (1.0 / Math.sin(B)) - t_0;
}
return tmp;
}
def code(F, B, x): t_0 = x / math.tan(B) tmp = 0 if F <= -1.95e-5: tmp = (-1.0 / math.sin(B)) - t_0 elif F <= -8.8e-102: tmp = (F * math.sqrt(0.5)) / math.sin(B) elif F <= 2.8e-115: tmp = -(x * math.cos(B)) / math.sin(B) elif F <= 8.2e-10: tmp = (F / math.sin(B)) * math.sqrt(0.5) else: tmp = (1.0 / math.sin(B)) - t_0 return tmp
function code(F, B, x) t_0 = Float64(x / tan(B)) tmp = 0.0 if (F <= -1.95e-5) tmp = Float64(Float64(-1.0 / sin(B)) - t_0); elseif (F <= -8.8e-102) tmp = Float64(Float64(F * sqrt(0.5)) / sin(B)); elseif (F <= 2.8e-115) tmp = Float64(Float64(-Float64(x * cos(B))) / sin(B)); elseif (F <= 8.2e-10) tmp = Float64(Float64(F / sin(B)) * sqrt(0.5)); else tmp = Float64(Float64(1.0 / sin(B)) - t_0); end return tmp end
function tmp_2 = code(F, B, x) t_0 = x / tan(B); tmp = 0.0; if (F <= -1.95e-5) tmp = (-1.0 / sin(B)) - t_0; elseif (F <= -8.8e-102) tmp = (F * sqrt(0.5)) / sin(B); elseif (F <= 2.8e-115) tmp = -(x * cos(B)) / sin(B); elseif (F <= 8.2e-10) tmp = (F / sin(B)) * sqrt(0.5); else tmp = (1.0 / sin(B)) - t_0; end tmp_2 = tmp; end
code[F_, B_, x_] := Block[{t$95$0 = N[(x / N[Tan[B], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[F, -1.95e-5], N[(N[(-1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - t$95$0), $MachinePrecision], If[LessEqual[F, -8.8e-102], N[(N[(F * N[Sqrt[0.5], $MachinePrecision]), $MachinePrecision] / N[Sin[B], $MachinePrecision]), $MachinePrecision], If[LessEqual[F, 2.8e-115], N[((-N[(x * N[Cos[B], $MachinePrecision]), $MachinePrecision]) / N[Sin[B], $MachinePrecision]), $MachinePrecision], If[LessEqual[F, 8.2e-10], N[(N[(F / N[Sin[B], $MachinePrecision]), $MachinePrecision] * N[Sqrt[0.5], $MachinePrecision]), $MachinePrecision], N[(N[(1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - t$95$0), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := \frac{x}{\tan B}\\
\mathbf{if}\;F \leq -1.95 \cdot 10^{-5}:\\
\;\;\;\;\frac{-1}{\sin B} - t_0\\
\mathbf{elif}\;F \leq -8.8 \cdot 10^{-102}:\\
\;\;\;\;\frac{F \cdot \sqrt{0.5}}{\sin B}\\
\mathbf{elif}\;F \leq 2.8 \cdot 10^{-115}:\\
\;\;\;\;\frac{-x \cdot \cos B}{\sin B}\\
\mathbf{elif}\;F \leq 8.2 \cdot 10^{-10}:\\
\;\;\;\;\frac{F}{\sin B} \cdot \sqrt{0.5}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\sin B} - t_0\\
\end{array}
\end{array}
(FPCore (F B x)
:precision binary64
(let* ((t_0 (/ 1.0 (sin B))))
(if (<= F -2.35e-7)
(- (/ -1.0 (sin B)) (/ x (tan B)))
(if (<= F -9e-100)
(/ (* F (sqrt 0.5)) (sin B))
(if (<= F 1.02e-114)
(/ (- (* x (cos B))) (sin B))
(if (<= F 8.2e-10)
(* (/ F (sin B)) (sqrt 0.5))
(if (<= F 1.4e+214)
(- t_0 (/ x B))
(if (<= F 1.4e+288)
(+ (/ -1.0 (/ (tan B) x)) (/ 1.0 B))
t_0))))))))
double code(double F, double B, double x) {
double t_0 = 1.0 / sin(B);
double tmp;
if (F <= -2.35e-7) {
tmp = (-1.0 / sin(B)) - (x / tan(B));
} else if (F <= -9e-100) {
tmp = (F * sqrt(0.5)) / sin(B);
} else if (F <= 1.02e-114) {
tmp = -(x * cos(B)) / sin(B);
} else if (F <= 8.2e-10) {
tmp = (F / sin(B)) * sqrt(0.5);
} else if (F <= 1.4e+214) {
tmp = t_0 - (x / B);
} else if (F <= 1.4e+288) {
tmp = (-1.0 / (tan(B) / x)) + (1.0 / B);
} else {
tmp = t_0;
}
return tmp;
}
real(8) function code(f, b, x)
real(8), intent (in) :: f
real(8), intent (in) :: b
real(8), intent (in) :: x
real(8) :: t_0
real(8) :: tmp
t_0 = 1.0d0 / sin(b)
if (f <= (-2.35d-7)) then
tmp = ((-1.0d0) / sin(b)) - (x / tan(b))
else if (f <= (-9d-100)) then
tmp = (f * sqrt(0.5d0)) / sin(b)
else if (f <= 1.02d-114) then
tmp = -(x * cos(b)) / sin(b)
else if (f <= 8.2d-10) then
tmp = (f / sin(b)) * sqrt(0.5d0)
else if (f <= 1.4d+214) then
tmp = t_0 - (x / b)
else if (f <= 1.4d+288) then
tmp = ((-1.0d0) / (tan(b) / x)) + (1.0d0 / b)
else
tmp = t_0
end if
code = tmp
end function
public static double code(double F, double B, double x) {
double t_0 = 1.0 / Math.sin(B);
double tmp;
if (F <= -2.35e-7) {
tmp = (-1.0 / Math.sin(B)) - (x / Math.tan(B));
} else if (F <= -9e-100) {
tmp = (F * Math.sqrt(0.5)) / Math.sin(B);
} else if (F <= 1.02e-114) {
tmp = -(x * Math.cos(B)) / Math.sin(B);
} else if (F <= 8.2e-10) {
tmp = (F / Math.sin(B)) * Math.sqrt(0.5);
} else if (F <= 1.4e+214) {
tmp = t_0 - (x / B);
} else if (F <= 1.4e+288) {
tmp = (-1.0 / (Math.tan(B) / x)) + (1.0 / B);
} else {
tmp = t_0;
}
return tmp;
}
def code(F, B, x): t_0 = 1.0 / math.sin(B) tmp = 0 if F <= -2.35e-7: tmp = (-1.0 / math.sin(B)) - (x / math.tan(B)) elif F <= -9e-100: tmp = (F * math.sqrt(0.5)) / math.sin(B) elif F <= 1.02e-114: tmp = -(x * math.cos(B)) / math.sin(B) elif F <= 8.2e-10: tmp = (F / math.sin(B)) * math.sqrt(0.5) elif F <= 1.4e+214: tmp = t_0 - (x / B) elif F <= 1.4e+288: tmp = (-1.0 / (math.tan(B) / x)) + (1.0 / B) else: tmp = t_0 return tmp
function code(F, B, x) t_0 = Float64(1.0 / sin(B)) tmp = 0.0 if (F <= -2.35e-7) tmp = Float64(Float64(-1.0 / sin(B)) - Float64(x / tan(B))); elseif (F <= -9e-100) tmp = Float64(Float64(F * sqrt(0.5)) / sin(B)); elseif (F <= 1.02e-114) tmp = Float64(Float64(-Float64(x * cos(B))) / sin(B)); elseif (F <= 8.2e-10) tmp = Float64(Float64(F / sin(B)) * sqrt(0.5)); elseif (F <= 1.4e+214) tmp = Float64(t_0 - Float64(x / B)); elseif (F <= 1.4e+288) tmp = Float64(Float64(-1.0 / Float64(tan(B) / x)) + Float64(1.0 / B)); else tmp = t_0; end return tmp end
function tmp_2 = code(F, B, x) t_0 = 1.0 / sin(B); tmp = 0.0; if (F <= -2.35e-7) tmp = (-1.0 / sin(B)) - (x / tan(B)); elseif (F <= -9e-100) tmp = (F * sqrt(0.5)) / sin(B); elseif (F <= 1.02e-114) tmp = -(x * cos(B)) / sin(B); elseif (F <= 8.2e-10) tmp = (F / sin(B)) * sqrt(0.5); elseif (F <= 1.4e+214) tmp = t_0 - (x / B); elseif (F <= 1.4e+288) tmp = (-1.0 / (tan(B) / x)) + (1.0 / B); else tmp = t_0; end tmp_2 = tmp; end
code[F_, B_, x_] := Block[{t$95$0 = N[(1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[F, -2.35e-7], N[(N[(-1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - N[(x / N[Tan[B], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[F, -9e-100], N[(N[(F * N[Sqrt[0.5], $MachinePrecision]), $MachinePrecision] / N[Sin[B], $MachinePrecision]), $MachinePrecision], If[LessEqual[F, 1.02e-114], N[((-N[(x * N[Cos[B], $MachinePrecision]), $MachinePrecision]) / N[Sin[B], $MachinePrecision]), $MachinePrecision], If[LessEqual[F, 8.2e-10], N[(N[(F / N[Sin[B], $MachinePrecision]), $MachinePrecision] * N[Sqrt[0.5], $MachinePrecision]), $MachinePrecision], If[LessEqual[F, 1.4e+214], N[(t$95$0 - N[(x / B), $MachinePrecision]), $MachinePrecision], If[LessEqual[F, 1.4e+288], N[(N[(-1.0 / N[(N[Tan[B], $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision] + N[(1.0 / B), $MachinePrecision]), $MachinePrecision], t$95$0]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := \frac{1}{\sin B}\\
\mathbf{if}\;F \leq -2.35 \cdot 10^{-7}:\\
\;\;\;\;\frac{-1}{\sin B} - \frac{x}{\tan B}\\
\mathbf{elif}\;F \leq -9 \cdot 10^{-100}:\\
\;\;\;\;\frac{F \cdot \sqrt{0.5}}{\sin B}\\
\mathbf{elif}\;F \leq 1.02 \cdot 10^{-114}:\\
\;\;\;\;\frac{-x \cdot \cos B}{\sin B}\\
\mathbf{elif}\;F \leq 8.2 \cdot 10^{-10}:\\
\;\;\;\;\frac{F}{\sin B} \cdot \sqrt{0.5}\\
\mathbf{elif}\;F \leq 1.4 \cdot 10^{+214}:\\
\;\;\;\;t_0 - \frac{x}{B}\\
\mathbf{elif}\;F \leq 1.4 \cdot 10^{+288}:\\
\;\;\;\;\frac{-1}{\frac{\tan B}{x}} + \frac{1}{B}\\
\mathbf{else}:\\
\;\;\;\;t_0\\
\end{array}
\end{array}
(FPCore (F B x)
:precision binary64
(let* ((t_0 (/ 1.0 (sin B)))
(t_1 (- (* (pow (+ (+ (* F F) 2.0) (* x 2.0)) -0.5) (/ F B)) (/ x B)))
(t_2 (/ x (tan B))))
(if (<= F -9.2e+135)
(- (/ -1.0 B) t_2)
(if (<= F -1550.0)
(- (/ -1.0 (sin B)) (/ x B))
(if (<= F -1.1e-267)
t_1
(if (<= F 4.2e-295)
(- (* (/ F B) (/ 1.0 F)) t_2)
(if (<= F 360.0)
t_1
(if (<= F 1.95e+214)
(- t_0 (/ x B))
(if (<= F 1.35e+287)
(+ (/ -1.0 (/ (tan B) x)) (/ 1.0 B))
t_0)))))))))
double code(double F, double B, double x) {
double t_0 = 1.0 / sin(B);
double t_1 = (pow((((F * F) + 2.0) + (x * 2.0)), -0.5) * (F / B)) - (x / B);
double t_2 = x / tan(B);
double tmp;
if (F <= -9.2e+135) {
tmp = (-1.0 / B) - t_2;
} else if (F <= -1550.0) {
tmp = (-1.0 / sin(B)) - (x / B);
} else if (F <= -1.1e-267) {
tmp = t_1;
} else if (F <= 4.2e-295) {
tmp = ((F / B) * (1.0 / F)) - t_2;
} else if (F <= 360.0) {
tmp = t_1;
} else if (F <= 1.95e+214) {
tmp = t_0 - (x / B);
} else if (F <= 1.35e+287) {
tmp = (-1.0 / (tan(B) / x)) + (1.0 / B);
} else {
tmp = t_0;
}
return tmp;
}
real(8) function code(f, b, x)
real(8), intent (in) :: f
real(8), intent (in) :: b
real(8), intent (in) :: x
real(8) :: t_0
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_0 = 1.0d0 / sin(b)
t_1 = (((((f * f) + 2.0d0) + (x * 2.0d0)) ** (-0.5d0)) * (f / b)) - (x / b)
t_2 = x / tan(b)
if (f <= (-9.2d+135)) then
tmp = ((-1.0d0) / b) - t_2
else if (f <= (-1550.0d0)) then
tmp = ((-1.0d0) / sin(b)) - (x / b)
else if (f <= (-1.1d-267)) then
tmp = t_1
else if (f <= 4.2d-295) then
tmp = ((f / b) * (1.0d0 / f)) - t_2
else if (f <= 360.0d0) then
tmp = t_1
else if (f <= 1.95d+214) then
tmp = t_0 - (x / b)
else if (f <= 1.35d+287) then
tmp = ((-1.0d0) / (tan(b) / x)) + (1.0d0 / b)
else
tmp = t_0
end if
code = tmp
end function
public static double code(double F, double B, double x) {
double t_0 = 1.0 / Math.sin(B);
double t_1 = (Math.pow((((F * F) + 2.0) + (x * 2.0)), -0.5) * (F / B)) - (x / B);
double t_2 = x / Math.tan(B);
double tmp;
if (F <= -9.2e+135) {
tmp = (-1.0 / B) - t_2;
} else if (F <= -1550.0) {
tmp = (-1.0 / Math.sin(B)) - (x / B);
} else if (F <= -1.1e-267) {
tmp = t_1;
} else if (F <= 4.2e-295) {
tmp = ((F / B) * (1.0 / F)) - t_2;
} else if (F <= 360.0) {
tmp = t_1;
} else if (F <= 1.95e+214) {
tmp = t_0 - (x / B);
} else if (F <= 1.35e+287) {
tmp = (-1.0 / (Math.tan(B) / x)) + (1.0 / B);
} else {
tmp = t_0;
}
return tmp;
}
def code(F, B, x): t_0 = 1.0 / math.sin(B) t_1 = (math.pow((((F * F) + 2.0) + (x * 2.0)), -0.5) * (F / B)) - (x / B) t_2 = x / math.tan(B) tmp = 0 if F <= -9.2e+135: tmp = (-1.0 / B) - t_2 elif F <= -1550.0: tmp = (-1.0 / math.sin(B)) - (x / B) elif F <= -1.1e-267: tmp = t_1 elif F <= 4.2e-295: tmp = ((F / B) * (1.0 / F)) - t_2 elif F <= 360.0: tmp = t_1 elif F <= 1.95e+214: tmp = t_0 - (x / B) elif F <= 1.35e+287: tmp = (-1.0 / (math.tan(B) / x)) + (1.0 / B) else: tmp = t_0 return tmp
function code(F, B, x) t_0 = Float64(1.0 / sin(B)) t_1 = Float64(Float64((Float64(Float64(Float64(F * F) + 2.0) + Float64(x * 2.0)) ^ -0.5) * Float64(F / B)) - Float64(x / B)) t_2 = Float64(x / tan(B)) tmp = 0.0 if (F <= -9.2e+135) tmp = Float64(Float64(-1.0 / B) - t_2); elseif (F <= -1550.0) tmp = Float64(Float64(-1.0 / sin(B)) - Float64(x / B)); elseif (F <= -1.1e-267) tmp = t_1; elseif (F <= 4.2e-295) tmp = Float64(Float64(Float64(F / B) * Float64(1.0 / F)) - t_2); elseif (F <= 360.0) tmp = t_1; elseif (F <= 1.95e+214) tmp = Float64(t_0 - Float64(x / B)); elseif (F <= 1.35e+287) tmp = Float64(Float64(-1.0 / Float64(tan(B) / x)) + Float64(1.0 / B)); else tmp = t_0; end return tmp end
function tmp_2 = code(F, B, x) t_0 = 1.0 / sin(B); t_1 = (((((F * F) + 2.0) + (x * 2.0)) ^ -0.5) * (F / B)) - (x / B); t_2 = x / tan(B); tmp = 0.0; if (F <= -9.2e+135) tmp = (-1.0 / B) - t_2; elseif (F <= -1550.0) tmp = (-1.0 / sin(B)) - (x / B); elseif (F <= -1.1e-267) tmp = t_1; elseif (F <= 4.2e-295) tmp = ((F / B) * (1.0 / F)) - t_2; elseif (F <= 360.0) tmp = t_1; elseif (F <= 1.95e+214) tmp = t_0 - (x / B); elseif (F <= 1.35e+287) tmp = (-1.0 / (tan(B) / x)) + (1.0 / B); else tmp = t_0; end tmp_2 = tmp; end
code[F_, B_, x_] := Block[{t$95$0 = N[(1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(N[(N[Power[N[(N[(N[(F * F), $MachinePrecision] + 2.0), $MachinePrecision] + N[(x * 2.0), $MachinePrecision]), $MachinePrecision], -0.5], $MachinePrecision] * N[(F / B), $MachinePrecision]), $MachinePrecision] - N[(x / B), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(x / N[Tan[B], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[F, -9.2e+135], N[(N[(-1.0 / B), $MachinePrecision] - t$95$2), $MachinePrecision], If[LessEqual[F, -1550.0], N[(N[(-1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - N[(x / B), $MachinePrecision]), $MachinePrecision], If[LessEqual[F, -1.1e-267], t$95$1, If[LessEqual[F, 4.2e-295], N[(N[(N[(F / B), $MachinePrecision] * N[(1.0 / F), $MachinePrecision]), $MachinePrecision] - t$95$2), $MachinePrecision], If[LessEqual[F, 360.0], t$95$1, If[LessEqual[F, 1.95e+214], N[(t$95$0 - N[(x / B), $MachinePrecision]), $MachinePrecision], If[LessEqual[F, 1.35e+287], N[(N[(-1.0 / N[(N[Tan[B], $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision] + N[(1.0 / B), $MachinePrecision]), $MachinePrecision], t$95$0]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := \frac{1}{\sin B}\\
t_1 := {\left(\left(F \cdot F + 2\right) + x \cdot 2\right)}^{-0.5} \cdot \frac{F}{B} - \frac{x}{B}\\
t_2 := \frac{x}{\tan B}\\
\mathbf{if}\;F \leq -9.2 \cdot 10^{+135}:\\
\;\;\;\;\frac{-1}{B} - t_2\\
\mathbf{elif}\;F \leq -1550:\\
\;\;\;\;\frac{-1}{\sin B} - \frac{x}{B}\\
\mathbf{elif}\;F \leq -1.1 \cdot 10^{-267}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;F \leq 4.2 \cdot 10^{-295}:\\
\;\;\;\;\frac{F}{B} \cdot \frac{1}{F} - t_2\\
\mathbf{elif}\;F \leq 360:\\
\;\;\;\;t_1\\
\mathbf{elif}\;F \leq 1.95 \cdot 10^{+214}:\\
\;\;\;\;t_0 - \frac{x}{B}\\
\mathbf{elif}\;F \leq 1.35 \cdot 10^{+287}:\\
\;\;\;\;\frac{-1}{\frac{\tan B}{x}} + \frac{1}{B}\\
\mathbf{else}:\\
\;\;\;\;t_0\\
\end{array}
\end{array}
(FPCore (F B x)
:precision binary64
(let* ((t_0 (/ 1.0 (sin B))) (t_1 (/ x (tan B))))
(if (<= F -5.5e+148)
(- (/ -1.0 B) t_1)
(if (<= F -0.13)
(- (/ -1.0 (sin B)) (/ x B))
(if (<= F -7.2e-261)
(/ (- (* F (sqrt 0.5)) x) B)
(if (<= F 9.2e-295)
(- (* (/ F B) (/ 1.0 F)) t_1)
(if (<= F 0.135)
(- (* (/ F B) (sqrt (/ 1.0 (+ 2.0 (* x 2.0))))) (/ x B))
(if (<= F 6.5e+212)
(- t_0 (/ x B))
(if (<= F 2.6e+286)
(+ (/ -1.0 (/ (tan B) x)) (/ 1.0 B))
t_0)))))))))
double code(double F, double B, double x) {
double t_0 = 1.0 / sin(B);
double t_1 = x / tan(B);
double tmp;
if (F <= -5.5e+148) {
tmp = (-1.0 / B) - t_1;
} else if (F <= -0.13) {
tmp = (-1.0 / sin(B)) - (x / B);
} else if (F <= -7.2e-261) {
tmp = ((F * sqrt(0.5)) - x) / B;
} else if (F <= 9.2e-295) {
tmp = ((F / B) * (1.0 / F)) - t_1;
} else if (F <= 0.135) {
tmp = ((F / B) * sqrt((1.0 / (2.0 + (x * 2.0))))) - (x / B);
} else if (F <= 6.5e+212) {
tmp = t_0 - (x / B);
} else if (F <= 2.6e+286) {
tmp = (-1.0 / (tan(B) / x)) + (1.0 / B);
} else {
tmp = t_0;
}
return tmp;
}
real(8) function code(f, b, x)
real(8), intent (in) :: f
real(8), intent (in) :: b
real(8), intent (in) :: x
real(8) :: t_0
real(8) :: t_1
real(8) :: tmp
t_0 = 1.0d0 / sin(b)
t_1 = x / tan(b)
if (f <= (-5.5d+148)) then
tmp = ((-1.0d0) / b) - t_1
else if (f <= (-0.13d0)) then
tmp = ((-1.0d0) / sin(b)) - (x / b)
else if (f <= (-7.2d-261)) then
tmp = ((f * sqrt(0.5d0)) - x) / b
else if (f <= 9.2d-295) then
tmp = ((f / b) * (1.0d0 / f)) - t_1
else if (f <= 0.135d0) then
tmp = ((f / b) * sqrt((1.0d0 / (2.0d0 + (x * 2.0d0))))) - (x / b)
else if (f <= 6.5d+212) then
tmp = t_0 - (x / b)
else if (f <= 2.6d+286) then
tmp = ((-1.0d0) / (tan(b) / x)) + (1.0d0 / b)
else
tmp = t_0
end if
code = tmp
end function
public static double code(double F, double B, double x) {
double t_0 = 1.0 / Math.sin(B);
double t_1 = x / Math.tan(B);
double tmp;
if (F <= -5.5e+148) {
tmp = (-1.0 / B) - t_1;
} else if (F <= -0.13) {
tmp = (-1.0 / Math.sin(B)) - (x / B);
} else if (F <= -7.2e-261) {
tmp = ((F * Math.sqrt(0.5)) - x) / B;
} else if (F <= 9.2e-295) {
tmp = ((F / B) * (1.0 / F)) - t_1;
} else if (F <= 0.135) {
tmp = ((F / B) * Math.sqrt((1.0 / (2.0 + (x * 2.0))))) - (x / B);
} else if (F <= 6.5e+212) {
tmp = t_0 - (x / B);
} else if (F <= 2.6e+286) {
tmp = (-1.0 / (Math.tan(B) / x)) + (1.0 / B);
} else {
tmp = t_0;
}
return tmp;
}
def code(F, B, x): t_0 = 1.0 / math.sin(B) t_1 = x / math.tan(B) tmp = 0 if F <= -5.5e+148: tmp = (-1.0 / B) - t_1 elif F <= -0.13: tmp = (-1.0 / math.sin(B)) - (x / B) elif F <= -7.2e-261: tmp = ((F * math.sqrt(0.5)) - x) / B elif F <= 9.2e-295: tmp = ((F / B) * (1.0 / F)) - t_1 elif F <= 0.135: tmp = ((F / B) * math.sqrt((1.0 / (2.0 + (x * 2.0))))) - (x / B) elif F <= 6.5e+212: tmp = t_0 - (x / B) elif F <= 2.6e+286: tmp = (-1.0 / (math.tan(B) / x)) + (1.0 / B) else: tmp = t_0 return tmp
function code(F, B, x) t_0 = Float64(1.0 / sin(B)) t_1 = Float64(x / tan(B)) tmp = 0.0 if (F <= -5.5e+148) tmp = Float64(Float64(-1.0 / B) - t_1); elseif (F <= -0.13) tmp = Float64(Float64(-1.0 / sin(B)) - Float64(x / B)); elseif (F <= -7.2e-261) tmp = Float64(Float64(Float64(F * sqrt(0.5)) - x) / B); elseif (F <= 9.2e-295) tmp = Float64(Float64(Float64(F / B) * Float64(1.0 / F)) - t_1); elseif (F <= 0.135) tmp = Float64(Float64(Float64(F / B) * sqrt(Float64(1.0 / Float64(2.0 + Float64(x * 2.0))))) - Float64(x / B)); elseif (F <= 6.5e+212) tmp = Float64(t_0 - Float64(x / B)); elseif (F <= 2.6e+286) tmp = Float64(Float64(-1.0 / Float64(tan(B) / x)) + Float64(1.0 / B)); else tmp = t_0; end return tmp end
function tmp_2 = code(F, B, x) t_0 = 1.0 / sin(B); t_1 = x / tan(B); tmp = 0.0; if (F <= -5.5e+148) tmp = (-1.0 / B) - t_1; elseif (F <= -0.13) tmp = (-1.0 / sin(B)) - (x / B); elseif (F <= -7.2e-261) tmp = ((F * sqrt(0.5)) - x) / B; elseif (F <= 9.2e-295) tmp = ((F / B) * (1.0 / F)) - t_1; elseif (F <= 0.135) tmp = ((F / B) * sqrt((1.0 / (2.0 + (x * 2.0))))) - (x / B); elseif (F <= 6.5e+212) tmp = t_0 - (x / B); elseif (F <= 2.6e+286) tmp = (-1.0 / (tan(B) / x)) + (1.0 / B); else tmp = t_0; end tmp_2 = tmp; end
code[F_, B_, x_] := Block[{t$95$0 = N[(1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(x / N[Tan[B], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[F, -5.5e+148], N[(N[(-1.0 / B), $MachinePrecision] - t$95$1), $MachinePrecision], If[LessEqual[F, -0.13], N[(N[(-1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - N[(x / B), $MachinePrecision]), $MachinePrecision], If[LessEqual[F, -7.2e-261], N[(N[(N[(F * N[Sqrt[0.5], $MachinePrecision]), $MachinePrecision] - x), $MachinePrecision] / B), $MachinePrecision], If[LessEqual[F, 9.2e-295], N[(N[(N[(F / B), $MachinePrecision] * N[(1.0 / F), $MachinePrecision]), $MachinePrecision] - t$95$1), $MachinePrecision], If[LessEqual[F, 0.135], N[(N[(N[(F / B), $MachinePrecision] * N[Sqrt[N[(1.0 / N[(2.0 + N[(x * 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] - N[(x / B), $MachinePrecision]), $MachinePrecision], If[LessEqual[F, 6.5e+212], N[(t$95$0 - N[(x / B), $MachinePrecision]), $MachinePrecision], If[LessEqual[F, 2.6e+286], N[(N[(-1.0 / N[(N[Tan[B], $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision] + N[(1.0 / B), $MachinePrecision]), $MachinePrecision], t$95$0]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := \frac{1}{\sin B}\\
t_1 := \frac{x}{\tan B}\\
\mathbf{if}\;F \leq -5.5 \cdot 10^{+148}:\\
\;\;\;\;\frac{-1}{B} - t_1\\
\mathbf{elif}\;F \leq -0.13:\\
\;\;\;\;\frac{-1}{\sin B} - \frac{x}{B}\\
\mathbf{elif}\;F \leq -7.2 \cdot 10^{-261}:\\
\;\;\;\;\frac{F \cdot \sqrt{0.5} - x}{B}\\
\mathbf{elif}\;F \leq 9.2 \cdot 10^{-295}:\\
\;\;\;\;\frac{F}{B} \cdot \frac{1}{F} - t_1\\
\mathbf{elif}\;F \leq 0.135:\\
\;\;\;\;\frac{F}{B} \cdot \sqrt{\frac{1}{2 + x \cdot 2}} - \frac{x}{B}\\
\mathbf{elif}\;F \leq 6.5 \cdot 10^{+212}:\\
\;\;\;\;t_0 - \frac{x}{B}\\
\mathbf{elif}\;F \leq 2.6 \cdot 10^{+286}:\\
\;\;\;\;\frac{-1}{\frac{\tan B}{x}} + \frac{1}{B}\\
\mathbf{else}:\\
\;\;\;\;t_0\\
\end{array}
\end{array}
(FPCore (F B x)
:precision binary64
(let* ((t_0 (/ (- (* F (sqrt 0.5)) x) B))
(t_1 (- (/ -1.0 B) (/ x (tan B))))
(t_2 (/ 1.0 (sin B))))
(if (<= F -7.5e+139)
t_1
(if (<= F -0.225)
(- (/ -1.0 (sin B)) (/ x B))
(if (<= F -8.2e-268)
t_0
(if (<= F 1.65e-295)
t_1
(if (<= F 0.49)
t_0
(if (<= F 1.7e+212)
(- t_2 (/ x B))
(if (<= F 8e+286)
(+ (/ -1.0 (/ (tan B) x)) (/ 1.0 B))
t_2)))))))))
double code(double F, double B, double x) {
double t_0 = ((F * sqrt(0.5)) - x) / B;
double t_1 = (-1.0 / B) - (x / tan(B));
double t_2 = 1.0 / sin(B);
double tmp;
if (F <= -7.5e+139) {
tmp = t_1;
} else if (F <= -0.225) {
tmp = (-1.0 / sin(B)) - (x / B);
} else if (F <= -8.2e-268) {
tmp = t_0;
} else if (F <= 1.65e-295) {
tmp = t_1;
} else if (F <= 0.49) {
tmp = t_0;
} else if (F <= 1.7e+212) {
tmp = t_2 - (x / B);
} else if (F <= 8e+286) {
tmp = (-1.0 / (tan(B) / x)) + (1.0 / B);
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(f, b, x)
real(8), intent (in) :: f
real(8), intent (in) :: b
real(8), intent (in) :: x
real(8) :: t_0
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_0 = ((f * sqrt(0.5d0)) - x) / b
t_1 = ((-1.0d0) / b) - (x / tan(b))
t_2 = 1.0d0 / sin(b)
if (f <= (-7.5d+139)) then
tmp = t_1
else if (f <= (-0.225d0)) then
tmp = ((-1.0d0) / sin(b)) - (x / b)
else if (f <= (-8.2d-268)) then
tmp = t_0
else if (f <= 1.65d-295) then
tmp = t_1
else if (f <= 0.49d0) then
tmp = t_0
else if (f <= 1.7d+212) then
tmp = t_2 - (x / b)
else if (f <= 8d+286) then
tmp = ((-1.0d0) / (tan(b) / x)) + (1.0d0 / b)
else
tmp = t_2
end if
code = tmp
end function
public static double code(double F, double B, double x) {
double t_0 = ((F * Math.sqrt(0.5)) - x) / B;
double t_1 = (-1.0 / B) - (x / Math.tan(B));
double t_2 = 1.0 / Math.sin(B);
double tmp;
if (F <= -7.5e+139) {
tmp = t_1;
} else if (F <= -0.225) {
tmp = (-1.0 / Math.sin(B)) - (x / B);
} else if (F <= -8.2e-268) {
tmp = t_0;
} else if (F <= 1.65e-295) {
tmp = t_1;
} else if (F <= 0.49) {
tmp = t_0;
} else if (F <= 1.7e+212) {
tmp = t_2 - (x / B);
} else if (F <= 8e+286) {
tmp = (-1.0 / (Math.tan(B) / x)) + (1.0 / B);
} else {
tmp = t_2;
}
return tmp;
}
def code(F, B, x): t_0 = ((F * math.sqrt(0.5)) - x) / B t_1 = (-1.0 / B) - (x / math.tan(B)) t_2 = 1.0 / math.sin(B) tmp = 0 if F <= -7.5e+139: tmp = t_1 elif F <= -0.225: tmp = (-1.0 / math.sin(B)) - (x / B) elif F <= -8.2e-268: tmp = t_0 elif F <= 1.65e-295: tmp = t_1 elif F <= 0.49: tmp = t_0 elif F <= 1.7e+212: tmp = t_2 - (x / B) elif F <= 8e+286: tmp = (-1.0 / (math.tan(B) / x)) + (1.0 / B) else: tmp = t_2 return tmp
function code(F, B, x) t_0 = Float64(Float64(Float64(F * sqrt(0.5)) - x) / B) t_1 = Float64(Float64(-1.0 / B) - Float64(x / tan(B))) t_2 = Float64(1.0 / sin(B)) tmp = 0.0 if (F <= -7.5e+139) tmp = t_1; elseif (F <= -0.225) tmp = Float64(Float64(-1.0 / sin(B)) - Float64(x / B)); elseif (F <= -8.2e-268) tmp = t_0; elseif (F <= 1.65e-295) tmp = t_1; elseif (F <= 0.49) tmp = t_0; elseif (F <= 1.7e+212) tmp = Float64(t_2 - Float64(x / B)); elseif (F <= 8e+286) tmp = Float64(Float64(-1.0 / Float64(tan(B) / x)) + Float64(1.0 / B)); else tmp = t_2; end return tmp end
function tmp_2 = code(F, B, x) t_0 = ((F * sqrt(0.5)) - x) / B; t_1 = (-1.0 / B) - (x / tan(B)); t_2 = 1.0 / sin(B); tmp = 0.0; if (F <= -7.5e+139) tmp = t_1; elseif (F <= -0.225) tmp = (-1.0 / sin(B)) - (x / B); elseif (F <= -8.2e-268) tmp = t_0; elseif (F <= 1.65e-295) tmp = t_1; elseif (F <= 0.49) tmp = t_0; elseif (F <= 1.7e+212) tmp = t_2 - (x / B); elseif (F <= 8e+286) tmp = (-1.0 / (tan(B) / x)) + (1.0 / B); else tmp = t_2; end tmp_2 = tmp; end
code[F_, B_, x_] := Block[{t$95$0 = N[(N[(N[(F * N[Sqrt[0.5], $MachinePrecision]), $MachinePrecision] - x), $MachinePrecision] / B), $MachinePrecision]}, Block[{t$95$1 = N[(N[(-1.0 / B), $MachinePrecision] - N[(x / N[Tan[B], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[F, -7.5e+139], t$95$1, If[LessEqual[F, -0.225], N[(N[(-1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - N[(x / B), $MachinePrecision]), $MachinePrecision], If[LessEqual[F, -8.2e-268], t$95$0, If[LessEqual[F, 1.65e-295], t$95$1, If[LessEqual[F, 0.49], t$95$0, If[LessEqual[F, 1.7e+212], N[(t$95$2 - N[(x / B), $MachinePrecision]), $MachinePrecision], If[LessEqual[F, 8e+286], N[(N[(-1.0 / N[(N[Tan[B], $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision] + N[(1.0 / B), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := \frac{F \cdot \sqrt{0.5} - x}{B}\\
t_1 := \frac{-1}{B} - \frac{x}{\tan B}\\
t_2 := \frac{1}{\sin B}\\
\mathbf{if}\;F \leq -7.5 \cdot 10^{+139}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;F \leq -0.225:\\
\;\;\;\;\frac{-1}{\sin B} - \frac{x}{B}\\
\mathbf{elif}\;F \leq -8.2 \cdot 10^{-268}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;F \leq 1.65 \cdot 10^{-295}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;F \leq 0.49:\\
\;\;\;\;t_0\\
\mathbf{elif}\;F \leq 1.7 \cdot 10^{+212}:\\
\;\;\;\;t_2 - \frac{x}{B}\\
\mathbf{elif}\;F \leq 8 \cdot 10^{+286}:\\
\;\;\;\;\frac{-1}{\frac{\tan B}{x}} + \frac{1}{B}\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
(FPCore (F B x)
:precision binary64
(let* ((t_0 (/ (- (* F (sqrt 0.5)) x) B))
(t_1 (/ x (tan B)))
(t_2 (/ 1.0 (sin B))))
(if (<= F -4.3e+142)
(- (/ -1.0 B) t_1)
(if (<= F -0.3)
(- (/ -1.0 (sin B)) (/ x B))
(if (<= F -2.7e-267)
t_0
(if (<= F 2.4e-294)
(- (* (/ F B) (/ 1.0 F)) t_1)
(if (<= F 0.27)
t_0
(if (<= F 4.3e+213)
(- t_2 (/ x B))
(if (<= F 1.3e+288)
(+ (/ -1.0 (/ (tan B) x)) (/ 1.0 B))
t_2)))))))))
double code(double F, double B, double x) {
double t_0 = ((F * sqrt(0.5)) - x) / B;
double t_1 = x / tan(B);
double t_2 = 1.0 / sin(B);
double tmp;
if (F <= -4.3e+142) {
tmp = (-1.0 / B) - t_1;
} else if (F <= -0.3) {
tmp = (-1.0 / sin(B)) - (x / B);
} else if (F <= -2.7e-267) {
tmp = t_0;
} else if (F <= 2.4e-294) {
tmp = ((F / B) * (1.0 / F)) - t_1;
} else if (F <= 0.27) {
tmp = t_0;
} else if (F <= 4.3e+213) {
tmp = t_2 - (x / B);
} else if (F <= 1.3e+288) {
tmp = (-1.0 / (tan(B) / x)) + (1.0 / B);
} else {
tmp = t_2;
}
return tmp;
}
real(8) function code(f, b, x)
real(8), intent (in) :: f
real(8), intent (in) :: b
real(8), intent (in) :: x
real(8) :: t_0
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_0 = ((f * sqrt(0.5d0)) - x) / b
t_1 = x / tan(b)
t_2 = 1.0d0 / sin(b)
if (f <= (-4.3d+142)) then
tmp = ((-1.0d0) / b) - t_1
else if (f <= (-0.3d0)) then
tmp = ((-1.0d0) / sin(b)) - (x / b)
else if (f <= (-2.7d-267)) then
tmp = t_0
else if (f <= 2.4d-294) then
tmp = ((f / b) * (1.0d0 / f)) - t_1
else if (f <= 0.27d0) then
tmp = t_0
else if (f <= 4.3d+213) then
tmp = t_2 - (x / b)
else if (f <= 1.3d+288) then
tmp = ((-1.0d0) / (tan(b) / x)) + (1.0d0 / b)
else
tmp = t_2
end if
code = tmp
end function
public static double code(double F, double B, double x) {
double t_0 = ((F * Math.sqrt(0.5)) - x) / B;
double t_1 = x / Math.tan(B);
double t_2 = 1.0 / Math.sin(B);
double tmp;
if (F <= -4.3e+142) {
tmp = (-1.0 / B) - t_1;
} else if (F <= -0.3) {
tmp = (-1.0 / Math.sin(B)) - (x / B);
} else if (F <= -2.7e-267) {
tmp = t_0;
} else if (F <= 2.4e-294) {
tmp = ((F / B) * (1.0 / F)) - t_1;
} else if (F <= 0.27) {
tmp = t_0;
} else if (F <= 4.3e+213) {
tmp = t_2 - (x / B);
} else if (F <= 1.3e+288) {
tmp = (-1.0 / (Math.tan(B) / x)) + (1.0 / B);
} else {
tmp = t_2;
}
return tmp;
}
def code(F, B, x): t_0 = ((F * math.sqrt(0.5)) - x) / B t_1 = x / math.tan(B) t_2 = 1.0 / math.sin(B) tmp = 0 if F <= -4.3e+142: tmp = (-1.0 / B) - t_1 elif F <= -0.3: tmp = (-1.0 / math.sin(B)) - (x / B) elif F <= -2.7e-267: tmp = t_0 elif F <= 2.4e-294: tmp = ((F / B) * (1.0 / F)) - t_1 elif F <= 0.27: tmp = t_0 elif F <= 4.3e+213: tmp = t_2 - (x / B) elif F <= 1.3e+288: tmp = (-1.0 / (math.tan(B) / x)) + (1.0 / B) else: tmp = t_2 return tmp
function code(F, B, x) t_0 = Float64(Float64(Float64(F * sqrt(0.5)) - x) / B) t_1 = Float64(x / tan(B)) t_2 = Float64(1.0 / sin(B)) tmp = 0.0 if (F <= -4.3e+142) tmp = Float64(Float64(-1.0 / B) - t_1); elseif (F <= -0.3) tmp = Float64(Float64(-1.0 / sin(B)) - Float64(x / B)); elseif (F <= -2.7e-267) tmp = t_0; elseif (F <= 2.4e-294) tmp = Float64(Float64(Float64(F / B) * Float64(1.0 / F)) - t_1); elseif (F <= 0.27) tmp = t_0; elseif (F <= 4.3e+213) tmp = Float64(t_2 - Float64(x / B)); elseif (F <= 1.3e+288) tmp = Float64(Float64(-1.0 / Float64(tan(B) / x)) + Float64(1.0 / B)); else tmp = t_2; end return tmp end
function tmp_2 = code(F, B, x) t_0 = ((F * sqrt(0.5)) - x) / B; t_1 = x / tan(B); t_2 = 1.0 / sin(B); tmp = 0.0; if (F <= -4.3e+142) tmp = (-1.0 / B) - t_1; elseif (F <= -0.3) tmp = (-1.0 / sin(B)) - (x / B); elseif (F <= -2.7e-267) tmp = t_0; elseif (F <= 2.4e-294) tmp = ((F / B) * (1.0 / F)) - t_1; elseif (F <= 0.27) tmp = t_0; elseif (F <= 4.3e+213) tmp = t_2 - (x / B); elseif (F <= 1.3e+288) tmp = (-1.0 / (tan(B) / x)) + (1.0 / B); else tmp = t_2; end tmp_2 = tmp; end
code[F_, B_, x_] := Block[{t$95$0 = N[(N[(N[(F * N[Sqrt[0.5], $MachinePrecision]), $MachinePrecision] - x), $MachinePrecision] / B), $MachinePrecision]}, Block[{t$95$1 = N[(x / N[Tan[B], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[F, -4.3e+142], N[(N[(-1.0 / B), $MachinePrecision] - t$95$1), $MachinePrecision], If[LessEqual[F, -0.3], N[(N[(-1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - N[(x / B), $MachinePrecision]), $MachinePrecision], If[LessEqual[F, -2.7e-267], t$95$0, If[LessEqual[F, 2.4e-294], N[(N[(N[(F / B), $MachinePrecision] * N[(1.0 / F), $MachinePrecision]), $MachinePrecision] - t$95$1), $MachinePrecision], If[LessEqual[F, 0.27], t$95$0, If[LessEqual[F, 4.3e+213], N[(t$95$2 - N[(x / B), $MachinePrecision]), $MachinePrecision], If[LessEqual[F, 1.3e+288], N[(N[(-1.0 / N[(N[Tan[B], $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision] + N[(1.0 / B), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := \frac{F \cdot \sqrt{0.5} - x}{B}\\
t_1 := \frac{x}{\tan B}\\
t_2 := \frac{1}{\sin B}\\
\mathbf{if}\;F \leq -4.3 \cdot 10^{+142}:\\
\;\;\;\;\frac{-1}{B} - t_1\\
\mathbf{elif}\;F \leq -0.3:\\
\;\;\;\;\frac{-1}{\sin B} - \frac{x}{B}\\
\mathbf{elif}\;F \leq -2.7 \cdot 10^{-267}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;F \leq 2.4 \cdot 10^{-294}:\\
\;\;\;\;\frac{F}{B} \cdot \frac{1}{F} - t_1\\
\mathbf{elif}\;F \leq 0.27:\\
\;\;\;\;t_0\\
\mathbf{elif}\;F \leq 4.3 \cdot 10^{+213}:\\
\;\;\;\;t_2 - \frac{x}{B}\\
\mathbf{elif}\;F \leq 1.3 \cdot 10^{+288}:\\
\;\;\;\;\frac{-1}{\frac{\tan B}{x}} + \frac{1}{B}\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
(FPCore (F B x)
:precision binary64
(let* ((t_0 (- (/ -1.0 B) (/ x (tan B)))) (t_1 (/ (- (* F (sqrt 0.5)) x) B)))
(if (<= F -1.05e+148)
t_0
(if (<= F -0.39)
(- (/ -1.0 (sin B)) (/ x B))
(if (<= F -2.4e-259)
t_1
(if (<= F 1.9e-295)
t_0
(if (<= F 0.58) t_1 (- (/ 1.0 (sin B)) (/ x B)))))))))
double code(double F, double B, double x) {
double t_0 = (-1.0 / B) - (x / tan(B));
double t_1 = ((F * sqrt(0.5)) - x) / B;
double tmp;
if (F <= -1.05e+148) {
tmp = t_0;
} else if (F <= -0.39) {
tmp = (-1.0 / sin(B)) - (x / B);
} else if (F <= -2.4e-259) {
tmp = t_1;
} else if (F <= 1.9e-295) {
tmp = t_0;
} else if (F <= 0.58) {
tmp = t_1;
} else {
tmp = (1.0 / sin(B)) - (x / B);
}
return tmp;
}
real(8) function code(f, b, x)
real(8), intent (in) :: f
real(8), intent (in) :: b
real(8), intent (in) :: x
real(8) :: t_0
real(8) :: t_1
real(8) :: tmp
t_0 = ((-1.0d0) / b) - (x / tan(b))
t_1 = ((f * sqrt(0.5d0)) - x) / b
if (f <= (-1.05d+148)) then
tmp = t_0
else if (f <= (-0.39d0)) then
tmp = ((-1.0d0) / sin(b)) - (x / b)
else if (f <= (-2.4d-259)) then
tmp = t_1
else if (f <= 1.9d-295) then
tmp = t_0
else if (f <= 0.58d0) then
tmp = t_1
else
tmp = (1.0d0 / sin(b)) - (x / b)
end if
code = tmp
end function
public static double code(double F, double B, double x) {
double t_0 = (-1.0 / B) - (x / Math.tan(B));
double t_1 = ((F * Math.sqrt(0.5)) - x) / B;
double tmp;
if (F <= -1.05e+148) {
tmp = t_0;
} else if (F <= -0.39) {
tmp = (-1.0 / Math.sin(B)) - (x / B);
} else if (F <= -2.4e-259) {
tmp = t_1;
} else if (F <= 1.9e-295) {
tmp = t_0;
} else if (F <= 0.58) {
tmp = t_1;
} else {
tmp = (1.0 / Math.sin(B)) - (x / B);
}
return tmp;
}
def code(F, B, x): t_0 = (-1.0 / B) - (x / math.tan(B)) t_1 = ((F * math.sqrt(0.5)) - x) / B tmp = 0 if F <= -1.05e+148: tmp = t_0 elif F <= -0.39: tmp = (-1.0 / math.sin(B)) - (x / B) elif F <= -2.4e-259: tmp = t_1 elif F <= 1.9e-295: tmp = t_0 elif F <= 0.58: tmp = t_1 else: tmp = (1.0 / math.sin(B)) - (x / B) return tmp
function code(F, B, x) t_0 = Float64(Float64(-1.0 / B) - Float64(x / tan(B))) t_1 = Float64(Float64(Float64(F * sqrt(0.5)) - x) / B) tmp = 0.0 if (F <= -1.05e+148) tmp = t_0; elseif (F <= -0.39) tmp = Float64(Float64(-1.0 / sin(B)) - Float64(x / B)); elseif (F <= -2.4e-259) tmp = t_1; elseif (F <= 1.9e-295) tmp = t_0; elseif (F <= 0.58) tmp = t_1; else tmp = Float64(Float64(1.0 / sin(B)) - Float64(x / B)); end return tmp end
function tmp_2 = code(F, B, x) t_0 = (-1.0 / B) - (x / tan(B)); t_1 = ((F * sqrt(0.5)) - x) / B; tmp = 0.0; if (F <= -1.05e+148) tmp = t_0; elseif (F <= -0.39) tmp = (-1.0 / sin(B)) - (x / B); elseif (F <= -2.4e-259) tmp = t_1; elseif (F <= 1.9e-295) tmp = t_0; elseif (F <= 0.58) tmp = t_1; else tmp = (1.0 / sin(B)) - (x / B); end tmp_2 = tmp; end
code[F_, B_, x_] := Block[{t$95$0 = N[(N[(-1.0 / B), $MachinePrecision] - N[(x / N[Tan[B], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(N[(N[(F * N[Sqrt[0.5], $MachinePrecision]), $MachinePrecision] - x), $MachinePrecision] / B), $MachinePrecision]}, If[LessEqual[F, -1.05e+148], t$95$0, If[LessEqual[F, -0.39], N[(N[(-1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - N[(x / B), $MachinePrecision]), $MachinePrecision], If[LessEqual[F, -2.4e-259], t$95$1, If[LessEqual[F, 1.9e-295], t$95$0, If[LessEqual[F, 0.58], t$95$1, N[(N[(1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - N[(x / B), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_0 := \frac{-1}{B} - \frac{x}{\tan B}\\
t_1 := \frac{F \cdot \sqrt{0.5} - x}{B}\\
\mathbf{if}\;F \leq -1.05 \cdot 10^{+148}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;F \leq -0.39:\\
\;\;\;\;\frac{-1}{\sin B} - \frac{x}{B}\\
\mathbf{elif}\;F \leq -2.4 \cdot 10^{-259}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;F \leq 1.9 \cdot 10^{-295}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;F \leq 0.58:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\sin B} - \frac{x}{B}\\
\end{array}
\end{array}
(FPCore (F B x)
:precision binary64
(if (<= F -2.3e-31)
(+ (/ (- -1.0 x) B) (* B (- (* x 0.3333333333333333) 0.16666666666666666)))
(if (<= F 1.1e-7)
(- (/ x B))
(if (or (<= F 3.6e+75) (not (<= F 1.45e+289)))
(/ 1.0 (sin B))
(+ (* B 0.16666666666666666) (/ (- 1.0 x) B))))))
double code(double F, double B, double x) {
double tmp;
if (F <= -2.3e-31) {
tmp = ((-1.0 - x) / B) + (B * ((x * 0.3333333333333333) - 0.16666666666666666));
} else if (F <= 1.1e-7) {
tmp = -(x / B);
} else if ((F <= 3.6e+75) || !(F <= 1.45e+289)) {
tmp = 1.0 / sin(B);
} else {
tmp = (B * 0.16666666666666666) + ((1.0 - x) / B);
}
return tmp;
}
real(8) function code(f, b, x)
real(8), intent (in) :: f
real(8), intent (in) :: b
real(8), intent (in) :: x
real(8) :: tmp
if (f <= (-2.3d-31)) then
tmp = (((-1.0d0) - x) / b) + (b * ((x * 0.3333333333333333d0) - 0.16666666666666666d0))
else if (f <= 1.1d-7) then
tmp = -(x / b)
else if ((f <= 3.6d+75) .or. (.not. (f <= 1.45d+289))) then
tmp = 1.0d0 / sin(b)
else
tmp = (b * 0.16666666666666666d0) + ((1.0d0 - x) / b)
end if
code = tmp
end function
public static double code(double F, double B, double x) {
double tmp;
if (F <= -2.3e-31) {
tmp = ((-1.0 - x) / B) + (B * ((x * 0.3333333333333333) - 0.16666666666666666));
} else if (F <= 1.1e-7) {
tmp = -(x / B);
} else if ((F <= 3.6e+75) || !(F <= 1.45e+289)) {
tmp = 1.0 / Math.sin(B);
} else {
tmp = (B * 0.16666666666666666) + ((1.0 - x) / B);
}
return tmp;
}
def code(F, B, x): tmp = 0 if F <= -2.3e-31: tmp = ((-1.0 - x) / B) + (B * ((x * 0.3333333333333333) - 0.16666666666666666)) elif F <= 1.1e-7: tmp = -(x / B) elif (F <= 3.6e+75) or not (F <= 1.45e+289): tmp = 1.0 / math.sin(B) else: tmp = (B * 0.16666666666666666) + ((1.0 - x) / B) return tmp
function code(F, B, x) tmp = 0.0 if (F <= -2.3e-31) tmp = Float64(Float64(Float64(-1.0 - x) / B) + Float64(B * Float64(Float64(x * 0.3333333333333333) - 0.16666666666666666))); elseif (F <= 1.1e-7) tmp = Float64(-Float64(x / B)); elseif ((F <= 3.6e+75) || !(F <= 1.45e+289)) tmp = Float64(1.0 / sin(B)); else tmp = Float64(Float64(B * 0.16666666666666666) + Float64(Float64(1.0 - x) / B)); end return tmp end
function tmp_2 = code(F, B, x) tmp = 0.0; if (F <= -2.3e-31) tmp = ((-1.0 - x) / B) + (B * ((x * 0.3333333333333333) - 0.16666666666666666)); elseif (F <= 1.1e-7) tmp = -(x / B); elseif ((F <= 3.6e+75) || ~((F <= 1.45e+289))) tmp = 1.0 / sin(B); else tmp = (B * 0.16666666666666666) + ((1.0 - x) / B); end tmp_2 = tmp; end
code[F_, B_, x_] := If[LessEqual[F, -2.3e-31], N[(N[(N[(-1.0 - x), $MachinePrecision] / B), $MachinePrecision] + N[(B * N[(N[(x * 0.3333333333333333), $MachinePrecision] - 0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[F, 1.1e-7], (-N[(x / B), $MachinePrecision]), If[Or[LessEqual[F, 3.6e+75], N[Not[LessEqual[F, 1.45e+289]], $MachinePrecision]], N[(1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision], N[(N[(B * 0.16666666666666666), $MachinePrecision] + N[(N[(1.0 - x), $MachinePrecision] / B), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;F \leq -2.3 \cdot 10^{-31}:\\
\;\;\;\;\frac{-1 - x}{B} + B \cdot \left(x \cdot 0.3333333333333333 - 0.16666666666666666\right)\\
\mathbf{elif}\;F \leq 1.1 \cdot 10^{-7}:\\
\;\;\;\;-\frac{x}{B}\\
\mathbf{elif}\;F \leq 3.6 \cdot 10^{+75} \lor \neg \left(F \leq 1.45 \cdot 10^{+289}\right):\\
\;\;\;\;\frac{1}{\sin B}\\
\mathbf{else}:\\
\;\;\;\;B \cdot 0.16666666666666666 + \frac{1 - x}{B}\\
\end{array}
\end{array}
(FPCore (F B x)
:precision binary64
(if (<= F -1.2e-31)
(- (/ -1.0 (sin B)) (/ x B))
(if (<= F 1.15e-7)
(- (/ x B))
(if (or (<= F 1e+75) (not (<= F 2.15e+285)))
(/ 1.0 (sin B))
(+ (* B 0.16666666666666666) (/ (- 1.0 x) B))))))
double code(double F, double B, double x) {
double tmp;
if (F <= -1.2e-31) {
tmp = (-1.0 / sin(B)) - (x / B);
} else if (F <= 1.15e-7) {
tmp = -(x / B);
} else if ((F <= 1e+75) || !(F <= 2.15e+285)) {
tmp = 1.0 / sin(B);
} else {
tmp = (B * 0.16666666666666666) + ((1.0 - x) / B);
}
return tmp;
}
real(8) function code(f, b, x)
real(8), intent (in) :: f
real(8), intent (in) :: b
real(8), intent (in) :: x
real(8) :: tmp
if (f <= (-1.2d-31)) then
tmp = ((-1.0d0) / sin(b)) - (x / b)
else if (f <= 1.15d-7) then
tmp = -(x / b)
else if ((f <= 1d+75) .or. (.not. (f <= 2.15d+285))) then
tmp = 1.0d0 / sin(b)
else
tmp = (b * 0.16666666666666666d0) + ((1.0d0 - x) / b)
end if
code = tmp
end function
public static double code(double F, double B, double x) {
double tmp;
if (F <= -1.2e-31) {
tmp = (-1.0 / Math.sin(B)) - (x / B);
} else if (F <= 1.15e-7) {
tmp = -(x / B);
} else if ((F <= 1e+75) || !(F <= 2.15e+285)) {
tmp = 1.0 / Math.sin(B);
} else {
tmp = (B * 0.16666666666666666) + ((1.0 - x) / B);
}
return tmp;
}
def code(F, B, x): tmp = 0 if F <= -1.2e-31: tmp = (-1.0 / math.sin(B)) - (x / B) elif F <= 1.15e-7: tmp = -(x / B) elif (F <= 1e+75) or not (F <= 2.15e+285): tmp = 1.0 / math.sin(B) else: tmp = (B * 0.16666666666666666) + ((1.0 - x) / B) return tmp
function code(F, B, x) tmp = 0.0 if (F <= -1.2e-31) tmp = Float64(Float64(-1.0 / sin(B)) - Float64(x / B)); elseif (F <= 1.15e-7) tmp = Float64(-Float64(x / B)); elseif ((F <= 1e+75) || !(F <= 2.15e+285)) tmp = Float64(1.0 / sin(B)); else tmp = Float64(Float64(B * 0.16666666666666666) + Float64(Float64(1.0 - x) / B)); end return tmp end
function tmp_2 = code(F, B, x) tmp = 0.0; if (F <= -1.2e-31) tmp = (-1.0 / sin(B)) - (x / B); elseif (F <= 1.15e-7) tmp = -(x / B); elseif ((F <= 1e+75) || ~((F <= 2.15e+285))) tmp = 1.0 / sin(B); else tmp = (B * 0.16666666666666666) + ((1.0 - x) / B); end tmp_2 = tmp; end
code[F_, B_, x_] := If[LessEqual[F, -1.2e-31], N[(N[(-1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - N[(x / B), $MachinePrecision]), $MachinePrecision], If[LessEqual[F, 1.15e-7], (-N[(x / B), $MachinePrecision]), If[Or[LessEqual[F, 1e+75], N[Not[LessEqual[F, 2.15e+285]], $MachinePrecision]], N[(1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision], N[(N[(B * 0.16666666666666666), $MachinePrecision] + N[(N[(1.0 - x), $MachinePrecision] / B), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;F \leq -1.2 \cdot 10^{-31}:\\
\;\;\;\;\frac{-1}{\sin B} - \frac{x}{B}\\
\mathbf{elif}\;F \leq 1.15 \cdot 10^{-7}:\\
\;\;\;\;-\frac{x}{B}\\
\mathbf{elif}\;F \leq 10^{+75} \lor \neg \left(F \leq 2.15 \cdot 10^{+285}\right):\\
\;\;\;\;\frac{1}{\sin B}\\
\mathbf{else}:\\
\;\;\;\;B \cdot 0.16666666666666666 + \frac{1 - x}{B}\\
\end{array}
\end{array}
(FPCore (F B x) :precision binary64 (if (<= F -5.8e-32) (- (/ -1.0 (sin B)) (/ x B)) (if (<= F 1.75e-122) (- (/ x B)) (- (/ 1.0 (sin B)) (/ x B)))))
double code(double F, double B, double x) {
double tmp;
if (F <= -5.8e-32) {
tmp = (-1.0 / sin(B)) - (x / B);
} else if (F <= 1.75e-122) {
tmp = -(x / B);
} else {
tmp = (1.0 / sin(B)) - (x / B);
}
return tmp;
}
real(8) function code(f, b, x)
real(8), intent (in) :: f
real(8), intent (in) :: b
real(8), intent (in) :: x
real(8) :: tmp
if (f <= (-5.8d-32)) then
tmp = ((-1.0d0) / sin(b)) - (x / b)
else if (f <= 1.75d-122) then
tmp = -(x / b)
else
tmp = (1.0d0 / sin(b)) - (x / b)
end if
code = tmp
end function
public static double code(double F, double B, double x) {
double tmp;
if (F <= -5.8e-32) {
tmp = (-1.0 / Math.sin(B)) - (x / B);
} else if (F <= 1.75e-122) {
tmp = -(x / B);
} else {
tmp = (1.0 / Math.sin(B)) - (x / B);
}
return tmp;
}
def code(F, B, x): tmp = 0 if F <= -5.8e-32: tmp = (-1.0 / math.sin(B)) - (x / B) elif F <= 1.75e-122: tmp = -(x / B) else: tmp = (1.0 / math.sin(B)) - (x / B) return tmp
function code(F, B, x) tmp = 0.0 if (F <= -5.8e-32) tmp = Float64(Float64(-1.0 / sin(B)) - Float64(x / B)); elseif (F <= 1.75e-122) tmp = Float64(-Float64(x / B)); else tmp = Float64(Float64(1.0 / sin(B)) - Float64(x / B)); end return tmp end
function tmp_2 = code(F, B, x) tmp = 0.0; if (F <= -5.8e-32) tmp = (-1.0 / sin(B)) - (x / B); elseif (F <= 1.75e-122) tmp = -(x / B); else tmp = (1.0 / sin(B)) - (x / B); end tmp_2 = tmp; end
code[F_, B_, x_] := If[LessEqual[F, -5.8e-32], N[(N[(-1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - N[(x / B), $MachinePrecision]), $MachinePrecision], If[LessEqual[F, 1.75e-122], (-N[(x / B), $MachinePrecision]), N[(N[(1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - N[(x / B), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;F \leq -5.8 \cdot 10^{-32}:\\
\;\;\;\;\frac{-1}{\sin B} - \frac{x}{B}\\
\mathbf{elif}\;F \leq 1.75 \cdot 10^{-122}:\\
\;\;\;\;-\frac{x}{B}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\sin B} - \frac{x}{B}\\
\end{array}
\end{array}
(FPCore (F B x) :precision binary64 (if (<= F -0.38) (- (/ -1.0 (sin B)) (/ x B)) (if (<= F 0.135) (/ (- (* F (sqrt 0.5)) x) B) (- (/ 1.0 (sin B)) (/ x B)))))
double code(double F, double B, double x) {
double tmp;
if (F <= -0.38) {
tmp = (-1.0 / sin(B)) - (x / B);
} else if (F <= 0.135) {
tmp = ((F * sqrt(0.5)) - x) / B;
} else {
tmp = (1.0 / sin(B)) - (x / B);
}
return tmp;
}
real(8) function code(f, b, x)
real(8), intent (in) :: f
real(8), intent (in) :: b
real(8), intent (in) :: x
real(8) :: tmp
if (f <= (-0.38d0)) then
tmp = ((-1.0d0) / sin(b)) - (x / b)
else if (f <= 0.135d0) then
tmp = ((f * sqrt(0.5d0)) - x) / b
else
tmp = (1.0d0 / sin(b)) - (x / b)
end if
code = tmp
end function
public static double code(double F, double B, double x) {
double tmp;
if (F <= -0.38) {
tmp = (-1.0 / Math.sin(B)) - (x / B);
} else if (F <= 0.135) {
tmp = ((F * Math.sqrt(0.5)) - x) / B;
} else {
tmp = (1.0 / Math.sin(B)) - (x / B);
}
return tmp;
}
def code(F, B, x): tmp = 0 if F <= -0.38: tmp = (-1.0 / math.sin(B)) - (x / B) elif F <= 0.135: tmp = ((F * math.sqrt(0.5)) - x) / B else: tmp = (1.0 / math.sin(B)) - (x / B) return tmp
function code(F, B, x) tmp = 0.0 if (F <= -0.38) tmp = Float64(Float64(-1.0 / sin(B)) - Float64(x / B)); elseif (F <= 0.135) tmp = Float64(Float64(Float64(F * sqrt(0.5)) - x) / B); else tmp = Float64(Float64(1.0 / sin(B)) - Float64(x / B)); end return tmp end
function tmp_2 = code(F, B, x) tmp = 0.0; if (F <= -0.38) tmp = (-1.0 / sin(B)) - (x / B); elseif (F <= 0.135) tmp = ((F * sqrt(0.5)) - x) / B; else tmp = (1.0 / sin(B)) - (x / B); end tmp_2 = tmp; end
code[F_, B_, x_] := If[LessEqual[F, -0.38], N[(N[(-1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - N[(x / B), $MachinePrecision]), $MachinePrecision], If[LessEqual[F, 0.135], N[(N[(N[(F * N[Sqrt[0.5], $MachinePrecision]), $MachinePrecision] - x), $MachinePrecision] / B), $MachinePrecision], N[(N[(1.0 / N[Sin[B], $MachinePrecision]), $MachinePrecision] - N[(x / B), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;F \leq -0.38:\\
\;\;\;\;\frac{-1}{\sin B} - \frac{x}{B}\\
\mathbf{elif}\;F \leq 0.135:\\
\;\;\;\;\frac{F \cdot \sqrt{0.5} - x}{B}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\sin B} - \frac{x}{B}\\
\end{array}
\end{array}
(FPCore (F B x)
:precision binary64
(if (<= F -7.7e-31)
(+ (/ (- -1.0 x) B) (* B (- (* x 0.3333333333333333) 0.16666666666666666)))
(if (<= F 1.9e-121)
(- (/ x B))
(+ (* B 0.16666666666666666) (/ (- 1.0 x) B)))))
double code(double F, double B, double x) {
double tmp;
if (F <= -7.7e-31) {
tmp = ((-1.0 - x) / B) + (B * ((x * 0.3333333333333333) - 0.16666666666666666));
} else if (F <= 1.9e-121) {
tmp = -(x / B);
} else {
tmp = (B * 0.16666666666666666) + ((1.0 - x) / B);
}
return tmp;
}
real(8) function code(f, b, x)
real(8), intent (in) :: f
real(8), intent (in) :: b
real(8), intent (in) :: x
real(8) :: tmp
if (f <= (-7.7d-31)) then
tmp = (((-1.0d0) - x) / b) + (b * ((x * 0.3333333333333333d0) - 0.16666666666666666d0))
else if (f <= 1.9d-121) then
tmp = -(x / b)
else
tmp = (b * 0.16666666666666666d0) + ((1.0d0 - x) / b)
end if
code = tmp
end function
public static double code(double F, double B, double x) {
double tmp;
if (F <= -7.7e-31) {
tmp = ((-1.0 - x) / B) + (B * ((x * 0.3333333333333333) - 0.16666666666666666));
} else if (F <= 1.9e-121) {
tmp = -(x / B);
} else {
tmp = (B * 0.16666666666666666) + ((1.0 - x) / B);
}
return tmp;
}
def code(F, B, x): tmp = 0 if F <= -7.7e-31: tmp = ((-1.0 - x) / B) + (B * ((x * 0.3333333333333333) - 0.16666666666666666)) elif F <= 1.9e-121: tmp = -(x / B) else: tmp = (B * 0.16666666666666666) + ((1.0 - x) / B) return tmp
function code(F, B, x) tmp = 0.0 if (F <= -7.7e-31) tmp = Float64(Float64(Float64(-1.0 - x) / B) + Float64(B * Float64(Float64(x * 0.3333333333333333) - 0.16666666666666666))); elseif (F <= 1.9e-121) tmp = Float64(-Float64(x / B)); else tmp = Float64(Float64(B * 0.16666666666666666) + Float64(Float64(1.0 - x) / B)); end return tmp end
function tmp_2 = code(F, B, x) tmp = 0.0; if (F <= -7.7e-31) tmp = ((-1.0 - x) / B) + (B * ((x * 0.3333333333333333) - 0.16666666666666666)); elseif (F <= 1.9e-121) tmp = -(x / B); else tmp = (B * 0.16666666666666666) + ((1.0 - x) / B); end tmp_2 = tmp; end
code[F_, B_, x_] := If[LessEqual[F, -7.7e-31], N[(N[(N[(-1.0 - x), $MachinePrecision] / B), $MachinePrecision] + N[(B * N[(N[(x * 0.3333333333333333), $MachinePrecision] - 0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[F, 1.9e-121], (-N[(x / B), $MachinePrecision]), N[(N[(B * 0.16666666666666666), $MachinePrecision] + N[(N[(1.0 - x), $MachinePrecision] / B), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;F \leq -7.7 \cdot 10^{-31}:\\
\;\;\;\;\frac{-1 - x}{B} + B \cdot \left(x \cdot 0.3333333333333333 - 0.16666666666666666\right)\\
\mathbf{elif}\;F \leq 1.9 \cdot 10^{-121}:\\
\;\;\;\;-\frac{x}{B}\\
\mathbf{else}:\\
\;\;\;\;B \cdot 0.16666666666666666 + \frac{1 - x}{B}\\
\end{array}
\end{array}
(FPCore (F B x)
:precision binary64
(if (<= F -3.15e-34)
(/ (- -1.0 x) B)
(if (<= F 1.9e-121)
(- (/ x B))
(+ (* B 0.16666666666666666) (/ (- 1.0 x) B)))))
double code(double F, double B, double x) {
double tmp;
if (F <= -3.15e-34) {
tmp = (-1.0 - x) / B;
} else if (F <= 1.9e-121) {
tmp = -(x / B);
} else {
tmp = (B * 0.16666666666666666) + ((1.0 - x) / B);
}
return tmp;
}
real(8) function code(f, b, x)
real(8), intent (in) :: f
real(8), intent (in) :: b
real(8), intent (in) :: x
real(8) :: tmp
if (f <= (-3.15d-34)) then
tmp = ((-1.0d0) - x) / b
else if (f <= 1.9d-121) then
tmp = -(x / b)
else
tmp = (b * 0.16666666666666666d0) + ((1.0d0 - x) / b)
end if
code = tmp
end function
public static double code(double F, double B, double x) {
double tmp;
if (F <= -3.15e-34) {
tmp = (-1.0 - x) / B;
} else if (F <= 1.9e-121) {
tmp = -(x / B);
} else {
tmp = (B * 0.16666666666666666) + ((1.0 - x) / B);
}
return tmp;
}
def code(F, B, x): tmp = 0 if F <= -3.15e-34: tmp = (-1.0 - x) / B elif F <= 1.9e-121: tmp = -(x / B) else: tmp = (B * 0.16666666666666666) + ((1.0 - x) / B) return tmp
function code(F, B, x) tmp = 0.0 if (F <= -3.15e-34) tmp = Float64(Float64(-1.0 - x) / B); elseif (F <= 1.9e-121) tmp = Float64(-Float64(x / B)); else tmp = Float64(Float64(B * 0.16666666666666666) + Float64(Float64(1.0 - x) / B)); end return tmp end
function tmp_2 = code(F, B, x) tmp = 0.0; if (F <= -3.15e-34) tmp = (-1.0 - x) / B; elseif (F <= 1.9e-121) tmp = -(x / B); else tmp = (B * 0.16666666666666666) + ((1.0 - x) / B); end tmp_2 = tmp; end
code[F_, B_, x_] := If[LessEqual[F, -3.15e-34], N[(N[(-1.0 - x), $MachinePrecision] / B), $MachinePrecision], If[LessEqual[F, 1.9e-121], (-N[(x / B), $MachinePrecision]), N[(N[(B * 0.16666666666666666), $MachinePrecision] + N[(N[(1.0 - x), $MachinePrecision] / B), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;F \leq -3.15 \cdot 10^{-34}:\\
\;\;\;\;\frac{-1 - x}{B}\\
\mathbf{elif}\;F \leq 1.9 \cdot 10^{-121}:\\
\;\;\;\;-\frac{x}{B}\\
\mathbf{else}:\\
\;\;\;\;B \cdot 0.16666666666666666 + \frac{1 - x}{B}\\
\end{array}
\end{array}
(FPCore (F B x) :precision binary64 (if (<= F -1.7e-32) (/ (- -1.0 x) B) (if (<= F 1.9e-121) (- (/ x B)) (/ (- 1.0 x) B))))
double code(double F, double B, double x) {
double tmp;
if (F <= -1.7e-32) {
tmp = (-1.0 - x) / B;
} else if (F <= 1.9e-121) {
tmp = -(x / B);
} else {
tmp = (1.0 - x) / B;
}
return tmp;
}
real(8) function code(f, b, x)
real(8), intent (in) :: f
real(8), intent (in) :: b
real(8), intent (in) :: x
real(8) :: tmp
if (f <= (-1.7d-32)) then
tmp = ((-1.0d0) - x) / b
else if (f <= 1.9d-121) then
tmp = -(x / b)
else
tmp = (1.0d0 - x) / b
end if
code = tmp
end function
public static double code(double F, double B, double x) {
double tmp;
if (F <= -1.7e-32) {
tmp = (-1.0 - x) / B;
} else if (F <= 1.9e-121) {
tmp = -(x / B);
} else {
tmp = (1.0 - x) / B;
}
return tmp;
}
def code(F, B, x): tmp = 0 if F <= -1.7e-32: tmp = (-1.0 - x) / B elif F <= 1.9e-121: tmp = -(x / B) else: tmp = (1.0 - x) / B return tmp
function code(F, B, x) tmp = 0.0 if (F <= -1.7e-32) tmp = Float64(Float64(-1.0 - x) / B); elseif (F <= 1.9e-121) tmp = Float64(-Float64(x / B)); else tmp = Float64(Float64(1.0 - x) / B); end return tmp end
function tmp_2 = code(F, B, x) tmp = 0.0; if (F <= -1.7e-32) tmp = (-1.0 - x) / B; elseif (F <= 1.9e-121) tmp = -(x / B); else tmp = (1.0 - x) / B; end tmp_2 = tmp; end
code[F_, B_, x_] := If[LessEqual[F, -1.7e-32], N[(N[(-1.0 - x), $MachinePrecision] / B), $MachinePrecision], If[LessEqual[F, 1.9e-121], (-N[(x / B), $MachinePrecision]), N[(N[(1.0 - x), $MachinePrecision] / B), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;F \leq -1.7 \cdot 10^{-32}:\\
\;\;\;\;\frac{-1 - x}{B}\\
\mathbf{elif}\;F \leq 1.9 \cdot 10^{-121}:\\
\;\;\;\;-\frac{x}{B}\\
\mathbf{else}:\\
\;\;\;\;\frac{1 - x}{B}\\
\end{array}
\end{array}
(FPCore (F B x) :precision binary64 (if (<= F 1.9e-121) (- (/ x B)) (/ (- 1.0 x) B)))
double code(double F, double B, double x) {
double tmp;
if (F <= 1.9e-121) {
tmp = -(x / B);
} else {
tmp = (1.0 - x) / B;
}
return tmp;
}
real(8) function code(f, b, x)
real(8), intent (in) :: f
real(8), intent (in) :: b
real(8), intent (in) :: x
real(8) :: tmp
if (f <= 1.9d-121) then
tmp = -(x / b)
else
tmp = (1.0d0 - x) / b
end if
code = tmp
end function
public static double code(double F, double B, double x) {
double tmp;
if (F <= 1.9e-121) {
tmp = -(x / B);
} else {
tmp = (1.0 - x) / B;
}
return tmp;
}
def code(F, B, x): tmp = 0 if F <= 1.9e-121: tmp = -(x / B) else: tmp = (1.0 - x) / B return tmp
function code(F, B, x) tmp = 0.0 if (F <= 1.9e-121) tmp = Float64(-Float64(x / B)); else tmp = Float64(Float64(1.0 - x) / B); end return tmp end
function tmp_2 = code(F, B, x) tmp = 0.0; if (F <= 1.9e-121) tmp = -(x / B); else tmp = (1.0 - x) / B; end tmp_2 = tmp; end
code[F_, B_, x_] := If[LessEqual[F, 1.9e-121], (-N[(x / B), $MachinePrecision]), N[(N[(1.0 - x), $MachinePrecision] / B), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;F \leq 1.9 \cdot 10^{-121}:\\
\;\;\;\;-\frac{x}{B}\\
\mathbf{else}:\\
\;\;\;\;\frac{1 - x}{B}\\
\end{array}
\end{array}
(FPCore (F B x) :precision binary64 (- (/ x B)))
double code(double F, double B, double x) {
return -(x / B);
}
real(8) function code(f, b, x)
real(8), intent (in) :: f
real(8), intent (in) :: b
real(8), intent (in) :: x
code = -(x / b)
end function
public static double code(double F, double B, double x) {
return -(x / B);
}
def code(F, B, x): return -(x / B)
function code(F, B, x) return Float64(-Float64(x / B)) end
function tmp = code(F, B, x) tmp = -(x / B); end
code[F_, B_, x_] := (-N[(x / B), $MachinePrecision])
\begin{array}{l}
\\
-\frac{x}{B}
\end{array}
herbie shell --seed 2023347
(FPCore (F B x)
:name "VandenBroeck and Keller, Equation (23)"
:precision binary64
(+ (- (* x (/ 1.0 (tan B)))) (* (/ F (sin B)) (pow (+ (+ (* F F) 2.0) (* 2.0 x)) (- (/ 1.0 2.0))))))