inverse-phip

Specification

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

Timeout after 2.5min

Use the --timeout flag to change the timeout.