bug323 (missed optimization)

Percentage Accurate: 6.9% → 10.4%
Time: 8.1s
Alternatives: 10
Speedup: 1.0×

Specification

?
\[0 \leq x \land x \leq 0.5\]
\[\begin{array}{l} \\ \cos^{-1} \left(1 - x\right) \end{array} \]
(FPCore (x) :precision binary64 (acos (- 1.0 x)))
double code(double x) {
	return acos((1.0 - x));
}
real(8) function code(x)
    real(8), intent (in) :: x
    code = acos((1.0d0 - x))
end function
public static double code(double x) {
	return Math.acos((1.0 - x));
}
def code(x):
	return math.acos((1.0 - x))
function code(x)
	return acos(Float64(1.0 - x))
end
function tmp = code(x)
	tmp = acos((1.0 - x));
end
code[x_] := N[ArcCos[N[(1.0 - x), $MachinePrecision]], $MachinePrecision]
\begin{array}{l}

\\
\cos^{-1} \left(1 - x\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 10 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: 6.9% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \cos^{-1} \left(1 - x\right) \end{array} \]
(FPCore (x) :precision binary64 (acos (- 1.0 x)))
double code(double x) {
	return acos((1.0 - x));
}
real(8) function code(x)
    real(8), intent (in) :: x
    code = acos((1.0d0 - x))
end function
public static double code(double x) {
	return Math.acos((1.0 - x));
}
def code(x):
	return math.acos((1.0 - x))
function code(x)
	return acos(Float64(1.0 - x))
end
function tmp = code(x)
	tmp = acos((1.0 - x));
end
code[x_] := N[ArcCos[N[(1.0 - x), $MachinePrecision]], $MachinePrecision]
\begin{array}{l}

\\
\cos^{-1} \left(1 - x\right)
\end{array}

Alternative 1: 10.4% accurate, 0.1× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{\mathsf{PI}\left(\right)}{2}\\ t_1 := \cos^{-1} \left(1 - x\right)\\ \frac{\mathsf{fma}\left(t\_0, t\_0 \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(t\_1 \cdot \left(t\_1 - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({t\_0}^{3} - {t\_1}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\sqrt[3]{{\mathsf{PI}\left(\right)}^{3}}}{2}\right)}^{2} + \mathsf{fma}\left(0.5, \mathsf{PI}\left(\right), t\_1\right) \cdot t\_1\right)} \end{array} \end{array} \]
(FPCore (x)
 :precision binary64
 (let* ((t_0 (/ (PI) 2.0)) (t_1 (acos (- 1.0 x))))
   (/
    (fma
     t_0
     (* t_0 (PI))
     (fma
      (* t_1 (- t_1 (/ (PI) -2.0)))
      (PI)
      (* -2.0 (- (pow t_0 3.0) (pow t_1 3.0)))))
    (*
     2.0
     (+ (pow (/ (cbrt (pow (PI) 3.0)) 2.0) 2.0) (* (fma 0.5 (PI) t_1) t_1))))))
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \frac{\mathsf{PI}\left(\right)}{2}\\
t_1 := \cos^{-1} \left(1 - x\right)\\
\frac{\mathsf{fma}\left(t\_0, t\_0 \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(t\_1 \cdot \left(t\_1 - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({t\_0}^{3} - {t\_1}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\sqrt[3]{{\mathsf{PI}\left(\right)}^{3}}}{2}\right)}^{2} + \mathsf{fma}\left(0.5, \mathsf{PI}\left(\right), t\_1\right) \cdot t\_1\right)}
\end{array}
\end{array}
Derivation
  1. Initial program 7.2%

    \[\cos^{-1} \left(1 - x\right) \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. lift-acos.f64N/A

      \[\leadsto \color{blue}{\cos^{-1} \left(1 - x\right)} \]
    2. acos-asinN/A

      \[\leadsto \color{blue}{\frac{\mathsf{PI}\left(\right)}{2} - \sin^{-1} \left(1 - x\right)} \]
    3. asin-acosN/A

      \[\leadsto \frac{\mathsf{PI}\left(\right)}{2} - \color{blue}{\left(\frac{\mathsf{PI}\left(\right)}{2} - \cos^{-1} \left(1 - x\right)\right)} \]
    4. lift-acos.f64N/A

      \[\leadsto \frac{\mathsf{PI}\left(\right)}{2} - \left(\frac{\mathsf{PI}\left(\right)}{2} - \color{blue}{\cos^{-1} \left(1 - x\right)}\right) \]
    5. flip3--N/A

      \[\leadsto \frac{\mathsf{PI}\left(\right)}{2} - \color{blue}{\frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}}{\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2} + \left(\cos^{-1} \left(1 - x\right) \cdot \cos^{-1} \left(1 - x\right) + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)}} \]
    6. frac-subN/A

      \[\leadsto \color{blue}{\frac{\mathsf{PI}\left(\right) \cdot \left(\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2} + \left(\cos^{-1} \left(1 - x\right) \cdot \cos^{-1} \left(1 - x\right) + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right) - 2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)}{2 \cdot \left(\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2} + \left(\cos^{-1} \left(1 - x\right) \cdot \cos^{-1} \left(1 - x\right) + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right)}} \]
    7. lower-/.f64N/A

      \[\leadsto \color{blue}{\frac{\mathsf{PI}\left(\right) \cdot \left(\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2} + \left(\cos^{-1} \left(1 - x\right) \cdot \cos^{-1} \left(1 - x\right) + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right) - 2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)}{2 \cdot \left(\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2} + \left(\cos^{-1} \left(1 - x\right) \cdot \cos^{-1} \left(1 - x\right) + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right)}} \]
  4. Applied rewrites7.2%

    \[\leadsto \color{blue}{\frac{\mathsf{PI}\left(\right) \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right) - 2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right)}} \]
  5. Step-by-step derivation
    1. lift--.f64N/A

      \[\leadsto \frac{\color{blue}{\mathsf{PI}\left(\right) \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right) - 2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)}}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right)} \]
    2. lift-*.f64N/A

      \[\leadsto \frac{\mathsf{PI}\left(\right) \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right) - \color{blue}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)}}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right)} \]
    3. fp-cancel-sub-sign-invN/A

      \[\leadsto \frac{\color{blue}{\mathsf{PI}\left(\right) \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right) + \left(\mathsf{neg}\left(2\right)\right) \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)}}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right)} \]
  6. Applied rewrites10.6%

    \[\leadsto \frac{\color{blue}{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right)} \]
  7. Taylor expanded in x around 0

    \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \color{blue}{\left(\frac{1}{2} \cdot \left(\mathsf{PI}\left(\right) \cdot \cos^{-1} \left(1 - x\right)\right) + {\cos^{-1} \left(1 - x\right)}^{2}\right)}\right)} \]
  8. Step-by-step derivation
    1. +-commutativeN/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \color{blue}{\left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{1}{2} \cdot \left(\mathsf{PI}\left(\right) \cdot \cos^{-1} \left(1 - x\right)\right)\right)}\right)} \]
    2. unpow2N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left(\color{blue}{\cos^{-1} \left(1 - x\right) \cdot \cos^{-1} \left(1 - x\right)} + \frac{1}{2} \cdot \left(\mathsf{PI}\left(\right) \cdot \cos^{-1} \left(1 - x\right)\right)\right)\right)} \]
    3. associate-*r*N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left(\cos^{-1} \left(1 - x\right) \cdot \cos^{-1} \left(1 - x\right) + \color{blue}{\left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right) \cdot \cos^{-1} \left(1 - x\right)}\right)\right)} \]
    4. distribute-rgt-inN/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \color{blue}{\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) + \frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}\right)} \]
    5. metadata-evalN/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) + \color{blue}{\left(\mathsf{neg}\left(\frac{-1}{2}\right)\right)} \cdot \mathsf{PI}\left(\right)\right)\right)} \]
    6. fp-cancel-sub-sign-invN/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \cos^{-1} \left(1 - x\right) \cdot \color{blue}{\left(\cos^{-1} \left(1 - x\right) - \frac{-1}{2} \cdot \mathsf{PI}\left(\right)\right)}\right)} \]
    7. *-commutativeN/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \color{blue}{\left(\cos^{-1} \left(1 - x\right) - \frac{-1}{2} \cdot \mathsf{PI}\left(\right)\right) \cdot \cos^{-1} \left(1 - x\right)}\right)} \]
    8. lower-*.f64N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \color{blue}{\left(\cos^{-1} \left(1 - x\right) - \frac{-1}{2} \cdot \mathsf{PI}\left(\right)\right) \cdot \cos^{-1} \left(1 - x\right)}\right)} \]
    9. fp-cancel-sub-sign-invN/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \color{blue}{\left(\cos^{-1} \left(1 - x\right) + \left(\mathsf{neg}\left(\frac{-1}{2}\right)\right) \cdot \mathsf{PI}\left(\right)\right)} \cdot \cos^{-1} \left(1 - x\right)\right)} \]
    10. metadata-evalN/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left(\cos^{-1} \left(1 - x\right) + \color{blue}{\frac{1}{2}} \cdot \mathsf{PI}\left(\right)\right) \cdot \cos^{-1} \left(1 - x\right)\right)} \]
    11. +-commutativeN/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \color{blue}{\left(\frac{1}{2} \cdot \mathsf{PI}\left(\right) + \cos^{-1} \left(1 - x\right)\right)} \cdot \cos^{-1} \left(1 - x\right)\right)} \]
    12. lower-fma.f64N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \color{blue}{\mathsf{fma}\left(\frac{1}{2}, \mathsf{PI}\left(\right), \cos^{-1} \left(1 - x\right)\right)} \cdot \cos^{-1} \left(1 - x\right)\right)} \]
    13. lower-PI.f64N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \mathsf{fma}\left(\frac{1}{2}, \color{blue}{\mathsf{PI}\left(\right)}, \cos^{-1} \left(1 - x\right)\right) \cdot \cos^{-1} \left(1 - x\right)\right)} \]
    14. lower-acos.f64N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \mathsf{fma}\left(\frac{1}{2}, \mathsf{PI}\left(\right), \color{blue}{\cos^{-1} \left(1 - x\right)}\right) \cdot \cos^{-1} \left(1 - x\right)\right)} \]
    15. lower--.f64N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \mathsf{fma}\left(\frac{1}{2}, \mathsf{PI}\left(\right), \cos^{-1} \color{blue}{\left(1 - x\right)}\right) \cdot \cos^{-1} \left(1 - x\right)\right)} \]
    16. lower-acos.f64N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \mathsf{fma}\left(\frac{1}{2}, \mathsf{PI}\left(\right), \cos^{-1} \left(1 - x\right)\right) \cdot \color{blue}{\cos^{-1} \left(1 - x\right)}\right)} \]
    17. lower--.f6410.6

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \mathsf{fma}\left(0.5, \mathsf{PI}\left(\right), \cos^{-1} \left(1 - x\right)\right) \cdot \cos^{-1} \color{blue}{\left(1 - x\right)}\right)} \]
  9. Applied rewrites10.6%

    \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \color{blue}{\mathsf{fma}\left(0.5, \mathsf{PI}\left(\right), \cos^{-1} \left(1 - x\right)\right) \cdot \cos^{-1} \left(1 - x\right)}\right)} \]
  10. Step-by-step derivation
    1. unpow1N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\color{blue}{{\mathsf{PI}\left(\right)}^{1}}}{2}\right)}^{2} + \mathsf{fma}\left(\frac{1}{2}, \mathsf{PI}\left(\right), \cos^{-1} \left(1 - x\right)\right) \cdot \cos^{-1} \left(1 - x\right)\right)} \]
    2. metadata-evalN/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{{\mathsf{PI}\left(\right)}^{\color{blue}{\left(3 \cdot \frac{1}{3}\right)}}}{2}\right)}^{2} + \mathsf{fma}\left(\frac{1}{2}, \mathsf{PI}\left(\right), \cos^{-1} \left(1 - x\right)\right) \cdot \cos^{-1} \left(1 - x\right)\right)} \]
    3. pow-powN/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\color{blue}{{\left({\mathsf{PI}\left(\right)}^{3}\right)}^{\frac{1}{3}}}}{2}\right)}^{2} + \mathsf{fma}\left(\frac{1}{2}, \mathsf{PI}\left(\right), \cos^{-1} \left(1 - x\right)\right) \cdot \cos^{-1} \left(1 - x\right)\right)} \]
    4. pow1/3N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\color{blue}{\sqrt[3]{{\mathsf{PI}\left(\right)}^{3}}}}{2}\right)}^{2} + \mathsf{fma}\left(\frac{1}{2}, \mathsf{PI}\left(\right), \cos^{-1} \left(1 - x\right)\right) \cdot \cos^{-1} \left(1 - x\right)\right)} \]
    5. lower-cbrt.f64N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\color{blue}{\sqrt[3]{{\mathsf{PI}\left(\right)}^{3}}}}{2}\right)}^{2} + \mathsf{fma}\left(\frac{1}{2}, \mathsf{PI}\left(\right), \cos^{-1} \left(1 - x\right)\right) \cdot \cos^{-1} \left(1 - x\right)\right)} \]
    6. lower-pow.f6410.6

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\sqrt[3]{\color{blue}{{\mathsf{PI}\left(\right)}^{3}}}}{2}\right)}^{2} + \mathsf{fma}\left(0.5, \mathsf{PI}\left(\right), \cos^{-1} \left(1 - x\right)\right) \cdot \cos^{-1} \left(1 - x\right)\right)} \]
  11. Applied rewrites10.6%

    \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\color{blue}{\sqrt[3]{{\mathsf{PI}\left(\right)}^{3}}}}{2}\right)}^{2} + \mathsf{fma}\left(0.5, \mathsf{PI}\left(\right), \cos^{-1} \left(1 - x\right)\right) \cdot \cos^{-1} \left(1 - x\right)\right)} \]
  12. Add Preprocessing

Alternative 2: 10.4% accurate, 0.1× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{\mathsf{PI}\left(\right)}{2}\\ t_1 := \cos^{-1} \left(1 - x\right)\\ \frac{\mathsf{fma}\left(t\_0, t\_0 \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(t\_1 \cdot \left(t\_1 - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({t\_0}^{3} - {t\_1}^{3}\right)\right)\right)}{2 \cdot \left(\frac{\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)}{4} + \mathsf{fma}\left(0.5, \mathsf{PI}\left(\right), t\_1\right) \cdot t\_1\right)} \end{array} \end{array} \]
(FPCore (x)
 :precision binary64
 (let* ((t_0 (/ (PI) 2.0)) (t_1 (acos (- 1.0 x))))
   (/
    (fma
     t_0
     (* t_0 (PI))
     (fma
      (* t_1 (- t_1 (/ (PI) -2.0)))
      (PI)
      (* -2.0 (- (pow t_0 3.0) (pow t_1 3.0)))))
    (* 2.0 (+ (/ (* (PI) (PI)) 4.0) (* (fma 0.5 (PI) t_1) t_1))))))
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \frac{\mathsf{PI}\left(\right)}{2}\\
t_1 := \cos^{-1} \left(1 - x\right)\\
\frac{\mathsf{fma}\left(t\_0, t\_0 \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(t\_1 \cdot \left(t\_1 - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({t\_0}^{3} - {t\_1}^{3}\right)\right)\right)}{2 \cdot \left(\frac{\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)}{4} + \mathsf{fma}\left(0.5, \mathsf{PI}\left(\right), t\_1\right) \cdot t\_1\right)}
\end{array}
\end{array}
Derivation
  1. Initial program 7.2%

    \[\cos^{-1} \left(1 - x\right) \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. lift-acos.f64N/A

      \[\leadsto \color{blue}{\cos^{-1} \left(1 - x\right)} \]
    2. acos-asinN/A

      \[\leadsto \color{blue}{\frac{\mathsf{PI}\left(\right)}{2} - \sin^{-1} \left(1 - x\right)} \]
    3. asin-acosN/A

      \[\leadsto \frac{\mathsf{PI}\left(\right)}{2} - \color{blue}{\left(\frac{\mathsf{PI}\left(\right)}{2} - \cos^{-1} \left(1 - x\right)\right)} \]
    4. lift-acos.f64N/A

      \[\leadsto \frac{\mathsf{PI}\left(\right)}{2} - \left(\frac{\mathsf{PI}\left(\right)}{2} - \color{blue}{\cos^{-1} \left(1 - x\right)}\right) \]
    5. flip3--N/A

      \[\leadsto \frac{\mathsf{PI}\left(\right)}{2} - \color{blue}{\frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}}{\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2} + \left(\cos^{-1} \left(1 - x\right) \cdot \cos^{-1} \left(1 - x\right) + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)}} \]
    6. frac-subN/A

      \[\leadsto \color{blue}{\frac{\mathsf{PI}\left(\right) \cdot \left(\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2} + \left(\cos^{-1} \left(1 - x\right) \cdot \cos^{-1} \left(1 - x\right) + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right) - 2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)}{2 \cdot \left(\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2} + \left(\cos^{-1} \left(1 - x\right) \cdot \cos^{-1} \left(1 - x\right) + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right)}} \]
    7. lower-/.f64N/A

      \[\leadsto \color{blue}{\frac{\mathsf{PI}\left(\right) \cdot \left(\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2} + \left(\cos^{-1} \left(1 - x\right) \cdot \cos^{-1} \left(1 - x\right) + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right) - 2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)}{2 \cdot \left(\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2} + \left(\cos^{-1} \left(1 - x\right) \cdot \cos^{-1} \left(1 - x\right) + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right)}} \]
  4. Applied rewrites7.2%

    \[\leadsto \color{blue}{\frac{\mathsf{PI}\left(\right) \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right) - 2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right)}} \]
  5. Step-by-step derivation
    1. lift--.f64N/A

      \[\leadsto \frac{\color{blue}{\mathsf{PI}\left(\right) \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right) - 2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)}}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right)} \]
    2. lift-*.f64N/A

      \[\leadsto \frac{\mathsf{PI}\left(\right) \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right) - \color{blue}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)}}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right)} \]
    3. fp-cancel-sub-sign-invN/A

      \[\leadsto \frac{\color{blue}{\mathsf{PI}\left(\right) \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right) + \left(\mathsf{neg}\left(2\right)\right) \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)}}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right)} \]
  6. Applied rewrites10.6%

    \[\leadsto \frac{\color{blue}{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right)} \]
  7. Taylor expanded in x around 0

    \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \color{blue}{\left(\frac{1}{2} \cdot \left(\mathsf{PI}\left(\right) \cdot \cos^{-1} \left(1 - x\right)\right) + {\cos^{-1} \left(1 - x\right)}^{2}\right)}\right)} \]
  8. Step-by-step derivation
    1. +-commutativeN/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \color{blue}{\left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{1}{2} \cdot \left(\mathsf{PI}\left(\right) \cdot \cos^{-1} \left(1 - x\right)\right)\right)}\right)} \]
    2. unpow2N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left(\color{blue}{\cos^{-1} \left(1 - x\right) \cdot \cos^{-1} \left(1 - x\right)} + \frac{1}{2} \cdot \left(\mathsf{PI}\left(\right) \cdot \cos^{-1} \left(1 - x\right)\right)\right)\right)} \]
    3. associate-*r*N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left(\cos^{-1} \left(1 - x\right) \cdot \cos^{-1} \left(1 - x\right) + \color{blue}{\left(\frac{1}{2} \cdot \mathsf{PI}\left(\right)\right) \cdot \cos^{-1} \left(1 - x\right)}\right)\right)} \]
    4. distribute-rgt-inN/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \color{blue}{\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) + \frac{1}{2} \cdot \mathsf{PI}\left(\right)\right)}\right)} \]
    5. metadata-evalN/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) + \color{blue}{\left(\mathsf{neg}\left(\frac{-1}{2}\right)\right)} \cdot \mathsf{PI}\left(\right)\right)\right)} \]
    6. fp-cancel-sub-sign-invN/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \cos^{-1} \left(1 - x\right) \cdot \color{blue}{\left(\cos^{-1} \left(1 - x\right) - \frac{-1}{2} \cdot \mathsf{PI}\left(\right)\right)}\right)} \]
    7. *-commutativeN/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \color{blue}{\left(\cos^{-1} \left(1 - x\right) - \frac{-1}{2} \cdot \mathsf{PI}\left(\right)\right) \cdot \cos^{-1} \left(1 - x\right)}\right)} \]
    8. lower-*.f64N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \color{blue}{\left(\cos^{-1} \left(1 - x\right) - \frac{-1}{2} \cdot \mathsf{PI}\left(\right)\right) \cdot \cos^{-1} \left(1 - x\right)}\right)} \]
    9. fp-cancel-sub-sign-invN/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \color{blue}{\left(\cos^{-1} \left(1 - x\right) + \left(\mathsf{neg}\left(\frac{-1}{2}\right)\right) \cdot \mathsf{PI}\left(\right)\right)} \cdot \cos^{-1} \left(1 - x\right)\right)} \]
    10. metadata-evalN/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left(\cos^{-1} \left(1 - x\right) + \color{blue}{\frac{1}{2}} \cdot \mathsf{PI}\left(\right)\right) \cdot \cos^{-1} \left(1 - x\right)\right)} \]
    11. +-commutativeN/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \color{blue}{\left(\frac{1}{2} \cdot \mathsf{PI}\left(\right) + \cos^{-1} \left(1 - x\right)\right)} \cdot \cos^{-1} \left(1 - x\right)\right)} \]
    12. lower-fma.f64N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \color{blue}{\mathsf{fma}\left(\frac{1}{2}, \mathsf{PI}\left(\right), \cos^{-1} \left(1 - x\right)\right)} \cdot \cos^{-1} \left(1 - x\right)\right)} \]
    13. lower-PI.f64N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \mathsf{fma}\left(\frac{1}{2}, \color{blue}{\mathsf{PI}\left(\right)}, \cos^{-1} \left(1 - x\right)\right) \cdot \cos^{-1} \left(1 - x\right)\right)} \]
    14. lower-acos.f64N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \mathsf{fma}\left(\frac{1}{2}, \mathsf{PI}\left(\right), \color{blue}{\cos^{-1} \left(1 - x\right)}\right) \cdot \cos^{-1} \left(1 - x\right)\right)} \]
    15. lower--.f64N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \mathsf{fma}\left(\frac{1}{2}, \mathsf{PI}\left(\right), \cos^{-1} \color{blue}{\left(1 - x\right)}\right) \cdot \cos^{-1} \left(1 - x\right)\right)} \]
    16. lower-acos.f64N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \mathsf{fma}\left(\frac{1}{2}, \mathsf{PI}\left(\right), \cos^{-1} \left(1 - x\right)\right) \cdot \color{blue}{\cos^{-1} \left(1 - x\right)}\right)} \]
    17. lower--.f6410.6

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \mathsf{fma}\left(0.5, \mathsf{PI}\left(\right), \cos^{-1} \left(1 - x\right)\right) \cdot \cos^{-1} \color{blue}{\left(1 - x\right)}\right)} \]
  9. Applied rewrites10.6%

    \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \color{blue}{\mathsf{fma}\left(0.5, \mathsf{PI}\left(\right), \cos^{-1} \left(1 - x\right)\right) \cdot \cos^{-1} \left(1 - x\right)}\right)} \]
  10. Step-by-step derivation
    1. lift-pow.f64N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left(\color{blue}{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2}} + \mathsf{fma}\left(\frac{1}{2}, \mathsf{PI}\left(\right), \cos^{-1} \left(1 - x\right)\right) \cdot \cos^{-1} \left(1 - x\right)\right)} \]
    2. unpow2N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left(\color{blue}{\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2}} + \mathsf{fma}\left(\frac{1}{2}, \mathsf{PI}\left(\right), \cos^{-1} \left(1 - x\right)\right) \cdot \cos^{-1} \left(1 - x\right)\right)} \]
    3. lift-/.f64N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left(\color{blue}{\frac{\mathsf{PI}\left(\right)}{2}} \cdot \frac{\mathsf{PI}\left(\right)}{2} + \mathsf{fma}\left(\frac{1}{2}, \mathsf{PI}\left(\right), \cos^{-1} \left(1 - x\right)\right) \cdot \cos^{-1} \left(1 - x\right)\right)} \]
    4. lift-/.f64N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left(\frac{\mathsf{PI}\left(\right)}{2} \cdot \color{blue}{\frac{\mathsf{PI}\left(\right)}{2}} + \mathsf{fma}\left(\frac{1}{2}, \mathsf{PI}\left(\right), \cos^{-1} \left(1 - x\right)\right) \cdot \cos^{-1} \left(1 - x\right)\right)} \]
    5. frac-timesN/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left(\color{blue}{\frac{\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)}{2 \cdot 2}} + \mathsf{fma}\left(\frac{1}{2}, \mathsf{PI}\left(\right), \cos^{-1} \left(1 - x\right)\right) \cdot \cos^{-1} \left(1 - x\right)\right)} \]
    6. lift-*.f64N/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left(\frac{\color{blue}{\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)}}{2 \cdot 2} + \mathsf{fma}\left(\frac{1}{2}, \mathsf{PI}\left(\right), \cos^{-1} \left(1 - x\right)\right) \cdot \cos^{-1} \left(1 - x\right)\right)} \]
    7. metadata-evalN/A

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left(\frac{\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)}{\color{blue}{4}} + \mathsf{fma}\left(\frac{1}{2}, \mathsf{PI}\left(\right), \cos^{-1} \left(1 - x\right)\right) \cdot \cos^{-1} \left(1 - x\right)\right)} \]
    8. lower-/.f6410.6

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left(\color{blue}{\frac{\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)}{4}} + \mathsf{fma}\left(0.5, \mathsf{PI}\left(\right), \cos^{-1} \left(1 - x\right)\right) \cdot \cos^{-1} \left(1 - x\right)\right)} \]
  11. Applied rewrites10.6%

    \[\leadsto \frac{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}{2 \cdot \left(\color{blue}{\frac{\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)}{4}} + \mathsf{fma}\left(0.5, \mathsf{PI}\left(\right), \cos^{-1} \left(1 - x\right)\right) \cdot \cos^{-1} \left(1 - x\right)\right)} \]
  12. Add Preprocessing

Alternative 3: 10.4% accurate, 0.1× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \cos^{-1} \left(1 - x\right)\\ t_1 := \frac{\mathsf{PI}\left(\right)}{-2}\\ t_2 := \mathsf{fma}\left(t\_0 - t\_1, t\_0, {t\_1}^{2}\right)\\ \mathsf{fma}\left(t\_2, \frac{\mathsf{PI}\left(\right)}{t\_2 \cdot 2}, -\sin^{-1} \left(1 - x\right)\right) \end{array} \end{array} \]
(FPCore (x)
 :precision binary64
 (let* ((t_0 (acos (- 1.0 x)))
        (t_1 (/ (PI) -2.0))
        (t_2 (fma (- t_0 t_1) t_0 (pow t_1 2.0))))
   (fma t_2 (/ (PI) (* t_2 2.0)) (- (asin (- 1.0 x))))))
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \cos^{-1} \left(1 - x\right)\\
t_1 := \frac{\mathsf{PI}\left(\right)}{-2}\\
t_2 := \mathsf{fma}\left(t\_0 - t\_1, t\_0, {t\_1}^{2}\right)\\
\mathsf{fma}\left(t\_2, \frac{\mathsf{PI}\left(\right)}{t\_2 \cdot 2}, -\sin^{-1} \left(1 - x\right)\right)
\end{array}
\end{array}
Derivation
  1. Initial program 7.2%

    \[\cos^{-1} \left(1 - x\right) \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. lift-acos.f64N/A

      \[\leadsto \color{blue}{\cos^{-1} \left(1 - x\right)} \]
    2. acos-asinN/A

      \[\leadsto \color{blue}{\frac{\mathsf{PI}\left(\right)}{2} - \sin^{-1} \left(1 - x\right)} \]
    3. asin-acosN/A

      \[\leadsto \frac{\mathsf{PI}\left(\right)}{2} - \color{blue}{\left(\frac{\mathsf{PI}\left(\right)}{2} - \cos^{-1} \left(1 - x\right)\right)} \]
    4. lift-acos.f64N/A

      \[\leadsto \frac{\mathsf{PI}\left(\right)}{2} - \left(\frac{\mathsf{PI}\left(\right)}{2} - \color{blue}{\cos^{-1} \left(1 - x\right)}\right) \]
    5. flip3--N/A

      \[\leadsto \frac{\mathsf{PI}\left(\right)}{2} - \color{blue}{\frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}}{\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2} + \left(\cos^{-1} \left(1 - x\right) \cdot \cos^{-1} \left(1 - x\right) + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)}} \]
    6. frac-subN/A

      \[\leadsto \color{blue}{\frac{\mathsf{PI}\left(\right) \cdot \left(\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2} + \left(\cos^{-1} \left(1 - x\right) \cdot \cos^{-1} \left(1 - x\right) + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right) - 2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)}{2 \cdot \left(\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2} + \left(\cos^{-1} \left(1 - x\right) \cdot \cos^{-1} \left(1 - x\right) + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right)}} \]
    7. lower-/.f64N/A

      \[\leadsto \color{blue}{\frac{\mathsf{PI}\left(\right) \cdot \left(\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2} + \left(\cos^{-1} \left(1 - x\right) \cdot \cos^{-1} \left(1 - x\right) + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right) - 2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)}{2 \cdot \left(\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2} + \left(\cos^{-1} \left(1 - x\right) \cdot \cos^{-1} \left(1 - x\right) + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right)}} \]
  4. Applied rewrites7.2%

    \[\leadsto \color{blue}{\frac{\mathsf{PI}\left(\right) \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right) - 2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right)}} \]
  5. Step-by-step derivation
    1. lift--.f64N/A

      \[\leadsto \frac{\color{blue}{\mathsf{PI}\left(\right) \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right) - 2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)}}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right)} \]
    2. lift-*.f64N/A

      \[\leadsto \frac{\mathsf{PI}\left(\right) \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right) - \color{blue}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)}}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right)} \]
    3. fp-cancel-sub-sign-invN/A

      \[\leadsto \frac{\color{blue}{\mathsf{PI}\left(\right) \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right) + \left(\mathsf{neg}\left(2\right)\right) \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)}}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right)} \]
  6. Applied rewrites10.6%

    \[\leadsto \frac{\color{blue}{\mathsf{fma}\left(\frac{\mathsf{PI}\left(\right)}{2}, \frac{\mathsf{PI}\left(\right)}{2} \cdot \mathsf{PI}\left(\right), \mathsf{fma}\left(\cos^{-1} \left(1 - x\right) \cdot \left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}\right), \mathsf{PI}\left(\right), -2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{3} - {\cos^{-1} \left(1 - x\right)}^{3}\right)\right)\right)}}{2 \cdot \left({\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} + \left({\cos^{-1} \left(1 - x\right)}^{2} + \frac{\mathsf{PI}\left(\right)}{2} \cdot \cos^{-1} \left(1 - x\right)\right)\right)} \]
  7. Applied rewrites10.6%

    \[\leadsto \color{blue}{\mathsf{fma}\left(\mathsf{fma}\left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}, \cos^{-1} \left(1 - x\right), {\left(\frac{\mathsf{PI}\left(\right)}{-2}\right)}^{2}\right), \frac{\mathsf{PI}\left(\right)}{\mathsf{fma}\left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}, \cos^{-1} \left(1 - x\right), {\left(\frac{\mathsf{PI}\left(\right)}{-2}\right)}^{2}\right) \cdot 2}, -1 \cdot \sin^{-1} \left(1 - x\right)\right)} \]
  8. Final simplification10.6%

    \[\leadsto \mathsf{fma}\left(\mathsf{fma}\left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}, \cos^{-1} \left(1 - x\right), {\left(\frac{\mathsf{PI}\left(\right)}{-2}\right)}^{2}\right), \frac{\mathsf{PI}\left(\right)}{\mathsf{fma}\left(\cos^{-1} \left(1 - x\right) - \frac{\mathsf{PI}\left(\right)}{-2}, \cos^{-1} \left(1 - x\right), {\left(\frac{\mathsf{PI}\left(\right)}{-2}\right)}^{2}\right) \cdot 2}, -\sin^{-1} \left(1 - x\right)\right) \]
  9. Add Preprocessing

Alternative 4: 10.4% accurate, 0.3× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \sqrt{\mathsf{PI}\left(\right)}\\ t_1 := \sin^{-1} \left(1 - x\right)\\ \frac{\left(\left(t\_0 \cdot t\_0\right) \cdot \mathsf{PI}\left(\right)\right) \cdot 0.25 - {\left(\sqrt{t\_1}\right)}^{4}}{\mathsf{fma}\left(\mathsf{PI}\left(\right), 0.5, t\_1\right)} \end{array} \end{array} \]
(FPCore (x)
 :precision binary64
 (let* ((t_0 (sqrt (PI))) (t_1 (asin (- 1.0 x))))
   (/
    (- (* (* (* t_0 t_0) (PI)) 0.25) (pow (sqrt t_1) 4.0))
    (fma (PI) 0.5 t_1))))
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \sqrt{\mathsf{PI}\left(\right)}\\
t_1 := \sin^{-1} \left(1 - x\right)\\
\frac{\left(\left(t\_0 \cdot t\_0\right) \cdot \mathsf{PI}\left(\right)\right) \cdot 0.25 - {\left(\sqrt{t\_1}\right)}^{4}}{\mathsf{fma}\left(\mathsf{PI}\left(\right), 0.5, t\_1\right)}
\end{array}
\end{array}
Derivation
  1. Initial program 7.2%

    \[\cos^{-1} \left(1 - x\right) \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. lift-acos.f64N/A

      \[\leadsto \color{blue}{\cos^{-1} \left(1 - x\right)} \]
    2. acos-asinN/A

      \[\leadsto \color{blue}{\frac{\mathsf{PI}\left(\right)}{2} - \sin^{-1} \left(1 - x\right)} \]
    3. flip--N/A

      \[\leadsto \color{blue}{\frac{\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)}} \]
    4. lower-/.f64N/A

      \[\leadsto \color{blue}{\frac{\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)}} \]
    5. lower--.f64N/A

      \[\leadsto \frac{\color{blue}{\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
    6. pow2N/A

      \[\leadsto \frac{\color{blue}{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2}} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
    7. lower-pow.f64N/A

      \[\leadsto \frac{\color{blue}{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2}} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
    8. lower-/.f64N/A

      \[\leadsto \frac{{\color{blue}{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}}^{2} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
    9. lower-PI.f64N/A

      \[\leadsto \frac{{\left(\frac{\color{blue}{\mathsf{PI}\left(\right)}}{2}\right)}^{2} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
    10. pow2N/A

      \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - \color{blue}{{\sin^{-1} \left(1 - x\right)}^{2}}}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
    11. lower-pow.f64N/A

      \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - \color{blue}{{\sin^{-1} \left(1 - x\right)}^{2}}}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
    12. lower-asin.f64N/A

      \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\color{blue}{\sin^{-1} \left(1 - x\right)}}^{2}}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
    13. +-commutativeN/A

      \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\color{blue}{\sin^{-1} \left(1 - x\right) + \frac{\mathsf{PI}\left(\right)}{2}}} \]
    14. lower-+.f64N/A

      \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\color{blue}{\sin^{-1} \left(1 - x\right) + \frac{\mathsf{PI}\left(\right)}{2}}} \]
    15. lower-asin.f64N/A

      \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\color{blue}{\sin^{-1} \left(1 - x\right)} + \frac{\mathsf{PI}\left(\right)}{2}} \]
    16. lower-/.f64N/A

      \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\sin^{-1} \left(1 - x\right) + \color{blue}{\frac{\mathsf{PI}\left(\right)}{2}}} \]
    17. lower-PI.f647.2

      \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\sin^{-1} \left(1 - x\right) + \frac{\color{blue}{\mathsf{PI}\left(\right)}}{2}} \]
  4. Applied rewrites7.2%

    \[\leadsto \color{blue}{\frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\sin^{-1} \left(1 - x\right) + \frac{\mathsf{PI}\left(\right)}{2}}} \]
  5. Taylor expanded in x around 0

    \[\leadsto \color{blue}{\frac{\frac{1}{4} \cdot {\mathsf{PI}\left(\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\sin^{-1} \left(1 - x\right) + \frac{1}{2} \cdot \mathsf{PI}\left(\right)}} \]
  6. Applied rewrites7.2%

    \[\leadsto \color{blue}{\frac{\left(\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)\right) \cdot 0.25 - {\sin^{-1} \left(1 - x\right)}^{2}}{\mathsf{fma}\left(\mathsf{PI}\left(\right), 0.5, \sin^{-1} \left(1 - x\right)\right)}} \]
  7. Step-by-step derivation
    1. Applied rewrites10.5%

      \[\leadsto \frac{\left(\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)\right) \cdot 0.25 - {\left(\sqrt{\sin^{-1} \left(1 - x\right)}\right)}^{4}}{\mathsf{fma}\left(\mathsf{PI}\left(\right), 0.5, \sin^{-1} \left(1 - x\right)\right)} \]
    2. Step-by-step derivation
      1. Applied rewrites10.5%

        \[\leadsto \frac{\left(\left(\sqrt{\mathsf{PI}\left(\right)} \cdot \sqrt{\mathsf{PI}\left(\right)}\right) \cdot \mathsf{PI}\left(\right)\right) \cdot 0.25 - {\left(\sqrt{\sin^{-1} \left(1 - x\right)}\right)}^{4}}{\mathsf{fma}\left(\mathsf{PI}\left(\right), 0.5, \sin^{-1} \left(1 - x\right)\right)} \]
      2. Add Preprocessing

      Alternative 5: 10.4% accurate, 0.3× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} t_0 := \sin^{-1} \left(1 - x\right)\\ \frac{\left(\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)\right) \cdot 0.25 - {\left(\sqrt{t\_0}\right)}^{4}}{\mathsf{fma}\left(\mathsf{PI}\left(\right), 0.5, t\_0\right)} \end{array} \end{array} \]
      (FPCore (x)
       :precision binary64
       (let* ((t_0 (asin (- 1.0 x))))
         (/ (- (* (* (PI) (PI)) 0.25) (pow (sqrt t_0) 4.0)) (fma (PI) 0.5 t_0))))
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      t_0 := \sin^{-1} \left(1 - x\right)\\
      \frac{\left(\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)\right) \cdot 0.25 - {\left(\sqrt{t\_0}\right)}^{4}}{\mathsf{fma}\left(\mathsf{PI}\left(\right), 0.5, t\_0\right)}
      \end{array}
      \end{array}
      
      Derivation
      1. Initial program 7.2%

        \[\cos^{-1} \left(1 - x\right) \]
      2. Add Preprocessing
      3. Step-by-step derivation
        1. lift-acos.f64N/A

          \[\leadsto \color{blue}{\cos^{-1} \left(1 - x\right)} \]
        2. acos-asinN/A

          \[\leadsto \color{blue}{\frac{\mathsf{PI}\left(\right)}{2} - \sin^{-1} \left(1 - x\right)} \]
        3. flip--N/A

          \[\leadsto \color{blue}{\frac{\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)}} \]
        4. lower-/.f64N/A

          \[\leadsto \color{blue}{\frac{\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)}} \]
        5. lower--.f64N/A

          \[\leadsto \frac{\color{blue}{\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
        6. pow2N/A

          \[\leadsto \frac{\color{blue}{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2}} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
        7. lower-pow.f64N/A

          \[\leadsto \frac{\color{blue}{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2}} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
        8. lower-/.f64N/A

          \[\leadsto \frac{{\color{blue}{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}}^{2} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
        9. lower-PI.f64N/A

          \[\leadsto \frac{{\left(\frac{\color{blue}{\mathsf{PI}\left(\right)}}{2}\right)}^{2} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
        10. pow2N/A

          \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - \color{blue}{{\sin^{-1} \left(1 - x\right)}^{2}}}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
        11. lower-pow.f64N/A

          \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - \color{blue}{{\sin^{-1} \left(1 - x\right)}^{2}}}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
        12. lower-asin.f64N/A

          \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\color{blue}{\sin^{-1} \left(1 - x\right)}}^{2}}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
        13. +-commutativeN/A

          \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\color{blue}{\sin^{-1} \left(1 - x\right) + \frac{\mathsf{PI}\left(\right)}{2}}} \]
        14. lower-+.f64N/A

          \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\color{blue}{\sin^{-1} \left(1 - x\right) + \frac{\mathsf{PI}\left(\right)}{2}}} \]
        15. lower-asin.f64N/A

          \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\color{blue}{\sin^{-1} \left(1 - x\right)} + \frac{\mathsf{PI}\left(\right)}{2}} \]
        16. lower-/.f64N/A

          \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\sin^{-1} \left(1 - x\right) + \color{blue}{\frac{\mathsf{PI}\left(\right)}{2}}} \]
        17. lower-PI.f647.2

          \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\sin^{-1} \left(1 - x\right) + \frac{\color{blue}{\mathsf{PI}\left(\right)}}{2}} \]
      4. Applied rewrites7.2%

        \[\leadsto \color{blue}{\frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\sin^{-1} \left(1 - x\right) + \frac{\mathsf{PI}\left(\right)}{2}}} \]
      5. Taylor expanded in x around 0

        \[\leadsto \color{blue}{\frac{\frac{1}{4} \cdot {\mathsf{PI}\left(\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\sin^{-1} \left(1 - x\right) + \frac{1}{2} \cdot \mathsf{PI}\left(\right)}} \]
      6. Applied rewrites7.2%

        \[\leadsto \color{blue}{\frac{\left(\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)\right) \cdot 0.25 - {\sin^{-1} \left(1 - x\right)}^{2}}{\mathsf{fma}\left(\mathsf{PI}\left(\right), 0.5, \sin^{-1} \left(1 - x\right)\right)}} \]
      7. Step-by-step derivation
        1. Applied rewrites10.5%

          \[\leadsto \frac{\left(\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)\right) \cdot 0.25 - {\left(\sqrt{\sin^{-1} \left(1 - x\right)}\right)}^{4}}{\mathsf{fma}\left(\mathsf{PI}\left(\right), 0.5, \sin^{-1} \left(1 - x\right)\right)} \]
        2. Add Preprocessing

        Alternative 6: 10.4% accurate, 0.3× speedup?

        \[\begin{array}{l} \\ 0.5 \cdot \sqrt[3]{{\mathsf{PI}\left(\right)}^{3}} - \sin^{-1} \left(1 - x\right) \end{array} \]
        (FPCore (x)
         :precision binary64
         (- (* 0.5 (cbrt (pow (PI) 3.0))) (asin (- 1.0 x))))
        \begin{array}{l}
        
        \\
        0.5 \cdot \sqrt[3]{{\mathsf{PI}\left(\right)}^{3}} - \sin^{-1} \left(1 - x\right)
        \end{array}
        
        Derivation
        1. Initial program 7.2%

          \[\cos^{-1} \left(1 - x\right) \]
        2. Add Preprocessing
        3. Step-by-step derivation
          1. lift-acos.f64N/A

            \[\leadsto \color{blue}{\cos^{-1} \left(1 - x\right)} \]
          2. acos-asinN/A

            \[\leadsto \color{blue}{\frac{\mathsf{PI}\left(\right)}{2} - \sin^{-1} \left(1 - x\right)} \]
          3. flip--N/A

            \[\leadsto \color{blue}{\frac{\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)}} \]
          4. lower-/.f64N/A

            \[\leadsto \color{blue}{\frac{\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)}} \]
          5. lower--.f64N/A

            \[\leadsto \frac{\color{blue}{\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
          6. pow2N/A

            \[\leadsto \frac{\color{blue}{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2}} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
          7. lower-pow.f64N/A

            \[\leadsto \frac{\color{blue}{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2}} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
          8. lower-/.f64N/A

            \[\leadsto \frac{{\color{blue}{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}}^{2} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
          9. lower-PI.f64N/A

            \[\leadsto \frac{{\left(\frac{\color{blue}{\mathsf{PI}\left(\right)}}{2}\right)}^{2} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
          10. pow2N/A

            \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - \color{blue}{{\sin^{-1} \left(1 - x\right)}^{2}}}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
          11. lower-pow.f64N/A

            \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - \color{blue}{{\sin^{-1} \left(1 - x\right)}^{2}}}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
          12. lower-asin.f64N/A

            \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\color{blue}{\sin^{-1} \left(1 - x\right)}}^{2}}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
          13. +-commutativeN/A

            \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\color{blue}{\sin^{-1} \left(1 - x\right) + \frac{\mathsf{PI}\left(\right)}{2}}} \]
          14. lower-+.f64N/A

            \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\color{blue}{\sin^{-1} \left(1 - x\right) + \frac{\mathsf{PI}\left(\right)}{2}}} \]
          15. lower-asin.f64N/A

            \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\color{blue}{\sin^{-1} \left(1 - x\right)} + \frac{\mathsf{PI}\left(\right)}{2}} \]
          16. lower-/.f64N/A

            \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\sin^{-1} \left(1 - x\right) + \color{blue}{\frac{\mathsf{PI}\left(\right)}{2}}} \]
          17. lower-PI.f647.2

            \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\sin^{-1} \left(1 - x\right) + \frac{\color{blue}{\mathsf{PI}\left(\right)}}{2}} \]
        4. Applied rewrites7.2%

          \[\leadsto \color{blue}{\frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\sin^{-1} \left(1 - x\right) + \frac{\mathsf{PI}\left(\right)}{2}}} \]
        5. Taylor expanded in x around 0

          \[\leadsto \color{blue}{\frac{\frac{1}{4} \cdot {\mathsf{PI}\left(\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\sin^{-1} \left(1 - x\right) + \frac{1}{2} \cdot \mathsf{PI}\left(\right)}} \]
        6. Applied rewrites7.2%

          \[\leadsto \color{blue}{\frac{\left(\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)\right) \cdot 0.25 - {\sin^{-1} \left(1 - x\right)}^{2}}{\mathsf{fma}\left(\mathsf{PI}\left(\right), 0.5, \sin^{-1} \left(1 - x\right)\right)}} \]
        7. Step-by-step derivation
          1. Applied rewrites7.2%

            \[\leadsto \color{blue}{0.5 \cdot \mathsf{PI}\left(\right) - \sin^{-1} \left(1 - x\right)} \]
          2. Step-by-step derivation
            1. Applied rewrites10.5%

              \[\leadsto 0.5 \cdot \sqrt[3]{{\mathsf{PI}\left(\right)}^{3}} - \sin^{-1} \left(1 - \color{blue}{x}\right) \]
            2. Add Preprocessing

            Alternative 7: 9.5% accurate, 0.4× speedup?

            \[\begin{array}{l} \\ \begin{array}{l} t_0 := \sqrt{\mathsf{PI}\left(\right)}\\ \mathbf{if}\;\cos^{-1} \left(1 - x\right) \leq 0:\\ \;\;\;\;\cos^{-1} \left(-x\right)\\ \mathbf{else}:\\ \;\;\;\;\left(0.5 \cdot t\_0\right) \cdot t\_0 - \sin^{-1} \left(1 - x\right)\\ \end{array} \end{array} \]
            (FPCore (x)
             :precision binary64
             (let* ((t_0 (sqrt (PI))))
               (if (<= (acos (- 1.0 x)) 0.0)
                 (acos (- x))
                 (- (* (* 0.5 t_0) t_0) (asin (- 1.0 x))))))
            \begin{array}{l}
            
            \\
            \begin{array}{l}
            t_0 := \sqrt{\mathsf{PI}\left(\right)}\\
            \mathbf{if}\;\cos^{-1} \left(1 - x\right) \leq 0:\\
            \;\;\;\;\cos^{-1} \left(-x\right)\\
            
            \mathbf{else}:\\
            \;\;\;\;\left(0.5 \cdot t\_0\right) \cdot t\_0 - \sin^{-1} \left(1 - x\right)\\
            
            
            \end{array}
            \end{array}
            
            Derivation
            1. Split input into 2 regimes
            2. if (acos.f64 (-.f64 #s(literal 1 binary64) x)) < 0.0

              1. Initial program 3.9%

                \[\cos^{-1} \left(1 - x\right) \]
              2. Add Preprocessing
              3. Taylor expanded in x around inf

                \[\leadsto \cos^{-1} \color{blue}{\left(-1 \cdot x\right)} \]
              4. Step-by-step derivation
                1. mul-1-negN/A

                  \[\leadsto \cos^{-1} \color{blue}{\left(\mathsf{neg}\left(x\right)\right)} \]
                2. lower-neg.f646.5

                  \[\leadsto \cos^{-1} \color{blue}{\left(-x\right)} \]
              5. Applied rewrites6.5%

                \[\leadsto \cos^{-1} \color{blue}{\left(-x\right)} \]

              if 0.0 < (acos.f64 (-.f64 #s(literal 1 binary64) x))

              1. Initial program 74.1%

                \[\cos^{-1} \left(1 - x\right) \]
              2. Add Preprocessing
              3. Step-by-step derivation
                1. lift-acos.f64N/A

                  \[\leadsto \color{blue}{\cos^{-1} \left(1 - x\right)} \]
                2. acos-asinN/A

                  \[\leadsto \color{blue}{\frac{\mathsf{PI}\left(\right)}{2} - \sin^{-1} \left(1 - x\right)} \]
                3. flip--N/A

                  \[\leadsto \color{blue}{\frac{\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)}} \]
                4. lower-/.f64N/A

                  \[\leadsto \color{blue}{\frac{\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)}} \]
                5. lower--.f64N/A

                  \[\leadsto \frac{\color{blue}{\frac{\mathsf{PI}\left(\right)}{2} \cdot \frac{\mathsf{PI}\left(\right)}{2} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
                6. pow2N/A

                  \[\leadsto \frac{\color{blue}{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2}} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
                7. lower-pow.f64N/A

                  \[\leadsto \frac{\color{blue}{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2}} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
                8. lower-/.f64N/A

                  \[\leadsto \frac{{\color{blue}{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}}^{2} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
                9. lower-PI.f64N/A

                  \[\leadsto \frac{{\left(\frac{\color{blue}{\mathsf{PI}\left(\right)}}{2}\right)}^{2} - \sin^{-1} \left(1 - x\right) \cdot \sin^{-1} \left(1 - x\right)}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
                10. pow2N/A

                  \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - \color{blue}{{\sin^{-1} \left(1 - x\right)}^{2}}}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
                11. lower-pow.f64N/A

                  \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - \color{blue}{{\sin^{-1} \left(1 - x\right)}^{2}}}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
                12. lower-asin.f64N/A

                  \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\color{blue}{\sin^{-1} \left(1 - x\right)}}^{2}}{\frac{\mathsf{PI}\left(\right)}{2} + \sin^{-1} \left(1 - x\right)} \]
                13. +-commutativeN/A

                  \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\color{blue}{\sin^{-1} \left(1 - x\right) + \frac{\mathsf{PI}\left(\right)}{2}}} \]
                14. lower-+.f64N/A

                  \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\color{blue}{\sin^{-1} \left(1 - x\right) + \frac{\mathsf{PI}\left(\right)}{2}}} \]
                15. lower-asin.f64N/A

                  \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\color{blue}{\sin^{-1} \left(1 - x\right)} + \frac{\mathsf{PI}\left(\right)}{2}} \]
                16. lower-/.f64N/A

                  \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\sin^{-1} \left(1 - x\right) + \color{blue}{\frac{\mathsf{PI}\left(\right)}{2}}} \]
                17. lower-PI.f6474.0

                  \[\leadsto \frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\sin^{-1} \left(1 - x\right) + \frac{\color{blue}{\mathsf{PI}\left(\right)}}{2}} \]
              4. Applied rewrites74.0%

                \[\leadsto \color{blue}{\frac{{\left(\frac{\mathsf{PI}\left(\right)}{2}\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\sin^{-1} \left(1 - x\right) + \frac{\mathsf{PI}\left(\right)}{2}}} \]
              5. Taylor expanded in x around 0

                \[\leadsto \color{blue}{\frac{\frac{1}{4} \cdot {\mathsf{PI}\left(\right)}^{2} - {\sin^{-1} \left(1 - x\right)}^{2}}{\sin^{-1} \left(1 - x\right) + \frac{1}{2} \cdot \mathsf{PI}\left(\right)}} \]
              6. Applied rewrites74.0%

                \[\leadsto \color{blue}{\frac{\left(\mathsf{PI}\left(\right) \cdot \mathsf{PI}\left(\right)\right) \cdot 0.25 - {\sin^{-1} \left(1 - x\right)}^{2}}{\mathsf{fma}\left(\mathsf{PI}\left(\right), 0.5, \sin^{-1} \left(1 - x\right)\right)}} \]
              7. Step-by-step derivation
                1. Applied rewrites74.1%

                  \[\leadsto \color{blue}{0.5 \cdot \mathsf{PI}\left(\right) - \sin^{-1} \left(1 - x\right)} \]
                2. Step-by-step derivation
                  1. Applied rewrites74.3%

                    \[\leadsto \left(0.5 \cdot \sqrt{\mathsf{PI}\left(\right)}\right) \cdot \sqrt{\mathsf{PI}\left(\right)} - \sin^{-1} \color{blue}{\left(1 - x\right)} \]
                3. Recombined 2 regimes into one program.
                4. Add Preprocessing

                Alternative 8: 9.5% accurate, 0.5× speedup?

                \[\begin{array}{l} \\ \begin{array}{l} t_0 := \cos^{-1} \left(1 - x\right)\\ \mathbf{if}\;t\_0 \leq 0:\\ \;\;\;\;\cos^{-1} \left(-x\right)\\ \mathbf{else}:\\ \;\;\;\;t\_0\\ \end{array} \end{array} \]
                (FPCore (x)
                 :precision binary64
                 (let* ((t_0 (acos (- 1.0 x)))) (if (<= t_0 0.0) (acos (- x)) t_0)))
                double code(double x) {
                	double t_0 = acos((1.0 - x));
                	double tmp;
                	if (t_0 <= 0.0) {
                		tmp = acos(-x);
                	} else {
                		tmp = t_0;
                	}
                	return tmp;
                }
                
                real(8) function code(x)
                    real(8), intent (in) :: x
                    real(8) :: t_0
                    real(8) :: tmp
                    t_0 = acos((1.0d0 - x))
                    if (t_0 <= 0.0d0) then
                        tmp = acos(-x)
                    else
                        tmp = t_0
                    end if
                    code = tmp
                end function
                
                public static double code(double x) {
                	double t_0 = Math.acos((1.0 - x));
                	double tmp;
                	if (t_0 <= 0.0) {
                		tmp = Math.acos(-x);
                	} else {
                		tmp = t_0;
                	}
                	return tmp;
                }
                
                def code(x):
                	t_0 = math.acos((1.0 - x))
                	tmp = 0
                	if t_0 <= 0.0:
                		tmp = math.acos(-x)
                	else:
                		tmp = t_0
                	return tmp
                
                function code(x)
                	t_0 = acos(Float64(1.0 - x))
                	tmp = 0.0
                	if (t_0 <= 0.0)
                		tmp = acos(Float64(-x));
                	else
                		tmp = t_0;
                	end
                	return tmp
                end
                
                function tmp_2 = code(x)
                	t_0 = acos((1.0 - x));
                	tmp = 0.0;
                	if (t_0 <= 0.0)
                		tmp = acos(-x);
                	else
                		tmp = t_0;
                	end
                	tmp_2 = tmp;
                end
                
                code[x_] := Block[{t$95$0 = N[ArcCos[N[(1.0 - x), $MachinePrecision]], $MachinePrecision]}, If[LessEqual[t$95$0, 0.0], N[ArcCos[(-x)], $MachinePrecision], t$95$0]]
                
                \begin{array}{l}
                
                \\
                \begin{array}{l}
                t_0 := \cos^{-1} \left(1 - x\right)\\
                \mathbf{if}\;t\_0 \leq 0:\\
                \;\;\;\;\cos^{-1} \left(-x\right)\\
                
                \mathbf{else}:\\
                \;\;\;\;t\_0\\
                
                
                \end{array}
                \end{array}
                
                Derivation
                1. Split input into 2 regimes
                2. if (acos.f64 (-.f64 #s(literal 1 binary64) x)) < 0.0

                  1. Initial program 3.9%

                    \[\cos^{-1} \left(1 - x\right) \]
                  2. Add Preprocessing
                  3. Taylor expanded in x around inf

                    \[\leadsto \cos^{-1} \color{blue}{\left(-1 \cdot x\right)} \]
                  4. Step-by-step derivation
                    1. mul-1-negN/A

                      \[\leadsto \cos^{-1} \color{blue}{\left(\mathsf{neg}\left(x\right)\right)} \]
                    2. lower-neg.f646.5

                      \[\leadsto \cos^{-1} \color{blue}{\left(-x\right)} \]
                  5. Applied rewrites6.5%

                    \[\leadsto \cos^{-1} \color{blue}{\left(-x\right)} \]

                  if 0.0 < (acos.f64 (-.f64 #s(literal 1 binary64) x))

                  1. Initial program 74.1%

                    \[\cos^{-1} \left(1 - x\right) \]
                  2. Add Preprocessing
                3. Recombined 2 regimes into one program.
                4. Add Preprocessing

                Alternative 9: 6.9% accurate, 1.0× speedup?

                \[\begin{array}{l} \\ \cos^{-1} \left(-x\right) \end{array} \]
                (FPCore (x) :precision binary64 (acos (- x)))
                double code(double x) {
                	return acos(-x);
                }
                
                real(8) function code(x)
                    real(8), intent (in) :: x
                    code = acos(-x)
                end function
                
                public static double code(double x) {
                	return Math.acos(-x);
                }
                
                def code(x):
                	return math.acos(-x)
                
                function code(x)
                	return acos(Float64(-x))
                end
                
                function tmp = code(x)
                	tmp = acos(-x);
                end
                
                code[x_] := N[ArcCos[(-x)], $MachinePrecision]
                
                \begin{array}{l}
                
                \\
                \cos^{-1} \left(-x\right)
                \end{array}
                
                Derivation
                1. Initial program 7.2%

                  \[\cos^{-1} \left(1 - x\right) \]
                2. Add Preprocessing
                3. Taylor expanded in x around inf

                  \[\leadsto \cos^{-1} \color{blue}{\left(-1 \cdot x\right)} \]
                4. Step-by-step derivation
                  1. mul-1-negN/A

                    \[\leadsto \cos^{-1} \color{blue}{\left(\mathsf{neg}\left(x\right)\right)} \]
                  2. lower-neg.f646.9

                    \[\leadsto \cos^{-1} \color{blue}{\left(-x\right)} \]
                5. Applied rewrites6.9%

                  \[\leadsto \cos^{-1} \color{blue}{\left(-x\right)} \]
                6. Add Preprocessing

                Alternative 10: 3.8% accurate, 1.0× speedup?

                \[\begin{array}{l} \\ \cos^{-1} 1 \end{array} \]
                (FPCore (x) :precision binary64 (acos 1.0))
                double code(double x) {
                	return acos(1.0);
                }
                
                real(8) function code(x)
                    real(8), intent (in) :: x
                    code = acos(1.0d0)
                end function
                
                public static double code(double x) {
                	return Math.acos(1.0);
                }
                
                def code(x):
                	return math.acos(1.0)
                
                function code(x)
                	return acos(1.0)
                end
                
                function tmp = code(x)
                	tmp = acos(1.0);
                end
                
                code[x_] := N[ArcCos[1.0], $MachinePrecision]
                
                \begin{array}{l}
                
                \\
                \cos^{-1} 1
                \end{array}
                
                Derivation
                1. Initial program 7.2%

                  \[\cos^{-1} \left(1 - x\right) \]
                2. Add Preprocessing
                3. Taylor expanded in x around 0

                  \[\leadsto \cos^{-1} \color{blue}{1} \]
                4. Step-by-step derivation
                  1. Applied rewrites3.8%

                    \[\leadsto \cos^{-1} \color{blue}{1} \]
                  2. Add Preprocessing

                  Developer Target 1: 100.0% accurate, 0.8× speedup?

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

                  Reproduce

                  ?
                  herbie shell --seed 2024343 
                  (FPCore (x)
                    :name "bug323 (missed optimization)"
                    :precision binary64
                    :pre (and (<= 0.0 x) (<= x 0.5))
                  
                    :alt
                    (! :herbie-platform default (* 2 (asin (sqrt (/ x 2)))))
                  
                    (acos (- 1.0 x)))