\[2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)
\]
↓
\[\begin{array}{l}
t_0 := 0.3333333333333333 \cdot \cos^{-1} \left(\frac{-g}{h}\right)\\
t_1 := \cos t_0\\
t_2 := \sin t_0\\
t_3 := \cos \left(0.6666666666666666 \cdot \pi\right)\\
t_4 := t_3 \cdot t_1\\
t_5 := \sin \left(0.6666666666666666 \cdot \pi\right)\\
t_6 := t_2 \cdot t_5\\
2 \cdot \frac{{t_4}^{3} - {t_6}^{3}}{\mathsf{fma}\left(t_6, \mathsf{fma}\left(t_2, \mathsf{expm1}\left(\mathsf{log1p}\left(t_5\right)\right), t_4\right), t_1 \cdot \left(t_1 \cdot \left(t_3 \cdot t_3\right)\right)\right)}
\end{array}
\]
(FPCore (g h)
:precision binary64
(* 2.0 (cos (+ (/ (* 2.0 PI) 3.0) (/ (acos (/ (- g) h)) 3.0)))))
↓
(FPCore (g h)
:precision binary64
(let* ((t_0 (* 0.3333333333333333 (acos (/ (- g) h))))
(t_1 (cos t_0))
(t_2 (sin t_0))
(t_3 (cos (* 0.6666666666666666 PI)))
(t_4 (* t_3 t_1))
(t_5 (sin (* 0.6666666666666666 PI)))
(t_6 (* t_2 t_5)))
(*
2.0
(/
(- (pow t_4 3.0) (pow t_6 3.0))
(fma
t_6
(fma t_2 (expm1 (log1p t_5)) t_4)
(* t_1 (* t_1 (* t_3 t_3))))))))double code(double g, double h) {
return 2.0 * cos((((2.0 * ((double) M_PI)) / 3.0) + (acos((-g / h)) / 3.0)));
}
↓
double code(double g, double h) {
double t_0 = 0.3333333333333333 * acos((-g / h));
double t_1 = cos(t_0);
double t_2 = sin(t_0);
double t_3 = cos((0.6666666666666666 * ((double) M_PI)));
double t_4 = t_3 * t_1;
double t_5 = sin((0.6666666666666666 * ((double) M_PI)));
double t_6 = t_2 * t_5;
return 2.0 * ((pow(t_4, 3.0) - pow(t_6, 3.0)) / fma(t_6, fma(t_2, expm1(log1p(t_5)), t_4), (t_1 * (t_1 * (t_3 * t_3)))));
}
function code(g, h)
return Float64(2.0 * cos(Float64(Float64(Float64(2.0 * pi) / 3.0) + Float64(acos(Float64(Float64(-g) / h)) / 3.0))))
end
↓
function code(g, h)
t_0 = Float64(0.3333333333333333 * acos(Float64(Float64(-g) / h)))
t_1 = cos(t_0)
t_2 = sin(t_0)
t_3 = cos(Float64(0.6666666666666666 * pi))
t_4 = Float64(t_3 * t_1)
t_5 = sin(Float64(0.6666666666666666 * pi))
t_6 = Float64(t_2 * t_5)
return Float64(2.0 * Float64(Float64((t_4 ^ 3.0) - (t_6 ^ 3.0)) / fma(t_6, fma(t_2, expm1(log1p(t_5)), t_4), Float64(t_1 * Float64(t_1 * Float64(t_3 * t_3))))))
end
code[g_, h_] := N[(2.0 * N[Cos[N[(N[(N[(2.0 * Pi), $MachinePrecision] / 3.0), $MachinePrecision] + N[(N[ArcCos[N[((-g) / h), $MachinePrecision]], $MachinePrecision] / 3.0), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
↓
code[g_, h_] := Block[{t$95$0 = N[(0.3333333333333333 * N[ArcCos[N[((-g) / h), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[Cos[t$95$0], $MachinePrecision]}, Block[{t$95$2 = N[Sin[t$95$0], $MachinePrecision]}, Block[{t$95$3 = N[Cos[N[(0.6666666666666666 * Pi), $MachinePrecision]], $MachinePrecision]}, Block[{t$95$4 = N[(t$95$3 * t$95$1), $MachinePrecision]}, Block[{t$95$5 = N[Sin[N[(0.6666666666666666 * Pi), $MachinePrecision]], $MachinePrecision]}, Block[{t$95$6 = N[(t$95$2 * t$95$5), $MachinePrecision]}, N[(2.0 * N[(N[(N[Power[t$95$4, 3.0], $MachinePrecision] - N[Power[t$95$6, 3.0], $MachinePrecision]), $MachinePrecision] / N[(t$95$6 * N[(t$95$2 * N[(Exp[N[Log[1 + t$95$5], $MachinePrecision]] - 1), $MachinePrecision] + t$95$4), $MachinePrecision] + N[(t$95$1 * N[(t$95$1 * N[(t$95$3 * t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]
2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)
↓
\begin{array}{l}
t_0 := 0.3333333333333333 \cdot \cos^{-1} \left(\frac{-g}{h}\right)\\
t_1 := \cos t_0\\
t_2 := \sin t_0\\
t_3 := \cos \left(0.6666666666666666 \cdot \pi\right)\\
t_4 := t_3 \cdot t_1\\
t_5 := \sin \left(0.6666666666666666 \cdot \pi\right)\\
t_6 := t_2 \cdot t_5\\
2 \cdot \frac{{t_4}^{3} - {t_6}^{3}}{\mathsf{fma}\left(t_6, \mathsf{fma}\left(t_2, \mathsf{expm1}\left(\mathsf{log1p}\left(t_5\right)\right), t_4\right), t_1 \cdot \left(t_1 \cdot \left(t_3 \cdot t_3\right)\right)\right)}
\end{array}