UniformSampleCone, y

Percentage Accurate: 57.0% → 98.1%
Time: 12.1s
Alternatives: 19
Speedup: 5.0×

Specification

?
\[\left(\left(2.328306437 \cdot 10^{-10} \leq ux \land ux \leq 1\right) \land \left(2.328306437 \cdot 10^{-10} \leq uy \land uy \leq 1\right)\right) \land \left(0 \leq maxCos \land maxCos \leq 1\right)\]
\[\begin{array}{l} \\ \begin{array}{l} t_0 := \left(1 - ux\right) + ux \cdot maxCos\\ \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - t\_0 \cdot t\_0} \end{array} \end{array} \]
(FPCore (ux uy maxCos)
 :precision binary32
 (let* ((t_0 (+ (- 1.0 ux) (* ux maxCos))))
   (* (sin (* (* uy 2.0) (PI))) (sqrt (- 1.0 (* t_0 t_0))))))
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \left(1 - ux\right) + ux \cdot maxCos\\
\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - t\_0 \cdot t\_0}
\end{array}
\end{array}

Sampling outcomes in binary32 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 19 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: 57.0% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \left(1 - ux\right) + ux \cdot maxCos\\ \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - t\_0 \cdot t\_0} \end{array} \end{array} \]
(FPCore (ux uy maxCos)
 :precision binary32
 (let* ((t_0 (+ (- 1.0 ux) (* ux maxCos))))
   (* (sin (* (* uy 2.0) (PI))) (sqrt (- 1.0 (* t_0 t_0))))))
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \left(1 - ux\right) + ux \cdot maxCos\\
\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - t\_0 \cdot t\_0}
\end{array}
\end{array}

Alternative 1: 98.1% accurate, 0.4× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \mathsf{PI}\left(\right) \cdot uy\\ \left(2 \cdot \left(\sin t\_0 \cdot \cos t\_0\right)\right) \cdot \sqrt{\left(\frac{1 - maxCos}{ux} \cdot 2 - {\left(1 - maxCos\right)}^{2}\right) \cdot \left(ux \cdot ux\right)} \end{array} \end{array} \]
(FPCore (ux uy maxCos)
 :precision binary32
 (let* ((t_0 (* (PI) uy)))
   (*
    (* 2.0 (* (sin t_0) (cos t_0)))
    (sqrt
     (*
      (- (* (/ (- 1.0 maxCos) ux) 2.0) (pow (- 1.0 maxCos) 2.0))
      (* ux ux))))))
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \mathsf{PI}\left(\right) \cdot uy\\
\left(2 \cdot \left(\sin t\_0 \cdot \cos t\_0\right)\right) \cdot \sqrt{\left(\frac{1 - maxCos}{ux} \cdot 2 - {\left(1 - maxCos\right)}^{2}\right) \cdot \left(ux \cdot ux\right)}
\end{array}
\end{array}
Derivation
  1. Initial program 61.0%

    \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}} \]
    2. sqr-abs-revN/A

      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left|\left(1 - ux\right) + ux \cdot maxCos\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|}} \]
    3. lift-+.f32N/A

      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{\left(1 - ux\right) + ux \cdot maxCos}\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
    4. lift--.f32N/A

      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{\left(1 - ux\right)} + ux \cdot maxCos\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
    5. associate-+l-N/A

      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{1 - \left(ux - ux \cdot maxCos\right)}\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
    6. fabs-subN/A

      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left|\left(ux - ux \cdot maxCos\right) - 1\right|} \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
    7. lift-+.f32N/A

      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{\left(1 - ux\right) + ux \cdot maxCos}\right|} \]
    8. lift--.f32N/A

      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{\left(1 - ux\right)} + ux \cdot maxCos\right|} \]
    9. associate-+l-N/A

      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{1 - \left(ux - ux \cdot maxCos\right)}\right|} \]
    10. fabs-subN/A

      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \color{blue}{\left|\left(ux - ux \cdot maxCos\right) - 1\right|}} \]
    11. sqr-absN/A

      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
    12. lower-*.f32N/A

      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
    13. lower--.f32N/A

      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right)} \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
    14. lower--.f32N/A

      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\color{blue}{\left(ux - ux \cdot maxCos\right)} - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
    15. lift-*.f32N/A

      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{ux \cdot maxCos}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
    16. *-commutativeN/A

      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
    17. lower-*.f32N/A

      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
    18. lower--.f32N/A

      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
    19. lower--.f3261.1

      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\color{blue}{\left(ux - ux \cdot maxCos\right)} - 1\right)} \]
    20. lift-*.f32N/A

      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{ux \cdot maxCos}\right) - 1\right)} \]
    21. *-commutativeN/A

      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right)} \]
    22. lower-*.f3261.1

      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right)} \]
  4. Applied rewrites61.1%

    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - maxCos \cdot ux\right) - 1\right)}} \]
  5. Taylor expanded in maxCos around 0

    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \color{blue}{\left(ux - 1\right)}} \]
  6. Step-by-step derivation
    1. lower--.f3259.3

      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \color{blue}{\left(ux - 1\right)}} \]
  7. Applied rewrites59.3%

    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \color{blue}{\left(ux - 1\right)}} \]
  8. Step-by-step derivation
    1. lift-sin.f32N/A

      \[\leadsto \color{blue}{\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right)} \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(ux - 1\right)} \]
    2. lift-*.f32N/A

      \[\leadsto \sin \color{blue}{\left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right)} \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(ux - 1\right)} \]
    3. *-commutativeN/A

      \[\leadsto \sin \color{blue}{\left(\mathsf{PI}\left(\right) \cdot \left(uy \cdot 2\right)\right)} \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(ux - 1\right)} \]
    4. lift-*.f32N/A

      \[\leadsto \sin \left(\mathsf{PI}\left(\right) \cdot \color{blue}{\left(uy \cdot 2\right)}\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(ux - 1\right)} \]
    5. associate-*l*N/A

      \[\leadsto \sin \color{blue}{\left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)} \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(ux - 1\right)} \]
    6. lift-*.f32N/A

      \[\leadsto \sin \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)} \cdot 2\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(ux - 1\right)} \]
    7. *-commutativeN/A

      \[\leadsto \sin \color{blue}{\left(2 \cdot \left(\mathsf{PI}\left(\right) \cdot uy\right)\right)} \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(ux - 1\right)} \]
    8. sin-2N/A

      \[\leadsto \color{blue}{\left(2 \cdot \left(\sin \left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot \cos \left(\mathsf{PI}\left(\right) \cdot uy\right)\right)\right)} \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(ux - 1\right)} \]
    9. lower-*.f32N/A

      \[\leadsto \color{blue}{\left(2 \cdot \left(\sin \left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot \cos \left(\mathsf{PI}\left(\right) \cdot uy\right)\right)\right)} \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(ux - 1\right)} \]
    10. lower-*.f32N/A

      \[\leadsto \left(2 \cdot \color{blue}{\left(\sin \left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot \cos \left(\mathsf{PI}\left(\right) \cdot uy\right)\right)}\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(ux - 1\right)} \]
    11. lower-sin.f32N/A

      \[\leadsto \left(2 \cdot \left(\color{blue}{\sin \left(\mathsf{PI}\left(\right) \cdot uy\right)} \cdot \cos \left(\mathsf{PI}\left(\right) \cdot uy\right)\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(ux - 1\right)} \]
    12. lower-cos.f3259.3

      \[\leadsto \left(2 \cdot \left(\sin \left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot \color{blue}{\cos \left(\mathsf{PI}\left(\right) \cdot uy\right)}\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(ux - 1\right)} \]
  9. Applied rewrites59.3%

    \[\leadsto \color{blue}{\left(2 \cdot \left(\sin \left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot \cos \left(\mathsf{PI}\left(\right) \cdot uy\right)\right)\right)} \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(ux - 1\right)} \]
  10. Taylor expanded in ux around inf

    \[\leadsto \left(2 \cdot \left(\sin \left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot \cos \left(\mathsf{PI}\left(\right) \cdot uy\right)\right)\right) \cdot \sqrt{\color{blue}{{ux}^{2} \cdot \left(2 \cdot \frac{1 - maxCos}{ux} - {\left(1 - maxCos\right)}^{2}\right)}} \]
  11. Step-by-step derivation
    1. *-commutativeN/A

      \[\leadsto \left(2 \cdot \left(\sin \left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot \cos \left(\mathsf{PI}\left(\right) \cdot uy\right)\right)\right) \cdot \sqrt{\color{blue}{\left(2 \cdot \frac{1 - maxCos}{ux} - {\left(1 - maxCos\right)}^{2}\right) \cdot {ux}^{2}}} \]
    2. lower-*.f32N/A

      \[\leadsto \left(2 \cdot \left(\sin \left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot \cos \left(\mathsf{PI}\left(\right) \cdot uy\right)\right)\right) \cdot \sqrt{\color{blue}{\left(2 \cdot \frac{1 - maxCos}{ux} - {\left(1 - maxCos\right)}^{2}\right) \cdot {ux}^{2}}} \]
    3. lower--.f32N/A

      \[\leadsto \left(2 \cdot \left(\sin \left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot \cos \left(\mathsf{PI}\left(\right) \cdot uy\right)\right)\right) \cdot \sqrt{\color{blue}{\left(2 \cdot \frac{1 - maxCos}{ux} - {\left(1 - maxCos\right)}^{2}\right)} \cdot {ux}^{2}} \]
    4. *-commutativeN/A

      \[\leadsto \left(2 \cdot \left(\sin \left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot \cos \left(\mathsf{PI}\left(\right) \cdot uy\right)\right)\right) \cdot \sqrt{\left(\color{blue}{\frac{1 - maxCos}{ux} \cdot 2} - {\left(1 - maxCos\right)}^{2}\right) \cdot {ux}^{2}} \]
    5. lower-*.f32N/A

      \[\leadsto \left(2 \cdot \left(\sin \left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot \cos \left(\mathsf{PI}\left(\right) \cdot uy\right)\right)\right) \cdot \sqrt{\left(\color{blue}{\frac{1 - maxCos}{ux} \cdot 2} - {\left(1 - maxCos\right)}^{2}\right) \cdot {ux}^{2}} \]
    6. lower-/.f32N/A

      \[\leadsto \left(2 \cdot \left(\sin \left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot \cos \left(\mathsf{PI}\left(\right) \cdot uy\right)\right)\right) \cdot \sqrt{\left(\color{blue}{\frac{1 - maxCos}{ux}} \cdot 2 - {\left(1 - maxCos\right)}^{2}\right) \cdot {ux}^{2}} \]
    7. lower--.f32N/A

      \[\leadsto \left(2 \cdot \left(\sin \left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot \cos \left(\mathsf{PI}\left(\right) \cdot uy\right)\right)\right) \cdot \sqrt{\left(\frac{\color{blue}{1 - maxCos}}{ux} \cdot 2 - {\left(1 - maxCos\right)}^{2}\right) \cdot {ux}^{2}} \]
    8. lower-pow.f32N/A

      \[\leadsto \left(2 \cdot \left(\sin \left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot \cos \left(\mathsf{PI}\left(\right) \cdot uy\right)\right)\right) \cdot \sqrt{\left(\frac{1 - maxCos}{ux} \cdot 2 - \color{blue}{{\left(1 - maxCos\right)}^{2}}\right) \cdot {ux}^{2}} \]
    9. lower--.f32N/A

      \[\leadsto \left(2 \cdot \left(\sin \left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot \cos \left(\mathsf{PI}\left(\right) \cdot uy\right)\right)\right) \cdot \sqrt{\left(\frac{1 - maxCos}{ux} \cdot 2 - {\color{blue}{\left(1 - maxCos\right)}}^{2}\right) \cdot {ux}^{2}} \]
    10. unpow2N/A

      \[\leadsto \left(2 \cdot \left(\sin \left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot \cos \left(\mathsf{PI}\left(\right) \cdot uy\right)\right)\right) \cdot \sqrt{\left(\frac{1 - maxCos}{ux} \cdot 2 - {\left(1 - maxCos\right)}^{2}\right) \cdot \color{blue}{\left(ux \cdot ux\right)}} \]
    11. lower-*.f3298.2

      \[\leadsto \left(2 \cdot \left(\sin \left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot \cos \left(\mathsf{PI}\left(\right) \cdot uy\right)\right)\right) \cdot \sqrt{\left(\frac{1 - maxCos}{ux} \cdot 2 - {\left(1 - maxCos\right)}^{2}\right) \cdot \color{blue}{\left(ux \cdot ux\right)}} \]
  12. Applied rewrites98.2%

    \[\leadsto \left(2 \cdot \left(\sin \left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot \cos \left(\mathsf{PI}\left(\right) \cdot uy\right)\right)\right) \cdot \sqrt{\color{blue}{\left(\frac{1 - maxCos}{ux} \cdot 2 - {\left(1 - maxCos\right)}^{2}\right) \cdot \left(ux \cdot ux\right)}} \]
  13. Add Preprocessing

Alternative 2: 51.6% accurate, 0.9× speedup?

\[\begin{array}{l} \\ \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right) \cdot \sqrt{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos - 1\right)\right)\right) \cdot \left(ux \cdot ux\right)} \end{array} \]
(FPCore (ux uy maxCos)
 :precision binary32
 (*
  (sin (* (* (PI) uy) 2.0))
  (sqrt
   (*
    (- (/ 2.0 ux) (fma (/ maxCos ux) 2.0 (* (- maxCos 1.0) (- maxCos 1.0))))
    (* ux ux)))))
\begin{array}{l}

\\
\sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right) \cdot \sqrt{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos - 1\right)\right)\right) \cdot \left(ux \cdot ux\right)}
\end{array}
Derivation
  1. Initial program 61.0%

    \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
  2. Add Preprocessing
  3. Taylor expanded in uy around 0

    \[\leadsto \color{blue}{\left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
  4. Step-by-step derivation
    1. *-commutativeN/A

      \[\leadsto \left(2 \cdot \color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)}\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
    2. associate-*r*N/A

      \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
    3. lower-*.f32N/A

      \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
    4. *-commutativeN/A

      \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
    5. lower-*.f32N/A

      \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
    6. lower-PI.f3252.7

      \[\leadsto \left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
  5. Applied rewrites52.7%

    \[\leadsto \color{blue}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
  6. Step-by-step derivation
    1. lift-*.f32N/A

      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}} \]
    2. lift-+.f32N/A

      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)}} \]
    3. distribute-rgt-inN/A

      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right) + \left(ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
    4. +-commutativeN/A

      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right) + \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
    5. lift-*.f32N/A

      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\color{blue}{\left(ux \cdot maxCos\right)} \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right) + \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
    6. associate-*l*N/A

      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\color{blue}{ux \cdot \left(maxCos \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} + \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
    7. lower-fma.f32N/A

      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\mathsf{fma}\left(ux, maxCos \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right), \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
    8. lower-*.f32N/A

      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, \color{blue}{maxCos \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
    9. lift-+.f32N/A

      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
    10. +-commutativeN/A

      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \color{blue}{\left(ux \cdot maxCos + \left(1 - ux\right)\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
    11. lift-*.f32N/A

      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \left(\color{blue}{ux \cdot maxCos} + \left(1 - ux\right)\right), \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
    12. *-commutativeN/A

      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \left(\color{blue}{maxCos \cdot ux} + \left(1 - ux\right)\right), \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
    13. lift-fma.f32N/A

      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \color{blue}{\mathsf{fma}\left(maxCos, ux, 1 - ux\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
    14. *-commutativeN/A

      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(1 - ux\right)}\right)} \]
    15. lower-*.f3251.6

      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(1 - ux\right)}\right)} \]
    16. lift-+.f32N/A

      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)} \cdot \left(1 - ux\right)\right)} \]
    17. +-commutativeN/A

      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(ux \cdot maxCos + \left(1 - ux\right)\right)} \cdot \left(1 - ux\right)\right)} \]
    18. lift-*.f32N/A

      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \left(\color{blue}{ux \cdot maxCos} + \left(1 - ux\right)\right) \cdot \left(1 - ux\right)\right)} \]
    19. *-commutativeN/A

      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \left(\color{blue}{maxCos \cdot ux} + \left(1 - ux\right)\right) \cdot \left(1 - ux\right)\right)} \]
    20. lift-fma.f3251.4

      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\mathsf{fma}\left(maxCos, ux, 1 - ux\right)} \cdot \left(1 - ux\right)\right)} \]
  7. Applied rewrites50.8%

    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \mathsf{fma}\left(maxCos, ux, 1 - ux\right) \cdot \left(1 - ux\right)\right)}} \]
  8. Taylor expanded in ux around inf

    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{{ux}^{2} \cdot \left(2 \cdot \frac{1}{ux} - \left(-1 \cdot \left(maxCos - 1\right) + \left(2 \cdot \frac{maxCos}{ux} + maxCos \cdot \left(maxCos - 1\right)\right)\right)\right)}} \]
  9. Step-by-step derivation
    1. *-commutativeN/A

      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(2 \cdot \frac{1}{ux} - \left(-1 \cdot \left(maxCos - 1\right) + \left(2 \cdot \frac{maxCos}{ux} + maxCos \cdot \left(maxCos - 1\right)\right)\right)\right) \cdot {ux}^{2}}} \]
    2. lower-*.f32N/A

      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(2 \cdot \frac{1}{ux} - \left(-1 \cdot \left(maxCos - 1\right) + \left(2 \cdot \frac{maxCos}{ux} + maxCos \cdot \left(maxCos - 1\right)\right)\right)\right) \cdot {ux}^{2}}} \]
  10. Applied rewrites77.8%

    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos + -1\right)\right)\right) \cdot \left(ux \cdot ux\right)}} \]
  11. Taylor expanded in uy around inf

    \[\leadsto \color{blue}{\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)} \cdot \sqrt{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos + -1\right)\right)\right) \cdot \left(ux \cdot ux\right)} \]
  12. Step-by-step derivation
    1. count-2-revN/A

      \[\leadsto \sin \color{blue}{\left(uy \cdot \mathsf{PI}\left(\right) + uy \cdot \mathsf{PI}\left(\right)\right)} \cdot \sqrt{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos + -1\right)\right)\right) \cdot \left(ux \cdot ux\right)} \]
    2. distribute-lft-inN/A

      \[\leadsto \sin \color{blue}{\left(uy \cdot \left(\mathsf{PI}\left(\right) + \mathsf{PI}\left(\right)\right)\right)} \cdot \sqrt{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos + -1\right)\right)\right) \cdot \left(ux \cdot ux\right)} \]
    3. count-2-revN/A

      \[\leadsto \sin \left(uy \cdot \color{blue}{\left(2 \cdot \mathsf{PI}\left(\right)\right)}\right) \cdot \sqrt{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos + -1\right)\right)\right) \cdot \left(ux \cdot ux\right)} \]
    4. lower-sin.f32N/A

      \[\leadsto \color{blue}{\sin \left(uy \cdot \left(2 \cdot \mathsf{PI}\left(\right)\right)\right)} \cdot \sqrt{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos + -1\right)\right)\right) \cdot \left(ux \cdot ux\right)} \]
    5. count-2-revN/A

      \[\leadsto \sin \left(uy \cdot \color{blue}{\left(\mathsf{PI}\left(\right) + \mathsf{PI}\left(\right)\right)}\right) \cdot \sqrt{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos + -1\right)\right)\right) \cdot \left(ux \cdot ux\right)} \]
    6. distribute-lft-inN/A

      \[\leadsto \sin \color{blue}{\left(uy \cdot \mathsf{PI}\left(\right) + uy \cdot \mathsf{PI}\left(\right)\right)} \cdot \sqrt{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos + -1\right)\right)\right) \cdot \left(ux \cdot ux\right)} \]
    7. count-2-revN/A

      \[\leadsto \sin \color{blue}{\left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)} \cdot \sqrt{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos + -1\right)\right)\right) \cdot \left(ux \cdot ux\right)} \]
    8. *-commutativeN/A

      \[\leadsto \sin \color{blue}{\left(\left(uy \cdot \mathsf{PI}\left(\right)\right) \cdot 2\right)} \cdot \sqrt{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos + -1\right)\right)\right) \cdot \left(ux \cdot ux\right)} \]
    9. lower-*.f32N/A

      \[\leadsto \sin \color{blue}{\left(\left(uy \cdot \mathsf{PI}\left(\right)\right) \cdot 2\right)} \cdot \sqrt{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos + -1\right)\right)\right) \cdot \left(ux \cdot ux\right)} \]
    10. *-commutativeN/A

      \[\leadsto \sin \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)} \cdot 2\right) \cdot \sqrt{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos + -1\right)\right)\right) \cdot \left(ux \cdot ux\right)} \]
    11. lower-*.f32N/A

      \[\leadsto \sin \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)} \cdot 2\right) \cdot \sqrt{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos + -1\right)\right)\right) \cdot \left(ux \cdot ux\right)} \]
    12. lower-PI.f3269.7

      \[\leadsto \sin \left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot uy\right) \cdot 2\right) \cdot \sqrt{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos + -1\right)\right)\right) \cdot \left(ux \cdot ux\right)} \]
  13. Applied rewrites69.9%

    \[\leadsto \color{blue}{\sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)} \cdot \sqrt{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos + -1\right)\right)\right) \cdot \left(ux \cdot ux\right)} \]
  14. Final simplification69.2%

    \[\leadsto \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right) \cdot \sqrt{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos - 1\right)\right)\right) \cdot \left(ux \cdot ux\right)} \]
  15. Add Preprocessing

Alternative 3: 91.2% accurate, 0.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;ux \leq 0.00011800000356743112:\\ \;\;\;\;\sqrt{1 - maxCos} \cdot \left(\sqrt{ux} \cdot \left(\sqrt{2} \cdot \sin \left(\left(2 \cdot uy\right) \cdot \mathsf{PI}\left(\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(\left(\frac{1}{ux} + maxCos\right) - 1\right) \cdot ux\right)}\\ \end{array} \end{array} \]
(FPCore (ux uy maxCos)
 :precision binary32
 (if (<= ux 0.00011800000356743112)
   (*
    (sqrt (- 1.0 maxCos))
    (* (sqrt ux) (* (sqrt 2.0) (sin (* (* 2.0 uy) (PI))))))
   (*
    (sin (* (* uy 2.0) (PI)))
    (sqrt
     (-
      1.0
      (*
       (+ (- 1.0 ux) (* ux maxCos))
       (* (- (+ (/ 1.0 ux) maxCos) 1.0) ux)))))))
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;ux \leq 0.00011800000356743112:\\
\;\;\;\;\sqrt{1 - maxCos} \cdot \left(\sqrt{ux} \cdot \left(\sqrt{2} \cdot \sin \left(\left(2 \cdot uy\right) \cdot \mathsf{PI}\left(\right)\right)\right)\right)\\

\mathbf{else}:\\
\;\;\;\;\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(\left(\frac{1}{ux} + maxCos\right) - 1\right) \cdot ux\right)}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if ux < 1.18000004e-4

    1. Initial program 39.0%

      \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
    2. Add Preprocessing
    3. Step-by-step derivation
      1. lift-*.f32N/A

        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}} \]
      2. sqr-abs-revN/A

        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left|\left(1 - ux\right) + ux \cdot maxCos\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|}} \]
      3. lift-+.f32N/A

        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{\left(1 - ux\right) + ux \cdot maxCos}\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
      4. lift--.f32N/A

        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{\left(1 - ux\right)} + ux \cdot maxCos\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
      5. associate-+l-N/A

        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{1 - \left(ux - ux \cdot maxCos\right)}\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
      6. fabs-subN/A

        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left|\left(ux - ux \cdot maxCos\right) - 1\right|} \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
      7. lift-+.f32N/A

        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{\left(1 - ux\right) + ux \cdot maxCos}\right|} \]
      8. lift--.f32N/A

        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{\left(1 - ux\right)} + ux \cdot maxCos\right|} \]
      9. associate-+l-N/A

        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{1 - \left(ux - ux \cdot maxCos\right)}\right|} \]
      10. fabs-subN/A

        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \color{blue}{\left|\left(ux - ux \cdot maxCos\right) - 1\right|}} \]
      11. sqr-absN/A

        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
      12. lower-*.f32N/A

        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
      13. lower--.f32N/A

        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right)} \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
      14. lower--.f32N/A

        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\color{blue}{\left(ux - ux \cdot maxCos\right)} - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
      15. lift-*.f32N/A

        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{ux \cdot maxCos}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
      16. *-commutativeN/A

        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
      17. lower-*.f32N/A

        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
      18. lower--.f32N/A

        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
      19. lower--.f3239.0

        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\color{blue}{\left(ux - ux \cdot maxCos\right)} - 1\right)} \]
      20. lift-*.f32N/A

        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{ux \cdot maxCos}\right) - 1\right)} \]
      21. *-commutativeN/A

        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right)} \]
      22. lower-*.f3239.0

        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right)} \]
    4. Applied rewrites39.0%

      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - maxCos \cdot ux\right) - 1\right)}} \]
    5. Taylor expanded in ux around 0

      \[\leadsto \color{blue}{\sqrt{ux \cdot \left(1 - maxCos\right)} \cdot \left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\right)} \]
    6. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \color{blue}{\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)}} \]
      2. lower-*.f32N/A

        \[\leadsto \color{blue}{\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)}} \]
      3. *-commutativeN/A

        \[\leadsto \color{blue}{\left(\sqrt{2} \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)} \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
      4. lower-*.f32N/A

        \[\leadsto \color{blue}{\left(\sqrt{2} \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)} \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
      5. lower-sqrt.f32N/A

        \[\leadsto \left(\color{blue}{\sqrt{2}} \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
      6. lower-sin.f32N/A

        \[\leadsto \left(\sqrt{2} \cdot \color{blue}{\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
      7. *-commutativeN/A

        \[\leadsto \left(\sqrt{2} \cdot \sin \color{blue}{\left(\left(uy \cdot \mathsf{PI}\left(\right)\right) \cdot 2\right)}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
      8. lower-*.f32N/A

        \[\leadsto \left(\sqrt{2} \cdot \sin \color{blue}{\left(\left(uy \cdot \mathsf{PI}\left(\right)\right) \cdot 2\right)}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
      9. *-commutativeN/A

        \[\leadsto \left(\sqrt{2} \cdot \sin \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)} \cdot 2\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
      10. lower-*.f32N/A

        \[\leadsto \left(\sqrt{2} \cdot \sin \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)} \cdot 2\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
      11. lower-PI.f32N/A

        \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
      12. lower-sqrt.f32N/A

        \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \color{blue}{\sqrt{ux \cdot \left(1 - maxCos\right)}} \]
      13. *-commutativeN/A

        \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 - maxCos\right) \cdot ux}} \]
      14. *-lft-identityN/A

        \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{1 \cdot maxCos}\right) \cdot ux} \]
      15. metadata-evalN/A

        \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{\left(\mathsf{neg}\left(-1\right)\right)} \cdot maxCos\right) \cdot ux} \]
      16. fp-cancel-sign-sub-invN/A

        \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 + -1 \cdot maxCos\right)} \cdot ux} \]
      17. lower-*.f32N/A

        \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 + -1 \cdot maxCos\right) \cdot ux}} \]
      18. fp-cancel-sign-sub-invN/A

        \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 - \left(\mathsf{neg}\left(-1\right)\right) \cdot maxCos\right)} \cdot ux} \]
      19. metadata-evalN/A

        \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{1} \cdot maxCos\right) \cdot ux} \]
      20. *-lft-identityN/A

        \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{maxCos}\right) \cdot ux} \]
      21. lower--.f3291.4

        \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 - maxCos\right)} \cdot ux} \]
    7. Applied rewrites91.4%

      \[\leadsto \color{blue}{\left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - maxCos\right) \cdot ux}} \]
    8. Step-by-step derivation
      1. Applied rewrites91.4%

        \[\leadsto \sqrt{1 - maxCos} \cdot \color{blue}{\left(\sqrt{ux} \cdot \left(\sqrt{2} \cdot \sin \left(\left(2 \cdot uy\right) \cdot \mathsf{PI}\left(\right)\right)\right)\right)} \]

      if 1.18000004e-4 < ux

      1. Initial program 89.3%

        \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
      2. Add Preprocessing
      3. Taylor expanded in ux around inf

        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(ux \cdot \left(\left(maxCos + \frac{1}{ux}\right) - 1\right)\right)}} \]
      4. Step-by-step derivation
        1. *-commutativeN/A

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(\left(\left(maxCos + \frac{1}{ux}\right) - 1\right) \cdot ux\right)}} \]
        2. lower-*.f32N/A

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(\left(\left(maxCos + \frac{1}{ux}\right) - 1\right) \cdot ux\right)}} \]
        3. lower--.f32N/A

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\color{blue}{\left(\left(maxCos + \frac{1}{ux}\right) - 1\right)} \cdot ux\right)} \]
        4. +-commutativeN/A

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(\color{blue}{\left(\frac{1}{ux} + maxCos\right)} - 1\right) \cdot ux\right)} \]
        5. lower-+.f32N/A

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(\color{blue}{\left(\frac{1}{ux} + maxCos\right)} - 1\right) \cdot ux\right)} \]
        6. lower-/.f3289.6

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(\left(\color{blue}{\frac{1}{ux}} + maxCos\right) - 1\right) \cdot ux\right)} \]
      5. Applied rewrites89.6%

        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(\left(\left(\frac{1}{ux} + maxCos\right) - 1\right) \cdot ux\right)}} \]
    9. Recombined 2 regimes into one program.
    10. Final simplification90.6%

      \[\leadsto \begin{array}{l} \mathbf{if}\;ux \leq 0.00011800000356743112:\\ \;\;\;\;\sqrt{1 - maxCos} \cdot \left(\sqrt{ux} \cdot \left(\sqrt{2} \cdot \sin \left(\left(2 \cdot uy\right) \cdot \mathsf{PI}\left(\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(\left(\frac{1}{ux} + maxCos\right) - 1\right) \cdot ux\right)}\\ \end{array} \]
    11. Add Preprocessing

    Alternative 4: 91.2% accurate, 0.9× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;ux \leq 0.00011999999696854502:\\ \;\;\;\;\sqrt{1 - maxCos} \cdot \left(\sqrt{ux} \cdot \left(\sqrt{2} \cdot \sin \left(\left(2 \cdot uy\right) \cdot \mathsf{PI}\left(\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(1 - \left(ux - maxCos \cdot ux\right)\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}\\ \end{array} \end{array} \]
    (FPCore (ux uy maxCos)
     :precision binary32
     (if (<= ux 0.00011999999696854502)
       (*
        (sqrt (- 1.0 maxCos))
        (* (sqrt ux) (* (sqrt 2.0) (sin (* (* 2.0 uy) (PI))))))
       (*
        (sin (* (* uy 2.0) (PI)))
        (sqrt
         (- 1.0 (* (- 1.0 (- ux (* maxCos ux))) (+ (- 1.0 ux) (* ux maxCos))))))))
    \begin{array}{l}
    
    \\
    \begin{array}{l}
    \mathbf{if}\;ux \leq 0.00011999999696854502:\\
    \;\;\;\;\sqrt{1 - maxCos} \cdot \left(\sqrt{ux} \cdot \left(\sqrt{2} \cdot \sin \left(\left(2 \cdot uy\right) \cdot \mathsf{PI}\left(\right)\right)\right)\right)\\
    
    \mathbf{else}:\\
    \;\;\;\;\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(1 - \left(ux - maxCos \cdot ux\right)\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}\\
    
    
    \end{array}
    \end{array}
    
    Derivation
    1. Split input into 2 regimes
    2. if ux < 1.19999997e-4

      1. Initial program 39.2%

        \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
      2. Add Preprocessing
      3. Step-by-step derivation
        1. lift-*.f32N/A

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}} \]
        2. sqr-abs-revN/A

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left|\left(1 - ux\right) + ux \cdot maxCos\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|}} \]
        3. lift-+.f32N/A

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{\left(1 - ux\right) + ux \cdot maxCos}\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
        4. lift--.f32N/A

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{\left(1 - ux\right)} + ux \cdot maxCos\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
        5. associate-+l-N/A

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{1 - \left(ux - ux \cdot maxCos\right)}\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
        6. fabs-subN/A

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left|\left(ux - ux \cdot maxCos\right) - 1\right|} \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
        7. lift-+.f32N/A

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{\left(1 - ux\right) + ux \cdot maxCos}\right|} \]
        8. lift--.f32N/A

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{\left(1 - ux\right)} + ux \cdot maxCos\right|} \]
        9. associate-+l-N/A

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{1 - \left(ux - ux \cdot maxCos\right)}\right|} \]
        10. fabs-subN/A

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \color{blue}{\left|\left(ux - ux \cdot maxCos\right) - 1\right|}} \]
        11. sqr-absN/A

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
        12. lower-*.f32N/A

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
        13. lower--.f32N/A

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right)} \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
        14. lower--.f32N/A

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\color{blue}{\left(ux - ux \cdot maxCos\right)} - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
        15. lift-*.f32N/A

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{ux \cdot maxCos}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
        16. *-commutativeN/A

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
        17. lower-*.f32N/A

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
        18. lower--.f32N/A

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
        19. lower--.f3239.2

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\color{blue}{\left(ux - ux \cdot maxCos\right)} - 1\right)} \]
        20. lift-*.f32N/A

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{ux \cdot maxCos}\right) - 1\right)} \]
        21. *-commutativeN/A

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right)} \]
        22. lower-*.f3239.2

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right)} \]
      4. Applied rewrites39.2%

        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - maxCos \cdot ux\right) - 1\right)}} \]
      5. Taylor expanded in ux around 0

        \[\leadsto \color{blue}{\sqrt{ux \cdot \left(1 - maxCos\right)} \cdot \left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\right)} \]
      6. Step-by-step derivation
        1. *-commutativeN/A

          \[\leadsto \color{blue}{\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)}} \]
        2. lower-*.f32N/A

          \[\leadsto \color{blue}{\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)}} \]
        3. *-commutativeN/A

          \[\leadsto \color{blue}{\left(\sqrt{2} \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)} \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
        4. lower-*.f32N/A

          \[\leadsto \color{blue}{\left(\sqrt{2} \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)} \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
        5. lower-sqrt.f32N/A

          \[\leadsto \left(\color{blue}{\sqrt{2}} \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
        6. lower-sin.f32N/A

          \[\leadsto \left(\sqrt{2} \cdot \color{blue}{\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
        7. *-commutativeN/A

          \[\leadsto \left(\sqrt{2} \cdot \sin \color{blue}{\left(\left(uy \cdot \mathsf{PI}\left(\right)\right) \cdot 2\right)}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
        8. lower-*.f32N/A

          \[\leadsto \left(\sqrt{2} \cdot \sin \color{blue}{\left(\left(uy \cdot \mathsf{PI}\left(\right)\right) \cdot 2\right)}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
        9. *-commutativeN/A

          \[\leadsto \left(\sqrt{2} \cdot \sin \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)} \cdot 2\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
        10. lower-*.f32N/A

          \[\leadsto \left(\sqrt{2} \cdot \sin \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)} \cdot 2\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
        11. lower-PI.f32N/A

          \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
        12. lower-sqrt.f32N/A

          \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \color{blue}{\sqrt{ux \cdot \left(1 - maxCos\right)}} \]
        13. *-commutativeN/A

          \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 - maxCos\right) \cdot ux}} \]
        14. *-lft-identityN/A

          \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{1 \cdot maxCos}\right) \cdot ux} \]
        15. metadata-evalN/A

          \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{\left(\mathsf{neg}\left(-1\right)\right)} \cdot maxCos\right) \cdot ux} \]
        16. fp-cancel-sign-sub-invN/A

          \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 + -1 \cdot maxCos\right)} \cdot ux} \]
        17. lower-*.f32N/A

          \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 + -1 \cdot maxCos\right) \cdot ux}} \]
        18. fp-cancel-sign-sub-invN/A

          \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 - \left(\mathsf{neg}\left(-1\right)\right) \cdot maxCos\right)} \cdot ux} \]
        19. metadata-evalN/A

          \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{1} \cdot maxCos\right) \cdot ux} \]
        20. *-lft-identityN/A

          \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{maxCos}\right) \cdot ux} \]
        21. lower--.f3291.2

          \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 - maxCos\right)} \cdot ux} \]
      7. Applied rewrites91.2%

        \[\leadsto \color{blue}{\left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - maxCos\right) \cdot ux}} \]
      8. Step-by-step derivation
        1. Applied rewrites91.3%

          \[\leadsto \sqrt{1 - maxCos} \cdot \color{blue}{\left(\sqrt{ux} \cdot \left(\sqrt{2} \cdot \sin \left(\left(2 \cdot uy\right) \cdot \mathsf{PI}\left(\right)\right)\right)\right)} \]

        if 1.19999997e-4 < ux

        1. Initial program 89.5%

          \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
        2. Add Preprocessing
        3. Step-by-step derivation
          1. lift-+.f32N/A

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)} \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
          2. lift--.f32N/A

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\color{blue}{\left(1 - ux\right)} + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
          3. associate-+l-N/A

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(1 - \left(ux - ux \cdot maxCos\right)\right)} \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
          4. lower--.f32N/A

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(1 - \left(ux - ux \cdot maxCos\right)\right)} \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
          5. lower--.f3289.7

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(1 - \color{blue}{\left(ux - ux \cdot maxCos\right)}\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
          6. lift-*.f32N/A

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(1 - \left(ux - \color{blue}{ux \cdot maxCos}\right)\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
          7. *-commutativeN/A

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(1 - \left(ux - \color{blue}{maxCos \cdot ux}\right)\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
          8. lower-*.f3289.7

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(1 - \left(ux - \color{blue}{maxCos \cdot ux}\right)\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
        4. Applied rewrites89.7%

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(1 - \left(ux - maxCos \cdot ux\right)\right)} \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
      9. Recombined 2 regimes into one program.
      10. Final simplification90.6%

        \[\leadsto \begin{array}{l} \mathbf{if}\;ux \leq 0.00011999999696854502:\\ \;\;\;\;\sqrt{1 - maxCos} \cdot \left(\sqrt{ux} \cdot \left(\sqrt{2} \cdot \sin \left(\left(2 \cdot uy\right) \cdot \mathsf{PI}\left(\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(1 - \left(ux - maxCos \cdot ux\right)\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}\\ \end{array} \]
      11. Add Preprocessing

      Alternative 5: 91.3% accurate, 1.0× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;ux \leq 0.00011999999696854502:\\ \;\;\;\;\left(\sqrt{\left(1 - maxCos\right) \cdot ux} \cdot \sin \left(\left(2 \cdot uy\right) \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\\ \mathbf{else}:\\ \;\;\;\;\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(1 - \left(ux - maxCos \cdot ux\right)\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}\\ \end{array} \end{array} \]
      (FPCore (ux uy maxCos)
       :precision binary32
       (if (<= ux 0.00011999999696854502)
         (* (* (sqrt (* (- 1.0 maxCos) ux)) (sin (* (* 2.0 uy) (PI)))) (sqrt 2.0))
         (*
          (sin (* (* uy 2.0) (PI)))
          (sqrt
           (- 1.0 (* (- 1.0 (- ux (* maxCos ux))) (+ (- 1.0 ux) (* ux maxCos))))))))
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      \mathbf{if}\;ux \leq 0.00011999999696854502:\\
      \;\;\;\;\left(\sqrt{\left(1 - maxCos\right) \cdot ux} \cdot \sin \left(\left(2 \cdot uy\right) \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\\
      
      \mathbf{else}:\\
      \;\;\;\;\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(1 - \left(ux - maxCos \cdot ux\right)\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Split input into 2 regimes
      2. if ux < 1.19999997e-4

        1. Initial program 39.2%

          \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
        2. Add Preprocessing
        3. Step-by-step derivation
          1. lift-*.f32N/A

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}} \]
          2. sqr-abs-revN/A

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left|\left(1 - ux\right) + ux \cdot maxCos\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|}} \]
          3. lift-+.f32N/A

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{\left(1 - ux\right) + ux \cdot maxCos}\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
          4. lift--.f32N/A

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{\left(1 - ux\right)} + ux \cdot maxCos\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
          5. associate-+l-N/A

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{1 - \left(ux - ux \cdot maxCos\right)}\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
          6. fabs-subN/A

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left|\left(ux - ux \cdot maxCos\right) - 1\right|} \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
          7. lift-+.f32N/A

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{\left(1 - ux\right) + ux \cdot maxCos}\right|} \]
          8. lift--.f32N/A

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{\left(1 - ux\right)} + ux \cdot maxCos\right|} \]
          9. associate-+l-N/A

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{1 - \left(ux - ux \cdot maxCos\right)}\right|} \]
          10. fabs-subN/A

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \color{blue}{\left|\left(ux - ux \cdot maxCos\right) - 1\right|}} \]
          11. sqr-absN/A

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
          12. lower-*.f32N/A

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
          13. lower--.f32N/A

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right)} \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
          14. lower--.f32N/A

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\color{blue}{\left(ux - ux \cdot maxCos\right)} - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
          15. lift-*.f32N/A

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{ux \cdot maxCos}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
          16. *-commutativeN/A

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
          17. lower-*.f32N/A

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
          18. lower--.f32N/A

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
          19. lower--.f3239.2

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\color{blue}{\left(ux - ux \cdot maxCos\right)} - 1\right)} \]
          20. lift-*.f32N/A

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{ux \cdot maxCos}\right) - 1\right)} \]
          21. *-commutativeN/A

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right)} \]
          22. lower-*.f3239.2

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right)} \]
        4. Applied rewrites39.2%

          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - maxCos \cdot ux\right) - 1\right)}} \]
        5. Taylor expanded in ux around 0

          \[\leadsto \color{blue}{\sqrt{ux \cdot \left(1 - maxCos\right)} \cdot \left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\right)} \]
        6. Step-by-step derivation
          1. *-commutativeN/A

            \[\leadsto \color{blue}{\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)}} \]
          2. lower-*.f32N/A

            \[\leadsto \color{blue}{\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)}} \]
          3. *-commutativeN/A

            \[\leadsto \color{blue}{\left(\sqrt{2} \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)} \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
          4. lower-*.f32N/A

            \[\leadsto \color{blue}{\left(\sqrt{2} \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)} \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
          5. lower-sqrt.f32N/A

            \[\leadsto \left(\color{blue}{\sqrt{2}} \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
          6. lower-sin.f32N/A

            \[\leadsto \left(\sqrt{2} \cdot \color{blue}{\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
          7. *-commutativeN/A

            \[\leadsto \left(\sqrt{2} \cdot \sin \color{blue}{\left(\left(uy \cdot \mathsf{PI}\left(\right)\right) \cdot 2\right)}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
          8. lower-*.f32N/A

            \[\leadsto \left(\sqrt{2} \cdot \sin \color{blue}{\left(\left(uy \cdot \mathsf{PI}\left(\right)\right) \cdot 2\right)}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
          9. *-commutativeN/A

            \[\leadsto \left(\sqrt{2} \cdot \sin \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)} \cdot 2\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
          10. lower-*.f32N/A

            \[\leadsto \left(\sqrt{2} \cdot \sin \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)} \cdot 2\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
          11. lower-PI.f32N/A

            \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
          12. lower-sqrt.f32N/A

            \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \color{blue}{\sqrt{ux \cdot \left(1 - maxCos\right)}} \]
          13. *-commutativeN/A

            \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 - maxCos\right) \cdot ux}} \]
          14. *-lft-identityN/A

            \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{1 \cdot maxCos}\right) \cdot ux} \]
          15. metadata-evalN/A

            \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{\left(\mathsf{neg}\left(-1\right)\right)} \cdot maxCos\right) \cdot ux} \]
          16. fp-cancel-sign-sub-invN/A

            \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 + -1 \cdot maxCos\right)} \cdot ux} \]
          17. lower-*.f32N/A

            \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 + -1 \cdot maxCos\right) \cdot ux}} \]
          18. fp-cancel-sign-sub-invN/A

            \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 - \left(\mathsf{neg}\left(-1\right)\right) \cdot maxCos\right)} \cdot ux} \]
          19. metadata-evalN/A

            \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{1} \cdot maxCos\right) \cdot ux} \]
          20. *-lft-identityN/A

            \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{maxCos}\right) \cdot ux} \]
          21. lower--.f3291.2

            \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 - maxCos\right)} \cdot ux} \]
        7. Applied rewrites91.2%

          \[\leadsto \color{blue}{\left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - maxCos\right) \cdot ux}} \]
        8. Step-by-step derivation
          1. Applied rewrites91.3%

            \[\leadsto \left(\sqrt{\left(1 - maxCos\right) \cdot ux} \cdot \sin \left(\left(2 \cdot uy\right) \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \color{blue}{\sqrt{2}} \]

          if 1.19999997e-4 < ux

          1. Initial program 89.5%

            \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
          2. Add Preprocessing
          3. Step-by-step derivation
            1. lift-+.f32N/A

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)} \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
            2. lift--.f32N/A

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\color{blue}{\left(1 - ux\right)} + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
            3. associate-+l-N/A

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(1 - \left(ux - ux \cdot maxCos\right)\right)} \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
            4. lower--.f32N/A

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(1 - \left(ux - ux \cdot maxCos\right)\right)} \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
            5. lower--.f3289.7

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(1 - \color{blue}{\left(ux - ux \cdot maxCos\right)}\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
            6. lift-*.f32N/A

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(1 - \left(ux - \color{blue}{ux \cdot maxCos}\right)\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
            7. *-commutativeN/A

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(1 - \left(ux - \color{blue}{maxCos \cdot ux}\right)\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
            8. lower-*.f3289.7

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(1 - \left(ux - \color{blue}{maxCos \cdot ux}\right)\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
          4. Applied rewrites89.7%

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(1 - \left(ux - maxCos \cdot ux\right)\right)} \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
        9. Recombined 2 regimes into one program.
        10. Final simplification90.6%

          \[\leadsto \begin{array}{l} \mathbf{if}\;ux \leq 0.00011999999696854502:\\ \;\;\;\;\left(\sqrt{\left(1 - maxCos\right) \cdot ux} \cdot \sin \left(\left(2 \cdot uy\right) \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\\ \mathbf{else}:\\ \;\;\;\;\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(1 - \left(ux - maxCos \cdot ux\right)\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}\\ \end{array} \]
        11. Add Preprocessing

        Alternative 6: 91.2% accurate, 1.0× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left(ux - maxCos \cdot ux\right) - 1\\ \mathbf{if}\;ux \leq 0.00011999999696854502:\\ \;\;\;\;\left(\sqrt{\left(1 - maxCos\right) \cdot ux} \cdot \sin \left(\left(2 \cdot uy\right) \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\\ \mathbf{else}:\\ \;\;\;\;\sin \left(\left(uy + uy\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - t\_0 \cdot t\_0}\\ \end{array} \end{array} \]
        (FPCore (ux uy maxCos)
         :precision binary32
         (let* ((t_0 (- (- ux (* maxCos ux)) 1.0)))
           (if (<= ux 0.00011999999696854502)
             (* (* (sqrt (* (- 1.0 maxCos) ux)) (sin (* (* 2.0 uy) (PI)))) (sqrt 2.0))
             (* (sin (* (+ uy uy) (PI))) (sqrt (- 1.0 (* t_0 t_0)))))))
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        t_0 := \left(ux - maxCos \cdot ux\right) - 1\\
        \mathbf{if}\;ux \leq 0.00011999999696854502:\\
        \;\;\;\;\left(\sqrt{\left(1 - maxCos\right) \cdot ux} \cdot \sin \left(\left(2 \cdot uy\right) \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\\
        
        \mathbf{else}:\\
        \;\;\;\;\sin \left(\left(uy + uy\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - t\_0 \cdot t\_0}\\
        
        
        \end{array}
        \end{array}
        
        Derivation
        1. Split input into 2 regimes
        2. if ux < 1.19999997e-4

          1. Initial program 39.2%

            \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
          2. Add Preprocessing
          3. Step-by-step derivation
            1. lift-*.f32N/A

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}} \]
            2. sqr-abs-revN/A

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left|\left(1 - ux\right) + ux \cdot maxCos\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|}} \]
            3. lift-+.f32N/A

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{\left(1 - ux\right) + ux \cdot maxCos}\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
            4. lift--.f32N/A

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{\left(1 - ux\right)} + ux \cdot maxCos\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
            5. associate-+l-N/A

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{1 - \left(ux - ux \cdot maxCos\right)}\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
            6. fabs-subN/A

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left|\left(ux - ux \cdot maxCos\right) - 1\right|} \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
            7. lift-+.f32N/A

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{\left(1 - ux\right) + ux \cdot maxCos}\right|} \]
            8. lift--.f32N/A

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{\left(1 - ux\right)} + ux \cdot maxCos\right|} \]
            9. associate-+l-N/A

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{1 - \left(ux - ux \cdot maxCos\right)}\right|} \]
            10. fabs-subN/A

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \color{blue}{\left|\left(ux - ux \cdot maxCos\right) - 1\right|}} \]
            11. sqr-absN/A

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
            12. lower-*.f32N/A

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
            13. lower--.f32N/A

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right)} \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
            14. lower--.f32N/A

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\color{blue}{\left(ux - ux \cdot maxCos\right)} - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
            15. lift-*.f32N/A

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{ux \cdot maxCos}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
            16. *-commutativeN/A

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
            17. lower-*.f32N/A

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
            18. lower--.f32N/A

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
            19. lower--.f3239.2

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\color{blue}{\left(ux - ux \cdot maxCos\right)} - 1\right)} \]
            20. lift-*.f32N/A

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{ux \cdot maxCos}\right) - 1\right)} \]
            21. *-commutativeN/A

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right)} \]
            22. lower-*.f3239.2

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right)} \]
          4. Applied rewrites39.2%

            \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - maxCos \cdot ux\right) - 1\right)}} \]
          5. Taylor expanded in ux around 0

            \[\leadsto \color{blue}{\sqrt{ux \cdot \left(1 - maxCos\right)} \cdot \left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\right)} \]
          6. Step-by-step derivation
            1. *-commutativeN/A

              \[\leadsto \color{blue}{\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)}} \]
            2. lower-*.f32N/A

              \[\leadsto \color{blue}{\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)}} \]
            3. *-commutativeN/A

              \[\leadsto \color{blue}{\left(\sqrt{2} \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)} \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
            4. lower-*.f32N/A

              \[\leadsto \color{blue}{\left(\sqrt{2} \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)} \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
            5. lower-sqrt.f32N/A

              \[\leadsto \left(\color{blue}{\sqrt{2}} \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
            6. lower-sin.f32N/A

              \[\leadsto \left(\sqrt{2} \cdot \color{blue}{\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
            7. *-commutativeN/A

              \[\leadsto \left(\sqrt{2} \cdot \sin \color{blue}{\left(\left(uy \cdot \mathsf{PI}\left(\right)\right) \cdot 2\right)}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
            8. lower-*.f32N/A

              \[\leadsto \left(\sqrt{2} \cdot \sin \color{blue}{\left(\left(uy \cdot \mathsf{PI}\left(\right)\right) \cdot 2\right)}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
            9. *-commutativeN/A

              \[\leadsto \left(\sqrt{2} \cdot \sin \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)} \cdot 2\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
            10. lower-*.f32N/A

              \[\leadsto \left(\sqrt{2} \cdot \sin \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)} \cdot 2\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
            11. lower-PI.f32N/A

              \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
            12. lower-sqrt.f32N/A

              \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \color{blue}{\sqrt{ux \cdot \left(1 - maxCos\right)}} \]
            13. *-commutativeN/A

              \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 - maxCos\right) \cdot ux}} \]
            14. *-lft-identityN/A

              \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{1 \cdot maxCos}\right) \cdot ux} \]
            15. metadata-evalN/A

              \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{\left(\mathsf{neg}\left(-1\right)\right)} \cdot maxCos\right) \cdot ux} \]
            16. fp-cancel-sign-sub-invN/A

              \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 + -1 \cdot maxCos\right)} \cdot ux} \]
            17. lower-*.f32N/A

              \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 + -1 \cdot maxCos\right) \cdot ux}} \]
            18. fp-cancel-sign-sub-invN/A

              \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 - \left(\mathsf{neg}\left(-1\right)\right) \cdot maxCos\right)} \cdot ux} \]
            19. metadata-evalN/A

              \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{1} \cdot maxCos\right) \cdot ux} \]
            20. *-lft-identityN/A

              \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{maxCos}\right) \cdot ux} \]
            21. lower--.f3291.2

              \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 - maxCos\right)} \cdot ux} \]
          7. Applied rewrites91.2%

            \[\leadsto \color{blue}{\left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - maxCos\right) \cdot ux}} \]
          8. Step-by-step derivation
            1. Applied rewrites91.3%

              \[\leadsto \left(\sqrt{\left(1 - maxCos\right) \cdot ux} \cdot \sin \left(\left(2 \cdot uy\right) \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \color{blue}{\sqrt{2}} \]

            if 1.19999997e-4 < ux

            1. Initial program 89.5%

              \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
            2. Add Preprocessing
            3. Step-by-step derivation
              1. lift-*.f32N/A

                \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}} \]
              2. sqr-abs-revN/A

                \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left|\left(1 - ux\right) + ux \cdot maxCos\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|}} \]
              3. lift-+.f32N/A

                \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{\left(1 - ux\right) + ux \cdot maxCos}\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
              4. lift--.f32N/A

                \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{\left(1 - ux\right)} + ux \cdot maxCos\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
              5. associate-+l-N/A

                \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{1 - \left(ux - ux \cdot maxCos\right)}\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
              6. fabs-subN/A

                \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left|\left(ux - ux \cdot maxCos\right) - 1\right|} \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
              7. lift-+.f32N/A

                \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{\left(1 - ux\right) + ux \cdot maxCos}\right|} \]
              8. lift--.f32N/A

                \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{\left(1 - ux\right)} + ux \cdot maxCos\right|} \]
              9. associate-+l-N/A

                \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{1 - \left(ux - ux \cdot maxCos\right)}\right|} \]
              10. fabs-subN/A

                \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \color{blue}{\left|\left(ux - ux \cdot maxCos\right) - 1\right|}} \]
              11. sqr-absN/A

                \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
              12. lower-*.f32N/A

                \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
              13. lower--.f32N/A

                \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right)} \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
              14. lower--.f32N/A

                \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\color{blue}{\left(ux - ux \cdot maxCos\right)} - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
              15. lift-*.f32N/A

                \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{ux \cdot maxCos}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
              16. *-commutativeN/A

                \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
              17. lower-*.f32N/A

                \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
              18. lower--.f32N/A

                \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
              19. lower--.f3289.7

                \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\color{blue}{\left(ux - ux \cdot maxCos\right)} - 1\right)} \]
              20. lift-*.f32N/A

                \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{ux \cdot maxCos}\right) - 1\right)} \]
              21. *-commutativeN/A

                \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right)} \]
              22. lower-*.f3289.7

                \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right)} \]
            4. Applied rewrites89.7%

              \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - maxCos \cdot ux\right) - 1\right)}} \]
            5. Step-by-step derivation
              1. lift-*.f32N/A

                \[\leadsto \sin \left(\color{blue}{\left(uy \cdot 2\right)} \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - maxCos \cdot ux\right) - 1\right)} \]
              2. *-commutativeN/A

                \[\leadsto \sin \left(\color{blue}{\left(2 \cdot uy\right)} \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - maxCos \cdot ux\right) - 1\right)} \]
              3. count-2-revN/A

                \[\leadsto \sin \left(\color{blue}{\left(uy + uy\right)} \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - maxCos \cdot ux\right) - 1\right)} \]
              4. lower-+.f3289.7

                \[\leadsto \sin \left(\color{blue}{\left(uy + uy\right)} \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - maxCos \cdot ux\right) - 1\right)} \]
            6. Applied rewrites89.7%

              \[\leadsto \sin \left(\color{blue}{\left(uy + uy\right)} \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - maxCos \cdot ux\right) - 1\right)} \]
          9. Recombined 2 regimes into one program.
          10. Final simplification90.6%

            \[\leadsto \begin{array}{l} \mathbf{if}\;ux \leq 0.00011999999696854502:\\ \;\;\;\;\left(\sqrt{\left(1 - maxCos\right) \cdot ux} \cdot \sin \left(\left(2 \cdot uy\right) \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\\ \mathbf{else}:\\ \;\;\;\;\sin \left(\left(uy + uy\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - maxCos \cdot ux\right) - 1\right)}\\ \end{array} \]
          11. Add Preprocessing

          Alternative 7: 90.3% accurate, 1.0× speedup?

          \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;uy \cdot 2 \leq 0.006000000052154064:\\ \;\;\;\;\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(\frac{2}{ux} - \left(\left(-1 + maxCos\right) \cdot \left(maxCos - 1\right) - -2 \cdot \frac{maxCos}{ux}\right)\right) \cdot \left(ux \cdot ux\right)}\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{ux - maxCos \cdot ux}\\ \end{array} \end{array} \]
          (FPCore (ux uy maxCos)
           :precision binary32
           (if (<= (* uy 2.0) 0.006000000052154064)
             (*
              (* (* (PI) 2.0) uy)
              (sqrt
               (*
                (-
                 (/ 2.0 ux)
                 (- (* (+ -1.0 maxCos) (- maxCos 1.0)) (* -2.0 (/ maxCos ux))))
                (* ux ux))))
             (* (* (sqrt 2.0) (sin (* (* (PI) uy) 2.0))) (sqrt (- ux (* maxCos ux))))))
          \begin{array}{l}
          
          \\
          \begin{array}{l}
          \mathbf{if}\;uy \cdot 2 \leq 0.006000000052154064:\\
          \;\;\;\;\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(\frac{2}{ux} - \left(\left(-1 + maxCos\right) \cdot \left(maxCos - 1\right) - -2 \cdot \frac{maxCos}{ux}\right)\right) \cdot \left(ux \cdot ux\right)}\\
          
          \mathbf{else}:\\
          \;\;\;\;\left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{ux - maxCos \cdot ux}\\
          
          
          \end{array}
          \end{array}
          
          Derivation
          1. Split input into 2 regimes
          2. if (*.f32 uy #s(literal 2 binary32)) < 0.00600000005

            1. Initial program 60.4%

              \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
            2. Add Preprocessing
            3. Taylor expanded in uy around 0

              \[\leadsto \color{blue}{\left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
            4. Step-by-step derivation
              1. *-commutativeN/A

                \[\leadsto \left(2 \cdot \color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)}\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
              2. associate-*r*N/A

                \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
              3. lower-*.f32N/A

                \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
              4. *-commutativeN/A

                \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
              5. lower-*.f32N/A

                \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
              6. lower-PI.f3259.3

                \[\leadsto \left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
            5. Applied rewrites59.3%

              \[\leadsto \color{blue}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
            6. Step-by-step derivation
              1. lift-*.f32N/A

                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}} \]
              2. lift-+.f32N/A

                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)}} \]
              3. distribute-rgt-inN/A

                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right) + \left(ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
              4. +-commutativeN/A

                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right) + \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
              5. lift-*.f32N/A

                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\color{blue}{\left(ux \cdot maxCos\right)} \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right) + \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
              6. associate-*l*N/A

                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\color{blue}{ux \cdot \left(maxCos \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} + \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
              7. lower-fma.f32N/A

                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\mathsf{fma}\left(ux, maxCos \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right), \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
              8. lower-*.f32N/A

                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, \color{blue}{maxCos \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
              9. lift-+.f32N/A

                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
              10. +-commutativeN/A

                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \color{blue}{\left(ux \cdot maxCos + \left(1 - ux\right)\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
              11. lift-*.f32N/A

                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \left(\color{blue}{ux \cdot maxCos} + \left(1 - ux\right)\right), \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
              12. *-commutativeN/A

                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \left(\color{blue}{maxCos \cdot ux} + \left(1 - ux\right)\right), \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
              13. lift-fma.f32N/A

                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \color{blue}{\mathsf{fma}\left(maxCos, ux, 1 - ux\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
              14. *-commutativeN/A

                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(1 - ux\right)}\right)} \]
              15. lower-*.f3258.0

                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(1 - ux\right)}\right)} \]
              16. lift-+.f32N/A

                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)} \cdot \left(1 - ux\right)\right)} \]
              17. +-commutativeN/A

                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(ux \cdot maxCos + \left(1 - ux\right)\right)} \cdot \left(1 - ux\right)\right)} \]
              18. lift-*.f32N/A

                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \left(\color{blue}{ux \cdot maxCos} + \left(1 - ux\right)\right) \cdot \left(1 - ux\right)\right)} \]
              19. *-commutativeN/A

                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \left(\color{blue}{maxCos \cdot ux} + \left(1 - ux\right)\right) \cdot \left(1 - ux\right)\right)} \]
              20. lift-fma.f3257.8

                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\mathsf{fma}\left(maxCos, ux, 1 - ux\right)} \cdot \left(1 - ux\right)\right)} \]
            7. Applied rewrites57.4%

              \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \mathsf{fma}\left(maxCos, ux, 1 - ux\right) \cdot \left(1 - ux\right)\right)}} \]
            8. Taylor expanded in ux around inf

              \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{{ux}^{2} \cdot \left(2 \cdot \frac{1}{ux} - \left(-1 \cdot \left(maxCos - 1\right) + \left(2 \cdot \frac{maxCos}{ux} + maxCos \cdot \left(maxCos - 1\right)\right)\right)\right)}} \]
            9. Step-by-step derivation
              1. *-commutativeN/A

                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(2 \cdot \frac{1}{ux} - \left(-1 \cdot \left(maxCos - 1\right) + \left(2 \cdot \frac{maxCos}{ux} + maxCos \cdot \left(maxCos - 1\right)\right)\right)\right) \cdot {ux}^{2}}} \]
              2. lower-*.f32N/A

                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(2 \cdot \frac{1}{ux} - \left(-1 \cdot \left(maxCos - 1\right) + \left(2 \cdot \frac{maxCos}{ux} + maxCos \cdot \left(maxCos - 1\right)\right)\right)\right) \cdot {ux}^{2}}} \]
            10. Applied rewrites91.1%

              \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos + -1\right)\right)\right) \cdot \left(ux \cdot ux\right)}} \]
            11. Step-by-step derivation
              1. Applied rewrites95.4%

                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(\frac{2}{ux} - \left(\left(-1 + maxCos\right) \cdot \left(maxCos - 1\right) - -2 \cdot \frac{maxCos}{ux}\right)\right) \cdot \left(ux \cdot ux\right)} \]

              if 0.00600000005 < (*.f32 uy #s(literal 2 binary32))

              1. Initial program 63.0%

                \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
              2. Add Preprocessing
              3. Step-by-step derivation
                1. lift-*.f32N/A

                  \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}} \]
                2. sqr-abs-revN/A

                  \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left|\left(1 - ux\right) + ux \cdot maxCos\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|}} \]
                3. lift-+.f32N/A

                  \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{\left(1 - ux\right) + ux \cdot maxCos}\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
                4. lift--.f32N/A

                  \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{\left(1 - ux\right)} + ux \cdot maxCos\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
                5. associate-+l-N/A

                  \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{1 - \left(ux - ux \cdot maxCos\right)}\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
                6. fabs-subN/A

                  \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left|\left(ux - ux \cdot maxCos\right) - 1\right|} \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
                7. lift-+.f32N/A

                  \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{\left(1 - ux\right) + ux \cdot maxCos}\right|} \]
                8. lift--.f32N/A

                  \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{\left(1 - ux\right)} + ux \cdot maxCos\right|} \]
                9. associate-+l-N/A

                  \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{1 - \left(ux - ux \cdot maxCos\right)}\right|} \]
                10. fabs-subN/A

                  \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \color{blue}{\left|\left(ux - ux \cdot maxCos\right) - 1\right|}} \]
                11. sqr-absN/A

                  \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
                12. lower-*.f32N/A

                  \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
                13. lower--.f32N/A

                  \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right)} \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
                14. lower--.f32N/A

                  \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\color{blue}{\left(ux - ux \cdot maxCos\right)} - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
                15. lift-*.f32N/A

                  \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{ux \cdot maxCos}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
                16. *-commutativeN/A

                  \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
                17. lower-*.f32N/A

                  \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
                18. lower--.f32N/A

                  \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
                19. lower--.f3263.2

                  \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\color{blue}{\left(ux - ux \cdot maxCos\right)} - 1\right)} \]
                20. lift-*.f32N/A

                  \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{ux \cdot maxCos}\right) - 1\right)} \]
                21. *-commutativeN/A

                  \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right)} \]
                22. lower-*.f3263.2

                  \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right)} \]
              4. Applied rewrites63.2%

                \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - maxCos \cdot ux\right) - 1\right)}} \]
              5. Taylor expanded in ux around 0

                \[\leadsto \color{blue}{\sqrt{ux \cdot \left(1 - maxCos\right)} \cdot \left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\right)} \]
              6. Step-by-step derivation
                1. *-commutativeN/A

                  \[\leadsto \color{blue}{\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)}} \]
                2. lower-*.f32N/A

                  \[\leadsto \color{blue}{\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)}} \]
                3. *-commutativeN/A

                  \[\leadsto \color{blue}{\left(\sqrt{2} \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)} \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                4. lower-*.f32N/A

                  \[\leadsto \color{blue}{\left(\sqrt{2} \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)} \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                5. lower-sqrt.f32N/A

                  \[\leadsto \left(\color{blue}{\sqrt{2}} \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                6. lower-sin.f32N/A

                  \[\leadsto \left(\sqrt{2} \cdot \color{blue}{\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                7. *-commutativeN/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \color{blue}{\left(\left(uy \cdot \mathsf{PI}\left(\right)\right) \cdot 2\right)}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                8. lower-*.f32N/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \color{blue}{\left(\left(uy \cdot \mathsf{PI}\left(\right)\right) \cdot 2\right)}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                9. *-commutativeN/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)} \cdot 2\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                10. lower-*.f32N/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)} \cdot 2\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                11. lower-PI.f32N/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                12. lower-sqrt.f32N/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \color{blue}{\sqrt{ux \cdot \left(1 - maxCos\right)}} \]
                13. *-commutativeN/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 - maxCos\right) \cdot ux}} \]
                14. *-lft-identityN/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{1 \cdot maxCos}\right) \cdot ux} \]
                15. metadata-evalN/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{\left(\mathsf{neg}\left(-1\right)\right)} \cdot maxCos\right) \cdot ux} \]
                16. fp-cancel-sign-sub-invN/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 + -1 \cdot maxCos\right)} \cdot ux} \]
                17. lower-*.f32N/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 + -1 \cdot maxCos\right) \cdot ux}} \]
                18. fp-cancel-sign-sub-invN/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 - \left(\mathsf{neg}\left(-1\right)\right) \cdot maxCos\right)} \cdot ux} \]
                19. metadata-evalN/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{1} \cdot maxCos\right) \cdot ux} \]
                20. *-lft-identityN/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{maxCos}\right) \cdot ux} \]
                21. lower--.f3274.0

                  \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 - maxCos\right)} \cdot ux} \]
              7. Applied rewrites74.0%

                \[\leadsto \color{blue}{\left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - maxCos\right) \cdot ux}} \]
              8. Taylor expanded in ux around 0

                \[\leadsto \color{blue}{\sqrt{ux \cdot \left(1 - maxCos\right)} \cdot \left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\right)} \]
              9. Step-by-step derivation
                1. *-commutativeN/A

                  \[\leadsto \color{blue}{\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)}} \]
                2. lower-*.f32N/A

                  \[\leadsto \color{blue}{\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)}} \]
                3. *-commutativeN/A

                  \[\leadsto \color{blue}{\left(\sqrt{2} \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)} \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                4. lower-*.f32N/A

                  \[\leadsto \color{blue}{\left(\sqrt{2} \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)} \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                5. lower-sqrt.f32N/A

                  \[\leadsto \left(\color{blue}{\sqrt{2}} \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                6. lower-sin.f32N/A

                  \[\leadsto \left(\sqrt{2} \cdot \color{blue}{\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                7. *-commutativeN/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \color{blue}{\left(\left(uy \cdot \mathsf{PI}\left(\right)\right) \cdot 2\right)}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                8. lower-*.f32N/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \color{blue}{\left(\left(uy \cdot \mathsf{PI}\left(\right)\right) \cdot 2\right)}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                9. *-commutativeN/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)} \cdot 2\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                10. lower-*.f32N/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)} \cdot 2\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                11. lower-PI.f32N/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                12. lower-sqrt.f32N/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \color{blue}{\sqrt{ux \cdot \left(1 - maxCos\right)}} \]
                13. *-lft-identityN/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{ux \cdot \left(1 - \color{blue}{1 \cdot maxCos}\right)} \]
                14. metadata-evalN/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{ux \cdot \left(1 - \color{blue}{\left(\mathsf{neg}\left(-1\right)\right)} \cdot maxCos\right)} \]
                15. fp-cancel-sign-sub-invN/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{ux \cdot \color{blue}{\left(1 + -1 \cdot maxCos\right)}} \]
                16. distribute-rgt-inN/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{1 \cdot ux + \left(-1 \cdot maxCos\right) \cdot ux}} \]
                17. *-lft-identityN/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{ux} + \left(-1 \cdot maxCos\right) \cdot ux} \]
                18. mul-1-negN/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{ux + \color{blue}{\left(\mathsf{neg}\left(maxCos\right)\right)} \cdot ux} \]
                19. fp-cancel-sub-signN/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{ux - maxCos \cdot ux}} \]
                20. lower--.f32N/A

                  \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{ux - maxCos \cdot ux}} \]
                21. lower-*.f3274.0

                  \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{ux - \color{blue}{maxCos \cdot ux}} \]
              10. Applied rewrites74.0%

                \[\leadsto \color{blue}{\left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{ux - maxCos \cdot ux}} \]
            12. Recombined 2 regimes into one program.
            13. Final simplification89.9%

              \[\leadsto \begin{array}{l} \mathbf{if}\;uy \cdot 2 \leq 0.006000000052154064:\\ \;\;\;\;\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(\frac{2}{ux} - \left(\left(-1 + maxCos\right) \cdot \left(maxCos - 1\right) - -2 \cdot \frac{maxCos}{ux}\right)\right) \cdot \left(ux \cdot ux\right)}\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{ux - maxCos \cdot ux}\\ \end{array} \]
            14. Add Preprocessing

            Alternative 8: 90.3% accurate, 1.0× speedup?

            \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;uy \cdot 2 \leq 0.006000000052154064:\\ \;\;\;\;\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(\frac{2}{ux} - \left(\left(-1 + maxCos\right) \cdot \left(maxCos - 1\right) - -2 \cdot \frac{maxCos}{ux}\right)\right) \cdot \left(ux \cdot ux\right)}\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - maxCos\right) \cdot ux}\\ \end{array} \end{array} \]
            (FPCore (ux uy maxCos)
             :precision binary32
             (if (<= (* uy 2.0) 0.006000000052154064)
               (*
                (* (* (PI) 2.0) uy)
                (sqrt
                 (*
                  (-
                   (/ 2.0 ux)
                   (- (* (+ -1.0 maxCos) (- maxCos 1.0)) (* -2.0 (/ maxCos ux))))
                  (* ux ux))))
               (* (* (sqrt 2.0) (sin (* (* (PI) uy) 2.0))) (sqrt (* (- 1.0 maxCos) ux)))))
            \begin{array}{l}
            
            \\
            \begin{array}{l}
            \mathbf{if}\;uy \cdot 2 \leq 0.006000000052154064:\\
            \;\;\;\;\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(\frac{2}{ux} - \left(\left(-1 + maxCos\right) \cdot \left(maxCos - 1\right) - -2 \cdot \frac{maxCos}{ux}\right)\right) \cdot \left(ux \cdot ux\right)}\\
            
            \mathbf{else}:\\
            \;\;\;\;\left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - maxCos\right) \cdot ux}\\
            
            
            \end{array}
            \end{array}
            
            Derivation
            1. Split input into 2 regimes
            2. if (*.f32 uy #s(literal 2 binary32)) < 0.00600000005

              1. Initial program 60.4%

                \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
              2. Add Preprocessing
              3. Taylor expanded in uy around 0

                \[\leadsto \color{blue}{\left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
              4. Step-by-step derivation
                1. *-commutativeN/A

                  \[\leadsto \left(2 \cdot \color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)}\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                2. associate-*r*N/A

                  \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                3. lower-*.f32N/A

                  \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                4. *-commutativeN/A

                  \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                5. lower-*.f32N/A

                  \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                6. lower-PI.f3259.3

                  \[\leadsto \left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
              5. Applied rewrites59.3%

                \[\leadsto \color{blue}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
              6. Step-by-step derivation
                1. lift-*.f32N/A

                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}} \]
                2. lift-+.f32N/A

                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)}} \]
                3. distribute-rgt-inN/A

                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right) + \left(ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
                4. +-commutativeN/A

                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right) + \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
                5. lift-*.f32N/A

                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\color{blue}{\left(ux \cdot maxCos\right)} \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right) + \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                6. associate-*l*N/A

                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\color{blue}{ux \cdot \left(maxCos \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} + \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                7. lower-fma.f32N/A

                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\mathsf{fma}\left(ux, maxCos \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right), \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
                8. lower-*.f32N/A

                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, \color{blue}{maxCos \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                9. lift-+.f32N/A

                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                10. +-commutativeN/A

                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \color{blue}{\left(ux \cdot maxCos + \left(1 - ux\right)\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                11. lift-*.f32N/A

                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \left(\color{blue}{ux \cdot maxCos} + \left(1 - ux\right)\right), \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                12. *-commutativeN/A

                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \left(\color{blue}{maxCos \cdot ux} + \left(1 - ux\right)\right), \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                13. lift-fma.f32N/A

                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \color{blue}{\mathsf{fma}\left(maxCos, ux, 1 - ux\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                14. *-commutativeN/A

                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(1 - ux\right)}\right)} \]
                15. lower-*.f3258.0

                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(1 - ux\right)}\right)} \]
                16. lift-+.f32N/A

                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)} \cdot \left(1 - ux\right)\right)} \]
                17. +-commutativeN/A

                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(ux \cdot maxCos + \left(1 - ux\right)\right)} \cdot \left(1 - ux\right)\right)} \]
                18. lift-*.f32N/A

                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \left(\color{blue}{ux \cdot maxCos} + \left(1 - ux\right)\right) \cdot \left(1 - ux\right)\right)} \]
                19. *-commutativeN/A

                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \left(\color{blue}{maxCos \cdot ux} + \left(1 - ux\right)\right) \cdot \left(1 - ux\right)\right)} \]
                20. lift-fma.f3257.8

                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\mathsf{fma}\left(maxCos, ux, 1 - ux\right)} \cdot \left(1 - ux\right)\right)} \]
              7. Applied rewrites56.6%

                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \mathsf{fma}\left(maxCos, ux, 1 - ux\right) \cdot \left(1 - ux\right)\right)}} \]
              8. Taylor expanded in ux around inf

                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{{ux}^{2} \cdot \left(2 \cdot \frac{1}{ux} - \left(-1 \cdot \left(maxCos - 1\right) + \left(2 \cdot \frac{maxCos}{ux} + maxCos \cdot \left(maxCos - 1\right)\right)\right)\right)}} \]
              9. Step-by-step derivation
                1. *-commutativeN/A

                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(2 \cdot \frac{1}{ux} - \left(-1 \cdot \left(maxCos - 1\right) + \left(2 \cdot \frac{maxCos}{ux} + maxCos \cdot \left(maxCos - 1\right)\right)\right)\right) \cdot {ux}^{2}}} \]
                2. lower-*.f32N/A

                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(2 \cdot \frac{1}{ux} - \left(-1 \cdot \left(maxCos - 1\right) + \left(2 \cdot \frac{maxCos}{ux} + maxCos \cdot \left(maxCos - 1\right)\right)\right)\right) \cdot {ux}^{2}}} \]
              10. Applied rewrites91.1%

                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos + -1\right)\right)\right) \cdot \left(ux \cdot ux\right)}} \]
              11. Step-by-step derivation
                1. Applied rewrites95.4%

                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(\frac{2}{ux} - \left(\left(-1 + maxCos\right) \cdot \left(maxCos - 1\right) - -2 \cdot \frac{maxCos}{ux}\right)\right) \cdot \left(ux \cdot ux\right)} \]

                if 0.00600000005 < (*.f32 uy #s(literal 2 binary32))

                1. Initial program 63.0%

                  \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                2. Add Preprocessing
                3. Step-by-step derivation
                  1. lift-*.f32N/A

                    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}} \]
                  2. sqr-abs-revN/A

                    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left|\left(1 - ux\right) + ux \cdot maxCos\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|}} \]
                  3. lift-+.f32N/A

                    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{\left(1 - ux\right) + ux \cdot maxCos}\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
                  4. lift--.f32N/A

                    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{\left(1 - ux\right)} + ux \cdot maxCos\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
                  5. associate-+l-N/A

                    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{1 - \left(ux - ux \cdot maxCos\right)}\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
                  6. fabs-subN/A

                    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left|\left(ux - ux \cdot maxCos\right) - 1\right|} \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
                  7. lift-+.f32N/A

                    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{\left(1 - ux\right) + ux \cdot maxCos}\right|} \]
                  8. lift--.f32N/A

                    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{\left(1 - ux\right)} + ux \cdot maxCos\right|} \]
                  9. associate-+l-N/A

                    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{1 - \left(ux - ux \cdot maxCos\right)}\right|} \]
                  10. fabs-subN/A

                    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \color{blue}{\left|\left(ux - ux \cdot maxCos\right) - 1\right|}} \]
                  11. sqr-absN/A

                    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
                  12. lower-*.f32N/A

                    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
                  13. lower--.f32N/A

                    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right)} \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
                  14. lower--.f32N/A

                    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\color{blue}{\left(ux - ux \cdot maxCos\right)} - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
                  15. lift-*.f32N/A

                    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{ux \cdot maxCos}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
                  16. *-commutativeN/A

                    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
                  17. lower-*.f32N/A

                    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
                  18. lower--.f32N/A

                    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
                  19. lower--.f3263.2

                    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\color{blue}{\left(ux - ux \cdot maxCos\right)} - 1\right)} \]
                  20. lift-*.f32N/A

                    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{ux \cdot maxCos}\right) - 1\right)} \]
                  21. *-commutativeN/A

                    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right)} \]
                  22. lower-*.f3263.2

                    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right)} \]
                4. Applied rewrites63.2%

                  \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - maxCos \cdot ux\right) - 1\right)}} \]
                5. Taylor expanded in ux around 0

                  \[\leadsto \color{blue}{\sqrt{ux \cdot \left(1 - maxCos\right)} \cdot \left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\right)} \]
                6. Step-by-step derivation
                  1. *-commutativeN/A

                    \[\leadsto \color{blue}{\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)}} \]
                  2. lower-*.f32N/A

                    \[\leadsto \color{blue}{\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)}} \]
                  3. *-commutativeN/A

                    \[\leadsto \color{blue}{\left(\sqrt{2} \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)} \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                  4. lower-*.f32N/A

                    \[\leadsto \color{blue}{\left(\sqrt{2} \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)} \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                  5. lower-sqrt.f32N/A

                    \[\leadsto \left(\color{blue}{\sqrt{2}} \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                  6. lower-sin.f32N/A

                    \[\leadsto \left(\sqrt{2} \cdot \color{blue}{\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                  7. *-commutativeN/A

                    \[\leadsto \left(\sqrt{2} \cdot \sin \color{blue}{\left(\left(uy \cdot \mathsf{PI}\left(\right)\right) \cdot 2\right)}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                  8. lower-*.f32N/A

                    \[\leadsto \left(\sqrt{2} \cdot \sin \color{blue}{\left(\left(uy \cdot \mathsf{PI}\left(\right)\right) \cdot 2\right)}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                  9. *-commutativeN/A

                    \[\leadsto \left(\sqrt{2} \cdot \sin \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)} \cdot 2\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                  10. lower-*.f32N/A

                    \[\leadsto \left(\sqrt{2} \cdot \sin \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)} \cdot 2\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                  11. lower-PI.f32N/A

                    \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                  12. lower-sqrt.f32N/A

                    \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \color{blue}{\sqrt{ux \cdot \left(1 - maxCos\right)}} \]
                  13. *-commutativeN/A

                    \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 - maxCos\right) \cdot ux}} \]
                  14. *-lft-identityN/A

                    \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{1 \cdot maxCos}\right) \cdot ux} \]
                  15. metadata-evalN/A

                    \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{\left(\mathsf{neg}\left(-1\right)\right)} \cdot maxCos\right) \cdot ux} \]
                  16. fp-cancel-sign-sub-invN/A

                    \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 + -1 \cdot maxCos\right)} \cdot ux} \]
                  17. lower-*.f32N/A

                    \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 + -1 \cdot maxCos\right) \cdot ux}} \]
                  18. fp-cancel-sign-sub-invN/A

                    \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 - \left(\mathsf{neg}\left(-1\right)\right) \cdot maxCos\right)} \cdot ux} \]
                  19. metadata-evalN/A

                    \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{1} \cdot maxCos\right) \cdot ux} \]
                  20. *-lft-identityN/A

                    \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{maxCos}\right) \cdot ux} \]
                  21. lower--.f3274.0

                    \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 - maxCos\right)} \cdot ux} \]
                7. Applied rewrites74.0%

                  \[\leadsto \color{blue}{\left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - maxCos\right) \cdot ux}} \]
              12. Recombined 2 regimes into one program.
              13. Final simplification89.9%

                \[\leadsto \begin{array}{l} \mathbf{if}\;uy \cdot 2 \leq 0.006000000052154064:\\ \;\;\;\;\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(\frac{2}{ux} - \left(\left(-1 + maxCos\right) \cdot \left(maxCos - 1\right) - -2 \cdot \frac{maxCos}{ux}\right)\right) \cdot \left(ux \cdot ux\right)}\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - maxCos\right) \cdot ux}\\ \end{array} \]
              14. Add Preprocessing

              Alternative 9: 90.3% accurate, 1.0× speedup?

              \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;uy \cdot 2 \leq 0.006000000052154064:\\ \;\;\;\;\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(\frac{2}{ux} - \left(\left(-1 + maxCos\right) \cdot \left(maxCos - 1\right) - -2 \cdot \frac{maxCos}{ux}\right)\right) \cdot \left(ux \cdot ux\right)}\\ \mathbf{else}:\\ \;\;\;\;\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{ux \cdot \left(2 \cdot \left(1 - maxCos\right)\right)}\\ \end{array} \end{array} \]
              (FPCore (ux uy maxCos)
               :precision binary32
               (if (<= (* uy 2.0) 0.006000000052154064)
                 (*
                  (* (* (PI) 2.0) uy)
                  (sqrt
                   (*
                    (-
                     (/ 2.0 ux)
                     (- (* (+ -1.0 maxCos) (- maxCos 1.0)) (* -2.0 (/ maxCos ux))))
                    (* ux ux))))
                 (* (sin (* (* uy 2.0) (PI))) (sqrt (* ux (* 2.0 (- 1.0 maxCos)))))))
              \begin{array}{l}
              
              \\
              \begin{array}{l}
              \mathbf{if}\;uy \cdot 2 \leq 0.006000000052154064:\\
              \;\;\;\;\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(\frac{2}{ux} - \left(\left(-1 + maxCos\right) \cdot \left(maxCos - 1\right) - -2 \cdot \frac{maxCos}{ux}\right)\right) \cdot \left(ux \cdot ux\right)}\\
              
              \mathbf{else}:\\
              \;\;\;\;\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{ux \cdot \left(2 \cdot \left(1 - maxCos\right)\right)}\\
              
              
              \end{array}
              \end{array}
              
              Derivation
              1. Split input into 2 regimes
              2. if (*.f32 uy #s(literal 2 binary32)) < 0.00600000005

                1. Initial program 60.4%

                  \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                2. Add Preprocessing
                3. Taylor expanded in uy around 0

                  \[\leadsto \color{blue}{\left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                4. Step-by-step derivation
                  1. *-commutativeN/A

                    \[\leadsto \left(2 \cdot \color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)}\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                  2. associate-*r*N/A

                    \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                  3. lower-*.f32N/A

                    \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                  4. *-commutativeN/A

                    \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                  5. lower-*.f32N/A

                    \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                  6. lower-PI.f3259.3

                    \[\leadsto \left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                5. Applied rewrites59.3%

                  \[\leadsto \color{blue}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                6. Step-by-step derivation
                  1. lift-*.f32N/A

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}} \]
                  2. lift-+.f32N/A

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)}} \]
                  3. distribute-rgt-inN/A

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right) + \left(ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
                  4. +-commutativeN/A

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right) + \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
                  5. lift-*.f32N/A

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\color{blue}{\left(ux \cdot maxCos\right)} \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right) + \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                  6. associate-*l*N/A

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\color{blue}{ux \cdot \left(maxCos \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} + \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                  7. lower-fma.f32N/A

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\mathsf{fma}\left(ux, maxCos \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right), \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
                  8. lower-*.f32N/A

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, \color{blue}{maxCos \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                  9. lift-+.f32N/A

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                  10. +-commutativeN/A

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \color{blue}{\left(ux \cdot maxCos + \left(1 - ux\right)\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                  11. lift-*.f32N/A

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \left(\color{blue}{ux \cdot maxCos} + \left(1 - ux\right)\right), \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                  12. *-commutativeN/A

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \left(\color{blue}{maxCos \cdot ux} + \left(1 - ux\right)\right), \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                  13. lift-fma.f32N/A

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \color{blue}{\mathsf{fma}\left(maxCos, ux, 1 - ux\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                  14. *-commutativeN/A

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(1 - ux\right)}\right)} \]
                  15. lower-*.f3258.0

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(1 - ux\right)}\right)} \]
                  16. lift-+.f32N/A

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)} \cdot \left(1 - ux\right)\right)} \]
                  17. +-commutativeN/A

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(ux \cdot maxCos + \left(1 - ux\right)\right)} \cdot \left(1 - ux\right)\right)} \]
                  18. lift-*.f32N/A

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \left(\color{blue}{ux \cdot maxCos} + \left(1 - ux\right)\right) \cdot \left(1 - ux\right)\right)} \]
                  19. *-commutativeN/A

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \left(\color{blue}{maxCos \cdot ux} + \left(1 - ux\right)\right) \cdot \left(1 - ux\right)\right)} \]
                  20. lift-fma.f3257.8

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\mathsf{fma}\left(maxCos, ux, 1 - ux\right)} \cdot \left(1 - ux\right)\right)} \]
                7. Applied rewrites57.8%

                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \mathsf{fma}\left(maxCos, ux, 1 - ux\right) \cdot \left(1 - ux\right)\right)}} \]
                8. Taylor expanded in ux around inf

                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{{ux}^{2} \cdot \left(2 \cdot \frac{1}{ux} - \left(-1 \cdot \left(maxCos - 1\right) + \left(2 \cdot \frac{maxCos}{ux} + maxCos \cdot \left(maxCos - 1\right)\right)\right)\right)}} \]
                9. Step-by-step derivation
                  1. *-commutativeN/A

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(2 \cdot \frac{1}{ux} - \left(-1 \cdot \left(maxCos - 1\right) + \left(2 \cdot \frac{maxCos}{ux} + maxCos \cdot \left(maxCos - 1\right)\right)\right)\right) \cdot {ux}^{2}}} \]
                  2. lower-*.f32N/A

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(2 \cdot \frac{1}{ux} - \left(-1 \cdot \left(maxCos - 1\right) + \left(2 \cdot \frac{maxCos}{ux} + maxCos \cdot \left(maxCos - 1\right)\right)\right)\right) \cdot {ux}^{2}}} \]
                10. Applied rewrites91.1%

                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos + -1\right)\right)\right) \cdot \left(ux \cdot ux\right)}} \]
                11. Step-by-step derivation
                  1. Applied rewrites95.4%

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(\frac{2}{ux} - \left(\left(-1 + maxCos\right) \cdot \left(maxCos - 1\right) - -2 \cdot \frac{maxCos}{ux}\right)\right) \cdot \left(ux \cdot ux\right)} \]

                  if 0.00600000005 < (*.f32 uy #s(literal 2 binary32))

                  1. Initial program 63.0%

                    \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                  2. Add Preprocessing
                  3. Step-by-step derivation
                    1. lift-*.f32N/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}} \]
                    2. sqr-abs-revN/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left|\left(1 - ux\right) + ux \cdot maxCos\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|}} \]
                    3. lift-+.f32N/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{\left(1 - ux\right) + ux \cdot maxCos}\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
                    4. lift--.f32N/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{\left(1 - ux\right)} + ux \cdot maxCos\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
                    5. associate-+l-N/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{1 - \left(ux - ux \cdot maxCos\right)}\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
                    6. fabs-subN/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left|\left(ux - ux \cdot maxCos\right) - 1\right|} \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
                    7. lift-+.f32N/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{\left(1 - ux\right) + ux \cdot maxCos}\right|} \]
                    8. lift--.f32N/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{\left(1 - ux\right)} + ux \cdot maxCos\right|} \]
                    9. associate-+l-N/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{1 - \left(ux - ux \cdot maxCos\right)}\right|} \]
                    10. fabs-subN/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \color{blue}{\left|\left(ux - ux \cdot maxCos\right) - 1\right|}} \]
                    11. sqr-absN/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
                    12. lower-*.f32N/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
                    13. lower--.f32N/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right)} \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
                    14. lower--.f32N/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\color{blue}{\left(ux - ux \cdot maxCos\right)} - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
                    15. lift-*.f32N/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{ux \cdot maxCos}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
                    16. *-commutativeN/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
                    17. lower-*.f32N/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
                    18. lower--.f32N/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
                    19. lower--.f3263.2

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\color{blue}{\left(ux - ux \cdot maxCos\right)} - 1\right)} \]
                    20. lift-*.f32N/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{ux \cdot maxCos}\right) - 1\right)} \]
                    21. *-commutativeN/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right)} \]
                    22. lower-*.f3263.2

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right)} \]
                  4. Applied rewrites63.2%

                    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - maxCos \cdot ux\right) - 1\right)}} \]
                  5. Taylor expanded in ux around 0

                    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{\color{blue}{2 \cdot \left(ux \cdot \left(1 - maxCos\right)\right)}} \]
                  6. Step-by-step derivation
                    1. count-2-revN/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(1 - maxCos\right) + ux \cdot \left(1 - maxCos\right)}} \]
                    2. distribute-lft-outN/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(\left(1 - maxCos\right) + \left(1 - maxCos\right)\right)}} \]
                    3. count-2-revN/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{ux \cdot \color{blue}{\left(2 \cdot \left(1 - maxCos\right)\right)}} \]
                    4. metadata-evalN/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{ux \cdot \left(\color{blue}{\left(\mathsf{neg}\left(-2\right)\right)} \cdot \left(1 - maxCos\right)\right)} \]
                    5. lower-*.f32N/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(\left(\mathsf{neg}\left(-2\right)\right) \cdot \left(1 - maxCos\right)\right)}} \]
                    6. metadata-evalN/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{ux \cdot \left(\color{blue}{2} \cdot \left(1 - maxCos\right)\right)} \]
                    7. *-lft-identityN/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{ux \cdot \left(2 \cdot \left(1 - \color{blue}{1 \cdot maxCos}\right)\right)} \]
                    8. metadata-evalN/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{ux \cdot \left(2 \cdot \left(1 - \color{blue}{\left(\mathsf{neg}\left(-1\right)\right)} \cdot maxCos\right)\right)} \]
                    9. fp-cancel-sign-sub-invN/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{ux \cdot \left(2 \cdot \color{blue}{\left(1 + -1 \cdot maxCos\right)}\right)} \]
                    10. lower-*.f32N/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{ux \cdot \color{blue}{\left(2 \cdot \left(1 + -1 \cdot maxCos\right)\right)}} \]
                    11. fp-cancel-sign-sub-invN/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{ux \cdot \left(2 \cdot \color{blue}{\left(1 - \left(\mathsf{neg}\left(-1\right)\right) \cdot maxCos\right)}\right)} \]
                    12. metadata-evalN/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{ux \cdot \left(2 \cdot \left(1 - \color{blue}{1} \cdot maxCos\right)\right)} \]
                    13. *-lft-identityN/A

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{ux \cdot \left(2 \cdot \left(1 - \color{blue}{maxCos}\right)\right)} \]
                    14. lower--.f3273.8

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{ux \cdot \left(2 \cdot \color{blue}{\left(1 - maxCos\right)}\right)} \]
                  7. Applied rewrites73.8%

                    \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(2 \cdot \left(1 - maxCos\right)\right)}} \]
                12. Recombined 2 regimes into one program.
                13. Final simplification89.8%

                  \[\leadsto \begin{array}{l} \mathbf{if}\;uy \cdot 2 \leq 0.006000000052154064:\\ \;\;\;\;\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(\frac{2}{ux} - \left(\left(-1 + maxCos\right) \cdot \left(maxCos - 1\right) - -2 \cdot \frac{maxCos}{ux}\right)\right) \cdot \left(ux \cdot ux\right)}\\ \mathbf{else}:\\ \;\;\;\;\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{ux \cdot \left(2 \cdot \left(1 - maxCos\right)\right)}\\ \end{array} \]
                14. Add Preprocessing

                Alternative 10: 89.4% accurate, 1.1× speedup?

                \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;uy \cdot 2 \leq 0.006000000052154064:\\ \;\;\;\;\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(\frac{2}{ux} - \left(\left(-1 + maxCos\right) \cdot \left(maxCos - 1\right) - -2 \cdot \frac{maxCos}{ux}\right)\right) \cdot \left(ux \cdot ux\right)}\\ \mathbf{else}:\\ \;\;\;\;\sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right) \cdot \sqrt{\mathsf{fma}\left(-2, maxCos, 2\right) \cdot ux}\\ \end{array} \end{array} \]
                (FPCore (ux uy maxCos)
                 :precision binary32
                 (if (<= (* uy 2.0) 0.006000000052154064)
                   (*
                    (* (* (PI) 2.0) uy)
                    (sqrt
                     (*
                      (-
                       (/ 2.0 ux)
                       (- (* (+ -1.0 maxCos) (- maxCos 1.0)) (* -2.0 (/ maxCos ux))))
                      (* ux ux))))
                   (* (sin (* (* (PI) uy) 2.0)) (sqrt (* (fma -2.0 maxCos 2.0) ux)))))
                \begin{array}{l}
                
                \\
                \begin{array}{l}
                \mathbf{if}\;uy \cdot 2 \leq 0.006000000052154064:\\
                \;\;\;\;\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(\frac{2}{ux} - \left(\left(-1 + maxCos\right) \cdot \left(maxCos - 1\right) - -2 \cdot \frac{maxCos}{ux}\right)\right) \cdot \left(ux \cdot ux\right)}\\
                
                \mathbf{else}:\\
                \;\;\;\;\sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right) \cdot \sqrt{\mathsf{fma}\left(-2, maxCos, 2\right) \cdot ux}\\
                
                
                \end{array}
                \end{array}
                
                Derivation
                1. Split input into 2 regimes
                2. if (*.f32 uy #s(literal 2 binary32)) < 0.00600000005

                  1. Initial program 60.4%

                    \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                  2. Add Preprocessing
                  3. Taylor expanded in uy around 0

                    \[\leadsto \color{blue}{\left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                  4. Step-by-step derivation
                    1. *-commutativeN/A

                      \[\leadsto \left(2 \cdot \color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)}\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                    2. associate-*r*N/A

                      \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                    3. lower-*.f32N/A

                      \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                    4. *-commutativeN/A

                      \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                    5. lower-*.f32N/A

                      \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                    6. lower-PI.f3259.3

                      \[\leadsto \left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                  5. Applied rewrites59.3%

                    \[\leadsto \color{blue}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                  6. Step-by-step derivation
                    1. lift-*.f32N/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}} \]
                    2. lift-+.f32N/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)}} \]
                    3. distribute-rgt-inN/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right) + \left(ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
                    4. +-commutativeN/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right) + \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
                    5. lift-*.f32N/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\color{blue}{\left(ux \cdot maxCos\right)} \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right) + \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                    6. associate-*l*N/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\color{blue}{ux \cdot \left(maxCos \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} + \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                    7. lower-fma.f32N/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\mathsf{fma}\left(ux, maxCos \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right), \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
                    8. lower-*.f32N/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, \color{blue}{maxCos \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                    9. lift-+.f32N/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                    10. +-commutativeN/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \color{blue}{\left(ux \cdot maxCos + \left(1 - ux\right)\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                    11. lift-*.f32N/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \left(\color{blue}{ux \cdot maxCos} + \left(1 - ux\right)\right), \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                    12. *-commutativeN/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \left(\color{blue}{maxCos \cdot ux} + \left(1 - ux\right)\right), \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                    13. lift-fma.f32N/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \color{blue}{\mathsf{fma}\left(maxCos, ux, 1 - ux\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                    14. *-commutativeN/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(1 - ux\right)}\right)} \]
                    15. lower-*.f3258.0

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(1 - ux\right)}\right)} \]
                    16. lift-+.f32N/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)} \cdot \left(1 - ux\right)\right)} \]
                    17. +-commutativeN/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(ux \cdot maxCos + \left(1 - ux\right)\right)} \cdot \left(1 - ux\right)\right)} \]
                    18. lift-*.f32N/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \left(\color{blue}{ux \cdot maxCos} + \left(1 - ux\right)\right) \cdot \left(1 - ux\right)\right)} \]
                    19. *-commutativeN/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \left(\color{blue}{maxCos \cdot ux} + \left(1 - ux\right)\right) \cdot \left(1 - ux\right)\right)} \]
                    20. lift-fma.f3257.8

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\mathsf{fma}\left(maxCos, ux, 1 - ux\right)} \cdot \left(1 - ux\right)\right)} \]
                  7. Applied rewrites57.4%

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \mathsf{fma}\left(maxCos, ux, 1 - ux\right) \cdot \left(1 - ux\right)\right)}} \]
                  8. Taylor expanded in ux around inf

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{{ux}^{2} \cdot \left(2 \cdot \frac{1}{ux} - \left(-1 \cdot \left(maxCos - 1\right) + \left(2 \cdot \frac{maxCos}{ux} + maxCos \cdot \left(maxCos - 1\right)\right)\right)\right)}} \]
                  9. Step-by-step derivation
                    1. *-commutativeN/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(2 \cdot \frac{1}{ux} - \left(-1 \cdot \left(maxCos - 1\right) + \left(2 \cdot \frac{maxCos}{ux} + maxCos \cdot \left(maxCos - 1\right)\right)\right)\right) \cdot {ux}^{2}}} \]
                    2. lower-*.f32N/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(2 \cdot \frac{1}{ux} - \left(-1 \cdot \left(maxCos - 1\right) + \left(2 \cdot \frac{maxCos}{ux} + maxCos \cdot \left(maxCos - 1\right)\right)\right)\right) \cdot {ux}^{2}}} \]
                  10. Applied rewrites91.1%

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos + -1\right)\right)\right) \cdot \left(ux \cdot ux\right)}} \]
                  11. Step-by-step derivation
                    1. Applied rewrites95.4%

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(\frac{2}{ux} - \left(\left(-1 + maxCos\right) \cdot \left(maxCos - 1\right) - -2 \cdot \frac{maxCos}{ux}\right)\right) \cdot \left(ux \cdot ux\right)} \]

                    if 0.00600000005 < (*.f32 uy #s(literal 2 binary32))

                    1. Initial program 63.0%

                      \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                    2. Add Preprocessing
                    3. Taylor expanded in ux around inf

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(ux \cdot \left(\left(maxCos + \frac{1}{ux}\right) - 1\right)\right)}} \]
                    4. Step-by-step derivation
                      1. *-commutativeN/A

                        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(\left(\left(maxCos + \frac{1}{ux}\right) - 1\right) \cdot ux\right)}} \]
                      2. lower-*.f32N/A

                        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(\left(\left(maxCos + \frac{1}{ux}\right) - 1\right) \cdot ux\right)}} \]
                      3. lower--.f32N/A

                        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\color{blue}{\left(\left(maxCos + \frac{1}{ux}\right) - 1\right)} \cdot ux\right)} \]
                      4. +-commutativeN/A

                        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(\color{blue}{\left(\frac{1}{ux} + maxCos\right)} - 1\right) \cdot ux\right)} \]
                      5. lower-+.f32N/A

                        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(\color{blue}{\left(\frac{1}{ux} + maxCos\right)} - 1\right) \cdot ux\right)} \]
                      6. lower-/.f3264.6

                        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(\left(\color{blue}{\frac{1}{ux}} + maxCos\right) - 1\right) \cdot ux\right)} \]
                    5. Applied rewrites64.6%

                      \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(\left(\left(\frac{1}{ux} + maxCos\right) - 1\right) \cdot ux\right)}} \]
                    6. Taylor expanded in ux around 0

                      \[\leadsto \color{blue}{\sqrt{ux \cdot \left(2 - 2 \cdot maxCos\right)} \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)} \]
                    7. Step-by-step derivation
                      1. *-commutativeN/A

                        \[\leadsto \color{blue}{\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{ux \cdot \left(2 - 2 \cdot maxCos\right)}} \]
                      2. lower-*.f32N/A

                        \[\leadsto \color{blue}{\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{ux \cdot \left(2 - 2 \cdot maxCos\right)}} \]
                      3. lower-sin.f32N/A

                        \[\leadsto \color{blue}{\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)} \cdot \sqrt{ux \cdot \left(2 - 2 \cdot maxCos\right)} \]
                      4. *-commutativeN/A

                        \[\leadsto \sin \color{blue}{\left(\left(uy \cdot \mathsf{PI}\left(\right)\right) \cdot 2\right)} \cdot \sqrt{ux \cdot \left(2 - 2 \cdot maxCos\right)} \]
                      5. lower-*.f32N/A

                        \[\leadsto \sin \color{blue}{\left(\left(uy \cdot \mathsf{PI}\left(\right)\right) \cdot 2\right)} \cdot \sqrt{ux \cdot \left(2 - 2 \cdot maxCos\right)} \]
                      6. *-commutativeN/A

                        \[\leadsto \sin \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)} \cdot 2\right) \cdot \sqrt{ux \cdot \left(2 - 2 \cdot maxCos\right)} \]
                      7. lower-*.f32N/A

                        \[\leadsto \sin \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)} \cdot 2\right) \cdot \sqrt{ux \cdot \left(2 - 2 \cdot maxCos\right)} \]
                      8. lower-PI.f32N/A

                        \[\leadsto \sin \left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot uy\right) \cdot 2\right) \cdot \sqrt{ux \cdot \left(2 - 2 \cdot maxCos\right)} \]
                      9. lower-sqrt.f32N/A

                        \[\leadsto \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right) \cdot \color{blue}{\sqrt{ux \cdot \left(2 - 2 \cdot maxCos\right)}} \]
                      10. metadata-evalN/A

                        \[\leadsto \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right) \cdot \sqrt{ux \cdot \left(2 - \color{blue}{\left(\mathsf{neg}\left(-2\right)\right)} \cdot maxCos\right)} \]
                      11. fp-cancel-sign-sub-invN/A

                        \[\leadsto \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right) \cdot \sqrt{ux \cdot \color{blue}{\left(2 + -2 \cdot maxCos\right)}} \]
                      12. *-commutativeN/A

                        \[\leadsto \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right) \cdot \sqrt{\color{blue}{\left(2 + -2 \cdot maxCos\right) \cdot ux}} \]
                      13. lower-*.f32N/A

                        \[\leadsto \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right) \cdot \sqrt{\color{blue}{\left(2 + -2 \cdot maxCos\right) \cdot ux}} \]
                      14. +-commutativeN/A

                        \[\leadsto \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right) \cdot \sqrt{\color{blue}{\left(-2 \cdot maxCos + 2\right)} \cdot ux} \]
                      15. lower-fma.f328.7

                        \[\leadsto \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(-2, maxCos, 2\right)} \cdot ux} \]
                    8. Applied rewrites8.7%

                      \[\leadsto \color{blue}{\sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right) \cdot \sqrt{\mathsf{fma}\left(-2, maxCos, 2\right) \cdot ux}} \]
                  12. Recombined 2 regimes into one program.
                  13. Final simplification73.0%

                    \[\leadsto \begin{array}{l} \mathbf{if}\;uy \cdot 2 \leq 0.006000000052154064:\\ \;\;\;\;\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(\frac{2}{ux} - \left(\left(-1 + maxCos\right) \cdot \left(maxCos - 1\right) - -2 \cdot \frac{maxCos}{ux}\right)\right) \cdot \left(ux \cdot ux\right)}\\ \mathbf{else}:\\ \;\;\;\;\sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right) \cdot \sqrt{\mathsf{fma}\left(-2, maxCos, 2\right) \cdot ux}\\ \end{array} \]
                  14. Add Preprocessing

                  Alternative 11: 81.1% accurate, 2.0× speedup?

                  \[\begin{array}{l} \\ \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(\frac{2}{ux} - \left(\left(-1 + maxCos\right) \cdot \left(maxCos - 1\right) - -2 \cdot \frac{maxCos}{ux}\right)\right) \cdot \left(ux \cdot ux\right)} \end{array} \]
                  (FPCore (ux uy maxCos)
                   :precision binary32
                   (*
                    (* (* (PI) 2.0) uy)
                    (sqrt
                     (*
                      (-
                       (/ 2.0 ux)
                       (- (* (+ -1.0 maxCos) (- maxCos 1.0)) (* -2.0 (/ maxCos ux))))
                      (* ux ux)))))
                  \begin{array}{l}
                  
                  \\
                  \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(\frac{2}{ux} - \left(\left(-1 + maxCos\right) \cdot \left(maxCos - 1\right) - -2 \cdot \frac{maxCos}{ux}\right)\right) \cdot \left(ux \cdot ux\right)}
                  \end{array}
                  
                  Derivation
                  1. Initial program 61.0%

                    \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                  2. Add Preprocessing
                  3. Taylor expanded in uy around 0

                    \[\leadsto \color{blue}{\left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                  4. Step-by-step derivation
                    1. *-commutativeN/A

                      \[\leadsto \left(2 \cdot \color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)}\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                    2. associate-*r*N/A

                      \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                    3. lower-*.f32N/A

                      \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                    4. *-commutativeN/A

                      \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                    5. lower-*.f32N/A

                      \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                    6. lower-PI.f3252.7

                      \[\leadsto \left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                  5. Applied rewrites52.7%

                    \[\leadsto \color{blue}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                  6. Step-by-step derivation
                    1. lift-*.f32N/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}} \]
                    2. lift-+.f32N/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)}} \]
                    3. distribute-rgt-inN/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right) + \left(ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
                    4. +-commutativeN/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right) + \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
                    5. lift-*.f32N/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\color{blue}{\left(ux \cdot maxCos\right)} \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right) + \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                    6. associate-*l*N/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\color{blue}{ux \cdot \left(maxCos \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} + \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                    7. lower-fma.f32N/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\mathsf{fma}\left(ux, maxCos \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right), \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
                    8. lower-*.f32N/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, \color{blue}{maxCos \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                    9. lift-+.f32N/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                    10. +-commutativeN/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \color{blue}{\left(ux \cdot maxCos + \left(1 - ux\right)\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                    11. lift-*.f32N/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \left(\color{blue}{ux \cdot maxCos} + \left(1 - ux\right)\right), \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                    12. *-commutativeN/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \left(\color{blue}{maxCos \cdot ux} + \left(1 - ux\right)\right), \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                    13. lift-fma.f32N/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \color{blue}{\mathsf{fma}\left(maxCos, ux, 1 - ux\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                    14. *-commutativeN/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(1 - ux\right)}\right)} \]
                    15. lower-*.f3251.6

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(1 - ux\right)}\right)} \]
                    16. lift-+.f32N/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)} \cdot \left(1 - ux\right)\right)} \]
                    17. +-commutativeN/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(ux \cdot maxCos + \left(1 - ux\right)\right)} \cdot \left(1 - ux\right)\right)} \]
                    18. lift-*.f32N/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \left(\color{blue}{ux \cdot maxCos} + \left(1 - ux\right)\right) \cdot \left(1 - ux\right)\right)} \]
                    19. *-commutativeN/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \left(\color{blue}{maxCos \cdot ux} + \left(1 - ux\right)\right) \cdot \left(1 - ux\right)\right)} \]
                    20. lift-fma.f3251.4

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\mathsf{fma}\left(maxCos, ux, 1 - ux\right)} \cdot \left(1 - ux\right)\right)} \]
                  7. Applied rewrites51.1%

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \mathsf{fma}\left(maxCos, ux, 1 - ux\right) \cdot \left(1 - ux\right)\right)}} \]
                  8. Taylor expanded in ux around inf

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{{ux}^{2} \cdot \left(2 \cdot \frac{1}{ux} - \left(-1 \cdot \left(maxCos - 1\right) + \left(2 \cdot \frac{maxCos}{ux} + maxCos \cdot \left(maxCos - 1\right)\right)\right)\right)}} \]
                  9. Step-by-step derivation
                    1. *-commutativeN/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(2 \cdot \frac{1}{ux} - \left(-1 \cdot \left(maxCos - 1\right) + \left(2 \cdot \frac{maxCos}{ux} + maxCos \cdot \left(maxCos - 1\right)\right)\right)\right) \cdot {ux}^{2}}} \]
                    2. lower-*.f32N/A

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(2 \cdot \frac{1}{ux} - \left(-1 \cdot \left(maxCos - 1\right) + \left(2 \cdot \frac{maxCos}{ux} + maxCos \cdot \left(maxCos - 1\right)\right)\right)\right) \cdot {ux}^{2}}} \]
                  10. Applied rewrites77.8%

                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos + -1\right)\right)\right) \cdot \left(ux \cdot ux\right)}} \]
                  11. Step-by-step derivation
                    1. Applied rewrites81.1%

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(\frac{2}{ux} - \left(\left(-1 + maxCos\right) \cdot \left(maxCos - 1\right) - -2 \cdot \frac{maxCos}{ux}\right)\right) \cdot \left(ux \cdot ux\right)} \]
                    2. Final simplification81.1%

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(\frac{2}{ux} - \left(\left(-1 + maxCos\right) \cdot \left(maxCos - 1\right) - -2 \cdot \frac{maxCos}{ux}\right)\right) \cdot \left(ux \cdot ux\right)} \]
                    3. Add Preprocessing

                    Alternative 12: 45.7% accurate, 2.0× speedup?

                    \[\begin{array}{l} \\ \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos - 1\right)\right)\right) \cdot \left(ux \cdot ux\right)} \end{array} \]
                    (FPCore (ux uy maxCos)
                     :precision binary32
                     (*
                      (* (* (PI) 2.0) uy)
                      (sqrt
                       (*
                        (- (/ 2.0 ux) (fma (/ maxCos ux) 2.0 (* (- maxCos 1.0) (- maxCos 1.0))))
                        (* ux ux)))))
                    \begin{array}{l}
                    
                    \\
                    \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos - 1\right)\right)\right) \cdot \left(ux \cdot ux\right)}
                    \end{array}
                    
                    Derivation
                    1. Initial program 61.0%

                      \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                    2. Add Preprocessing
                    3. Taylor expanded in uy around 0

                      \[\leadsto \color{blue}{\left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                    4. Step-by-step derivation
                      1. *-commutativeN/A

                        \[\leadsto \left(2 \cdot \color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)}\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                      2. associate-*r*N/A

                        \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                      3. lower-*.f32N/A

                        \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                      4. *-commutativeN/A

                        \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                      5. lower-*.f32N/A

                        \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                      6. lower-PI.f3252.7

                        \[\leadsto \left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                    5. Applied rewrites52.7%

                      \[\leadsto \color{blue}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                    6. Step-by-step derivation
                      1. lift-*.f32N/A

                        \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}} \]
                      2. lift-+.f32N/A

                        \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)}} \]
                      3. distribute-rgt-inN/A

                        \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right) + \left(ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
                      4. +-commutativeN/A

                        \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right) + \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
                      5. lift-*.f32N/A

                        \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\color{blue}{\left(ux \cdot maxCos\right)} \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right) + \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                      6. associate-*l*N/A

                        \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\color{blue}{ux \cdot \left(maxCos \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} + \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                      7. lower-fma.f32N/A

                        \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\mathsf{fma}\left(ux, maxCos \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right), \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
                      8. lower-*.f32N/A

                        \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, \color{blue}{maxCos \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                      9. lift-+.f32N/A

                        \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                      10. +-commutativeN/A

                        \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \color{blue}{\left(ux \cdot maxCos + \left(1 - ux\right)\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                      11. lift-*.f32N/A

                        \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \left(\color{blue}{ux \cdot maxCos} + \left(1 - ux\right)\right), \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                      12. *-commutativeN/A

                        \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \left(\color{blue}{maxCos \cdot ux} + \left(1 - ux\right)\right), \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                      13. lift-fma.f32N/A

                        \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \color{blue}{\mathsf{fma}\left(maxCos, ux, 1 - ux\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                      14. *-commutativeN/A

                        \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(1 - ux\right)}\right)} \]
                      15. lower-*.f3251.6

                        \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(1 - ux\right)}\right)} \]
                      16. lift-+.f32N/A

                        \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)} \cdot \left(1 - ux\right)\right)} \]
                      17. +-commutativeN/A

                        \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(ux \cdot maxCos + \left(1 - ux\right)\right)} \cdot \left(1 - ux\right)\right)} \]
                      18. lift-*.f32N/A

                        \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \left(\color{blue}{ux \cdot maxCos} + \left(1 - ux\right)\right) \cdot \left(1 - ux\right)\right)} \]
                      19. *-commutativeN/A

                        \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \left(\color{blue}{maxCos \cdot ux} + \left(1 - ux\right)\right) \cdot \left(1 - ux\right)\right)} \]
                      20. lift-fma.f3251.4

                        \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\mathsf{fma}\left(maxCos, ux, 1 - ux\right)} \cdot \left(1 - ux\right)\right)} \]
                    7. Applied rewrites50.8%

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \mathsf{fma}\left(maxCos, ux, 1 - ux\right) \cdot \left(1 - ux\right)\right)}} \]
                    8. Taylor expanded in ux around inf

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{{ux}^{2} \cdot \left(2 \cdot \frac{1}{ux} - \left(-1 \cdot \left(maxCos - 1\right) + \left(2 \cdot \frac{maxCos}{ux} + maxCos \cdot \left(maxCos - 1\right)\right)\right)\right)}} \]
                    9. Step-by-step derivation
                      1. *-commutativeN/A

                        \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(2 \cdot \frac{1}{ux} - \left(-1 \cdot \left(maxCos - 1\right) + \left(2 \cdot \frac{maxCos}{ux} + maxCos \cdot \left(maxCos - 1\right)\right)\right)\right) \cdot {ux}^{2}}} \]
                      2. lower-*.f32N/A

                        \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(2 \cdot \frac{1}{ux} - \left(-1 \cdot \left(maxCos - 1\right) + \left(2 \cdot \frac{maxCos}{ux} + maxCos \cdot \left(maxCos - 1\right)\right)\right)\right) \cdot {ux}^{2}}} \]
                    10. Applied rewrites77.8%

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos + -1\right)\right)\right) \cdot \left(ux \cdot ux\right)}} \]
                    11. Final simplification77.8%

                      \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos - 1\right)\right)\right) \cdot \left(ux \cdot ux\right)} \]
                    12. Add Preprocessing

                    Alternative 13: 75.5% accurate, 2.4× speedup?

                    \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;\left(1 - ux\right) + ux \cdot maxCos \leq 0.9994000196456909:\\ \;\;\;\;\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(1 - \left(ux - maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right)}\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left(\sqrt{2} \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right) \cdot 2\right) \cdot \sqrt{\left(1 - maxCos\right) \cdot ux}\\ \end{array} \end{array} \]
                    (FPCore (ux uy maxCos)
                     :precision binary32
                     (if (<= (+ (- 1.0 ux) (* ux maxCos)) 0.9994000196456909)
                       (*
                        (* (* (PI) 2.0) uy)
                        (sqrt (- 1.0 (* (- 1.0 (- ux (* maxCos ux))) (- 1.0 ux)))))
                       (* (* (* (* (sqrt 2.0) (PI)) uy) 2.0) (sqrt (* (- 1.0 maxCos) ux)))))
                    \begin{array}{l}
                    
                    \\
                    \begin{array}{l}
                    \mathbf{if}\;\left(1 - ux\right) + ux \cdot maxCos \leq 0.9994000196456909:\\
                    \;\;\;\;\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(1 - \left(ux - maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right)}\\
                    
                    \mathbf{else}:\\
                    \;\;\;\;\left(\left(\left(\sqrt{2} \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right) \cdot 2\right) \cdot \sqrt{\left(1 - maxCos\right) \cdot ux}\\
                    
                    
                    \end{array}
                    \end{array}
                    
                    Derivation
                    1. Split input into 2 regimes
                    2. if (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos)) < 0.99940002

                      1. Initial program 91.7%

                        \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                      2. Add Preprocessing
                      3. Taylor expanded in uy around 0

                        \[\leadsto \color{blue}{\left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                      4. Step-by-step derivation
                        1. *-commutativeN/A

                          \[\leadsto \left(2 \cdot \color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)}\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                        2. associate-*r*N/A

                          \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                        3. lower-*.f32N/A

                          \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                        4. *-commutativeN/A

                          \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                        5. lower-*.f32N/A

                          \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                        6. lower-PI.f3276.4

                          \[\leadsto \left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                      5. Applied rewrites76.4%

                        \[\leadsto \color{blue}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                      6. Taylor expanded in maxCos around 0

                        \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(1 - ux\right)}} \]
                      7. Step-by-step derivation
                        1. lower--.f3274.6

                          \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(1 - ux\right)}} \]
                      8. Applied rewrites74.6%

                        \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(1 - ux\right)}} \]
                      9. Step-by-step derivation
                        1. lift-+.f32N/A

                          \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)} \cdot \left(1 - ux\right)} \]
                        2. lift--.f32N/A

                          \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\color{blue}{\left(1 - ux\right)} + ux \cdot maxCos\right) \cdot \left(1 - ux\right)} \]
                        3. associate-+l-N/A

                          \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(1 - \left(ux - ux \cdot maxCos\right)\right)} \cdot \left(1 - ux\right)} \]
                        4. lift-*.f32N/A

                          \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(1 - \left(ux - \color{blue}{ux \cdot maxCos}\right)\right) \cdot \left(1 - ux\right)} \]
                        5. *-commutativeN/A

                          \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(1 - \left(ux - \color{blue}{maxCos \cdot ux}\right)\right) \cdot \left(1 - ux\right)} \]
                        6. lift-*.f32N/A

                          \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(1 - \left(ux - \color{blue}{maxCos \cdot ux}\right)\right) \cdot \left(1 - ux\right)} \]
                        7. lift--.f32N/A

                          \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(1 - \color{blue}{\left(ux - maxCos \cdot ux\right)}\right) \cdot \left(1 - ux\right)} \]
                        8. lower--.f3274.6

                          \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(1 - \left(ux - maxCos \cdot ux\right)\right)} \cdot \left(1 - ux\right)} \]
                      10. Applied rewrites74.6%

                        \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(1 - \left(ux - maxCos \cdot ux\right)\right)} \cdot \left(1 - ux\right)} \]

                      if 0.99940002 < (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))

                      1. Initial program 42.3%

                        \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                      2. Add Preprocessing
                      3. Step-by-step derivation
                        1. lift-*.f32N/A

                          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}} \]
                        2. sqr-abs-revN/A

                          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left|\left(1 - ux\right) + ux \cdot maxCos\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|}} \]
                        3. lift-+.f32N/A

                          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{\left(1 - ux\right) + ux \cdot maxCos}\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
                        4. lift--.f32N/A

                          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{\left(1 - ux\right)} + ux \cdot maxCos\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
                        5. associate-+l-N/A

                          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\color{blue}{1 - \left(ux - ux \cdot maxCos\right)}\right| \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
                        6. fabs-subN/A

                          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left|\left(ux - ux \cdot maxCos\right) - 1\right|} \cdot \left|\left(1 - ux\right) + ux \cdot maxCos\right|} \]
                        7. lift-+.f32N/A

                          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{\left(1 - ux\right) + ux \cdot maxCos}\right|} \]
                        8. lift--.f32N/A

                          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{\left(1 - ux\right)} + ux \cdot maxCos\right|} \]
                        9. associate-+l-N/A

                          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \left|\color{blue}{1 - \left(ux - ux \cdot maxCos\right)}\right|} \]
                        10. fabs-subN/A

                          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left|\left(ux - ux \cdot maxCos\right) - 1\right| \cdot \color{blue}{\left|\left(ux - ux \cdot maxCos\right) - 1\right|}} \]
                        11. sqr-absN/A

                          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
                        12. lower-*.f32N/A

                          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
                        13. lower--.f32N/A

                          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right)} \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
                        14. lower--.f32N/A

                          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\color{blue}{\left(ux - ux \cdot maxCos\right)} - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
                        15. lift-*.f32N/A

                          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{ux \cdot maxCos}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
                        16. *-commutativeN/A

                          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
                        17. lower-*.f32N/A

                          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right) \cdot \left(\left(ux - ux \cdot maxCos\right) - 1\right)} \]
                        18. lower--.f32N/A

                          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \color{blue}{\left(\left(ux - ux \cdot maxCos\right) - 1\right)}} \]
                        19. lower--.f3242.4

                          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\color{blue}{\left(ux - ux \cdot maxCos\right)} - 1\right)} \]
                        20. lift-*.f32N/A

                          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{ux \cdot maxCos}\right) - 1\right)} \]
                        21. *-commutativeN/A

                          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right)} \]
                        22. lower-*.f3242.4

                          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - \color{blue}{maxCos \cdot ux}\right) - 1\right)} \]
                      4. Applied rewrites42.4%

                        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux - maxCos \cdot ux\right) - 1\right) \cdot \left(\left(ux - maxCos \cdot ux\right) - 1\right)}} \]
                      5. Taylor expanded in ux around 0

                        \[\leadsto \color{blue}{\sqrt{ux \cdot \left(1 - maxCos\right)} \cdot \left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\right)} \]
                      6. Step-by-step derivation
                        1. *-commutativeN/A

                          \[\leadsto \color{blue}{\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)}} \]
                        2. lower-*.f32N/A

                          \[\leadsto \color{blue}{\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) \cdot \sqrt{2}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)}} \]
                        3. *-commutativeN/A

                          \[\leadsto \color{blue}{\left(\sqrt{2} \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)} \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                        4. lower-*.f32N/A

                          \[\leadsto \color{blue}{\left(\sqrt{2} \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)} \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                        5. lower-sqrt.f32N/A

                          \[\leadsto \left(\color{blue}{\sqrt{2}} \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                        6. lower-sin.f32N/A

                          \[\leadsto \left(\sqrt{2} \cdot \color{blue}{\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                        7. *-commutativeN/A

                          \[\leadsto \left(\sqrt{2} \cdot \sin \color{blue}{\left(\left(uy \cdot \mathsf{PI}\left(\right)\right) \cdot 2\right)}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                        8. lower-*.f32N/A

                          \[\leadsto \left(\sqrt{2} \cdot \sin \color{blue}{\left(\left(uy \cdot \mathsf{PI}\left(\right)\right) \cdot 2\right)}\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                        9. *-commutativeN/A

                          \[\leadsto \left(\sqrt{2} \cdot \sin \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)} \cdot 2\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                        10. lower-*.f32N/A

                          \[\leadsto \left(\sqrt{2} \cdot \sin \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)} \cdot 2\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                        11. lower-PI.f32N/A

                          \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{ux \cdot \left(1 - maxCos\right)} \]
                        12. lower-sqrt.f32N/A

                          \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \color{blue}{\sqrt{ux \cdot \left(1 - maxCos\right)}} \]
                        13. *-commutativeN/A

                          \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 - maxCos\right) \cdot ux}} \]
                        14. *-lft-identityN/A

                          \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{1 \cdot maxCos}\right) \cdot ux} \]
                        15. metadata-evalN/A

                          \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{\left(\mathsf{neg}\left(-1\right)\right)} \cdot maxCos\right) \cdot ux} \]
                        16. fp-cancel-sign-sub-invN/A

                          \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 + -1 \cdot maxCos\right)} \cdot ux} \]
                        17. lower-*.f32N/A

                          \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 + -1 \cdot maxCos\right) \cdot ux}} \]
                        18. fp-cancel-sign-sub-invN/A

                          \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 - \left(\mathsf{neg}\left(-1\right)\right) \cdot maxCos\right)} \cdot ux} \]
                        19. metadata-evalN/A

                          \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{1} \cdot maxCos\right) \cdot ux} \]
                        20. *-lft-identityN/A

                          \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - \color{blue}{maxCos}\right) \cdot ux} \]
                        21. lower--.f3289.5

                          \[\leadsto \left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\color{blue}{\left(1 - maxCos\right)} \cdot ux} \]
                      7. Applied rewrites89.5%

                        \[\leadsto \color{blue}{\left(\sqrt{2} \cdot \sin \left(\left(\mathsf{PI}\left(\right) \cdot uy\right) \cdot 2\right)\right) \cdot \sqrt{\left(1 - maxCos\right) \cdot ux}} \]
                      8. Taylor expanded in uy around 0

                        \[\leadsto \left(2 \cdot \left(uy \cdot \left(\mathsf{PI}\left(\right) \cdot \sqrt{2}\right)\right)\right) \cdot \sqrt{\color{blue}{\left(1 - maxCos\right) \cdot ux}} \]
                      9. Step-by-step derivation
                        1. Applied rewrites76.2%

                          \[\leadsto \left(\left(\left(\sqrt{2} \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right) \cdot 2\right) \cdot \sqrt{\color{blue}{\left(1 - maxCos\right) \cdot ux}} \]
                      10. Recombined 2 regimes into one program.
                      11. Final simplification75.6%

                        \[\leadsto \begin{array}{l} \mathbf{if}\;\left(1 - ux\right) + ux \cdot maxCos \leq 0.9994000196456909:\\ \;\;\;\;\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(1 - \left(ux - maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right)}\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left(\sqrt{2} \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right) \cdot 2\right) \cdot \sqrt{\left(1 - maxCos\right) \cdot ux}\\ \end{array} \]
                      12. Add Preprocessing

                      Alternative 14: 75.5% accurate, 2.4× speedup?

                      \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\\ \mathbf{if}\;\left(1 - ux\right) + ux \cdot maxCos \leq 0.9994000196456909:\\ \;\;\;\;t\_0 \cdot \sqrt{1 - \left(1 - \left(ux - maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right)}\\ \mathbf{else}:\\ \;\;\;\;t\_0 \cdot \sqrt{\left(2 - maxCos \cdot 2\right) \cdot ux}\\ \end{array} \end{array} \]
                      (FPCore (ux uy maxCos)
                       :precision binary32
                       (let* ((t_0 (* (* (PI) 2.0) uy)))
                         (if (<= (+ (- 1.0 ux) (* ux maxCos)) 0.9994000196456909)
                           (* t_0 (sqrt (- 1.0 (* (- 1.0 (- ux (* maxCos ux))) (- 1.0 ux)))))
                           (* t_0 (sqrt (* (- 2.0 (* maxCos 2.0)) ux))))))
                      \begin{array}{l}
                      
                      \\
                      \begin{array}{l}
                      t_0 := \left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\\
                      \mathbf{if}\;\left(1 - ux\right) + ux \cdot maxCos \leq 0.9994000196456909:\\
                      \;\;\;\;t\_0 \cdot \sqrt{1 - \left(1 - \left(ux - maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right)}\\
                      
                      \mathbf{else}:\\
                      \;\;\;\;t\_0 \cdot \sqrt{\left(2 - maxCos \cdot 2\right) \cdot ux}\\
                      
                      
                      \end{array}
                      \end{array}
                      
                      Derivation
                      1. Split input into 2 regimes
                      2. if (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos)) < 0.99940002

                        1. Initial program 91.7%

                          \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                        2. Add Preprocessing
                        3. Taylor expanded in uy around 0

                          \[\leadsto \color{blue}{\left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                        4. Step-by-step derivation
                          1. *-commutativeN/A

                            \[\leadsto \left(2 \cdot \color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)}\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                          2. associate-*r*N/A

                            \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                          3. lower-*.f32N/A

                            \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                          4. *-commutativeN/A

                            \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                          5. lower-*.f32N/A

                            \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                          6. lower-PI.f3276.4

                            \[\leadsto \left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                        5. Applied rewrites76.4%

                          \[\leadsto \color{blue}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                        6. Taylor expanded in maxCos around 0

                          \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(1 - ux\right)}} \]
                        7. Step-by-step derivation
                          1. lower--.f3274.6

                            \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(1 - ux\right)}} \]
                        8. Applied rewrites74.6%

                          \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(1 - ux\right)}} \]
                        9. Step-by-step derivation
                          1. lift-+.f32N/A

                            \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)} \cdot \left(1 - ux\right)} \]
                          2. lift--.f32N/A

                            \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\color{blue}{\left(1 - ux\right)} + ux \cdot maxCos\right) \cdot \left(1 - ux\right)} \]
                          3. associate-+l-N/A

                            \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(1 - \left(ux - ux \cdot maxCos\right)\right)} \cdot \left(1 - ux\right)} \]
                          4. lift-*.f32N/A

                            \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(1 - \left(ux - \color{blue}{ux \cdot maxCos}\right)\right) \cdot \left(1 - ux\right)} \]
                          5. *-commutativeN/A

                            \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(1 - \left(ux - \color{blue}{maxCos \cdot ux}\right)\right) \cdot \left(1 - ux\right)} \]
                          6. lift-*.f32N/A

                            \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(1 - \left(ux - \color{blue}{maxCos \cdot ux}\right)\right) \cdot \left(1 - ux\right)} \]
                          7. lift--.f32N/A

                            \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(1 - \color{blue}{\left(ux - maxCos \cdot ux\right)}\right) \cdot \left(1 - ux\right)} \]
                          8. lower--.f3274.6

                            \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(1 - \left(ux - maxCos \cdot ux\right)\right)} \cdot \left(1 - ux\right)} \]
                        10. Applied rewrites74.6%

                          \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(1 - \left(ux - maxCos \cdot ux\right)\right)} \cdot \left(1 - ux\right)} \]

                        if 0.99940002 < (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))

                        1. Initial program 42.3%

                          \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                        2. Add Preprocessing
                        3. Taylor expanded in uy around 0

                          \[\leadsto \color{blue}{\left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                        4. Step-by-step derivation
                          1. *-commutativeN/A

                            \[\leadsto \left(2 \cdot \color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)}\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                          2. associate-*r*N/A

                            \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                          3. lower-*.f32N/A

                            \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                          4. *-commutativeN/A

                            \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                          5. lower-*.f32N/A

                            \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                          6. lower-PI.f3238.2

                            \[\leadsto \left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                        5. Applied rewrites38.2%

                          \[\leadsto \color{blue}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                        6. Taylor expanded in maxCos around 0

                          \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(1 - ux\right)}} \]
                        7. Step-by-step derivation
                          1. lower--.f3237.5

                            \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(1 - ux\right)}} \]
                        8. Applied rewrites37.5%

                          \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(1 - ux\right)}} \]
                        9. Taylor expanded in ux around 0

                          \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{ux \cdot \left(2 - 2 \cdot maxCos\right)}} \]
                        10. Step-by-step derivation
                          1. metadata-evalN/A

                            \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{ux \cdot \left(2 - \color{blue}{\left(\mathsf{neg}\left(-2\right)\right)} \cdot maxCos\right)} \]
                          2. fp-cancel-sign-sub-invN/A

                            \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{ux \cdot \color{blue}{\left(2 + -2 \cdot maxCos\right)}} \]
                          3. *-commutativeN/A

                            \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(2 + -2 \cdot maxCos\right) \cdot ux}} \]
                          4. lower-*.f32N/A

                            \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(2 + -2 \cdot maxCos\right) \cdot ux}} \]
                          5. +-commutativeN/A

                            \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(-2 \cdot maxCos + 2\right)} \cdot ux} \]
                          6. lower-fma.f3272.9

                            \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(-2, maxCos, 2\right)} \cdot ux} \]
                        11. Applied rewrites72.7%

                          \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(-2, maxCos, 2\right) \cdot ux}} \]
                        12. Step-by-step derivation
                          1. Applied rewrites76.0%

                            \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(2 - maxCos \cdot 2\right) \cdot ux} \]
                        13. Recombined 2 regimes into one program.
                        14. Final simplification75.5%

                          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(1 - ux\right) + ux \cdot maxCos \leq 0.9994000196456909:\\ \;\;\;\;\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(1 - \left(ux - maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right)}\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(2 - maxCos \cdot 2\right) \cdot ux}\\ \end{array} \]
                        15. Add Preprocessing

                        Alternative 15: 75.5% accurate, 2.4× speedup?

                        \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left(1 - ux\right) + ux \cdot maxCos\\ t_1 := \left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\\ \mathbf{if}\;t\_0 \leq 0.9994000196456909:\\ \;\;\;\;t\_1 \cdot \sqrt{1 - t\_0 \cdot \left(1 - ux\right)}\\ \mathbf{else}:\\ \;\;\;\;t\_1 \cdot \sqrt{\left(2 - maxCos \cdot 2\right) \cdot ux}\\ \end{array} \end{array} \]
                        (FPCore (ux uy maxCos)
                         :precision binary32
                         (let* ((t_0 (+ (- 1.0 ux) (* ux maxCos))) (t_1 (* (* (PI) 2.0) uy)))
                           (if (<= t_0 0.9994000196456909)
                             (* t_1 (sqrt (- 1.0 (* t_0 (- 1.0 ux)))))
                             (* t_1 (sqrt (* (- 2.0 (* maxCos 2.0)) ux))))))
                        \begin{array}{l}
                        
                        \\
                        \begin{array}{l}
                        t_0 := \left(1 - ux\right) + ux \cdot maxCos\\
                        t_1 := \left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\\
                        \mathbf{if}\;t\_0 \leq 0.9994000196456909:\\
                        \;\;\;\;t\_1 \cdot \sqrt{1 - t\_0 \cdot \left(1 - ux\right)}\\
                        
                        \mathbf{else}:\\
                        \;\;\;\;t\_1 \cdot \sqrt{\left(2 - maxCos \cdot 2\right) \cdot ux}\\
                        
                        
                        \end{array}
                        \end{array}
                        
                        Derivation
                        1. Split input into 2 regimes
                        2. if (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos)) < 0.99940002

                          1. Initial program 91.7%

                            \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                          2. Add Preprocessing
                          3. Taylor expanded in uy around 0

                            \[\leadsto \color{blue}{\left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                          4. Step-by-step derivation
                            1. *-commutativeN/A

                              \[\leadsto \left(2 \cdot \color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)}\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                            2. associate-*r*N/A

                              \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                            3. lower-*.f32N/A

                              \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                            4. *-commutativeN/A

                              \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                            5. lower-*.f32N/A

                              \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                            6. lower-PI.f3276.4

                              \[\leadsto \left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                          5. Applied rewrites76.4%

                            \[\leadsto \color{blue}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                          6. Taylor expanded in maxCos around 0

                            \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(1 - ux\right)}} \]
                          7. Step-by-step derivation
                            1. lower--.f3274.6

                              \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(1 - ux\right)}} \]
                          8. Applied rewrites74.6%

                            \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(1 - ux\right)}} \]

                          if 0.99940002 < (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))

                          1. Initial program 42.3%

                            \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                          2. Add Preprocessing
                          3. Taylor expanded in uy around 0

                            \[\leadsto \color{blue}{\left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                          4. Step-by-step derivation
                            1. *-commutativeN/A

                              \[\leadsto \left(2 \cdot \color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)}\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                            2. associate-*r*N/A

                              \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                            3. lower-*.f32N/A

                              \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                            4. *-commutativeN/A

                              \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                            5. lower-*.f32N/A

                              \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                            6. lower-PI.f3238.2

                              \[\leadsto \left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                          5. Applied rewrites38.2%

                            \[\leadsto \color{blue}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                          6. Taylor expanded in maxCos around 0

                            \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(1 - ux\right)}} \]
                          7. Step-by-step derivation
                            1. lower--.f3237.5

                              \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(1 - ux\right)}} \]
                          8. Applied rewrites37.5%

                            \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(1 - ux\right)}} \]
                          9. Taylor expanded in ux around 0

                            \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{ux \cdot \left(2 - 2 \cdot maxCos\right)}} \]
                          10. Step-by-step derivation
                            1. metadata-evalN/A

                              \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{ux \cdot \left(2 - \color{blue}{\left(\mathsf{neg}\left(-2\right)\right)} \cdot maxCos\right)} \]
                            2. fp-cancel-sign-sub-invN/A

                              \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{ux \cdot \color{blue}{\left(2 + -2 \cdot maxCos\right)}} \]
                            3. *-commutativeN/A

                              \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(2 + -2 \cdot maxCos\right) \cdot ux}} \]
                            4. lower-*.f32N/A

                              \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(2 + -2 \cdot maxCos\right) \cdot ux}} \]
                            5. +-commutativeN/A

                              \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(-2 \cdot maxCos + 2\right)} \cdot ux} \]
                            6. lower-fma.f3272.9

                              \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(-2, maxCos, 2\right)} \cdot ux} \]
                          11. Applied rewrites72.7%

                            \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(-2, maxCos, 2\right) \cdot ux}} \]
                          12. Step-by-step derivation
                            1. Applied rewrites76.0%

                              \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(2 - maxCos \cdot 2\right) \cdot ux} \]
                          13. Recombined 2 regimes into one program.
                          14. Final simplification75.5%

                            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(1 - ux\right) + ux \cdot maxCos \leq 0.9994000196456909:\\ \;\;\;\;\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(1 - ux\right)}\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(2 - maxCos \cdot 2\right) \cdot ux}\\ \end{array} \]
                          15. Add Preprocessing

                          Alternative 16: 75.4% accurate, 2.7× speedup?

                          \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\\ \mathbf{if}\;\left(1 - ux\right) + ux \cdot maxCos \leq 0.9994000196456909:\\ \;\;\;\;t\_0 \cdot \sqrt{1 - \left(1 - ux\right) \cdot \left(1 - ux\right)}\\ \mathbf{else}:\\ \;\;\;\;t\_0 \cdot \sqrt{\left(2 - maxCos \cdot 2\right) \cdot ux}\\ \end{array} \end{array} \]
                          (FPCore (ux uy maxCos)
                           :precision binary32
                           (let* ((t_0 (* (* (PI) 2.0) uy)))
                             (if (<= (+ (- 1.0 ux) (* ux maxCos)) 0.9994000196456909)
                               (* t_0 (sqrt (- 1.0 (* (- 1.0 ux) (- 1.0 ux)))))
                               (* t_0 (sqrt (* (- 2.0 (* maxCos 2.0)) ux))))))
                          \begin{array}{l}
                          
                          \\
                          \begin{array}{l}
                          t_0 := \left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\\
                          \mathbf{if}\;\left(1 - ux\right) + ux \cdot maxCos \leq 0.9994000196456909:\\
                          \;\;\;\;t\_0 \cdot \sqrt{1 - \left(1 - ux\right) \cdot \left(1 - ux\right)}\\
                          
                          \mathbf{else}:\\
                          \;\;\;\;t\_0 \cdot \sqrt{\left(2 - maxCos \cdot 2\right) \cdot ux}\\
                          
                          
                          \end{array}
                          \end{array}
                          
                          Derivation
                          1. Split input into 2 regimes
                          2. if (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos)) < 0.99940002

                            1. Initial program 91.7%

                              \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                            2. Add Preprocessing
                            3. Taylor expanded in uy around 0

                              \[\leadsto \color{blue}{\left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                            4. Step-by-step derivation
                              1. *-commutativeN/A

                                \[\leadsto \left(2 \cdot \color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)}\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                              2. associate-*r*N/A

                                \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                              3. lower-*.f32N/A

                                \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                              4. *-commutativeN/A

                                \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                              5. lower-*.f32N/A

                                \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                              6. lower-PI.f3276.4

                                \[\leadsto \left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                            5. Applied rewrites76.4%

                              \[\leadsto \color{blue}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                            6. Taylor expanded in maxCos around 0

                              \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(1 - ux\right)}} \]
                            7. Step-by-step derivation
                              1. lower--.f3274.6

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(1 - ux\right)}} \]
                            8. Applied rewrites74.6%

                              \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(1 - ux\right)}} \]
                            9. Taylor expanded in maxCos around 0

                              \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(1 - ux\right)} \cdot \left(1 - ux\right)} \]
                            10. Step-by-step derivation
                              1. lower--.f3274.4

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(1 - ux\right)} \cdot \left(1 - ux\right)} \]
                            11. Applied rewrites74.4%

                              \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(1 - ux\right)} \cdot \left(1 - ux\right)} \]

                            if 0.99940002 < (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))

                            1. Initial program 42.3%

                              \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                            2. Add Preprocessing
                            3. Taylor expanded in uy around 0

                              \[\leadsto \color{blue}{\left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                            4. Step-by-step derivation
                              1. *-commutativeN/A

                                \[\leadsto \left(2 \cdot \color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)}\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                              2. associate-*r*N/A

                                \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                              3. lower-*.f32N/A

                                \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                              4. *-commutativeN/A

                                \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                              5. lower-*.f32N/A

                                \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                              6. lower-PI.f3238.2

                                \[\leadsto \left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                            5. Applied rewrites38.2%

                              \[\leadsto \color{blue}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                            6. Taylor expanded in maxCos around 0

                              \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(1 - ux\right)}} \]
                            7. Step-by-step derivation
                              1. lower--.f3237.5

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(1 - ux\right)}} \]
                            8. Applied rewrites37.5%

                              \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(1 - ux\right)}} \]
                            9. Taylor expanded in ux around 0

                              \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{ux \cdot \left(2 - 2 \cdot maxCos\right)}} \]
                            10. Step-by-step derivation
                              1. metadata-evalN/A

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{ux \cdot \left(2 - \color{blue}{\left(\mathsf{neg}\left(-2\right)\right)} \cdot maxCos\right)} \]
                              2. fp-cancel-sign-sub-invN/A

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{ux \cdot \color{blue}{\left(2 + -2 \cdot maxCos\right)}} \]
                              3. *-commutativeN/A

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(2 + -2 \cdot maxCos\right) \cdot ux}} \]
                              4. lower-*.f32N/A

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(2 + -2 \cdot maxCos\right) \cdot ux}} \]
                              5. +-commutativeN/A

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(-2 \cdot maxCos + 2\right)} \cdot ux} \]
                              6. lower-fma.f3272.9

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(-2, maxCos, 2\right)} \cdot ux} \]
                            11. Applied rewrites72.7%

                              \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(-2, maxCos, 2\right) \cdot ux}} \]
                            12. Step-by-step derivation
                              1. Applied rewrites76.0%

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(2 - maxCos \cdot 2\right) \cdot ux} \]
                            13. Recombined 2 regimes into one program.
                            14. Final simplification75.4%

                              \[\leadsto \begin{array}{l} \mathbf{if}\;\left(1 - ux\right) + ux \cdot maxCos \leq 0.9994000196456909:\\ \;\;\;\;\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(1 - ux\right) \cdot \left(1 - ux\right)}\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(2 - maxCos \cdot 2\right) \cdot ux}\\ \end{array} \]
                            15. Add Preprocessing

                            Alternative 17: 76.9% accurate, 3.1× speedup?

                            \[\begin{array}{l} \\ \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(\frac{2}{ux} - 1\right) \cdot \left(ux \cdot ux\right)} \end{array} \]
                            (FPCore (ux uy maxCos)
                             :precision binary32
                             (* (* (* (PI) 2.0) uy) (sqrt (* (- (/ 2.0 ux) 1.0) (* ux ux)))))
                            \begin{array}{l}
                            
                            \\
                            \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(\frac{2}{ux} - 1\right) \cdot \left(ux \cdot ux\right)}
                            \end{array}
                            
                            Derivation
                            1. Initial program 61.0%

                              \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                            2. Add Preprocessing
                            3. Taylor expanded in uy around 0

                              \[\leadsto \color{blue}{\left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                            4. Step-by-step derivation
                              1. *-commutativeN/A

                                \[\leadsto \left(2 \cdot \color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)}\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                              2. associate-*r*N/A

                                \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                              3. lower-*.f32N/A

                                \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                              4. *-commutativeN/A

                                \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                              5. lower-*.f32N/A

                                \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                              6. lower-PI.f3252.7

                                \[\leadsto \left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                            5. Applied rewrites52.7%

                              \[\leadsto \color{blue}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                            6. Step-by-step derivation
                              1. lift-*.f32N/A

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}} \]
                              2. lift-+.f32N/A

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)}} \]
                              3. distribute-rgt-inN/A

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(\left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right) + \left(ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
                              4. +-commutativeN/A

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\left(\left(ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right) + \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
                              5. lift-*.f32N/A

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\color{blue}{\left(ux \cdot maxCos\right)} \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right) + \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                              6. associate-*l*N/A

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\color{blue}{ux \cdot \left(maxCos \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} + \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                              7. lower-fma.f32N/A

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\mathsf{fma}\left(ux, maxCos \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right), \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
                              8. lower-*.f32N/A

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, \color{blue}{maxCos \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                              9. lift-+.f32N/A

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                              10. +-commutativeN/A

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \color{blue}{\left(ux \cdot maxCos + \left(1 - ux\right)\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                              11. lift-*.f32N/A

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \left(\color{blue}{ux \cdot maxCos} + \left(1 - ux\right)\right), \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                              12. *-commutativeN/A

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \left(\color{blue}{maxCos \cdot ux} + \left(1 - ux\right)\right), \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                              13. lift-fma.f32N/A

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \color{blue}{\mathsf{fma}\left(maxCos, ux, 1 - ux\right)}, \left(1 - ux\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} \]
                              14. *-commutativeN/A

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(1 - ux\right)}\right)} \]
                              15. lower-*.f3251.6

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(1 - ux\right)}\right)} \]
                              16. lift-+.f32N/A

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right)} \cdot \left(1 - ux\right)\right)} \]
                              17. +-commutativeN/A

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\left(ux \cdot maxCos + \left(1 - ux\right)\right)} \cdot \left(1 - ux\right)\right)} \]
                              18. lift-*.f32N/A

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \left(\color{blue}{ux \cdot maxCos} + \left(1 - ux\right)\right) \cdot \left(1 - ux\right)\right)} \]
                              19. *-commutativeN/A

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \left(\color{blue}{maxCos \cdot ux} + \left(1 - ux\right)\right) \cdot \left(1 - ux\right)\right)} \]
                              20. lift-fma.f3251.4

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \color{blue}{\mathsf{fma}\left(maxCos, ux, 1 - ux\right)} \cdot \left(1 - ux\right)\right)} \]
                            7. Applied rewrites50.6%

                              \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \color{blue}{\mathsf{fma}\left(ux, maxCos \cdot \mathsf{fma}\left(maxCos, ux, 1 - ux\right), \mathsf{fma}\left(maxCos, ux, 1 - ux\right) \cdot \left(1 - ux\right)\right)}} \]
                            8. Taylor expanded in ux around inf

                              \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{{ux}^{2} \cdot \left(2 \cdot \frac{1}{ux} - \left(-1 \cdot \left(maxCos - 1\right) + \left(2 \cdot \frac{maxCos}{ux} + maxCos \cdot \left(maxCos - 1\right)\right)\right)\right)}} \]
                            9. Step-by-step derivation
                              1. *-commutativeN/A

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(2 \cdot \frac{1}{ux} - \left(-1 \cdot \left(maxCos - 1\right) + \left(2 \cdot \frac{maxCos}{ux} + maxCos \cdot \left(maxCos - 1\right)\right)\right)\right) \cdot {ux}^{2}}} \]
                              2. lower-*.f32N/A

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(2 \cdot \frac{1}{ux} - \left(-1 \cdot \left(maxCos - 1\right) + \left(2 \cdot \frac{maxCos}{ux} + maxCos \cdot \left(maxCos - 1\right)\right)\right)\right) \cdot {ux}^{2}}} \]
                            10. Applied rewrites77.8%

                              \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(\frac{2}{ux} - \mathsf{fma}\left(\frac{maxCos}{ux}, 2, \left(maxCos - 1\right) \cdot \left(maxCos + -1\right)\right)\right) \cdot \left(ux \cdot ux\right)}} \]
                            11. Taylor expanded in maxCos around 0

                              \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(2 \cdot \frac{1}{ux} - 1\right) \cdot \left(\color{blue}{ux} \cdot ux\right)} \]
                            12. Step-by-step derivation
                              1. Applied rewrites77.9%

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(\frac{2}{ux} - 1\right) \cdot \left(\color{blue}{ux} \cdot ux\right)} \]
                              2. Final simplification77.9%

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(\frac{2}{ux} - 1\right) \cdot \left(ux \cdot ux\right)} \]
                              3. Add Preprocessing

                              Alternative 18: 66.1% accurate, 4.0× speedup?

                              \[\begin{array}{l} \\ \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(2 - maxCos \cdot 2\right) \cdot ux} \end{array} \]
                              (FPCore (ux uy maxCos)
                               :precision binary32
                               (* (* (* (PI) 2.0) uy) (sqrt (* (- 2.0 (* maxCos 2.0)) ux))))
                              \begin{array}{l}
                              
                              \\
                              \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(2 - maxCos \cdot 2\right) \cdot ux}
                              \end{array}
                              
                              Derivation
                              1. Initial program 61.0%

                                \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                              2. Add Preprocessing
                              3. Taylor expanded in uy around 0

                                \[\leadsto \color{blue}{\left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                              4. Step-by-step derivation
                                1. *-commutativeN/A

                                  \[\leadsto \left(2 \cdot \color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)}\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                                2. associate-*r*N/A

                                  \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                                3. lower-*.f32N/A

                                  \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                                4. *-commutativeN/A

                                  \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                                5. lower-*.f32N/A

                                  \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                                6. lower-PI.f3252.7

                                  \[\leadsto \left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                              5. Applied rewrites52.7%

                                \[\leadsto \color{blue}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                              6. Taylor expanded in maxCos around 0

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(1 - ux\right)}} \]
                              7. Step-by-step derivation
                                1. lower--.f3251.6

                                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(1 - ux\right)}} \]
                              8. Applied rewrites51.6%

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(1 - ux\right)}} \]
                              9. Taylor expanded in ux around 0

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{ux \cdot \left(2 - 2 \cdot maxCos\right)}} \]
                              10. Step-by-step derivation
                                1. metadata-evalN/A

                                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{ux \cdot \left(2 - \color{blue}{\left(\mathsf{neg}\left(-2\right)\right)} \cdot maxCos\right)} \]
                                2. fp-cancel-sign-sub-invN/A

                                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{ux \cdot \color{blue}{\left(2 + -2 \cdot maxCos\right)}} \]
                                3. *-commutativeN/A

                                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(2 + -2 \cdot maxCos\right) \cdot ux}} \]
                                4. lower-*.f32N/A

                                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(2 + -2 \cdot maxCos\right) \cdot ux}} \]
                                5. +-commutativeN/A

                                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(-2 \cdot maxCos + 2\right)} \cdot ux} \]
                                6. lower-fma.f3262.1

                                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(-2, maxCos, 2\right)} \cdot ux} \]
                              11. Applied rewrites62.1%

                                \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(-2, maxCos, 2\right) \cdot ux}} \]
                              12. Step-by-step derivation
                                1. Applied rewrites64.2%

                                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(2 - maxCos \cdot 2\right) \cdot ux} \]
                                2. Final simplification64.2%

                                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\left(2 - maxCos \cdot 2\right) \cdot ux} \]
                                3. Add Preprocessing

                                Alternative 19: 63.5% accurate, 5.0× speedup?

                                \[\begin{array}{l} \\ \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{2 \cdot ux} \end{array} \]
                                (FPCore (ux uy maxCos)
                                 :precision binary32
                                 (* (* (* (PI) 2.0) uy) (sqrt (* 2.0 ux))))
                                \begin{array}{l}
                                
                                \\
                                \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{2 \cdot ux}
                                \end{array}
                                
                                Derivation
                                1. Initial program 61.0%

                                  \[\sin \left(\left(uy \cdot 2\right) \cdot \mathsf{PI}\left(\right)\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                                2. Add Preprocessing
                                3. Taylor expanded in uy around 0

                                  \[\leadsto \color{blue}{\left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                                4. Step-by-step derivation
                                  1. *-commutativeN/A

                                    \[\leadsto \left(2 \cdot \color{blue}{\left(\mathsf{PI}\left(\right) \cdot uy\right)}\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                                  2. associate-*r*N/A

                                    \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                                  3. lower-*.f32N/A

                                    \[\leadsto \color{blue}{\left(\left(2 \cdot \mathsf{PI}\left(\right)\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                                  4. *-commutativeN/A

                                    \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                                  5. lower-*.f32N/A

                                    \[\leadsto \left(\color{blue}{\left(\mathsf{PI}\left(\right) \cdot 2\right)} \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                                  6. lower-PI.f3252.7

                                    \[\leadsto \left(\left(\color{blue}{\mathsf{PI}\left(\right)} \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                                5. Applied rewrites52.7%

                                  \[\leadsto \color{blue}{\left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right)} \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                                6. Taylor expanded in maxCos around 0

                                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(1 - ux\right)}} \]
                                7. Step-by-step derivation
                                  1. lower--.f3251.6

                                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(1 - ux\right)}} \]
                                8. Applied rewrites51.6%

                                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \color{blue}{\left(1 - ux\right)}} \]
                                9. Taylor expanded in ux around 0

                                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{ux \cdot \left(2 - 2 \cdot maxCos\right)}} \]
                                10. Step-by-step derivation
                                  1. metadata-evalN/A

                                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{ux \cdot \left(2 - \color{blue}{\left(\mathsf{neg}\left(-2\right)\right)} \cdot maxCos\right)} \]
                                  2. fp-cancel-sign-sub-invN/A

                                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{ux \cdot \color{blue}{\left(2 + -2 \cdot maxCos\right)}} \]
                                  3. *-commutativeN/A

                                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(2 + -2 \cdot maxCos\right) \cdot ux}} \]
                                  4. lower-*.f32N/A

                                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(2 + -2 \cdot maxCos\right) \cdot ux}} \]
                                  5. +-commutativeN/A

                                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\left(-2 \cdot maxCos + 2\right)} \cdot ux} \]
                                  6. lower-fma.f3262.1

                                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(-2, maxCos, 2\right)} \cdot ux} \]
                                11. Applied rewrites62.0%

                                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(-2, maxCos, 2\right) \cdot ux}} \]
                                12. Taylor expanded in maxCos around 0

                                  \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{2 \cdot ux} \]
                                13. Step-by-step derivation
                                  1. Applied rewrites62.1%

                                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{2 \cdot ux} \]
                                  2. Final simplification62.1%

                                    \[\leadsto \left(\left(\mathsf{PI}\left(\right) \cdot 2\right) \cdot uy\right) \cdot \sqrt{2 \cdot ux} \]
                                  3. Add Preprocessing

                                  Reproduce

                                  ?
                                  herbie shell --seed 2024337 
                                  (FPCore (ux uy maxCos)
                                    :name "UniformSampleCone, y"
                                    :precision binary32
                                    :pre (and (and (and (<= 2.328306437e-10 ux) (<= ux 1.0)) (and (<= 2.328306437e-10 uy) (<= uy 1.0))) (and (<= 0.0 maxCos) (<= maxCos 1.0)))
                                    (* (sin (* (* uy 2.0) (PI))) (sqrt (- 1.0 (* (+ (- 1.0 ux) (* ux maxCos)) (+ (- 1.0 ux) (* ux maxCos)))))))