init-D

Specification

?
\[\left(\left(es \geq 0 \land es < 1\right) \land one\_es > 0\right) \land com > 0\]
\[\begin{array}{l} t_0 := \cos phi0 \cdot \cos phi0\\ \frac{\sqrt{1 + \frac{es \cdot \left(t\_0 \cdot t\_0\right)}{one\_es}} \cdot com}{\cos phi0 \cdot \sqrt{1 - es \cdot \left(\sin phi0 \cdot \sin phi0\right)}} \end{array} \]
(FPCore (phi0 es one_es com)
  :precision binary64
  :pre (and (and (and (>= es 0.0) (< es 1.0)) (> one_es 0.0))
     (> com 0.0))
  (let* ((t_0 (* (cos phi0) (cos phi0))))
  (/
   (* (sqrt (+ 1.0 (/ (* es (* t_0 t_0)) one_es))) com)
   (* (cos phi0) (sqrt (- 1.0 (* es (* (sin phi0) (sin phi0)))))))))
double code(double phi0, double es, double one_es, double com) {
	double t_0 = cos(phi0) * cos(phi0);
	return (sqrt((1.0 + ((es * (t_0 * t_0)) / one_es))) * com) / (cos(phi0) * sqrt((1.0 - (es * (sin(phi0) * sin(phi0))))));
}
real(8) function code(phi0, es, one_es, com)
use fmin_fmax_functions
    real(8), intent (in) :: phi0
    real(8), intent (in) :: es
    real(8), intent (in) :: one_es
    real(8), intent (in) :: com
    real(8) :: t_0
    t_0 = cos(phi0) * cos(phi0)
    code = (sqrt((1.0d0 + ((es * (t_0 * t_0)) / one_es))) * com) / (cos(phi0) * sqrt((1.0d0 - (es * (sin(phi0) * sin(phi0))))))
end function
public static double code(double phi0, double es, double one_es, double com) {
	double t_0 = Math.cos(phi0) * Math.cos(phi0);
	return (Math.sqrt((1.0 + ((es * (t_0 * t_0)) / one_es))) * com) / (Math.cos(phi0) * Math.sqrt((1.0 - (es * (Math.sin(phi0) * Math.sin(phi0))))));
}
def code(phi0, es, one_es, com):
	t_0 = math.cos(phi0) * math.cos(phi0)
	return (math.sqrt((1.0 + ((es * (t_0 * t_0)) / one_es))) * com) / (math.cos(phi0) * math.sqrt((1.0 - (es * (math.sin(phi0) * math.sin(phi0))))))
function code(phi0, es, one_es, com)
	t_0 = Float64(cos(phi0) * cos(phi0))
	return Float64(Float64(sqrt(Float64(1.0 + Float64(Float64(es * Float64(t_0 * t_0)) / one_es))) * com) / Float64(cos(phi0) * sqrt(Float64(1.0 - Float64(es * Float64(sin(phi0) * sin(phi0)))))))
end
function tmp = code(phi0, es, one_es, com)
	t_0 = cos(phi0) * cos(phi0);
	tmp = (sqrt((1.0 + ((es * (t_0 * t_0)) / one_es))) * com) / (cos(phi0) * sqrt((1.0 - (es * (sin(phi0) * sin(phi0))))));
end
code[phi0_, es_, one$95$es_, com_] := Block[{t$95$0 = N[(N[Cos[phi0], $MachinePrecision] * N[Cos[phi0], $MachinePrecision]), $MachinePrecision]}, N[(N[(N[Sqrt[N[(1.0 + N[(N[(es * N[(t$95$0 * t$95$0), $MachinePrecision]), $MachinePrecision] / one$95$es), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] * com), $MachinePrecision] / N[(N[Cos[phi0], $MachinePrecision] * N[Sqrt[N[(1.0 - N[(es * N[(N[Sin[phi0], $MachinePrecision] * N[Sin[phi0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
f(phi0, es, one_es, com):
	phi0 in [-inf, +inf],
	es in [0, 1],
	one_es in [0, +inf],
	com in [0, +inf]
code: THEORY
BEGIN
f(phi0, es, one_es, com: real): real =
	LET t_0 = ((cos(phi0)) * (cos(phi0))) IN
	((sqrt(((1) + ((es * (t_0 * t_0)) / one_es)))) * com) / ((cos(phi0)) * (sqrt(((1) - (es * ((sin(phi0)) * (sin(phi0))))))))
END code
\begin{array}{l}
t_0 := \cos phi0 \cdot \cos phi0\\
\frac{\sqrt{1 + \frac{es \cdot \left(t\_0 \cdot t\_0\right)}{one\_es}} \cdot com}{\cos phi0 \cdot \sqrt{1 - es \cdot \left(\sin phi0 \cdot \sin phi0\right)}}
\end{array}

Timeout after 2.5min

Use the --timeout flag to change the timeout.