?

Average Error: 6.9% → 8.3%
Time: 35.2s
Precision: binary64
Cost: 71936.00

?

\[\frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\sqrt{\frac{1 - x}{2}}\right) \]
\[\begin{array}{l} t_0 := \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\\ \frac{1}{\mathsf{fma}\left(\pi, 0.5, 2 \cdot t_0\right)} \cdot \left({\pi}^{2} \cdot 0.25 - 4 \cdot \sqrt[3]{{\left({t_0}^{2}\right)}^{3}}\right) \end{array} \]
(FPCore (x)
 :precision binary64
 (- (/ PI 2.0) (* 2.0 (asin (sqrt (/ (- 1.0 x) 2.0))))))
(FPCore (x)
 :precision binary64
 (let* ((t_0 (asin (sqrt (+ 0.5 (* x -0.5))))))
   (*
    (/ 1.0 (fma PI 0.5 (* 2.0 t_0)))
    (- (* (pow PI 2.0) 0.25) (* 4.0 (cbrt (pow (pow t_0 2.0) 3.0)))))))
double code(double x) {
	return (((double) M_PI) / 2.0) - (2.0 * asin(sqrt(((1.0 - x) / 2.0))));
}
double code(double x) {
	double t_0 = asin(sqrt((0.5 + (x * -0.5))));
	return (1.0 / fma(((double) M_PI), 0.5, (2.0 * t_0))) * ((pow(((double) M_PI), 2.0) * 0.25) - (4.0 * cbrt(pow(pow(t_0, 2.0), 3.0))));
}
function code(x)
	return Float64(Float64(pi / 2.0) - Float64(2.0 * asin(sqrt(Float64(Float64(1.0 - x) / 2.0)))))
end
function code(x)
	t_0 = asin(sqrt(Float64(0.5 + Float64(x * -0.5))))
	return Float64(Float64(1.0 / fma(pi, 0.5, Float64(2.0 * t_0))) * Float64(Float64((pi ^ 2.0) * 0.25) - Float64(4.0 * cbrt(((t_0 ^ 2.0) ^ 3.0)))))
end
code[x_] := N[(N[(Pi / 2.0), $MachinePrecision] - N[(2.0 * N[ArcSin[N[Sqrt[N[(N[(1.0 - x), $MachinePrecision] / 2.0), $MachinePrecision]], $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
code[x_] := Block[{t$95$0 = N[ArcSin[N[Sqrt[N[(0.5 + N[(x * -0.5), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]], $MachinePrecision]}, N[(N[(1.0 / N[(Pi * 0.5 + N[(2.0 * t$95$0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Power[Pi, 2.0], $MachinePrecision] * 0.25), $MachinePrecision] - N[(4.0 * N[Power[N[Power[N[Power[t$95$0, 2.0], $MachinePrecision], 3.0], $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\sqrt{\frac{1 - x}{2}}\right)
\begin{array}{l}
t_0 := \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\\
\frac{1}{\mathsf{fma}\left(\pi, 0.5, 2 \cdot t_0\right)} \cdot \left({\pi}^{2} \cdot 0.25 - 4 \cdot \sqrt[3]{{\left({t_0}^{2}\right)}^{3}}\right)
\end{array}

Error?

Target

Original6.9%
Target100.0%
Herbie8.3%
\[\sin^{-1} x \]

Derivation?

  1. Initial program 6.9

    \[\frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\sqrt{\frac{1 - x}{2}}\right) \]
  2. Applied egg-rr6.9

    \[\leadsto \color{blue}{\frac{1}{\mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} \left(\sqrt{0.5 - x \cdot 0.5}\right)\right)} \cdot \left({\pi}^{2} \cdot 0.25 - 4 \cdot {\sin^{-1} \left(\sqrt{0.5 - x \cdot 0.5}\right)}^{2}\right)} \]
  3. Applied egg-rr8.3

    \[\leadsto \frac{1}{\mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} \left(\sqrt{0.5 - x \cdot 0.5}\right)\right)} \cdot \left({\pi}^{2} \cdot 0.25 - 4 \cdot \color{blue}{\sqrt[3]{{\left({\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}^{2}\right)}^{3}}}\right) \]
  4. Final simplification8.3

    \[\leadsto \frac{1}{\mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)} \cdot \left({\pi}^{2} \cdot 0.25 - 4 \cdot \sqrt[3]{{\left({\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}^{2}\right)}^{3}}\right) \]

Alternatives

Alternative 1
Error8.4%
Cost65664.00
\[\begin{array}{l} t_0 := \sqrt{0.5 + x \cdot -0.5}\\ \frac{1}{\mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} t_0\right)} \cdot \left({\pi}^{2} \cdot 0.25 - 4 \cdot {\left(\pi \cdot 0.5 - \cos^{-1} t_0\right)}^{2}\right) \end{array} \]
Alternative 2
Error8.4%
Cost65216.00
\[\begin{array}{l} t_0 := \cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right)\\ \frac{{\pi}^{2} \cdot 0.25 + -4 \cdot {t_0}^{2}}{t_0 \cdot -2 + \pi \cdot -0.5} \end{array} \]
Alternative 3
Error8.4%
Cost38976.00
\[{\left(\sqrt[3]{2 \cdot \cos^{-1} \left(\sqrt{\mathsf{fma}\left(-0.5, x, 0.5\right)}\right) + \pi \cdot -0.5}\right)}^{3} \]
Alternative 4
Error8.4%
Cost32640.00
\[\frac{1}{\frac{1}{\mathsf{fma}\left(2, \cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right), \pi \cdot -0.5\right)}} \]
Alternative 5
Error8.4%
Cost26112.00
\[\pi \cdot -0.5 + 2 \cdot \cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right) \]
Alternative 6
Error6.9%
Cost19840.00
\[\frac{\pi}{2} + -2 \cdot \sin^{-1} \left(\sqrt{\frac{1 - x}{2}}\right) \]

Error

Reproduce?

herbie shell --seed 2023093 
(FPCore (x)
  :name "Ian Simplification"
  :precision binary64

  :herbie-target
  (asin x)

  (- (/ PI 2.0) (* 2.0 (asin (sqrt (/ (- 1.0 x) 2.0))))))