forward-u-atan

Specification

?
\[ArB \cdot \tan^{-1}_* \frac{S \cdot cosgam + \sin \left(B \cdot lam\right) \cdot singam}{\cos \left(B \cdot lam\right)} \]
(FPCore (S B lam cosgam singam ArB)
  :precision binary64
  :pre TRUE
  (*
 ArB
 (atan2 (+ (* S cosgam) (* (sin (* B lam)) singam)) (cos (* B lam)))))
double code(double S, double B, double lam, double cosgam, double singam, double ArB) {
	return ArB * atan2(((S * cosgam) + (sin((B * lam)) * singam)), cos((B * lam)));
}
real(8) function code(s, b, lam, cosgam, singam, arb)
use fmin_fmax_functions
    real(8), intent (in) :: s
    real(8), intent (in) :: b
    real(8), intent (in) :: lam
    real(8), intent (in) :: cosgam
    real(8), intent (in) :: singam
    real(8), intent (in) :: arb
    code = arb * atan2(((s * cosgam) + (sin((b * lam)) * singam)), cos((b * lam)))
end function
public static double code(double S, double B, double lam, double cosgam, double singam, double ArB) {
	return ArB * Math.atan2(((S * cosgam) + (Math.sin((B * lam)) * singam)), Math.cos((B * lam)));
}
def code(S, B, lam, cosgam, singam, ArB):
	return ArB * math.atan2(((S * cosgam) + (math.sin((B * lam)) * singam)), math.cos((B * lam)))
function code(S, B, lam, cosgam, singam, ArB)
	return Float64(ArB * atan(Float64(Float64(S * cosgam) + Float64(sin(Float64(B * lam)) * singam)), cos(Float64(B * lam))))
end
function tmp = code(S, B, lam, cosgam, singam, ArB)
	tmp = ArB * atan2(((S * cosgam) + (sin((B * lam)) * singam)), cos((B * lam)));
end
code[S_, B_, lam_, cosgam_, singam_, ArB_] := N[(ArB * N[ArcTan[N[(N[(S * cosgam), $MachinePrecision] + N[(N[Sin[N[(B * lam), $MachinePrecision]], $MachinePrecision] * singam), $MachinePrecision]), $MachinePrecision] / N[Cos[N[(B * lam), $MachinePrecision]], $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
ArB \cdot \tan^{-1}_* \frac{S \cdot cosgam + \sin \left(B \cdot lam\right) \cdot singam}{\cos \left(B \cdot lam\right)}

Timeout after 2.5min

Use the --timeout flag to change the timeout.