Ian Simplification

Percentage Accurate: 7.1% → 8.5%
Time: 36.2s
Alternatives: 9
Speedup: 1.0×

Specification

?
\[\begin{array}{l} \\ \frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\sqrt{\frac{1 - x}{2}}\right) \end{array} \]
(FPCore (x)
 :precision binary64
 (- (/ PI 2.0) (* 2.0 (asin (sqrt (/ (- 1.0 x) 2.0))))))
double code(double x) {
	return (((double) M_PI) / 2.0) - (2.0 * asin(sqrt(((1.0 - x) / 2.0))));
}
public static double code(double x) {
	return (Math.PI / 2.0) - (2.0 * Math.asin(Math.sqrt(((1.0 - x) / 2.0))));
}
def code(x):
	return (math.pi / 2.0) - (2.0 * math.asin(math.sqrt(((1.0 - x) / 2.0))))
function code(x)
	return Float64(Float64(pi / 2.0) - Float64(2.0 * asin(sqrt(Float64(Float64(1.0 - x) / 2.0)))))
end
function tmp = code(x)
	tmp = (pi / 2.0) - (2.0 * asin(sqrt(((1.0 - x) / 2.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]
\begin{array}{l}

\\
\frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\sqrt{\frac{1 - x}{2}}\right)
\end{array}

Sampling outcomes in binary64 precision:

Local Percentage Accuracy vs ?

The average percentage accuracy by input value. Horizontal axis shows value of an input variable; the variable is choosen in the title. Vertical axis is accuracy; higher is better. Red represent the original program, while blue represents Herbie's suggestion. These can be toggled with buttons below the plot. The line is an average while dots represent individual samples.

Accuracy vs Speed?

Herbie found 9 alternatives:

AlternativeAccuracySpeedup
The accuracy (vertical axis) and speed (horizontal axis) of each alternatives. Up and to the right is better. The red square shows the initial program, and each blue circle shows an alternative.The line shows the best available speed-accuracy tradeoffs.

Initial Program: 7.1% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\sqrt{\frac{1 - x}{2}}\right) \end{array} \]
(FPCore (x)
 :precision binary64
 (- (/ PI 2.0) (* 2.0 (asin (sqrt (/ (- 1.0 x) 2.0))))))
double code(double x) {
	return (((double) M_PI) / 2.0) - (2.0 * asin(sqrt(((1.0 - x) / 2.0))));
}
public static double code(double x) {
	return (Math.PI / 2.0) - (2.0 * Math.asin(Math.sqrt(((1.0 - x) / 2.0))));
}
def code(x):
	return (math.pi / 2.0) - (2.0 * math.asin(math.sqrt(((1.0 - x) / 2.0))))
function code(x)
	return Float64(Float64(pi / 2.0) - Float64(2.0 * asin(sqrt(Float64(Float64(1.0 - x) / 2.0)))))
end
function tmp = code(x)
	tmp = (pi / 2.0) - (2.0 * asin(sqrt(((1.0 - x) / 2.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]
\begin{array}{l}

\\
\frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\sqrt{\frac{1 - x}{2}}\right)
\end{array}

Alternative 1: 8.5% accurate, 0.1× speedup?

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

\\
\begin{array}{l}
t_0 := \sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\\
t_1 := \cos^{-1} t_0\\
t_2 := \sqrt[3]{t_1}\\
t_3 := \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\\
t_4 := \sqrt[3]{{\pi}^{3}}\\
t_5 := \mathsf{fma}\left(-t_2, {t_2}^{2}, t_1\right)\\
\frac{1}{{t_4}^{2} \cdot 0.25 + \left(2 \cdot \left(\sin^{-1} t_0 + \left(t_5 + t_5\right)\right)\right) \cdot \mathsf{fma}\left(\pi, 0.5, 2 \cdot t_3\right)} \cdot \left({t_4}^{3} \cdot 0.125 + {t_3}^{3} \cdot -8\right)
\end{array}
\end{array}
Derivation
  1. Initial program 5.4%

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

    \[\leadsto \color{blue}{\frac{1}{{\pi}^{2} \cdot 0.25 + \left(2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right) \cdot \mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)} \cdot \left({\pi}^{3} \cdot 0.125 + {\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}^{3} \cdot -8\right)} \]
  3. Step-by-step derivation
    1. rem-cbrt-cube7.0%

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

    \[\leadsto \frac{1}{{\pi}^{2} \cdot 0.25 + \left(2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right) \cdot \mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)} \cdot \left({\color{blue}{\left(\sqrt[3]{{\pi}^{3}}\right)}}^{3} \cdot 0.125 + {\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}^{3} \cdot -8\right) \]
  5. Step-by-step derivation
    1. rem-cbrt-cube7.0%

      \[\leadsto \frac{1}{{\pi}^{2} \cdot 0.25 + \left(2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right) \cdot \mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)} \cdot \left({\color{blue}{\left(\sqrt[3]{{\pi}^{3}}\right)}}^{3} \cdot 0.125 + {\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}^{3} \cdot -8\right) \]
  6. Applied egg-rr7.0%

    \[\leadsto \frac{1}{{\color{blue}{\left(\sqrt[3]{{\pi}^{3}}\right)}}^{2} \cdot 0.25 + \left(2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right) \cdot \mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)} \cdot \left({\left(\sqrt[3]{{\pi}^{3}}\right)}^{3} \cdot 0.125 + {\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}^{3} \cdot -8\right) \]
  7. Step-by-step derivation
    1. asin-acos7.0%

      \[\leadsto \frac{1}{{\left(\sqrt[3]{{\pi}^{3}}\right)}^{2} \cdot 0.25 + \left(2 \cdot \color{blue}{\left(\frac{\pi}{2} - \cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)}\right) \cdot \mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)} \cdot \left({\left(\sqrt[3]{{\pi}^{3}}\right)}^{3} \cdot 0.125 + {\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}^{3} \cdot -8\right) \]
    2. div-inv7.0%

      \[\leadsto \frac{1}{{\left(\sqrt[3]{{\pi}^{3}}\right)}^{2} \cdot 0.25 + \left(2 \cdot \left(\color{blue}{\pi \cdot \frac{1}{2}} - \cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)\right) \cdot \mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)} \cdot \left({\left(\sqrt[3]{{\pi}^{3}}\right)}^{3} \cdot 0.125 + {\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}^{3} \cdot -8\right) \]
    3. metadata-eval7.0%

      \[\leadsto \frac{1}{{\left(\sqrt[3]{{\pi}^{3}}\right)}^{2} \cdot 0.25 + \left(2 \cdot \left(\pi \cdot \color{blue}{0.5} - \cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)\right) \cdot \mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)} \cdot \left({\left(\sqrt[3]{{\pi}^{3}}\right)}^{3} \cdot 0.125 + {\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}^{3} \cdot -8\right) \]
    4. add-cube-cbrt7.0%

      \[\leadsto \frac{1}{{\left(\sqrt[3]{{\pi}^{3}}\right)}^{2} \cdot 0.25 + \left(2 \cdot \left(\pi \cdot 0.5 - \color{blue}{\left(\sqrt[3]{\cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)} \cdot \sqrt[3]{\cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}\right) \cdot \sqrt[3]{\cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}}\right)\right) \cdot \mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)} \cdot \left({\left(\sqrt[3]{{\pi}^{3}}\right)}^{3} \cdot 0.125 + {\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}^{3} \cdot -8\right) \]
    5. prod-diff7.0%

      \[\leadsto \frac{1}{{\left(\sqrt[3]{{\pi}^{3}}\right)}^{2} \cdot 0.25 + \left(2 \cdot \color{blue}{\left(\mathsf{fma}\left(\pi, 0.5, -\sqrt[3]{\cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)} \cdot \left(\sqrt[3]{\cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)} \cdot \sqrt[3]{\cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}\right)\right) + \mathsf{fma}\left(-\sqrt[3]{\cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}, \sqrt[3]{\cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)} \cdot \sqrt[3]{\cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}, \sqrt[3]{\cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)} \cdot \left(\sqrt[3]{\cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)} \cdot \sqrt[3]{\cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}\right)\right)\right)}\right) \cdot \mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)} \cdot \left({\left(\sqrt[3]{{\pi}^{3}}\right)}^{3} \cdot 0.125 + {\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}^{3} \cdot -8\right) \]
  8. Applied egg-rr7.0%

    \[\leadsto \frac{1}{{\left(\sqrt[3]{{\pi}^{3}}\right)}^{2} \cdot 0.25 + \left(2 \cdot \color{blue}{\left(\sin^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right) + \left(\mathsf{fma}\left(-\sqrt[3]{\cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right)}, {\left(\sqrt[3]{\cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right)}\right)}^{2}, \cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right)\right) + \mathsf{fma}\left(-\sqrt[3]{\cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right)}, {\left(\sqrt[3]{\cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right)}\right)}^{2}, \cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right)\right)\right)\right)}\right) \cdot \mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)} \cdot \left({\left(\sqrt[3]{{\pi}^{3}}\right)}^{3} \cdot 0.125 + {\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}^{3} \cdot -8\right) \]
  9. Final simplification7.0%

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

Alternative 2: 8.5% accurate, 0.1× speedup?

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

\\
\begin{array}{l}
t_0 := \sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\\
t_1 := \cos^{-1} t_0\\
t_2 := \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\\
t_3 := \sqrt[3]{{\pi}^{3}}\\
t_4 := \sqrt[3]{t_1}\\
\left({t_3}^{3} \cdot 0.125 + {t_2}^{3} \cdot -8\right) \cdot \frac{1}{{t_3}^{2} \cdot 0.25 + \mathsf{fma}\left(\pi, 0.5, 2 \cdot t_2\right) \cdot \left(2 \cdot \left(\sin^{-1} t_0 + \mathsf{fma}\left(-t_4, {t_4}^{2}, t_1\right)\right)\right)}
\end{array}
\end{array}
Derivation
  1. Initial program 5.4%

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

    \[\leadsto \color{blue}{\frac{1}{{\pi}^{2} \cdot 0.25 + \left(2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right) \cdot \mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)} \cdot \left({\pi}^{3} \cdot 0.125 + {\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}^{3} \cdot -8\right)} \]
  3. Step-by-step derivation
    1. rem-cbrt-cube7.0%

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

    \[\leadsto \frac{1}{{\pi}^{2} \cdot 0.25 + \left(2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right) \cdot \mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)} \cdot \left({\color{blue}{\left(\sqrt[3]{{\pi}^{3}}\right)}}^{3} \cdot 0.125 + {\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}^{3} \cdot -8\right) \]
  5. Step-by-step derivation
    1. rem-cbrt-cube7.0%

      \[\leadsto \frac{1}{{\pi}^{2} \cdot 0.25 + \left(2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right) \cdot \mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)} \cdot \left({\color{blue}{\left(\sqrt[3]{{\pi}^{3}}\right)}}^{3} \cdot 0.125 + {\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}^{3} \cdot -8\right) \]
  6. Applied egg-rr7.0%

    \[\leadsto \frac{1}{{\color{blue}{\left(\sqrt[3]{{\pi}^{3}}\right)}}^{2} \cdot 0.25 + \left(2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right) \cdot \mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)} \cdot \left({\left(\sqrt[3]{{\pi}^{3}}\right)}^{3} \cdot 0.125 + {\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}^{3} \cdot -8\right) \]
  7. Step-by-step derivation
    1. asin-acos7.0%

      \[\leadsto \frac{1}{{\left(\sqrt[3]{{\pi}^{3}}\right)}^{2} \cdot 0.25 + \left(2 \cdot \color{blue}{\left(\frac{\pi}{2} - \cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)}\right) \cdot \mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)} \cdot \left({\left(\sqrt[3]{{\pi}^{3}}\right)}^{3} \cdot 0.125 + {\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}^{3} \cdot -8\right) \]
    2. div-inv7.0%

      \[\leadsto \frac{1}{{\left(\sqrt[3]{{\pi}^{3}}\right)}^{2} \cdot 0.25 + \left(2 \cdot \left(\color{blue}{\pi \cdot \frac{1}{2}} - \cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)\right) \cdot \mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)} \cdot \left({\left(\sqrt[3]{{\pi}^{3}}\right)}^{3} \cdot 0.125 + {\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}^{3} \cdot -8\right) \]
    3. metadata-eval7.0%

      \[\leadsto \frac{1}{{\left(\sqrt[3]{{\pi}^{3}}\right)}^{2} \cdot 0.25 + \left(2 \cdot \left(\pi \cdot \color{blue}{0.5} - \cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)\right) \cdot \mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)} \cdot \left({\left(\sqrt[3]{{\pi}^{3}}\right)}^{3} \cdot 0.125 + {\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}^{3} \cdot -8\right) \]
    4. add-cube-cbrt7.0%

      \[\leadsto \frac{1}{{\left(\sqrt[3]{{\pi}^{3}}\right)}^{2} \cdot 0.25 + \left(2 \cdot \left(\pi \cdot 0.5 - \color{blue}{\left(\sqrt[3]{\cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)} \cdot \sqrt[3]{\cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}\right) \cdot \sqrt[3]{\cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}}\right)\right) \cdot \mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)} \cdot \left({\left(\sqrt[3]{{\pi}^{3}}\right)}^{3} \cdot 0.125 + {\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}^{3} \cdot -8\right) \]
    5. prod-diff7.0%

      \[\leadsto \frac{1}{{\left(\sqrt[3]{{\pi}^{3}}\right)}^{2} \cdot 0.25 + \left(2 \cdot \color{blue}{\left(\mathsf{fma}\left(\pi, 0.5, -\sqrt[3]{\cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)} \cdot \left(\sqrt[3]{\cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)} \cdot \sqrt[3]{\cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}\right)\right) + \mathsf{fma}\left(-\sqrt[3]{\cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}, \sqrt[3]{\cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)} \cdot \sqrt[3]{\cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}, \sqrt[3]{\cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)} \cdot \left(\sqrt[3]{\cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)} \cdot \sqrt[3]{\cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}\right)\right)\right)}\right) \cdot \mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)} \cdot \left({\left(\sqrt[3]{{\pi}^{3}}\right)}^{3} \cdot 0.125 + {\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}^{3} \cdot -8\right) \]
  8. Applied egg-rr7.0%

    \[\leadsto \frac{1}{{\left(\sqrt[3]{{\pi}^{3}}\right)}^{2} \cdot 0.25 + \left(2 \cdot \color{blue}{\left(\mathsf{fma}\left(-\sqrt[3]{\cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right)}, {\left(\sqrt[3]{\cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right)}\right)}^{2}, \cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right)\right) + \sin^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right)\right)}\right) \cdot \mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)} \cdot \left({\left(\sqrt[3]{{\pi}^{3}}\right)}^{3} \cdot 0.125 + {\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}^{3} \cdot -8\right) \]
  9. Final simplification7.0%

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

Alternative 3: 8.5% accurate, 0.2× speedup?

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

\\
\begin{array}{l}
t_0 := \sqrt[3]{{\pi}^{3}}\\
t_1 := \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\\
t_2 := 2 \cdot t_1\\
\left({t_0}^{3} \cdot 0.125 + {t_1}^{3} \cdot -8\right) \cdot \frac{1}{{t_0}^{2} \cdot 0.25 + t_2 \cdot \mathsf{fma}\left(\pi, 0.5, t_2\right)}
\end{array}
\end{array}
Derivation
  1. Initial program 5.4%

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

    \[\leadsto \color{blue}{\frac{1}{{\pi}^{2} \cdot 0.25 + \left(2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right) \cdot \mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)} \cdot \left({\pi}^{3} \cdot 0.125 + {\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}^{3} \cdot -8\right)} \]
  3. Step-by-step derivation
    1. rem-cbrt-cube7.0%

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

    \[\leadsto \frac{1}{{\pi}^{2} \cdot 0.25 + \left(2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right) \cdot \mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)} \cdot \left({\color{blue}{\left(\sqrt[3]{{\pi}^{3}}\right)}}^{3} \cdot 0.125 + {\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}^{3} \cdot -8\right) \]
  5. Step-by-step derivation
    1. rem-cbrt-cube7.0%

      \[\leadsto \frac{1}{{\pi}^{2} \cdot 0.25 + \left(2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right) \cdot \mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)} \cdot \left({\color{blue}{\left(\sqrt[3]{{\pi}^{3}}\right)}}^{3} \cdot 0.125 + {\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}^{3} \cdot -8\right) \]
  6. Applied egg-rr7.0%

    \[\leadsto \frac{1}{{\color{blue}{\left(\sqrt[3]{{\pi}^{3}}\right)}}^{2} \cdot 0.25 + \left(2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right) \cdot \mathsf{fma}\left(\pi, 0.5, 2 \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)} \cdot \left({\left(\sqrt[3]{{\pi}^{3}}\right)}^{3} \cdot 0.125 + {\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}^{3} \cdot -8\right) \]
  7. Final simplification7.0%

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

Alternative 4: 8.5% accurate, 0.2× speedup?

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

\\
\begin{array}{l}
t_0 := \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right) \cdot -2\\
\frac{{\left(\sqrt[3]{{\pi}^{3}}\right)}^{3} \cdot 0.125 + {t_0}^{3}}{0.25 \cdot {\pi}^{2} + t_0 \cdot \left(t_0 - \pi \cdot 0.5\right)}
\end{array}
\end{array}
Derivation
  1. Initial program 5.4%

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

    \[\leadsto \color{blue}{\frac{{\pi}^{3} \cdot 0.125 + {\left(\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right) \cdot -2\right)}^{3}}{{\pi}^{2} \cdot 0.25 + \left(\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right) \cdot -2\right) \cdot \left(\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right) \cdot -2 - \pi \cdot 0.5\right)}} \]
  3. Step-by-step derivation
    1. rem-cbrt-cube7.0%

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

    \[\leadsto \frac{{\color{blue}{\left(\sqrt[3]{{\pi}^{3}}\right)}}^{3} \cdot 0.125 + {\left(\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right) \cdot -2\right)}^{3}}{{\pi}^{2} \cdot 0.25 + \left(\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right) \cdot -2\right) \cdot \left(\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right) \cdot -2 - \pi \cdot 0.5\right)} \]
  5. Final simplification7.0%

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

Alternative 5: 8.6% accurate, 0.8× speedup?

\[\begin{array}{l} \\ 2 \cdot \cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right) + \pi \cdot -0.5 \end{array} \]
(FPCore (x)
 :precision binary64
 (+ (* 2.0 (acos (sqrt (fma x -0.5 0.5)))) (* PI -0.5)))
double code(double x) {
	return (2.0 * acos(sqrt(fma(x, -0.5, 0.5)))) + (((double) M_PI) * -0.5);
}
function code(x)
	return Float64(Float64(2.0 * acos(sqrt(fma(x, -0.5, 0.5)))) + Float64(pi * -0.5))
end
code[x_] := N[(N[(2.0 * N[ArcCos[N[Sqrt[N[(x * -0.5 + 0.5), $MachinePrecision]], $MachinePrecision]], $MachinePrecision]), $MachinePrecision] + N[(Pi * -0.5), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
2 \cdot \cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right) + \pi \cdot -0.5
\end{array}
Derivation
  1. Initial program 5.4%

    \[\frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\sqrt{\frac{1 - x}{2}}\right) \]
  2. Step-by-step derivation
    1. asin-acos7.0%

      \[\leadsto \frac{\pi}{2} - 2 \cdot \color{blue}{\left(\frac{\pi}{2} - \cos^{-1} \left(\sqrt{\frac{1 - x}{2}}\right)\right)} \]
    2. div-inv7.0%

      \[\leadsto \frac{\pi}{2} - 2 \cdot \left(\color{blue}{\pi \cdot \frac{1}{2}} - \cos^{-1} \left(\sqrt{\frac{1 - x}{2}}\right)\right) \]
    3. metadata-eval7.0%

      \[\leadsto \frac{\pi}{2} - 2 \cdot \left(\pi \cdot \color{blue}{0.5} - \cos^{-1} \left(\sqrt{\frac{1 - x}{2}}\right)\right) \]
    4. div-sub7.0%

      \[\leadsto \frac{\pi}{2} - 2 \cdot \left(\pi \cdot 0.5 - \cos^{-1} \left(\sqrt{\color{blue}{\frac{1}{2} - \frac{x}{2}}}\right)\right) \]
    5. sub-neg7.0%

      \[\leadsto \frac{\pi}{2} - 2 \cdot \left(\pi \cdot 0.5 - \cos^{-1} \left(\sqrt{\color{blue}{\frac{1}{2} + \left(-\frac{x}{2}\right)}}\right)\right) \]
    6. metadata-eval7.0%

      \[\leadsto \frac{\pi}{2} - 2 \cdot \left(\pi \cdot 0.5 - \cos^{-1} \left(\sqrt{\color{blue}{0.5} + \left(-\frac{x}{2}\right)}\right)\right) \]
    7. div-inv7.0%

      \[\leadsto \frac{\pi}{2} - 2 \cdot \left(\pi \cdot 0.5 - \cos^{-1} \left(\sqrt{0.5 + \left(-\color{blue}{x \cdot \frac{1}{2}}\right)}\right)\right) \]
    8. distribute-rgt-neg-in7.0%

      \[\leadsto \frac{\pi}{2} - 2 \cdot \left(\pi \cdot 0.5 - \cos^{-1} \left(\sqrt{0.5 + \color{blue}{x \cdot \left(-\frac{1}{2}\right)}}\right)\right) \]
    9. metadata-eval7.0%

      \[\leadsto \frac{\pi}{2} - 2 \cdot \left(\pi \cdot 0.5 - \cos^{-1} \left(\sqrt{0.5 + x \cdot \left(-\color{blue}{0.5}\right)}\right)\right) \]
    10. metadata-eval7.0%

      \[\leadsto \frac{\pi}{2} - 2 \cdot \left(\pi \cdot 0.5 - \cos^{-1} \left(\sqrt{0.5 + x \cdot \color{blue}{-0.5}}\right)\right) \]
  3. Applied egg-rr7.0%

    \[\leadsto \frac{\pi}{2} - 2 \cdot \color{blue}{\left(\pi \cdot 0.5 - \cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)} \]
  4. Step-by-step derivation
    1. sub-neg7.0%

      \[\leadsto \color{blue}{\frac{\pi}{2} + \left(-2 \cdot \left(\pi \cdot 0.5 - \cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)\right)} \]
    2. +-commutative7.0%

      \[\leadsto \color{blue}{\left(-2 \cdot \left(\pi \cdot 0.5 - \cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)\right) + \frac{\pi}{2}} \]
    3. metadata-eval7.0%

      \[\leadsto \left(-2 \cdot \left(\pi \cdot \color{blue}{\frac{1}{2}} - \cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)\right) + \frac{\pi}{2} \]
    4. div-inv7.0%

      \[\leadsto \left(-2 \cdot \left(\color{blue}{\frac{\pi}{2}} - \cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)\right) + \frac{\pi}{2} \]
    5. asin-acos5.4%

      \[\leadsto \left(-2 \cdot \color{blue}{\sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)}\right) + \frac{\pi}{2} \]
    6. distribute-lft-neg-in5.4%

      \[\leadsto \color{blue}{\left(-2\right) \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)} + \frac{\pi}{2} \]
    7. metadata-eval5.4%

      \[\leadsto \color{blue}{-2} \cdot \sin^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right) + \frac{\pi}{2} \]
    8. asin-acos7.0%

      \[\leadsto -2 \cdot \color{blue}{\left(\frac{\pi}{2} - \cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)} + \frac{\pi}{2} \]
    9. sub-neg7.0%

      \[\leadsto -2 \cdot \color{blue}{\left(\frac{\pi}{2} + \left(-\cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)\right)} + \frac{\pi}{2} \]
    10. distribute-lft-in7.0%

      \[\leadsto \color{blue}{\left(-2 \cdot \frac{\pi}{2} + -2 \cdot \left(-\cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right)\right)} + \frac{\pi}{2} \]
    11. associate-+l+7.0%

      \[\leadsto \color{blue}{-2 \cdot \frac{\pi}{2} + \left(-2 \cdot \left(-\cos^{-1} \left(\sqrt{0.5 + x \cdot -0.5}\right)\right) + \frac{\pi}{2}\right)} \]
  5. Applied egg-rr7.0%

    \[\leadsto \color{blue}{-2 \cdot \left(\pi \cdot 0.5\right) + \left(-2 \cdot \left(-\cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right)\right) + \pi \cdot 0.5\right)} \]
  6. Step-by-step derivation
    1. *-commutative7.0%

      \[\leadsto \color{blue}{\left(\pi \cdot 0.5\right) \cdot -2} + \left(-2 \cdot \left(-\cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right)\right) + \pi \cdot 0.5\right) \]
    2. associate-+r+7.0%

      \[\leadsto \color{blue}{\left(\left(\pi \cdot 0.5\right) \cdot -2 + -2 \cdot \left(-\cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right)\right)\right) + \pi \cdot 0.5} \]
    3. +-commutative7.0%

      \[\leadsto \color{blue}{\left(-2 \cdot \left(-\cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right)\right) + \left(\pi \cdot 0.5\right) \cdot -2\right)} + \pi \cdot 0.5 \]
    4. associate-+r+7.0%

      \[\leadsto \color{blue}{-2 \cdot \left(-\cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right)\right) + \left(\left(\pi \cdot 0.5\right) \cdot -2 + \pi \cdot 0.5\right)} \]
    5. neg-mul-17.0%

      \[\leadsto -2 \cdot \color{blue}{\left(-1 \cdot \cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right)\right)} + \left(\left(\pi \cdot 0.5\right) \cdot -2 + \pi \cdot 0.5\right) \]
    6. associate-*r*7.0%

      \[\leadsto \color{blue}{\left(-2 \cdot -1\right) \cdot \cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right)} + \left(\left(\pi \cdot 0.5\right) \cdot -2 + \pi \cdot 0.5\right) \]
    7. metadata-eval7.0%

      \[\leadsto \color{blue}{2} \cdot \cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right) + \left(\left(\pi \cdot 0.5\right) \cdot -2 + \pi \cdot 0.5\right) \]
    8. *-commutative7.0%

      \[\leadsto 2 \cdot \cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right) + \left(\color{blue}{-2 \cdot \left(\pi \cdot 0.5\right)} + \pi \cdot 0.5\right) \]
    9. +-commutative7.0%

      \[\leadsto 2 \cdot \cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right) + \color{blue}{\left(\pi \cdot 0.5 + -2 \cdot \left(\pi \cdot 0.5\right)\right)} \]
    10. distribute-rgt1-in7.0%

      \[\leadsto 2 \cdot \cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right) + \color{blue}{\left(-2 + 1\right) \cdot \left(\pi \cdot 0.5\right)} \]
    11. metadata-eval7.0%

      \[\leadsto 2 \cdot \cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right) + \color{blue}{-1} \cdot \left(\pi \cdot 0.5\right) \]
    12. *-commutative7.0%

      \[\leadsto 2 \cdot \cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right) + -1 \cdot \color{blue}{\left(0.5 \cdot \pi\right)} \]
    13. associate-*r*7.0%

      \[\leadsto 2 \cdot \cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right) + \color{blue}{\left(-1 \cdot 0.5\right) \cdot \pi} \]
    14. metadata-eval7.0%

      \[\leadsto 2 \cdot \cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right) + \color{blue}{-0.5} \cdot \pi \]
  7. Simplified7.0%

    \[\leadsto \color{blue}{2 \cdot \cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right) + -0.5 \cdot \pi} \]
  8. Final simplification7.0%

    \[\leadsto 2 \cdot \cos^{-1} \left(\sqrt{\mathsf{fma}\left(x, -0.5, 0.5\right)}\right) + \pi \cdot -0.5 \]

Alternative 6: 7.1% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\frac{1}{\sqrt{\frac{2}{1 - x}}}\right) \end{array} \]
(FPCore (x)
 :precision binary64
 (- (/ PI 2.0) (* 2.0 (asin (/ 1.0 (sqrt (/ 2.0 (- 1.0 x))))))))
double code(double x) {
	return (((double) M_PI) / 2.0) - (2.0 * asin((1.0 / sqrt((2.0 / (1.0 - x))))));
}
public static double code(double x) {
	return (Math.PI / 2.0) - (2.0 * Math.asin((1.0 / Math.sqrt((2.0 / (1.0 - x))))));
}
def code(x):
	return (math.pi / 2.0) - (2.0 * math.asin((1.0 / math.sqrt((2.0 / (1.0 - x))))))
function code(x)
	return Float64(Float64(pi / 2.0) - Float64(2.0 * asin(Float64(1.0 / sqrt(Float64(2.0 / Float64(1.0 - x)))))))
end
function tmp = code(x)
	tmp = (pi / 2.0) - (2.0 * asin((1.0 / sqrt((2.0 / (1.0 - x))))));
end
code[x_] := N[(N[(Pi / 2.0), $MachinePrecision] - N[(2.0 * N[ArcSin[N[(1.0 / N[Sqrt[N[(2.0 / N[(1.0 - x), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\frac{1}{\sqrt{\frac{2}{1 - x}}}\right)
\end{array}
Derivation
  1. Initial program 5.4%

    \[\frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\sqrt{\frac{1 - x}{2}}\right) \]
  2. Step-by-step derivation
    1. clear-num5.4%

      \[\leadsto \frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\sqrt{\color{blue}{\frac{1}{\frac{2}{1 - x}}}}\right) \]
    2. sqrt-div5.7%

      \[\leadsto \frac{\pi}{2} - 2 \cdot \sin^{-1} \color{blue}{\left(\frac{\sqrt{1}}{\sqrt{\frac{2}{1 - x}}}\right)} \]
    3. metadata-eval5.7%

      \[\leadsto \frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\frac{\color{blue}{1}}{\sqrt{\frac{2}{1 - x}}}\right) \]
  3. Applied egg-rr5.7%

    \[\leadsto \frac{\pi}{2} - 2 \cdot \sin^{-1} \color{blue}{\left(\frac{1}{\sqrt{\frac{2}{1 - x}}}\right)} \]
  4. Final simplification5.7%

    \[\leadsto \frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\frac{1}{\sqrt{\frac{2}{1 - x}}}\right) \]

Alternative 7: 7.1% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\sqrt{\frac{1 - x}{2}}\right) \end{array} \]
(FPCore (x)
 :precision binary64
 (- (/ PI 2.0) (* 2.0 (asin (sqrt (/ (- 1.0 x) 2.0))))))
double code(double x) {
	return (((double) M_PI) / 2.0) - (2.0 * asin(sqrt(((1.0 - x) / 2.0))));
}
public static double code(double x) {
	return (Math.PI / 2.0) - (2.0 * Math.asin(Math.sqrt(((1.0 - x) / 2.0))));
}
def code(x):
	return (math.pi / 2.0) - (2.0 * math.asin(math.sqrt(((1.0 - x) / 2.0))))
function code(x)
	return Float64(Float64(pi / 2.0) - Float64(2.0 * asin(sqrt(Float64(Float64(1.0 - x) / 2.0)))))
end
function tmp = code(x)
	tmp = (pi / 2.0) - (2.0 * asin(sqrt(((1.0 - x) / 2.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]
\begin{array}{l}

\\
\frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\sqrt{\frac{1 - x}{2}}\right)
\end{array}
Derivation
  1. Initial program 5.4%

    \[\frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\sqrt{\frac{1 - x}{2}}\right) \]
  2. Final simplification5.4%

    \[\leadsto \frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\sqrt{\frac{1 - x}{2}}\right) \]

Alternative 8: 4.1% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\frac{1}{\sqrt{2}}\right) \end{array} \]
(FPCore (x)
 :precision binary64
 (- (/ PI 2.0) (* 2.0 (asin (/ 1.0 (sqrt 2.0))))))
double code(double x) {
	return (((double) M_PI) / 2.0) - (2.0 * asin((1.0 / sqrt(2.0))));
}
public static double code(double x) {
	return (Math.PI / 2.0) - (2.0 * Math.asin((1.0 / Math.sqrt(2.0))));
}
def code(x):
	return (math.pi / 2.0) - (2.0 * math.asin((1.0 / math.sqrt(2.0))))
function code(x)
	return Float64(Float64(pi / 2.0) - Float64(2.0 * asin(Float64(1.0 / sqrt(2.0)))))
end
function tmp = code(x)
	tmp = (pi / 2.0) - (2.0 * asin((1.0 / sqrt(2.0))));
end
code[x_] := N[(N[(Pi / 2.0), $MachinePrecision] - N[(2.0 * N[ArcSin[N[(1.0 / N[Sqrt[2.0], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\frac{1}{\sqrt{2}}\right)
\end{array}
Derivation
  1. Initial program 5.4%

    \[\frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\sqrt{\frac{1 - x}{2}}\right) \]
  2. Step-by-step derivation
    1. clear-num5.4%

      \[\leadsto \frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\sqrt{\color{blue}{\frac{1}{\frac{2}{1 - x}}}}\right) \]
    2. sqrt-div5.7%

      \[\leadsto \frac{\pi}{2} - 2 \cdot \sin^{-1} \color{blue}{\left(\frac{\sqrt{1}}{\sqrt{\frac{2}{1 - x}}}\right)} \]
    3. metadata-eval5.7%

      \[\leadsto \frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\frac{\color{blue}{1}}{\sqrt{\frac{2}{1 - x}}}\right) \]
  3. Applied egg-rr5.7%

    \[\leadsto \frac{\pi}{2} - 2 \cdot \sin^{-1} \color{blue}{\left(\frac{1}{\sqrt{\frac{2}{1 - x}}}\right)} \]
  4. Taylor expanded in x around 0 4.3%

    \[\leadsto \frac{\pi}{2} - 2 \cdot \sin^{-1} \color{blue}{\left(\frac{1}{\sqrt{2}}\right)} \]
  5. Final simplification4.3%

    \[\leadsto \frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\frac{1}{\sqrt{2}}\right) \]

Alternative 9: 4.1% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\sqrt{0.5}\right) \end{array} \]
(FPCore (x) :precision binary64 (- (/ PI 2.0) (* 2.0 (asin (sqrt 0.5)))))
double code(double x) {
	return (((double) M_PI) / 2.0) - (2.0 * asin(sqrt(0.5)));
}
public static double code(double x) {
	return (Math.PI / 2.0) - (2.0 * Math.asin(Math.sqrt(0.5)));
}
def code(x):
	return (math.pi / 2.0) - (2.0 * math.asin(math.sqrt(0.5)))
function code(x)
	return Float64(Float64(pi / 2.0) - Float64(2.0 * asin(sqrt(0.5))))
end
function tmp = code(x)
	tmp = (pi / 2.0) - (2.0 * asin(sqrt(0.5)));
end
code[x_] := N[(N[(Pi / 2.0), $MachinePrecision] - N[(2.0 * N[ArcSin[N[Sqrt[0.5], $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\sqrt{0.5}\right)
\end{array}
Derivation
  1. Initial program 5.4%

    \[\frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\sqrt{\frac{1 - x}{2}}\right) \]
  2. Taylor expanded in x around 0 3.9%

    \[\leadsto \frac{\pi}{2} - 2 \cdot \sin^{-1} \color{blue}{\left(\sqrt{0.5}\right)} \]
  3. Final simplification3.9%

    \[\leadsto \frac{\pi}{2} - 2 \cdot \sin^{-1} \left(\sqrt{0.5}\right) \]

Developer target: 100.0% accurate, 3.1× speedup?

\[\begin{array}{l} \\ \sin^{-1} x \end{array} \]
(FPCore (x) :precision binary64 (asin x))
double code(double x) {
	return asin(x);
}
real(8) function code(x)
    real(8), intent (in) :: x
    code = asin(x)
end function
public static double code(double x) {
	return Math.asin(x);
}
def code(x):
	return math.asin(x)
function code(x)
	return asin(x)
end
function tmp = code(x)
	tmp = asin(x);
end
code[x_] := N[ArcSin[x], $MachinePrecision]
\begin{array}{l}

\\
\sin^{-1} x
\end{array}

Reproduce

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

  :herbie-target
  (asin x)

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