forward-phipp

Specification

?
\[\sin^{-1} \left(cosp0 \cdot \sin phip - sinp0 \cdot \left(\cos phip \cdot \cos lamp\right)\right) \]
(FPCore (phip cosp0 sinp0 lamp)
  :precision binary64
  :pre TRUE
  (asin (- (* cosp0 (sin phip)) (* sinp0 (* (cos phip) (cos lamp))))))
double code(double phip, double cosp0, double sinp0, double lamp) {
	return asin(((cosp0 * sin(phip)) - (sinp0 * (cos(phip) * cos(lamp)))));
}
real(8) function code(phip, cosp0, sinp0, lamp)
use fmin_fmax_functions
    real(8), intent (in) :: phip
    real(8), intent (in) :: cosp0
    real(8), intent (in) :: sinp0
    real(8), intent (in) :: lamp
    code = asin(((cosp0 * sin(phip)) - (sinp0 * (cos(phip) * cos(lamp)))))
end function
public static double code(double phip, double cosp0, double sinp0, double lamp) {
	return Math.asin(((cosp0 * Math.sin(phip)) - (sinp0 * (Math.cos(phip) * Math.cos(lamp)))));
}
def code(phip, cosp0, sinp0, lamp):
	return math.asin(((cosp0 * math.sin(phip)) - (sinp0 * (math.cos(phip) * math.cos(lamp)))))
function code(phip, cosp0, sinp0, lamp)
	return asin(Float64(Float64(cosp0 * sin(phip)) - Float64(sinp0 * Float64(cos(phip) * cos(lamp)))))
end
function tmp = code(phip, cosp0, sinp0, lamp)
	tmp = asin(((cosp0 * sin(phip)) - (sinp0 * (cos(phip) * cos(lamp)))));
end
code[phip_, cosp0_, sinp0_, lamp_] := N[ArcSin[N[(N[(cosp0 * N[Sin[phip], $MachinePrecision]), $MachinePrecision] - N[(sinp0 * N[(N[Cos[phip], $MachinePrecision] * N[Cos[lamp], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]
f(phip, cosp0, sinp0, lamp):
	phip in [-inf, +inf],
	cosp0 in [-inf, +inf],
	sinp0 in [-inf, +inf],
	lamp in [-inf, +inf]
code: THEORY
BEGIN
f(phip, cosp0, sinp0, lamp: real): real =
	asin(((cosp0 * (sin(phip))) - (sinp0 * ((cos(phip)) * (cos(lamp))))))
END code
\sin^{-1} \left(cosp0 \cdot \sin phip - sinp0 \cdot \left(\cos phip \cdot \cos lamp\right)\right)

Timeout after 2.5min

Use the --timeout flag to change the timeout.