UniformSampleCone, y

Percentage Accurate: 57.4% → 98.3%
Time: 15.9s
Alternatives: 14
Speedup: 2.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 \pi\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))))))
float code(float ux, float uy, float maxCos) {
	float t_0 = (1.0f - ux) + (ux * maxCos);
	return sinf(((uy * 2.0f) * ((float) M_PI))) * sqrtf((1.0f - (t_0 * t_0)));
}
function code(ux, uy, maxCos)
	t_0 = Float32(Float32(Float32(1.0) - ux) + Float32(ux * maxCos))
	return Float32(sin(Float32(Float32(uy * Float32(2.0)) * Float32(pi))) * sqrt(Float32(Float32(1.0) - Float32(t_0 * t_0))))
end
function tmp = code(ux, uy, maxCos)
	t_0 = (single(1.0) - ux) + (ux * maxCos);
	tmp = sin(((uy * single(2.0)) * single(pi))) * sqrt((single(1.0) - (t_0 * t_0)));
end
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \left(1 - ux\right) + ux \cdot maxCos\\
\sin \left(\left(uy \cdot 2\right) \cdot \pi\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 14 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.4% 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 \pi\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))))))
float code(float ux, float uy, float maxCos) {
	float t_0 = (1.0f - ux) + (ux * maxCos);
	return sinf(((uy * 2.0f) * ((float) M_PI))) * sqrtf((1.0f - (t_0 * t_0)));
}
function code(ux, uy, maxCos)
	t_0 = Float32(Float32(Float32(1.0) - ux) + Float32(ux * maxCos))
	return Float32(sin(Float32(Float32(uy * Float32(2.0)) * Float32(pi))) * sqrt(Float32(Float32(1.0) - Float32(t_0 * t_0))))
end
function tmp = code(ux, uy, maxCos)
	t_0 = (single(1.0) - ux) + (ux * maxCos);
	tmp = sin(((uy * single(2.0)) * single(pi))) * sqrt((single(1.0) - (t_0 * t_0)));
end
\begin{array}{l}

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

Alternative 1: 98.3% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \sin \left(\pi \cdot \left(2 \cdot uy\right)\right) \cdot \sqrt{ux \cdot \left(\left(1 - maxCos\right) + \left(-1 + ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos + -1\right)\right)} \end{array} \]
(FPCore (ux uy maxCos)
 :precision binary32
 (*
  (sin (* PI (* 2.0 uy)))
  (sqrt
   (*
    ux
    (+ (- 1.0 maxCos) (* (+ -1.0 (* ux (- 1.0 maxCos))) (+ maxCos -1.0)))))))
float code(float ux, float uy, float maxCos) {
	return sinf((((float) M_PI) * (2.0f * uy))) * sqrtf((ux * ((1.0f - maxCos) + ((-1.0f + (ux * (1.0f - maxCos))) * (maxCos + -1.0f)))));
}
function code(ux, uy, maxCos)
	return Float32(sin(Float32(Float32(pi) * Float32(Float32(2.0) * uy))) * sqrt(Float32(ux * Float32(Float32(Float32(1.0) - maxCos) + Float32(Float32(Float32(-1.0) + Float32(ux * Float32(Float32(1.0) - maxCos))) * Float32(maxCos + Float32(-1.0)))))))
end
function tmp = code(ux, uy, maxCos)
	tmp = sin((single(pi) * (single(2.0) * uy))) * sqrt((ux * ((single(1.0) - maxCos) + ((single(-1.0) + (ux * (single(1.0) - maxCos))) * (maxCos + single(-1.0))))));
end
\begin{array}{l}

\\
\sin \left(\pi \cdot \left(2 \cdot uy\right)\right) \cdot \sqrt{ux \cdot \left(\left(1 - maxCos\right) + \left(-1 + ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos + -1\right)\right)}
\end{array}
Derivation
  1. Initial program 57.9%

    \[\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
  2. Step-by-step derivation
    1. associate-*l*57.9%

      \[\leadsto \sin \color{blue}{\left(uy \cdot \left(2 \cdot \pi\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. sub-neg57.9%

      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{1 + \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
    3. +-commutative57.9%

      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right) + 1}} \]
    4. distribute-rgt-neg-in57.9%

      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} + 1} \]
    5. fma-define57.9%

      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(\left(1 - ux\right) + ux \cdot maxCos, -\left(\left(1 - ux\right) + ux \cdot maxCos\right), 1\right)}} \]
  3. Simplified58.2%

    \[\leadsto \color{blue}{\sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\mathsf{fma}\left(\mathsf{fma}\left(ux, maxCos, 1 - ux\right), -1 - ux \cdot \left(maxCos + -1\right), 1\right)}} \]
  4. Add Preprocessing
  5. Taylor expanded in ux around inf 98.4%

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

    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(\left(1 + \left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)\right) - maxCos\right)}} \]
  7. Step-by-step derivation
    1. associate--l+98.3%

      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \color{blue}{\left(1 + \left(\left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)}} \]
    2. fma-define98.3%

      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\color{blue}{\mathsf{fma}\left(-1, maxCos - 1, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)} - maxCos\right)\right)} \]
    3. sub-neg98.3%

      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{maxCos + \left(-1\right)}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
    4. metadata-eval98.3%

      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, maxCos + \color{blue}{-1}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
    5. +-commutative98.3%

      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{-1 + maxCos}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
    6. associate-*r*98.3%

      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \color{blue}{\left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos - 1\right)}\right) - maxCos\right)\right)} \]
    7. sub-neg98.3%

      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(maxCos + \left(-1\right)\right)}\right) - maxCos\right)\right)} \]
    8. metadata-eval98.3%

      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos + \color{blue}{-1}\right)\right) - maxCos\right)\right)} \]
    9. +-commutative98.3%

      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(-1 + maxCos\right)}\right) - maxCos\right)\right)} \]
  8. Simplified98.3%

    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(-1 + maxCos\right)\right) - maxCos\right)\right)}} \]
  9. Taylor expanded in uy around inf 98.3%

    \[\leadsto \color{blue}{\sqrt{ux \cdot \left(\left(1 + \left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)\right) - maxCos\right)} \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right)} \]
  10. Step-by-step derivation
    1. Simplified98.3%

      \[\leadsto \color{blue}{\sqrt{ux \cdot \left(1 + \left(\left(ux \cdot \left(\left(-1 + maxCos\right) \cdot \left(1 - maxCos\right)\right) - \left(-1 + maxCos\right)\right) - maxCos\right)\right)} \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right)} \]
    2. Step-by-step derivation
      1. pow198.3%

        \[\leadsto \color{blue}{{\left(\sqrt{ux \cdot \left(1 + \left(\left(ux \cdot \left(\left(-1 + maxCos\right) \cdot \left(1 - maxCos\right)\right) - \left(-1 + maxCos\right)\right) - maxCos\right)\right)} \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right)\right)}^{1}} \]
    3. Applied egg-rr98.3%

      \[\leadsto \color{blue}{{\left(\sqrt{ux \cdot \left(1 + \left(\left(\mathsf{fma}\left(ux, \left(-1 + maxCos\right) \cdot \left(1 - maxCos\right), 1\right) - maxCos\right) - maxCos\right)\right)} \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right)\right)}^{1}} \]
    4. Simplified98.4%

      \[\leadsto \color{blue}{\sin \left(\left(2 \cdot uy\right) \cdot \pi\right) \cdot \sqrt{ux \cdot \left(\left(maxCos + -1\right) \cdot \left(ux \cdot \left(1 - maxCos\right) + -1\right) + \left(1 - maxCos\right)\right)}} \]
    5. Final simplification98.4%

      \[\leadsto \sin \left(\pi \cdot \left(2 \cdot uy\right)\right) \cdot \sqrt{ux \cdot \left(\left(1 - maxCos\right) + \left(-1 + ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos + -1\right)\right)} \]
    6. Add Preprocessing

    Alternative 2: 95.9% accurate, 1.0× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;2 \cdot uy \leq 0.0003800000122282654:\\ \;\;\;\;2 \cdot \left(uy \cdot \left(\pi \cdot \sqrt{ux \cdot \left(2 - \left(2 \cdot maxCos + ux \cdot {\left(maxCos + -1\right)}^{2}\right)\right)}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(ux \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right)\right) \cdot \sqrt{-1 + 2 \cdot \frac{1}{ux}}\\ \end{array} \end{array} \]
    (FPCore (ux uy maxCos)
     :precision binary32
     (if (<= (* 2.0 uy) 0.0003800000122282654)
       (*
        2.0
        (*
         uy
         (*
          PI
          (sqrt
           (* ux (- 2.0 (+ (* 2.0 maxCos) (* ux (pow (+ maxCos -1.0) 2.0)))))))))
       (* (* ux (sin (* 2.0 (* uy PI)))) (sqrt (+ -1.0 (* 2.0 (/ 1.0 ux)))))))
    float code(float ux, float uy, float maxCos) {
    	float tmp;
    	if ((2.0f * uy) <= 0.0003800000122282654f) {
    		tmp = 2.0f * (uy * (((float) M_PI) * sqrtf((ux * (2.0f - ((2.0f * maxCos) + (ux * powf((maxCos + -1.0f), 2.0f))))))));
    	} else {
    		tmp = (ux * sinf((2.0f * (uy * ((float) M_PI))))) * sqrtf((-1.0f + (2.0f * (1.0f / ux))));
    	}
    	return tmp;
    }
    
    function code(ux, uy, maxCos)
    	tmp = Float32(0.0)
    	if (Float32(Float32(2.0) * uy) <= Float32(0.0003800000122282654))
    		tmp = Float32(Float32(2.0) * Float32(uy * Float32(Float32(pi) * sqrt(Float32(ux * Float32(Float32(2.0) - Float32(Float32(Float32(2.0) * maxCos) + Float32(ux * (Float32(maxCos + Float32(-1.0)) ^ Float32(2.0))))))))));
    	else
    		tmp = Float32(Float32(ux * sin(Float32(Float32(2.0) * Float32(uy * Float32(pi))))) * sqrt(Float32(Float32(-1.0) + Float32(Float32(2.0) * Float32(Float32(1.0) / ux)))));
    	end
    	return tmp
    end
    
    function tmp_2 = code(ux, uy, maxCos)
    	tmp = single(0.0);
    	if ((single(2.0) * uy) <= single(0.0003800000122282654))
    		tmp = single(2.0) * (uy * (single(pi) * sqrt((ux * (single(2.0) - ((single(2.0) * maxCos) + (ux * ((maxCos + single(-1.0)) ^ single(2.0)))))))));
    	else
    		tmp = (ux * sin((single(2.0) * (uy * single(pi))))) * sqrt((single(-1.0) + (single(2.0) * (single(1.0) / ux))));
    	end
    	tmp_2 = tmp;
    end
    
    \begin{array}{l}
    
    \\
    \begin{array}{l}
    \mathbf{if}\;2 \cdot uy \leq 0.0003800000122282654:\\
    \;\;\;\;2 \cdot \left(uy \cdot \left(\pi \cdot \sqrt{ux \cdot \left(2 - \left(2 \cdot maxCos + ux \cdot {\left(maxCos + -1\right)}^{2}\right)\right)}\right)\right)\\
    
    \mathbf{else}:\\
    \;\;\;\;\left(ux \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right)\right) \cdot \sqrt{-1 + 2 \cdot \frac{1}{ux}}\\
    
    
    \end{array}
    \end{array}
    
    Derivation
    1. Split input into 2 regimes
    2. if (*.f32 uy #s(literal 2 binary32)) < 3.80000012e-4

      1. Initial program 56.9%

        \[\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
      2. Step-by-step derivation
        1. associate-*l*56.9%

          \[\leadsto \sin \color{blue}{\left(uy \cdot \left(2 \cdot \pi\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. sub-neg56.9%

          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{1 + \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
        3. +-commutative56.9%

          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right) + 1}} \]
        4. distribute-rgt-neg-in56.9%

          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} + 1} \]
        5. fma-define57.0%

          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(\left(1 - ux\right) + ux \cdot maxCos, -\left(\left(1 - ux\right) + ux \cdot maxCos\right), 1\right)}} \]
      3. Simplified57.2%

        \[\leadsto \color{blue}{\sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\mathsf{fma}\left(\mathsf{fma}\left(ux, maxCos, 1 - ux\right), -1 - ux \cdot \left(maxCos + -1\right), 1\right)}} \]
      4. Add Preprocessing
      5. Taylor expanded in uy around 0 57.0%

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

        \[\leadsto \color{blue}{2 \cdot \left(uy \cdot \left(\pi \cdot \sqrt{1 + \left(-\left(1 + ux \cdot \left(-1 + maxCos\right)\right) \cdot \left(1 + \left(ux \cdot maxCos - ux\right)\right)\right)}\right)\right)} \]
      7. Taylor expanded in ux around 0 98.3%

        \[\leadsto 2 \cdot \left(uy \cdot \left(\pi \cdot \sqrt{\color{blue}{ux \cdot \left(\left(2 + -1 \cdot \left(ux \cdot {\left(maxCos - 1\right)}^{2}\right)\right) - 2 \cdot maxCos\right)}}\right)\right) \]
      8. Step-by-step derivation
        1. associate--l+98.3%

          \[\leadsto 2 \cdot \left(uy \cdot \left(\pi \cdot \sqrt{ux \cdot \color{blue}{\left(2 + \left(-1 \cdot \left(ux \cdot {\left(maxCos - 1\right)}^{2}\right) - 2 \cdot maxCos\right)\right)}}\right)\right) \]
        2. associate-*r*98.3%

          \[\leadsto 2 \cdot \left(uy \cdot \left(\pi \cdot \sqrt{ux \cdot \left(2 + \left(\color{blue}{\left(-1 \cdot ux\right) \cdot {\left(maxCos - 1\right)}^{2}} - 2 \cdot maxCos\right)\right)}\right)\right) \]
        3. neg-mul-198.3%

          \[\leadsto 2 \cdot \left(uy \cdot \left(\pi \cdot \sqrt{ux \cdot \left(2 + \left(\color{blue}{\left(-ux\right)} \cdot {\left(maxCos - 1\right)}^{2} - 2 \cdot maxCos\right)\right)}\right)\right) \]
        4. sub-neg98.3%

          \[\leadsto 2 \cdot \left(uy \cdot \left(\pi \cdot \sqrt{ux \cdot \left(2 + \left(\left(-ux\right) \cdot {\color{blue}{\left(maxCos + \left(-1\right)\right)}}^{2} - 2 \cdot maxCos\right)\right)}\right)\right) \]
        5. metadata-eval98.3%

          \[\leadsto 2 \cdot \left(uy \cdot \left(\pi \cdot \sqrt{ux \cdot \left(2 + \left(\left(-ux\right) \cdot {\left(maxCos + \color{blue}{-1}\right)}^{2} - 2 \cdot maxCos\right)\right)}\right)\right) \]
        6. +-commutative98.3%

          \[\leadsto 2 \cdot \left(uy \cdot \left(\pi \cdot \sqrt{ux \cdot \left(2 + \left(\left(-ux\right) \cdot {\color{blue}{\left(-1 + maxCos\right)}}^{2} - 2 \cdot maxCos\right)\right)}\right)\right) \]
      9. Simplified98.3%

        \[\leadsto 2 \cdot \left(uy \cdot \left(\pi \cdot \sqrt{\color{blue}{ux \cdot \left(2 + \left(\left(-ux\right) \cdot {\left(-1 + maxCos\right)}^{2} - 2 \cdot maxCos\right)\right)}}\right)\right) \]

      if 3.80000012e-4 < (*.f32 uy #s(literal 2 binary32))

      1. Initial program 59.9%

        \[\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
      2. Step-by-step derivation
        1. associate-*l*59.9%

          \[\leadsto \sin \color{blue}{\left(uy \cdot \left(2 \cdot \pi\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. sub-neg59.9%

          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{1 + \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
        3. +-commutative59.9%

          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right) + 1}} \]
        4. distribute-rgt-neg-in59.9%

          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} + 1} \]
        5. fma-define59.8%

          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(\left(1 - ux\right) + ux \cdot maxCos, -\left(\left(1 - ux\right) + ux \cdot maxCos\right), 1\right)}} \]
      3. Simplified59.9%

        \[\leadsto \color{blue}{\sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\mathsf{fma}\left(\mathsf{fma}\left(ux, maxCos, 1 - ux\right), -1 - ux \cdot \left(maxCos + -1\right), 1\right)}} \]
      4. Add Preprocessing
      5. Taylor expanded in ux around inf 98.5%

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

        \[\leadsto \color{blue}{\left(ux \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right)\right) \cdot \sqrt{2 \cdot \frac{1}{ux} - 1}} \]
    3. Recombined 2 regimes into one program.
    4. Final simplification97.0%

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

    Alternative 3: 95.8% accurate, 1.0× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;2 \cdot uy \leq 0.0003800000122282654:\\ \;\;\;\;2 \cdot \left(\left(uy \cdot \pi\right) \cdot \sqrt{ux \cdot \left(1 + \left(\left(ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos + -1\right)\right) - \left(maxCos + -1\right)\right) - maxCos\right)\right)}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(ux \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right)\right) \cdot \sqrt{-1 + 2 \cdot \frac{1}{ux}}\\ \end{array} \end{array} \]
    (FPCore (ux uy maxCos)
     :precision binary32
     (if (<= (* 2.0 uy) 0.0003800000122282654)
       (*
        2.0
        (*
         (* uy PI)
         (sqrt
          (*
           ux
           (+
            1.0
            (-
             (- (* ux (* (- 1.0 maxCos) (+ maxCos -1.0))) (+ maxCos -1.0))
             maxCos))))))
       (* (* ux (sin (* 2.0 (* uy PI)))) (sqrt (+ -1.0 (* 2.0 (/ 1.0 ux)))))))
    float code(float ux, float uy, float maxCos) {
    	float tmp;
    	if ((2.0f * uy) <= 0.0003800000122282654f) {
    		tmp = 2.0f * ((uy * ((float) M_PI)) * sqrtf((ux * (1.0f + (((ux * ((1.0f - maxCos) * (maxCos + -1.0f))) - (maxCos + -1.0f)) - maxCos)))));
    	} else {
    		tmp = (ux * sinf((2.0f * (uy * ((float) M_PI))))) * sqrtf((-1.0f + (2.0f * (1.0f / ux))));
    	}
    	return tmp;
    }
    
    function code(ux, uy, maxCos)
    	tmp = Float32(0.0)
    	if (Float32(Float32(2.0) * uy) <= Float32(0.0003800000122282654))
    		tmp = Float32(Float32(2.0) * Float32(Float32(uy * Float32(pi)) * sqrt(Float32(ux * Float32(Float32(1.0) + Float32(Float32(Float32(ux * Float32(Float32(Float32(1.0) - maxCos) * Float32(maxCos + Float32(-1.0)))) - Float32(maxCos + Float32(-1.0))) - maxCos))))));
    	else
    		tmp = Float32(Float32(ux * sin(Float32(Float32(2.0) * Float32(uy * Float32(pi))))) * sqrt(Float32(Float32(-1.0) + Float32(Float32(2.0) * Float32(Float32(1.0) / ux)))));
    	end
    	return tmp
    end
    
    function tmp_2 = code(ux, uy, maxCos)
    	tmp = single(0.0);
    	if ((single(2.0) * uy) <= single(0.0003800000122282654))
    		tmp = single(2.0) * ((uy * single(pi)) * sqrt((ux * (single(1.0) + (((ux * ((single(1.0) - maxCos) * (maxCos + single(-1.0)))) - (maxCos + single(-1.0))) - maxCos)))));
    	else
    		tmp = (ux * sin((single(2.0) * (uy * single(pi))))) * sqrt((single(-1.0) + (single(2.0) * (single(1.0) / ux))));
    	end
    	tmp_2 = tmp;
    end
    
    \begin{array}{l}
    
    \\
    \begin{array}{l}
    \mathbf{if}\;2 \cdot uy \leq 0.0003800000122282654:\\
    \;\;\;\;2 \cdot \left(\left(uy \cdot \pi\right) \cdot \sqrt{ux \cdot \left(1 + \left(\left(ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos + -1\right)\right) - \left(maxCos + -1\right)\right) - maxCos\right)\right)}\right)\\
    
    \mathbf{else}:\\
    \;\;\;\;\left(ux \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right)\right) \cdot \sqrt{-1 + 2 \cdot \frac{1}{ux}}\\
    
    
    \end{array}
    \end{array}
    
    Derivation
    1. Split input into 2 regimes
    2. if (*.f32 uy #s(literal 2 binary32)) < 3.80000012e-4

      1. Initial program 56.9%

        \[\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
      2. Step-by-step derivation
        1. associate-*l*56.9%

          \[\leadsto \sin \color{blue}{\left(uy \cdot \left(2 \cdot \pi\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. sub-neg56.9%

          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{1 + \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
        3. +-commutative56.9%

          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right) + 1}} \]
        4. distribute-rgt-neg-in56.9%

          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} + 1} \]
        5. fma-define57.0%

          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(\left(1 - ux\right) + ux \cdot maxCos, -\left(\left(1 - ux\right) + ux \cdot maxCos\right), 1\right)}} \]
      3. Simplified57.2%

        \[\leadsto \color{blue}{\sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\mathsf{fma}\left(\mathsf{fma}\left(ux, maxCos, 1 - ux\right), -1 - ux \cdot \left(maxCos + -1\right), 1\right)}} \]
      4. Add Preprocessing
      5. Taylor expanded in ux around inf 98.3%

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

        \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(\left(1 + \left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)\right) - maxCos\right)}} \]
      7. Step-by-step derivation
        1. associate--l+98.4%

          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \color{blue}{\left(1 + \left(\left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)}} \]
        2. fma-define98.4%

          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\color{blue}{\mathsf{fma}\left(-1, maxCos - 1, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)} - maxCos\right)\right)} \]
        3. sub-neg98.4%

          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{maxCos + \left(-1\right)}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
        4. metadata-eval98.4%

          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, maxCos + \color{blue}{-1}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
        5. +-commutative98.4%

          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{-1 + maxCos}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
        6. associate-*r*98.4%

          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \color{blue}{\left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos - 1\right)}\right) - maxCos\right)\right)} \]
        7. sub-neg98.4%

          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(maxCos + \left(-1\right)\right)}\right) - maxCos\right)\right)} \]
        8. metadata-eval98.4%

          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos + \color{blue}{-1}\right)\right) - maxCos\right)\right)} \]
        9. +-commutative98.4%

          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(-1 + maxCos\right)}\right) - maxCos\right)\right)} \]
      8. Simplified98.4%

        \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(-1 + maxCos\right)\right) - maxCos\right)\right)}} \]
      9. Taylor expanded in uy around 0 98.2%

        \[\leadsto \color{blue}{2 \cdot \left(\sqrt{ux \cdot \left(\left(1 + \left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)\right) - maxCos\right)} \cdot \left(uy \cdot \pi\right)\right)} \]
      10. Step-by-step derivation
        1. Simplified98.3%

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

        if 3.80000012e-4 < (*.f32 uy #s(literal 2 binary32))

        1. Initial program 59.9%

          \[\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
        2. Step-by-step derivation
          1. associate-*l*59.9%

            \[\leadsto \sin \color{blue}{\left(uy \cdot \left(2 \cdot \pi\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. sub-neg59.9%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{1 + \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
          3. +-commutative59.9%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right) + 1}} \]
          4. distribute-rgt-neg-in59.9%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} + 1} \]
          5. fma-define59.8%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(\left(1 - ux\right) + ux \cdot maxCos, -\left(\left(1 - ux\right) + ux \cdot maxCos\right), 1\right)}} \]
        3. Simplified59.9%

          \[\leadsto \color{blue}{\sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\mathsf{fma}\left(\mathsf{fma}\left(ux, maxCos, 1 - ux\right), -1 - ux \cdot \left(maxCos + -1\right), 1\right)}} \]
        4. Add Preprocessing
        5. Taylor expanded in ux around inf 98.5%

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

          \[\leadsto \color{blue}{\left(ux \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right)\right) \cdot \sqrt{2 \cdot \frac{1}{ux} - 1}} \]
      11. Recombined 2 regimes into one program.
      12. Final simplification97.0%

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

      Alternative 4: 95.9% accurate, 1.0× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;2 \cdot uy \leq 0.0003800000122282654:\\ \;\;\;\;2 \cdot \left(\left(uy \cdot \pi\right) \cdot \sqrt{ux \cdot \left(1 + \left(\left(ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos + -1\right)\right) - \left(maxCos + -1\right)\right) - maxCos\right)\right)}\right)\\ \mathbf{else}:\\ \;\;\;\;\sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(ux \cdot \left(-1 + \frac{2}{ux}\right)\right)}\\ \end{array} \end{array} \]
      (FPCore (ux uy maxCos)
       :precision binary32
       (if (<= (* 2.0 uy) 0.0003800000122282654)
         (*
          2.0
          (*
           (* uy PI)
           (sqrt
            (*
             ux
             (+
              1.0
              (-
               (- (* ux (* (- 1.0 maxCos) (+ maxCos -1.0))) (+ maxCos -1.0))
               maxCos))))))
         (* (sin (* uy (* 2.0 PI))) (sqrt (* ux (* ux (+ -1.0 (/ 2.0 ux))))))))
      float code(float ux, float uy, float maxCos) {
      	float tmp;
      	if ((2.0f * uy) <= 0.0003800000122282654f) {
      		tmp = 2.0f * ((uy * ((float) M_PI)) * sqrtf((ux * (1.0f + (((ux * ((1.0f - maxCos) * (maxCos + -1.0f))) - (maxCos + -1.0f)) - maxCos)))));
      	} else {
      		tmp = sinf((uy * (2.0f * ((float) M_PI)))) * sqrtf((ux * (ux * (-1.0f + (2.0f / ux)))));
      	}
      	return tmp;
      }
      
      function code(ux, uy, maxCos)
      	tmp = Float32(0.0)
      	if (Float32(Float32(2.0) * uy) <= Float32(0.0003800000122282654))
      		tmp = Float32(Float32(2.0) * Float32(Float32(uy * Float32(pi)) * sqrt(Float32(ux * Float32(Float32(1.0) + Float32(Float32(Float32(ux * Float32(Float32(Float32(1.0) - maxCos) * Float32(maxCos + Float32(-1.0)))) - Float32(maxCos + Float32(-1.0))) - maxCos))))));
      	else
      		tmp = Float32(sin(Float32(uy * Float32(Float32(2.0) * Float32(pi)))) * sqrt(Float32(ux * Float32(ux * Float32(Float32(-1.0) + Float32(Float32(2.0) / ux))))));
      	end
      	return tmp
      end
      
      function tmp_2 = code(ux, uy, maxCos)
      	tmp = single(0.0);
      	if ((single(2.0) * uy) <= single(0.0003800000122282654))
      		tmp = single(2.0) * ((uy * single(pi)) * sqrt((ux * (single(1.0) + (((ux * ((single(1.0) - maxCos) * (maxCos + single(-1.0)))) - (maxCos + single(-1.0))) - maxCos)))));
      	else
      		tmp = sin((uy * (single(2.0) * single(pi)))) * sqrt((ux * (ux * (single(-1.0) + (single(2.0) / ux)))));
      	end
      	tmp_2 = tmp;
      end
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      \mathbf{if}\;2 \cdot uy \leq 0.0003800000122282654:\\
      \;\;\;\;2 \cdot \left(\left(uy \cdot \pi\right) \cdot \sqrt{ux \cdot \left(1 + \left(\left(ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos + -1\right)\right) - \left(maxCos + -1\right)\right) - maxCos\right)\right)}\right)\\
      
      \mathbf{else}:\\
      \;\;\;\;\sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(ux \cdot \left(-1 + \frac{2}{ux}\right)\right)}\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Split input into 2 regimes
      2. if (*.f32 uy #s(literal 2 binary32)) < 3.80000012e-4

        1. Initial program 56.9%

          \[\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
        2. Step-by-step derivation
          1. associate-*l*56.9%

            \[\leadsto \sin \color{blue}{\left(uy \cdot \left(2 \cdot \pi\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. sub-neg56.9%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{1 + \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
          3. +-commutative56.9%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right) + 1}} \]
          4. distribute-rgt-neg-in56.9%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} + 1} \]
          5. fma-define57.0%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(\left(1 - ux\right) + ux \cdot maxCos, -\left(\left(1 - ux\right) + ux \cdot maxCos\right), 1\right)}} \]
        3. Simplified57.2%

          \[\leadsto \color{blue}{\sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\mathsf{fma}\left(\mathsf{fma}\left(ux, maxCos, 1 - ux\right), -1 - ux \cdot \left(maxCos + -1\right), 1\right)}} \]
        4. Add Preprocessing
        5. Taylor expanded in ux around inf 98.3%

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

          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(\left(1 + \left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)\right) - maxCos\right)}} \]
        7. Step-by-step derivation
          1. associate--l+98.4%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \color{blue}{\left(1 + \left(\left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)}} \]
          2. fma-define98.4%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\color{blue}{\mathsf{fma}\left(-1, maxCos - 1, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)} - maxCos\right)\right)} \]
          3. sub-neg98.4%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{maxCos + \left(-1\right)}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
          4. metadata-eval98.4%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, maxCos + \color{blue}{-1}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
          5. +-commutative98.4%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{-1 + maxCos}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
          6. associate-*r*98.4%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \color{blue}{\left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos - 1\right)}\right) - maxCos\right)\right)} \]
          7. sub-neg98.4%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(maxCos + \left(-1\right)\right)}\right) - maxCos\right)\right)} \]
          8. metadata-eval98.4%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos + \color{blue}{-1}\right)\right) - maxCos\right)\right)} \]
          9. +-commutative98.4%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(-1 + maxCos\right)}\right) - maxCos\right)\right)} \]
        8. Simplified98.4%

          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(-1 + maxCos\right)\right) - maxCos\right)\right)}} \]
        9. Taylor expanded in uy around 0 98.2%

          \[\leadsto \color{blue}{2 \cdot \left(\sqrt{ux \cdot \left(\left(1 + \left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)\right) - maxCos\right)} \cdot \left(uy \cdot \pi\right)\right)} \]
        10. Step-by-step derivation
          1. Simplified98.3%

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

          if 3.80000012e-4 < (*.f32 uy #s(literal 2 binary32))

          1. Initial program 59.9%

            \[\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
          2. Step-by-step derivation
            1. associate-*l*59.9%

              \[\leadsto \sin \color{blue}{\left(uy \cdot \left(2 \cdot \pi\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. sub-neg59.9%

              \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{1 + \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
            3. +-commutative59.9%

              \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right) + 1}} \]
            4. distribute-rgt-neg-in59.9%

              \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} + 1} \]
            5. fma-define59.8%

              \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(\left(1 - ux\right) + ux \cdot maxCos, -\left(\left(1 - ux\right) + ux \cdot maxCos\right), 1\right)}} \]
          3. Simplified59.9%

            \[\leadsto \color{blue}{\sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\mathsf{fma}\left(\mathsf{fma}\left(ux, maxCos, 1 - ux\right), -1 - ux \cdot \left(maxCos + -1\right), 1\right)}} \]
          4. Add Preprocessing
          5. Taylor expanded in ux around inf 98.5%

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

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(\left(1 + \left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)\right) - maxCos\right)}} \]
          7. Step-by-step derivation
            1. associate--l+98.2%

              \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \color{blue}{\left(1 + \left(\left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)}} \]
            2. fma-define98.2%

              \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\color{blue}{\mathsf{fma}\left(-1, maxCos - 1, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)} - maxCos\right)\right)} \]
            3. sub-neg98.2%

              \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{maxCos + \left(-1\right)}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
            4. metadata-eval98.2%

              \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, maxCos + \color{blue}{-1}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
            5. +-commutative98.2%

              \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{-1 + maxCos}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
            6. associate-*r*98.2%

              \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \color{blue}{\left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos - 1\right)}\right) - maxCos\right)\right)} \]
            7. sub-neg98.2%

              \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(maxCos + \left(-1\right)\right)}\right) - maxCos\right)\right)} \]
            8. metadata-eval98.2%

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

              \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(-1 + maxCos\right)}\right) - maxCos\right)\right)} \]
          8. Simplified98.2%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(-1 + maxCos\right)\right) - maxCos\right)\right)}} \]
          9. Taylor expanded in ux around inf 98.3%

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

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \color{blue}{\left(ux \cdot \left(2 \cdot \frac{1}{ux} - 1\right)\right)}} \]
          11. Step-by-step derivation
            1. sub-neg94.5%

              \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(ux \cdot \color{blue}{\left(2 \cdot \frac{1}{ux} + \left(-1\right)\right)}\right)} \]
            2. associate-*r/94.5%

              \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(ux \cdot \left(\color{blue}{\frac{2 \cdot 1}{ux}} + \left(-1\right)\right)\right)} \]
            3. metadata-eval94.5%

              \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(ux \cdot \left(\frac{\color{blue}{2}}{ux} + \left(-1\right)\right)\right)} \]
            4. metadata-eval94.5%

              \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(ux \cdot \left(\frac{2}{ux} + \color{blue}{-1}\right)\right)} \]
          12. Simplified94.5%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \color{blue}{\left(ux \cdot \left(\frac{2}{ux} + -1\right)\right)}} \]
        11. Recombined 2 regimes into one program.
        12. Final simplification97.0%

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

        Alternative 5: 98.4% accurate, 1.0× speedup?

        \[\begin{array}{l} \\ \sqrt{ux \cdot \left(\left(2 - ux\right) + maxCos \cdot \left(ux \cdot \left(2 - maxCos\right) + -2\right)\right)} \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right) \end{array} \]
        (FPCore (ux uy maxCos)
         :precision binary32
         (*
          (sqrt (* ux (+ (- 2.0 ux) (* maxCos (+ (* ux (- 2.0 maxCos)) -2.0)))))
          (sin (* 2.0 (* uy PI)))))
        float code(float ux, float uy, float maxCos) {
        	return sqrtf((ux * ((2.0f - ux) + (maxCos * ((ux * (2.0f - maxCos)) + -2.0f))))) * sinf((2.0f * (uy * ((float) M_PI))));
        }
        
        function code(ux, uy, maxCos)
        	return Float32(sqrt(Float32(ux * Float32(Float32(Float32(2.0) - ux) + Float32(maxCos * Float32(Float32(ux * Float32(Float32(2.0) - maxCos)) + Float32(-2.0)))))) * sin(Float32(Float32(2.0) * Float32(uy * Float32(pi)))))
        end
        
        function tmp = code(ux, uy, maxCos)
        	tmp = sqrt((ux * ((single(2.0) - ux) + (maxCos * ((ux * (single(2.0) - maxCos)) + single(-2.0)))))) * sin((single(2.0) * (uy * single(pi))));
        end
        
        \begin{array}{l}
        
        \\
        \sqrt{ux \cdot \left(\left(2 - ux\right) + maxCos \cdot \left(ux \cdot \left(2 - maxCos\right) + -2\right)\right)} \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right)
        \end{array}
        
        Derivation
        1. Initial program 57.9%

          \[\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
        2. Step-by-step derivation
          1. associate-*l*57.9%

            \[\leadsto \sin \color{blue}{\left(uy \cdot \left(2 \cdot \pi\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. sub-neg57.9%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{1 + \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
          3. +-commutative57.9%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right) + 1}} \]
          4. distribute-rgt-neg-in57.9%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} + 1} \]
          5. fma-define57.9%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(\left(1 - ux\right) + ux \cdot maxCos, -\left(\left(1 - ux\right) + ux \cdot maxCos\right), 1\right)}} \]
        3. Simplified58.2%

          \[\leadsto \color{blue}{\sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\mathsf{fma}\left(\mathsf{fma}\left(ux, maxCos, 1 - ux\right), -1 - ux \cdot \left(maxCos + -1\right), 1\right)}} \]
        4. Add Preprocessing
        5. Taylor expanded in ux around inf 98.4%

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

          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(\left(1 + \left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)\right) - maxCos\right)}} \]
        7. Step-by-step derivation
          1. associate--l+98.3%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \color{blue}{\left(1 + \left(\left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)}} \]
          2. fma-define98.3%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\color{blue}{\mathsf{fma}\left(-1, maxCos - 1, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)} - maxCos\right)\right)} \]
          3. sub-neg98.3%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{maxCos + \left(-1\right)}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
          4. metadata-eval98.3%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, maxCos + \color{blue}{-1}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
          5. +-commutative98.3%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{-1 + maxCos}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
          6. associate-*r*98.3%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \color{blue}{\left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos - 1\right)}\right) - maxCos\right)\right)} \]
          7. sub-neg98.3%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(maxCos + \left(-1\right)\right)}\right) - maxCos\right)\right)} \]
          8. metadata-eval98.3%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos + \color{blue}{-1}\right)\right) - maxCos\right)\right)} \]
          9. +-commutative98.3%

            \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(-1 + maxCos\right)}\right) - maxCos\right)\right)} \]
        8. Simplified98.3%

          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(-1 + maxCos\right)\right) - maxCos\right)\right)}} \]
        9. Taylor expanded in uy around inf 98.3%

          \[\leadsto \color{blue}{\sqrt{ux \cdot \left(\left(1 + \left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)\right) - maxCos\right)} \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right)} \]
        10. Step-by-step derivation
          1. Simplified98.3%

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

            \[\leadsto \sqrt{ux \cdot \color{blue}{\left(2 + \left(-1 \cdot ux + maxCos \cdot \left(\left(-1 \cdot \left(maxCos \cdot ux\right) + 2 \cdot ux\right) - 2\right)\right)\right)}} \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right) \]
          3. Step-by-step derivation
            1. neg-mul-198.4%

              \[\leadsto \sqrt{ux \cdot \left(2 + \left(\color{blue}{\left(-ux\right)} + maxCos \cdot \left(\left(-1 \cdot \left(maxCos \cdot ux\right) + 2 \cdot ux\right) - 2\right)\right)\right)} \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right) \]
            2. associate-+r+98.3%

              \[\leadsto \sqrt{ux \cdot \color{blue}{\left(\left(2 + \left(-ux\right)\right) + maxCos \cdot \left(\left(-1 \cdot \left(maxCos \cdot ux\right) + 2 \cdot ux\right) - 2\right)\right)}} \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right) \]
            3. sub-neg98.3%

              \[\leadsto \sqrt{ux \cdot \left(\color{blue}{\left(2 - ux\right)} + maxCos \cdot \left(\left(-1 \cdot \left(maxCos \cdot ux\right) + 2 \cdot ux\right) - 2\right)\right)} \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right) \]
            4. sub-neg98.3%

              \[\leadsto \sqrt{ux \cdot \left(\left(2 - ux\right) + maxCos \cdot \color{blue}{\left(\left(-1 \cdot \left(maxCos \cdot ux\right) + 2 \cdot ux\right) + \left(-2\right)\right)}\right)} \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right) \]
            5. +-commutative98.3%

              \[\leadsto \sqrt{ux \cdot \left(\left(2 - ux\right) + maxCos \cdot \left(\color{blue}{\left(2 \cdot ux + -1 \cdot \left(maxCos \cdot ux\right)\right)} + \left(-2\right)\right)\right)} \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right) \]
            6. associate-*r*98.3%

              \[\leadsto \sqrt{ux \cdot \left(\left(2 - ux\right) + maxCos \cdot \left(\left(2 \cdot ux + \color{blue}{\left(-1 \cdot maxCos\right) \cdot ux}\right) + \left(-2\right)\right)\right)} \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right) \]
            7. mul-1-neg98.3%

              \[\leadsto \sqrt{ux \cdot \left(\left(2 - ux\right) + maxCos \cdot \left(\left(2 \cdot ux + \color{blue}{\left(-maxCos\right)} \cdot ux\right) + \left(-2\right)\right)\right)} \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right) \]
            8. distribute-rgt-out98.3%

              \[\leadsto \sqrt{ux \cdot \left(\left(2 - ux\right) + maxCos \cdot \left(\color{blue}{ux \cdot \left(2 + \left(-maxCos\right)\right)} + \left(-2\right)\right)\right)} \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right) \]
            9. unsub-neg98.3%

              \[\leadsto \sqrt{ux \cdot \left(\left(2 - ux\right) + maxCos \cdot \left(ux \cdot \color{blue}{\left(2 - maxCos\right)} + \left(-2\right)\right)\right)} \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right) \]
            10. metadata-eval98.3%

              \[\leadsto \sqrt{ux \cdot \left(\left(2 - ux\right) + maxCos \cdot \left(ux \cdot \left(2 - maxCos\right) + \color{blue}{-2}\right)\right)} \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right) \]
          4. Simplified98.3%

            \[\leadsto \sqrt{ux \cdot \color{blue}{\left(\left(2 - ux\right) + maxCos \cdot \left(ux \cdot \left(2 - maxCos\right) + -2\right)\right)}} \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right) \]
          5. Add Preprocessing

          Alternative 6: 95.8% accurate, 1.0× speedup?

          \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;2 \cdot uy \leq 0.0003800000122282654:\\ \;\;\;\;2 \cdot \left(\left(uy \cdot \pi\right) \cdot \sqrt{ux \cdot \left(1 + \left(\left(ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos + -1\right)\right) - \left(maxCos + -1\right)\right) - maxCos\right)\right)}\right)\\ \mathbf{else}:\\ \;\;\;\;ux \cdot \left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sqrt{-1 + \frac{2}{ux}}\right)\\ \end{array} \end{array} \]
          (FPCore (ux uy maxCos)
           :precision binary32
           (if (<= (* 2.0 uy) 0.0003800000122282654)
             (*
              2.0
              (*
               (* uy PI)
               (sqrt
                (*
                 ux
                 (+
                  1.0
                  (-
                   (- (* ux (* (- 1.0 maxCos) (+ maxCos -1.0))) (+ maxCos -1.0))
                   maxCos))))))
             (* ux (* (sin (* 2.0 (* uy PI))) (sqrt (+ -1.0 (/ 2.0 ux)))))))
          float code(float ux, float uy, float maxCos) {
          	float tmp;
          	if ((2.0f * uy) <= 0.0003800000122282654f) {
          		tmp = 2.0f * ((uy * ((float) M_PI)) * sqrtf((ux * (1.0f + (((ux * ((1.0f - maxCos) * (maxCos + -1.0f))) - (maxCos + -1.0f)) - maxCos)))));
          	} else {
          		tmp = ux * (sinf((2.0f * (uy * ((float) M_PI)))) * sqrtf((-1.0f + (2.0f / ux))));
          	}
          	return tmp;
          }
          
          function code(ux, uy, maxCos)
          	tmp = Float32(0.0)
          	if (Float32(Float32(2.0) * uy) <= Float32(0.0003800000122282654))
          		tmp = Float32(Float32(2.0) * Float32(Float32(uy * Float32(pi)) * sqrt(Float32(ux * Float32(Float32(1.0) + Float32(Float32(Float32(ux * Float32(Float32(Float32(1.0) - maxCos) * Float32(maxCos + Float32(-1.0)))) - Float32(maxCos + Float32(-1.0))) - maxCos))))));
          	else
          		tmp = Float32(ux * Float32(sin(Float32(Float32(2.0) * Float32(uy * Float32(pi)))) * sqrt(Float32(Float32(-1.0) + Float32(Float32(2.0) / ux)))));
          	end
          	return tmp
          end
          
          function tmp_2 = code(ux, uy, maxCos)
          	tmp = single(0.0);
          	if ((single(2.0) * uy) <= single(0.0003800000122282654))
          		tmp = single(2.0) * ((uy * single(pi)) * sqrt((ux * (single(1.0) + (((ux * ((single(1.0) - maxCos) * (maxCos + single(-1.0)))) - (maxCos + single(-1.0))) - maxCos)))));
          	else
          		tmp = ux * (sin((single(2.0) * (uy * single(pi)))) * sqrt((single(-1.0) + (single(2.0) / ux))));
          	end
          	tmp_2 = tmp;
          end
          
          \begin{array}{l}
          
          \\
          \begin{array}{l}
          \mathbf{if}\;2 \cdot uy \leq 0.0003800000122282654:\\
          \;\;\;\;2 \cdot \left(\left(uy \cdot \pi\right) \cdot \sqrt{ux \cdot \left(1 + \left(\left(ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos + -1\right)\right) - \left(maxCos + -1\right)\right) - maxCos\right)\right)}\right)\\
          
          \mathbf{else}:\\
          \;\;\;\;ux \cdot \left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sqrt{-1 + \frac{2}{ux}}\right)\\
          
          
          \end{array}
          \end{array}
          
          Derivation
          1. Split input into 2 regimes
          2. if (*.f32 uy #s(literal 2 binary32)) < 3.80000012e-4

            1. Initial program 56.9%

              \[\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
            2. Step-by-step derivation
              1. associate-*l*56.9%

                \[\leadsto \sin \color{blue}{\left(uy \cdot \left(2 \cdot \pi\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. sub-neg56.9%

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{1 + \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
              3. +-commutative56.9%

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right) + 1}} \]
              4. distribute-rgt-neg-in56.9%

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} + 1} \]
              5. fma-define57.0%

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(\left(1 - ux\right) + ux \cdot maxCos, -\left(\left(1 - ux\right) + ux \cdot maxCos\right), 1\right)}} \]
            3. Simplified57.2%

              \[\leadsto \color{blue}{\sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\mathsf{fma}\left(\mathsf{fma}\left(ux, maxCos, 1 - ux\right), -1 - ux \cdot \left(maxCos + -1\right), 1\right)}} \]
            4. Add Preprocessing
            5. Taylor expanded in ux around inf 98.3%

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

              \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(\left(1 + \left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)\right) - maxCos\right)}} \]
            7. Step-by-step derivation
              1. associate--l+98.4%

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \color{blue}{\left(1 + \left(\left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)}} \]
              2. fma-define98.4%

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\color{blue}{\mathsf{fma}\left(-1, maxCos - 1, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)} - maxCos\right)\right)} \]
              3. sub-neg98.4%

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{maxCos + \left(-1\right)}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
              4. metadata-eval98.4%

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, maxCos + \color{blue}{-1}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
              5. +-commutative98.4%

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{-1 + maxCos}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
              6. associate-*r*98.4%

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \color{blue}{\left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos - 1\right)}\right) - maxCos\right)\right)} \]
              7. sub-neg98.4%

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(maxCos + \left(-1\right)\right)}\right) - maxCos\right)\right)} \]
              8. metadata-eval98.4%

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos + \color{blue}{-1}\right)\right) - maxCos\right)\right)} \]
              9. +-commutative98.4%

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(-1 + maxCos\right)}\right) - maxCos\right)\right)} \]
            8. Simplified98.4%

              \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(-1 + maxCos\right)\right) - maxCos\right)\right)}} \]
            9. Taylor expanded in uy around 0 98.2%

              \[\leadsto \color{blue}{2 \cdot \left(\sqrt{ux \cdot \left(\left(1 + \left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)\right) - maxCos\right)} \cdot \left(uy \cdot \pi\right)\right)} \]
            10. Step-by-step derivation
              1. Simplified98.3%

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

              if 3.80000012e-4 < (*.f32 uy #s(literal 2 binary32))

              1. Initial program 59.9%

                \[\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
              2. Step-by-step derivation
                1. associate-*l*59.9%

                  \[\leadsto \sin \color{blue}{\left(uy \cdot \left(2 \cdot \pi\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. sub-neg59.9%

                  \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{1 + \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
                3. +-commutative59.9%

                  \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right) + 1}} \]
                4. distribute-rgt-neg-in59.9%

                  \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} + 1} \]
                5. fma-define59.8%

                  \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(\left(1 - ux\right) + ux \cdot maxCos, -\left(\left(1 - ux\right) + ux \cdot maxCos\right), 1\right)}} \]
              3. Simplified59.9%

                \[\leadsto \color{blue}{\sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\mathsf{fma}\left(\mathsf{fma}\left(ux, maxCos, 1 - ux\right), -1 - ux \cdot \left(maxCos + -1\right), 1\right)}} \]
              4. Add Preprocessing
              5. Taylor expanded in ux around inf 98.5%

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

                \[\leadsto \color{blue}{\left(ux \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right)\right) \cdot \sqrt{2 \cdot \frac{1}{ux} - 1}} \]
              7. Step-by-step derivation
                1. associate-*l*94.5%

                  \[\leadsto \color{blue}{ux \cdot \left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sqrt{2 \cdot \frac{1}{ux} - 1}\right)} \]
                2. sub-neg94.5%

                  \[\leadsto ux \cdot \left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{2 \cdot \frac{1}{ux} + \left(-1\right)}}\right) \]
                3. associate-*r/94.5%

                  \[\leadsto ux \cdot \left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\frac{2 \cdot 1}{ux}} + \left(-1\right)}\right) \]
                4. metadata-eval94.5%

                  \[\leadsto ux \cdot \left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sqrt{\frac{\color{blue}{2}}{ux} + \left(-1\right)}\right) \]
                5. metadata-eval94.5%

                  \[\leadsto ux \cdot \left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sqrt{\frac{2}{ux} + \color{blue}{-1}}\right) \]
              8. Simplified94.5%

                \[\leadsto \color{blue}{ux \cdot \left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sqrt{\frac{2}{ux} + -1}\right)} \]
            11. Recombined 2 regimes into one program.
            12. Final simplification97.0%

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

            Alternative 7: 97.6% accurate, 1.0× speedup?

            \[\begin{array}{l} \\ \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(2 + \left(maxCos \cdot \left(2 \cdot ux - 2\right) - ux\right)\right)} \end{array} \]
            (FPCore (ux uy maxCos)
             :precision binary32
             (*
              (sin (* uy (* 2.0 PI)))
              (sqrt (* ux (+ 2.0 (- (* maxCos (- (* 2.0 ux) 2.0)) ux))))))
            float code(float ux, float uy, float maxCos) {
            	return sinf((uy * (2.0f * ((float) M_PI)))) * sqrtf((ux * (2.0f + ((maxCos * ((2.0f * ux) - 2.0f)) - ux))));
            }
            
            function code(ux, uy, maxCos)
            	return Float32(sin(Float32(uy * Float32(Float32(2.0) * Float32(pi)))) * sqrt(Float32(ux * Float32(Float32(2.0) + Float32(Float32(maxCos * Float32(Float32(Float32(2.0) * ux) - Float32(2.0))) - ux)))))
            end
            
            function tmp = code(ux, uy, maxCos)
            	tmp = sin((uy * (single(2.0) * single(pi)))) * sqrt((ux * (single(2.0) + ((maxCos * ((single(2.0) * ux) - single(2.0))) - ux))));
            end
            
            \begin{array}{l}
            
            \\
            \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(2 + \left(maxCos \cdot \left(2 \cdot ux - 2\right) - ux\right)\right)}
            \end{array}
            
            Derivation
            1. Initial program 57.9%

              \[\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
            2. Step-by-step derivation
              1. associate-*l*57.9%

                \[\leadsto \sin \color{blue}{\left(uy \cdot \left(2 \cdot \pi\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. sub-neg57.9%

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{1 + \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
              3. +-commutative57.9%

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right) + 1}} \]
              4. distribute-rgt-neg-in57.9%

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} + 1} \]
              5. fma-define57.9%

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(\left(1 - ux\right) + ux \cdot maxCos, -\left(\left(1 - ux\right) + ux \cdot maxCos\right), 1\right)}} \]
            3. Simplified58.2%

              \[\leadsto \color{blue}{\sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\mathsf{fma}\left(\mathsf{fma}\left(ux, maxCos, 1 - ux\right), -1 - ux \cdot \left(maxCos + -1\right), 1\right)}} \]
            4. Add Preprocessing
            5. Taylor expanded in ux around inf 98.4%

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

              \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(\left(1 + \left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)\right) - maxCos\right)}} \]
            7. Step-by-step derivation
              1. associate--l+98.3%

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \color{blue}{\left(1 + \left(\left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)}} \]
              2. fma-define98.3%

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\color{blue}{\mathsf{fma}\left(-1, maxCos - 1, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)} - maxCos\right)\right)} \]
              3. sub-neg98.3%

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{maxCos + \left(-1\right)}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
              4. metadata-eval98.3%

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, maxCos + \color{blue}{-1}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
              5. +-commutative98.3%

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{-1 + maxCos}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
              6. associate-*r*98.3%

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \color{blue}{\left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos - 1\right)}\right) - maxCos\right)\right)} \]
              7. sub-neg98.3%

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(maxCos + \left(-1\right)\right)}\right) - maxCos\right)\right)} \]
              8. metadata-eval98.3%

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos + \color{blue}{-1}\right)\right) - maxCos\right)\right)} \]
              9. +-commutative98.3%

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(-1 + maxCos\right)}\right) - maxCos\right)\right)} \]
            8. Simplified98.3%

              \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(-1 + maxCos\right)\right) - maxCos\right)\right)}} \]
            9. Taylor expanded in maxCos around 0 97.7%

              \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \color{blue}{\left(2 + \left(-1 \cdot ux + maxCos \cdot \left(2 \cdot ux - 2\right)\right)\right)}} \]
            10. Final simplification97.7%

              \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(2 + \left(maxCos \cdot \left(2 \cdot ux - 2\right) - ux\right)\right)} \]
            11. Add Preprocessing

            Alternative 8: 95.9% accurate, 1.0× speedup?

            \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;2 \cdot uy \leq 0.0003800000122282654:\\ \;\;\;\;2 \cdot \left(\left(uy \cdot \pi\right) \cdot \sqrt{ux \cdot \left(1 + \left(\left(ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos + -1\right)\right) - \left(maxCos + -1\right)\right) - maxCos\right)\right)}\right)\\ \mathbf{else}:\\ \;\;\;\;\sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(2 - ux\right)}\\ \end{array} \end{array} \]
            (FPCore (ux uy maxCos)
             :precision binary32
             (if (<= (* 2.0 uy) 0.0003800000122282654)
               (*
                2.0
                (*
                 (* uy PI)
                 (sqrt
                  (*
                   ux
                   (+
                    1.0
                    (-
                     (- (* ux (* (- 1.0 maxCos) (+ maxCos -1.0))) (+ maxCos -1.0))
                     maxCos))))))
               (* (sin (* uy (* 2.0 PI))) (sqrt (* ux (- 2.0 ux))))))
            float code(float ux, float uy, float maxCos) {
            	float tmp;
            	if ((2.0f * uy) <= 0.0003800000122282654f) {
            		tmp = 2.0f * ((uy * ((float) M_PI)) * sqrtf((ux * (1.0f + (((ux * ((1.0f - maxCos) * (maxCos + -1.0f))) - (maxCos + -1.0f)) - maxCos)))));
            	} else {
            		tmp = sinf((uy * (2.0f * ((float) M_PI)))) * sqrtf((ux * (2.0f - ux)));
            	}
            	return tmp;
            }
            
            function code(ux, uy, maxCos)
            	tmp = Float32(0.0)
            	if (Float32(Float32(2.0) * uy) <= Float32(0.0003800000122282654))
            		tmp = Float32(Float32(2.0) * Float32(Float32(uy * Float32(pi)) * sqrt(Float32(ux * Float32(Float32(1.0) + Float32(Float32(Float32(ux * Float32(Float32(Float32(1.0) - maxCos) * Float32(maxCos + Float32(-1.0)))) - Float32(maxCos + Float32(-1.0))) - maxCos))))));
            	else
            		tmp = Float32(sin(Float32(uy * Float32(Float32(2.0) * Float32(pi)))) * sqrt(Float32(ux * Float32(Float32(2.0) - ux))));
            	end
            	return tmp
            end
            
            function tmp_2 = code(ux, uy, maxCos)
            	tmp = single(0.0);
            	if ((single(2.0) * uy) <= single(0.0003800000122282654))
            		tmp = single(2.0) * ((uy * single(pi)) * sqrt((ux * (single(1.0) + (((ux * ((single(1.0) - maxCos) * (maxCos + single(-1.0)))) - (maxCos + single(-1.0))) - maxCos)))));
            	else
            		tmp = sin((uy * (single(2.0) * single(pi)))) * sqrt((ux * (single(2.0) - ux)));
            	end
            	tmp_2 = tmp;
            end
            
            \begin{array}{l}
            
            \\
            \begin{array}{l}
            \mathbf{if}\;2 \cdot uy \leq 0.0003800000122282654:\\
            \;\;\;\;2 \cdot \left(\left(uy \cdot \pi\right) \cdot \sqrt{ux \cdot \left(1 + \left(\left(ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos + -1\right)\right) - \left(maxCos + -1\right)\right) - maxCos\right)\right)}\right)\\
            
            \mathbf{else}:\\
            \;\;\;\;\sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(2 - ux\right)}\\
            
            
            \end{array}
            \end{array}
            
            Derivation
            1. Split input into 2 regimes
            2. if (*.f32 uy #s(literal 2 binary32)) < 3.80000012e-4

              1. Initial program 56.9%

                \[\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
              2. Step-by-step derivation
                1. associate-*l*56.9%

                  \[\leadsto \sin \color{blue}{\left(uy \cdot \left(2 \cdot \pi\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. sub-neg56.9%

                  \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{1 + \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
                3. +-commutative56.9%

                  \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right) + 1}} \]
                4. distribute-rgt-neg-in56.9%

                  \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} + 1} \]
                5. fma-define57.0%

                  \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(\left(1 - ux\right) + ux \cdot maxCos, -\left(\left(1 - ux\right) + ux \cdot maxCos\right), 1\right)}} \]
              3. Simplified57.2%

                \[\leadsto \color{blue}{\sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\mathsf{fma}\left(\mathsf{fma}\left(ux, maxCos, 1 - ux\right), -1 - ux \cdot \left(maxCos + -1\right), 1\right)}} \]
              4. Add Preprocessing
              5. Taylor expanded in ux around inf 98.3%

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

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(\left(1 + \left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)\right) - maxCos\right)}} \]
              7. Step-by-step derivation
                1. associate--l+98.4%

                  \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \color{blue}{\left(1 + \left(\left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)}} \]
                2. fma-define98.4%

                  \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\color{blue}{\mathsf{fma}\left(-1, maxCos - 1, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)} - maxCos\right)\right)} \]
                3. sub-neg98.4%

                  \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{maxCos + \left(-1\right)}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
                4. metadata-eval98.4%

                  \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, maxCos + \color{blue}{-1}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
                5. +-commutative98.4%

                  \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{-1 + maxCos}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
                6. associate-*r*98.4%

                  \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \color{blue}{\left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos - 1\right)}\right) - maxCos\right)\right)} \]
                7. sub-neg98.4%

                  \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(maxCos + \left(-1\right)\right)}\right) - maxCos\right)\right)} \]
                8. metadata-eval98.4%

                  \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos + \color{blue}{-1}\right)\right) - maxCos\right)\right)} \]
                9. +-commutative98.4%

                  \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(-1 + maxCos\right)}\right) - maxCos\right)\right)} \]
              8. Simplified98.4%

                \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(-1 + maxCos\right)\right) - maxCos\right)\right)}} \]
              9. Taylor expanded in uy around 0 98.2%

                \[\leadsto \color{blue}{2 \cdot \left(\sqrt{ux \cdot \left(\left(1 + \left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)\right) - maxCos\right)} \cdot \left(uy \cdot \pi\right)\right)} \]
              10. Step-by-step derivation
                1. Simplified98.3%

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

                if 3.80000012e-4 < (*.f32 uy #s(literal 2 binary32))

                1. Initial program 59.9%

                  \[\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                2. Step-by-step derivation
                  1. associate-*l*59.9%

                    \[\leadsto \sin \color{blue}{\left(uy \cdot \left(2 \cdot \pi\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. sub-neg59.9%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{1 + \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
                  3. +-commutative59.9%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right) + 1}} \]
                  4. distribute-rgt-neg-in59.9%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} + 1} \]
                  5. fma-define59.8%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(\left(1 - ux\right) + ux \cdot maxCos, -\left(\left(1 - ux\right) + ux \cdot maxCos\right), 1\right)}} \]
                3. Simplified59.9%

                  \[\leadsto \color{blue}{\sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\mathsf{fma}\left(\mathsf{fma}\left(ux, maxCos, 1 - ux\right), -1 - ux \cdot \left(maxCos + -1\right), 1\right)}} \]
                4. Add Preprocessing
                5. Taylor expanded in ux around inf 98.5%

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

                  \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(\left(1 + \left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)\right) - maxCos\right)}} \]
                7. Step-by-step derivation
                  1. associate--l+98.2%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \color{blue}{\left(1 + \left(\left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)}} \]
                  2. fma-define98.2%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\color{blue}{\mathsf{fma}\left(-1, maxCos - 1, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)} - maxCos\right)\right)} \]
                  3. sub-neg98.2%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{maxCos + \left(-1\right)}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
                  4. metadata-eval98.2%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, maxCos + \color{blue}{-1}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
                  5. +-commutative98.2%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{-1 + maxCos}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
                  6. associate-*r*98.2%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \color{blue}{\left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos - 1\right)}\right) - maxCos\right)\right)} \]
                  7. sub-neg98.2%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(maxCos + \left(-1\right)\right)}\right) - maxCos\right)\right)} \]
                  8. metadata-eval98.2%

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

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(-1 + maxCos\right)}\right) - maxCos\right)\right)} \]
                8. Simplified98.2%

                  \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(-1 + maxCos\right)\right) - maxCos\right)\right)}} \]
                9. Taylor expanded in maxCos around 0 94.4%

                  \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \color{blue}{\left(2 + -1 \cdot ux\right)}} \]
                10. Step-by-step derivation
                  1. neg-mul-194.4%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(2 + \color{blue}{\left(-ux\right)}\right)} \]
                  2. unsub-neg94.4%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \color{blue}{\left(2 - ux\right)}} \]
                11. Simplified94.4%

                  \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \color{blue}{\left(2 - ux\right)}} \]
              11. Recombined 2 regimes into one program.
              12. Final simplification97.0%

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

              Alternative 9: 89.7% accurate, 1.0× speedup?

              \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;2 \cdot uy \leq 0.009200000204145908:\\ \;\;\;\;2 \cdot \left(\left(uy \cdot \pi\right) \cdot \sqrt{ux \cdot \left(1 + \left(\left(ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos + -1\right)\right) - \left(maxCos + -1\right)\right) - maxCos\right)\right)}\right)\\ \mathbf{else}:\\ \;\;\;\;\sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{2 \cdot ux}\\ \end{array} \end{array} \]
              (FPCore (ux uy maxCos)
               :precision binary32
               (if (<= (* 2.0 uy) 0.009200000204145908)
                 (*
                  2.0
                  (*
                   (* uy PI)
                   (sqrt
                    (*
                     ux
                     (+
                      1.0
                      (-
                       (- (* ux (* (- 1.0 maxCos) (+ maxCos -1.0))) (+ maxCos -1.0))
                       maxCos))))))
                 (* (sin (* uy (* 2.0 PI))) (sqrt (* 2.0 ux)))))
              float code(float ux, float uy, float maxCos) {
              	float tmp;
              	if ((2.0f * uy) <= 0.009200000204145908f) {
              		tmp = 2.0f * ((uy * ((float) M_PI)) * sqrtf((ux * (1.0f + (((ux * ((1.0f - maxCos) * (maxCos + -1.0f))) - (maxCos + -1.0f)) - maxCos)))));
              	} else {
              		tmp = sinf((uy * (2.0f * ((float) M_PI)))) * sqrtf((2.0f * ux));
              	}
              	return tmp;
              }
              
              function code(ux, uy, maxCos)
              	tmp = Float32(0.0)
              	if (Float32(Float32(2.0) * uy) <= Float32(0.009200000204145908))
              		tmp = Float32(Float32(2.0) * Float32(Float32(uy * Float32(pi)) * sqrt(Float32(ux * Float32(Float32(1.0) + Float32(Float32(Float32(ux * Float32(Float32(Float32(1.0) - maxCos) * Float32(maxCos + Float32(-1.0)))) - Float32(maxCos + Float32(-1.0))) - maxCos))))));
              	else
              		tmp = Float32(sin(Float32(uy * Float32(Float32(2.0) * Float32(pi)))) * sqrt(Float32(Float32(2.0) * ux)));
              	end
              	return tmp
              end
              
              function tmp_2 = code(ux, uy, maxCos)
              	tmp = single(0.0);
              	if ((single(2.0) * uy) <= single(0.009200000204145908))
              		tmp = single(2.0) * ((uy * single(pi)) * sqrt((ux * (single(1.0) + (((ux * ((single(1.0) - maxCos) * (maxCos + single(-1.0)))) - (maxCos + single(-1.0))) - maxCos)))));
              	else
              		tmp = sin((uy * (single(2.0) * single(pi)))) * sqrt((single(2.0) * ux));
              	end
              	tmp_2 = tmp;
              end
              
              \begin{array}{l}
              
              \\
              \begin{array}{l}
              \mathbf{if}\;2 \cdot uy \leq 0.009200000204145908:\\
              \;\;\;\;2 \cdot \left(\left(uy \cdot \pi\right) \cdot \sqrt{ux \cdot \left(1 + \left(\left(ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos + -1\right)\right) - \left(maxCos + -1\right)\right) - maxCos\right)\right)}\right)\\
              
              \mathbf{else}:\\
              \;\;\;\;\sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{2 \cdot ux}\\
              
              
              \end{array}
              \end{array}
              
              Derivation
              1. Split input into 2 regimes
              2. if (*.f32 uy #s(literal 2 binary32)) < 0.0092000002

                1. Initial program 57.9%

                  \[\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                2. Step-by-step derivation
                  1. associate-*l*57.9%

                    \[\leadsto \sin \color{blue}{\left(uy \cdot \left(2 \cdot \pi\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. sub-neg57.9%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{1 + \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
                  3. +-commutative57.9%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right) + 1}} \]
                  4. distribute-rgt-neg-in57.9%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} + 1} \]
                  5. fma-define58.0%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(\left(1 - ux\right) + ux \cdot maxCos, -\left(\left(1 - ux\right) + ux \cdot maxCos\right), 1\right)}} \]
                3. Simplified58.2%

                  \[\leadsto \color{blue}{\sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\mathsf{fma}\left(\mathsf{fma}\left(ux, maxCos, 1 - ux\right), -1 - ux \cdot \left(maxCos + -1\right), 1\right)}} \]
                4. Add Preprocessing
                5. Taylor expanded in ux around inf 98.4%

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

                  \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(\left(1 + \left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)\right) - maxCos\right)}} \]
                7. Step-by-step derivation
                  1. associate--l+98.4%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \color{blue}{\left(1 + \left(\left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)}} \]
                  2. fma-define98.4%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\color{blue}{\mathsf{fma}\left(-1, maxCos - 1, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)} - maxCos\right)\right)} \]
                  3. sub-neg98.4%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{maxCos + \left(-1\right)}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
                  4. metadata-eval98.4%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, maxCos + \color{blue}{-1}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
                  5. +-commutative98.4%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{-1 + maxCos}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
                  6. associate-*r*98.4%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \color{blue}{\left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos - 1\right)}\right) - maxCos\right)\right)} \]
                  7. sub-neg98.4%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(maxCos + \left(-1\right)\right)}\right) - maxCos\right)\right)} \]
                  8. metadata-eval98.4%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos + \color{blue}{-1}\right)\right) - maxCos\right)\right)} \]
                  9. +-commutative98.4%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(-1 + maxCos\right)}\right) - maxCos\right)\right)} \]
                8. Simplified98.4%

                  \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(-1 + maxCos\right)\right) - maxCos\right)\right)}} \]
                9. Taylor expanded in uy around 0 95.5%

                  \[\leadsto \color{blue}{2 \cdot \left(\sqrt{ux \cdot \left(\left(1 + \left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)\right) - maxCos\right)} \cdot \left(uy \cdot \pi\right)\right)} \]
                10. Step-by-step derivation
                  1. Simplified95.5%

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

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

                  1. Initial program 57.8%

                    \[\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                  2. Step-by-step derivation
                    1. associate-*l*57.8%

                      \[\leadsto \sin \color{blue}{\left(uy \cdot \left(2 \cdot \pi\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. sub-neg57.8%

                      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{1 + \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
                    3. +-commutative57.8%

                      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right) + 1}} \]
                    4. distribute-rgt-neg-in57.8%

                      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} + 1} \]
                    5. fma-define57.8%

                      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(\left(1 - ux\right) + ux \cdot maxCos, -\left(\left(1 - ux\right) + ux \cdot maxCos\right), 1\right)}} \]
                  3. Simplified58.0%

                    \[\leadsto \color{blue}{\sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\mathsf{fma}\left(\mathsf{fma}\left(ux, maxCos, 1 - ux\right), -1 - ux \cdot \left(maxCos + -1\right), 1\right)}} \]
                  4. Add Preprocessing
                  5. Taylor expanded in maxCos around 0 56.0%

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

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{2 \cdot ux}} \]
                11. Recombined 2 regimes into one program.
                12. Final simplification90.8%

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

                Alternative 10: 81.6% accurate, 1.8× speedup?

                \[\begin{array}{l} \\ 2 \cdot \left(\left(uy \cdot \pi\right) \cdot \sqrt{ux \cdot \left(1 + \left(\left(ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos + -1\right)\right) - \left(maxCos + -1\right)\right) - maxCos\right)\right)}\right) \end{array} \]
                (FPCore (ux uy maxCos)
                 :precision binary32
                 (*
                  2.0
                  (*
                   (* uy PI)
                   (sqrt
                    (*
                     ux
                     (+
                      1.0
                      (-
                       (- (* ux (* (- 1.0 maxCos) (+ maxCos -1.0))) (+ maxCos -1.0))
                       maxCos)))))))
                float code(float ux, float uy, float maxCos) {
                	return 2.0f * ((uy * ((float) M_PI)) * sqrtf((ux * (1.0f + (((ux * ((1.0f - maxCos) * (maxCos + -1.0f))) - (maxCos + -1.0f)) - maxCos)))));
                }
                
                function code(ux, uy, maxCos)
                	return Float32(Float32(2.0) * Float32(Float32(uy * Float32(pi)) * sqrt(Float32(ux * Float32(Float32(1.0) + Float32(Float32(Float32(ux * Float32(Float32(Float32(1.0) - maxCos) * Float32(maxCos + Float32(-1.0)))) - Float32(maxCos + Float32(-1.0))) - maxCos))))))
                end
                
                function tmp = code(ux, uy, maxCos)
                	tmp = single(2.0) * ((uy * single(pi)) * sqrt((ux * (single(1.0) + (((ux * ((single(1.0) - maxCos) * (maxCos + single(-1.0)))) - (maxCos + single(-1.0))) - maxCos)))));
                end
                
                \begin{array}{l}
                
                \\
                2 \cdot \left(\left(uy \cdot \pi\right) \cdot \sqrt{ux \cdot \left(1 + \left(\left(ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos + -1\right)\right) - \left(maxCos + -1\right)\right) - maxCos\right)\right)}\right)
                \end{array}
                
                Derivation
                1. Initial program 57.9%

                  \[\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                2. Step-by-step derivation
                  1. associate-*l*57.9%

                    \[\leadsto \sin \color{blue}{\left(uy \cdot \left(2 \cdot \pi\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. sub-neg57.9%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{1 + \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
                  3. +-commutative57.9%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right) + 1}} \]
                  4. distribute-rgt-neg-in57.9%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} + 1} \]
                  5. fma-define57.9%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(\left(1 - ux\right) + ux \cdot maxCos, -\left(\left(1 - ux\right) + ux \cdot maxCos\right), 1\right)}} \]
                3. Simplified58.2%

                  \[\leadsto \color{blue}{\sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\mathsf{fma}\left(\mathsf{fma}\left(ux, maxCos, 1 - ux\right), -1 - ux \cdot \left(maxCos + -1\right), 1\right)}} \]
                4. Add Preprocessing
                5. Taylor expanded in ux around inf 98.4%

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

                  \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(\left(1 + \left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)\right) - maxCos\right)}} \]
                7. Step-by-step derivation
                  1. associate--l+98.3%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \color{blue}{\left(1 + \left(\left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)}} \]
                  2. fma-define98.3%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\color{blue}{\mathsf{fma}\left(-1, maxCos - 1, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)} - maxCos\right)\right)} \]
                  3. sub-neg98.3%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{maxCos + \left(-1\right)}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
                  4. metadata-eval98.3%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, maxCos + \color{blue}{-1}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
                  5. +-commutative98.3%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{-1 + maxCos}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
                  6. associate-*r*98.3%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \color{blue}{\left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos - 1\right)}\right) - maxCos\right)\right)} \]
                  7. sub-neg98.3%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(maxCos + \left(-1\right)\right)}\right) - maxCos\right)\right)} \]
                  8. metadata-eval98.3%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos + \color{blue}{-1}\right)\right) - maxCos\right)\right)} \]
                  9. +-commutative98.3%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(-1 + maxCos\right)}\right) - maxCos\right)\right)} \]
                8. Simplified98.3%

                  \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(-1 + maxCos\right)\right) - maxCos\right)\right)}} \]
                9. Taylor expanded in uy around 0 84.2%

                  \[\leadsto \color{blue}{2 \cdot \left(\sqrt{ux \cdot \left(\left(1 + \left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)\right) - maxCos\right)} \cdot \left(uy \cdot \pi\right)\right)} \]
                10. Step-by-step derivation
                  1. Simplified84.2%

                    \[\leadsto \color{blue}{2 \cdot \left(\sqrt{ux \cdot \left(1 + \left(\left(ux \cdot \left(\left(-1 + maxCos\right) \cdot \left(1 - maxCos\right)\right) - \left(-1 + maxCos\right)\right) - maxCos\right)\right)} \cdot \left(uy \cdot \pi\right)\right)} \]
                  2. Final simplification84.2%

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

                  Alternative 11: 81.6% accurate, 1.8× speedup?

                  \[\begin{array}{l} \\ 2 \cdot \left(\left(uy \cdot \pi\right) \cdot \sqrt{ux \cdot \left(2 + \left(ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos + -1\right)\right) - 2 \cdot maxCos\right)\right)}\right) \end{array} \]
                  (FPCore (ux uy maxCos)
                   :precision binary32
                   (*
                    2.0
                    (*
                     (* uy PI)
                     (sqrt
                      (*
                       ux
                       (+ 2.0 (- (* ux (* (- 1.0 maxCos) (+ maxCos -1.0))) (* 2.0 maxCos))))))))
                  float code(float ux, float uy, float maxCos) {
                  	return 2.0f * ((uy * ((float) M_PI)) * sqrtf((ux * (2.0f + ((ux * ((1.0f - maxCos) * (maxCos + -1.0f))) - (2.0f * maxCos))))));
                  }
                  
                  function code(ux, uy, maxCos)
                  	return Float32(Float32(2.0) * Float32(Float32(uy * Float32(pi)) * sqrt(Float32(ux * Float32(Float32(2.0) + Float32(Float32(ux * Float32(Float32(Float32(1.0) - maxCos) * Float32(maxCos + Float32(-1.0)))) - Float32(Float32(2.0) * maxCos)))))))
                  end
                  
                  function tmp = code(ux, uy, maxCos)
                  	tmp = single(2.0) * ((uy * single(pi)) * sqrt((ux * (single(2.0) + ((ux * ((single(1.0) - maxCos) * (maxCos + single(-1.0)))) - (single(2.0) * maxCos))))));
                  end
                  
                  \begin{array}{l}
                  
                  \\
                  2 \cdot \left(\left(uy \cdot \pi\right) \cdot \sqrt{ux \cdot \left(2 + \left(ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos + -1\right)\right) - 2 \cdot maxCos\right)\right)}\right)
                  \end{array}
                  
                  Derivation
                  1. Initial program 57.9%

                    \[\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                  2. Step-by-step derivation
                    1. associate-*l*57.9%

                      \[\leadsto \sin \color{blue}{\left(uy \cdot \left(2 \cdot \pi\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. sub-neg57.9%

                      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{1 + \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
                    3. +-commutative57.9%

                      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right) + 1}} \]
                    4. distribute-rgt-neg-in57.9%

                      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} + 1} \]
                    5. fma-define57.9%

                      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(\left(1 - ux\right) + ux \cdot maxCos, -\left(\left(1 - ux\right) + ux \cdot maxCos\right), 1\right)}} \]
                  3. Simplified58.2%

                    \[\leadsto \color{blue}{\sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\mathsf{fma}\left(\mathsf{fma}\left(ux, maxCos, 1 - ux\right), -1 - ux \cdot \left(maxCos + -1\right), 1\right)}} \]
                  4. Add Preprocessing
                  5. Taylor expanded in ux around inf 98.4%

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

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(\left(1 + \left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)\right) - maxCos\right)}} \]
                  7. Step-by-step derivation
                    1. associate--l+98.3%

                      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \color{blue}{\left(1 + \left(\left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)}} \]
                    2. fma-define98.3%

                      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\color{blue}{\mathsf{fma}\left(-1, maxCos - 1, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)} - maxCos\right)\right)} \]
                    3. sub-neg98.3%

                      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{maxCos + \left(-1\right)}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
                    4. metadata-eval98.3%

                      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, maxCos + \color{blue}{-1}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
                    5. +-commutative98.3%

                      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{-1 + maxCos}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
                    6. associate-*r*98.3%

                      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \color{blue}{\left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos - 1\right)}\right) - maxCos\right)\right)} \]
                    7. sub-neg98.3%

                      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(maxCos + \left(-1\right)\right)}\right) - maxCos\right)\right)} \]
                    8. metadata-eval98.3%

                      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos + \color{blue}{-1}\right)\right) - maxCos\right)\right)} \]
                    9. +-commutative98.3%

                      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(-1 + maxCos\right)}\right) - maxCos\right)\right)} \]
                  8. Simplified98.3%

                    \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(-1 + maxCos\right)\right) - maxCos\right)\right)}} \]
                  9. Taylor expanded in uy around inf 98.3%

                    \[\leadsto \color{blue}{\sqrt{ux \cdot \left(\left(1 + \left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)\right) - maxCos\right)} \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right)} \]
                  10. Step-by-step derivation
                    1. Simplified98.3%

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

                      \[\leadsto \color{blue}{2 \cdot \left(\sqrt{ux \cdot \left(\left(2 + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - 2 \cdot maxCos\right)} \cdot \left(uy \cdot \pi\right)\right)} \]
                    3. Step-by-step derivation
                      1. *-commutative84.2%

                        \[\leadsto 2 \cdot \color{blue}{\left(\left(uy \cdot \pi\right) \cdot \sqrt{ux \cdot \left(\left(2 + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - 2 \cdot maxCos\right)}\right)} \]
                      2. associate--l+84.2%

                        \[\leadsto 2 \cdot \left(\left(uy \cdot \pi\right) \cdot \sqrt{ux \cdot \color{blue}{\left(2 + \left(ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right) - 2 \cdot maxCos\right)\right)}}\right) \]
                      3. sub-neg84.2%

                        \[\leadsto 2 \cdot \left(\left(uy \cdot \pi\right) \cdot \sqrt{ux \cdot \left(2 + \left(ux \cdot \left(\left(1 - maxCos\right) \cdot \color{blue}{\left(maxCos + \left(-1\right)\right)}\right) - 2 \cdot maxCos\right)\right)}\right) \]
                      4. metadata-eval84.2%

                        \[\leadsto 2 \cdot \left(\left(uy \cdot \pi\right) \cdot \sqrt{ux \cdot \left(2 + \left(ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos + \color{blue}{-1}\right)\right) - 2 \cdot maxCos\right)\right)}\right) \]
                    4. Simplified84.2%

                      \[\leadsto \color{blue}{2 \cdot \left(\left(uy \cdot \pi\right) \cdot \sqrt{ux \cdot \left(2 + \left(ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos + -1\right)\right) - 2 \cdot maxCos\right)\right)}\right)} \]
                    5. Add Preprocessing

                    Alternative 12: 81.6% accurate, 1.8× speedup?

                    \[\begin{array}{l} \\ 2 \cdot \left(\left(uy \cdot \pi\right) \cdot \sqrt{ux \cdot \left(\left(2 + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos + -1\right)\right)\right) - 2 \cdot maxCos\right)}\right) \end{array} \]
                    (FPCore (ux uy maxCos)
                     :precision binary32
                     (*
                      2.0
                      (*
                       (* uy PI)
                       (sqrt
                        (*
                         ux
                         (- (+ 2.0 (* ux (* (- 1.0 maxCos) (+ maxCos -1.0)))) (* 2.0 maxCos)))))))
                    float code(float ux, float uy, float maxCos) {
                    	return 2.0f * ((uy * ((float) M_PI)) * sqrtf((ux * ((2.0f + (ux * ((1.0f - maxCos) * (maxCos + -1.0f)))) - (2.0f * maxCos)))));
                    }
                    
                    function code(ux, uy, maxCos)
                    	return Float32(Float32(2.0) * Float32(Float32(uy * Float32(pi)) * sqrt(Float32(ux * Float32(Float32(Float32(2.0) + Float32(ux * Float32(Float32(Float32(1.0) - maxCos) * Float32(maxCos + Float32(-1.0))))) - Float32(Float32(2.0) * maxCos))))))
                    end
                    
                    function tmp = code(ux, uy, maxCos)
                    	tmp = single(2.0) * ((uy * single(pi)) * sqrt((ux * ((single(2.0) + (ux * ((single(1.0) - maxCos) * (maxCos + single(-1.0))))) - (single(2.0) * maxCos)))));
                    end
                    
                    \begin{array}{l}
                    
                    \\
                    2 \cdot \left(\left(uy \cdot \pi\right) \cdot \sqrt{ux \cdot \left(\left(2 + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos + -1\right)\right)\right) - 2 \cdot maxCos\right)}\right)
                    \end{array}
                    
                    Derivation
                    1. Initial program 57.9%

                      \[\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                    2. Step-by-step derivation
                      1. associate-*l*57.9%

                        \[\leadsto \sin \color{blue}{\left(uy \cdot \left(2 \cdot \pi\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. sub-neg57.9%

                        \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{1 + \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
                      3. +-commutative57.9%

                        \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right) + 1}} \]
                      4. distribute-rgt-neg-in57.9%

                        \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} + 1} \]
                      5. fma-define57.9%

                        \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(\left(1 - ux\right) + ux \cdot maxCos, -\left(\left(1 - ux\right) + ux \cdot maxCos\right), 1\right)}} \]
                    3. Simplified58.2%

                      \[\leadsto \color{blue}{\sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\mathsf{fma}\left(\mathsf{fma}\left(ux, maxCos, 1 - ux\right), -1 - ux \cdot \left(maxCos + -1\right), 1\right)}} \]
                    4. Add Preprocessing
                    5. Taylor expanded in ux around inf 98.4%

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

                      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(\left(1 + \left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)\right) - maxCos\right)}} \]
                    7. Step-by-step derivation
                      1. associate--l+98.3%

                        \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \color{blue}{\left(1 + \left(\left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)}} \]
                      2. fma-define98.3%

                        \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\color{blue}{\mathsf{fma}\left(-1, maxCos - 1, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)} - maxCos\right)\right)} \]
                      3. sub-neg98.3%

                        \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{maxCos + \left(-1\right)}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
                      4. metadata-eval98.3%

                        \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, maxCos + \color{blue}{-1}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
                      5. +-commutative98.3%

                        \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{-1 + maxCos}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
                      6. associate-*r*98.3%

                        \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \color{blue}{\left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos - 1\right)}\right) - maxCos\right)\right)} \]
                      7. sub-neg98.3%

                        \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(maxCos + \left(-1\right)\right)}\right) - maxCos\right)\right)} \]
                      8. metadata-eval98.3%

                        \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos + \color{blue}{-1}\right)\right) - maxCos\right)\right)} \]
                      9. +-commutative98.3%

                        \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(-1 + maxCos\right)}\right) - maxCos\right)\right)} \]
                    8. Simplified98.3%

                      \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(-1 + maxCos\right)\right) - maxCos\right)\right)}} \]
                    9. Taylor expanded in uy around inf 98.3%

                      \[\leadsto \color{blue}{\sqrt{ux \cdot \left(\left(1 + \left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)\right) - maxCos\right)} \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right)} \]
                    10. Step-by-step derivation
                      1. Simplified98.3%

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

                        \[\leadsto \color{blue}{2 \cdot \left(\sqrt{ux \cdot \left(\left(2 + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - 2 \cdot maxCos\right)} \cdot \left(uy \cdot \pi\right)\right)} \]
                      3. Final simplification84.2%

                        \[\leadsto 2 \cdot \left(\left(uy \cdot \pi\right) \cdot \sqrt{ux \cdot \left(\left(2 + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos + -1\right)\right)\right) - 2 \cdot maxCos\right)}\right) \]
                      4. Add Preprocessing

                      Alternative 13: 77.2% accurate, 2.0× speedup?

                      \[\begin{array}{l} \\ \left(\pi \cdot \left(2 \cdot uy\right)\right) \cdot \sqrt{ux \cdot \left(2 - ux\right)} \end{array} \]
                      (FPCore (ux uy maxCos)
                       :precision binary32
                       (* (* PI (* 2.0 uy)) (sqrt (* ux (- 2.0 ux)))))
                      float code(float ux, float uy, float maxCos) {
                      	return (((float) M_PI) * (2.0f * uy)) * sqrtf((ux * (2.0f - ux)));
                      }
                      
                      function code(ux, uy, maxCos)
                      	return Float32(Float32(Float32(pi) * Float32(Float32(2.0) * uy)) * sqrt(Float32(ux * Float32(Float32(2.0) - ux))))
                      end
                      
                      function tmp = code(ux, uy, maxCos)
                      	tmp = (single(pi) * (single(2.0) * uy)) * sqrt((ux * (single(2.0) - ux)));
                      end
                      
                      \begin{array}{l}
                      
                      \\
                      \left(\pi \cdot \left(2 \cdot uy\right)\right) \cdot \sqrt{ux \cdot \left(2 - ux\right)}
                      \end{array}
                      
                      Derivation
                      1. Initial program 57.9%

                        \[\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)} \]
                      2. Step-by-step derivation
                        1. associate-*l*57.9%

                          \[\leadsto \sin \color{blue}{\left(uy \cdot \left(2 \cdot \pi\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. sub-neg57.9%

                          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{1 + \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)}} \]
                        3. +-commutative57.9%

                          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(\left(1 - ux\right) + ux \cdot maxCos\right)\right) + 1}} \]
                        4. distribute-rgt-neg-in57.9%

                          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\left(\left(1 - ux\right) + ux \cdot maxCos\right) \cdot \left(-\left(\left(1 - ux\right) + ux \cdot maxCos\right)\right)} + 1} \]
                        5. fma-define57.9%

                          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{\mathsf{fma}\left(\left(1 - ux\right) + ux \cdot maxCos, -\left(\left(1 - ux\right) + ux \cdot maxCos\right), 1\right)}} \]
                      3. Simplified58.2%

                        \[\leadsto \color{blue}{\sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\mathsf{fma}\left(\mathsf{fma}\left(ux, maxCos, 1 - ux\right), -1 - ux \cdot \left(maxCos + -1\right), 1\right)}} \]
                      4. Add Preprocessing
                      5. Taylor expanded in ux around inf 98.4%

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

                        \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(\left(1 + \left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)\right) - maxCos\right)}} \]
                      7. Step-by-step derivation
                        1. associate--l+98.3%

                          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \color{blue}{\left(1 + \left(\left(-1 \cdot \left(maxCos - 1\right) + ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)}} \]
                        2. fma-define98.3%

                          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\color{blue}{\mathsf{fma}\left(-1, maxCos - 1, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right)} - maxCos\right)\right)} \]
                        3. sub-neg98.3%

                          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{maxCos + \left(-1\right)}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
                        4. metadata-eval98.3%

                          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, maxCos + \color{blue}{-1}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
                        5. +-commutative98.3%

                          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, \color{blue}{-1 + maxCos}, ux \cdot \left(\left(1 - maxCos\right) \cdot \left(maxCos - 1\right)\right)\right) - maxCos\right)\right)} \]
                        6. associate-*r*98.3%

                          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \color{blue}{\left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos - 1\right)}\right) - maxCos\right)\right)} \]
                        7. sub-neg98.3%

                          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(maxCos + \left(-1\right)\right)}\right) - maxCos\right)\right)} \]
                        8. metadata-eval98.3%

                          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(maxCos + \color{blue}{-1}\right)\right) - maxCos\right)\right)} \]
                        9. +-commutative98.3%

                          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \color{blue}{\left(-1 + maxCos\right)}\right) - maxCos\right)\right)} \]
                      8. Simplified98.3%

                        \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot \left(1 + \left(\mathsf{fma}\left(-1, -1 + maxCos, \left(ux \cdot \left(1 - maxCos\right)\right) \cdot \left(-1 + maxCos\right)\right) - maxCos\right)\right)}} \]
                      9. Taylor expanded in maxCos around 0 92.5%

                        \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \color{blue}{\left(2 + -1 \cdot ux\right)}} \]
                      10. Step-by-step derivation
                        1. neg-mul-192.5%

                          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \left(2 + \color{blue}{\left(-ux\right)}\right)} \]
                        2. unsub-neg92.5%

                          \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \color{blue}{\left(2 - ux\right)}} \]
                      11. Simplified92.5%

                        \[\leadsto \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot \sqrt{ux \cdot \color{blue}{\left(2 - ux\right)}} \]
                      12. Taylor expanded in uy around 0 79.7%

                        \[\leadsto \color{blue}{2 \cdot \left(\sqrt{ux \cdot \left(2 - ux\right)} \cdot \left(uy \cdot \pi\right)\right)} \]
                      13. Step-by-step derivation
                        1. sub-neg79.7%

                          \[\leadsto 2 \cdot \left(\sqrt{ux \cdot \color{blue}{\left(2 + \left(-ux\right)\right)}} \cdot \left(uy \cdot \pi\right)\right) \]
                        2. +-commutative79.7%

                          \[\leadsto 2 \cdot \left(\sqrt{ux \cdot \color{blue}{\left(\left(-ux\right) + 2\right)}} \cdot \left(uy \cdot \pi\right)\right) \]
                        3. metadata-eval79.7%

                          \[\leadsto 2 \cdot \left(\sqrt{ux \cdot \left(\left(-ux\right) + \color{blue}{\left(--2\right)}\right)} \cdot \left(uy \cdot \pi\right)\right) \]
                        4. distribute-neg-in79.7%

                          \[\leadsto 2 \cdot \left(\sqrt{ux \cdot \color{blue}{\left(-\left(ux + -2\right)\right)}} \cdot \left(uy \cdot \pi\right)\right) \]
                        5. distribute-rgt-neg-in79.7%

                          \[\leadsto 2 \cdot \left(\sqrt{\color{blue}{-ux \cdot \left(ux + -2\right)}} \cdot \left(uy \cdot \pi\right)\right) \]
                        6. distribute-lft-neg-in79.7%

                          \[\leadsto 2 \cdot \left(\sqrt{\color{blue}{\left(-ux\right) \cdot \left(ux + -2\right)}} \cdot \left(uy \cdot \pi\right)\right) \]
                        7. *-commutative79.7%

                          \[\leadsto 2 \cdot \color{blue}{\left(\left(uy \cdot \pi\right) \cdot \sqrt{\left(-ux\right) \cdot \left(ux + -2\right)}\right)} \]
                        8. associate-*r*79.7%

                          \[\leadsto \color{blue}{\left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sqrt{\left(-ux\right) \cdot \left(ux + -2\right)}} \]
                        9. associate-*r*79.7%

                          \[\leadsto \color{blue}{\left(\left(2 \cdot uy\right) \cdot \pi\right)} \cdot \sqrt{\left(-ux\right) \cdot \left(ux + -2\right)} \]
                        10. distribute-lft-neg-in79.7%

                          \[\leadsto \left(\left(2 \cdot uy\right) \cdot \pi\right) \cdot \sqrt{\color{blue}{-ux \cdot \left(ux + -2\right)}} \]
                        11. distribute-rgt-neg-in79.7%

                          \[\leadsto \left(\left(2 \cdot uy\right) \cdot \pi\right) \cdot \sqrt{\color{blue}{ux \cdot \left(-\left(ux + -2\right)\right)}} \]
                        12. distribute-neg-in79.7%

                          \[\leadsto \left(\left(2 \cdot uy\right) \cdot \pi\right) \cdot \sqrt{ux \cdot \color{blue}{\left(\left(-ux\right) + \left(--2\right)\right)}} \]
                        13. metadata-eval79.7%

                          \[\leadsto \left(\left(2 \cdot uy\right) \cdot \pi\right) \cdot \sqrt{ux \cdot \left(\left(-ux\right) + \color{blue}{2}\right)} \]
                        14. +-commutative79.7%

                          \[\leadsto \left(\left(2 \cdot uy\right) \cdot \pi\right) \cdot \sqrt{ux \cdot \color{blue}{\left(2 + \left(-ux\right)\right)}} \]
                        15. sub-neg79.7%

                          \[\leadsto \left(\left(2 \cdot uy\right) \cdot \pi\right) \cdot \sqrt{ux \cdot \color{blue}{\left(2 - ux\right)}} \]
                      14. Simplified79.7%

                        \[\leadsto \color{blue}{\left(\left(2 \cdot uy\right) \cdot \pi\right) \cdot \sqrt{ux \cdot \left(2 - ux\right)}} \]
                      15. Final simplification79.7%

                        \[\leadsto \left(\pi \cdot \left(2 \cdot uy\right)\right) \cdot \sqrt{ux \cdot \left(2 - ux\right)} \]
                      16. Add Preprocessing

                      Alternative 14: 63.2% accurate, 2.0× speedup?

                      \[\begin{array}{l} \\ \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sqrt{2 \cdot ux} \end{array} \]
                      (FPCore (ux uy maxCos)
                       :precision binary32
                       (* (* 2.0 (* uy PI)) (sqrt (* 2.0 ux))))
                      float code(float ux, float uy, float maxCos) {
                      	return (2.0f * (uy * ((float) M_PI))) * sqrtf((2.0f * ux));
                      }
                      
                      function code(ux, uy, maxCos)
                      	return Float32(Float32(Float32(2.0) * Float32(uy * Float32(pi))) * sqrt(Float32(Float32(2.0) * ux)))
                      end
                      
                      function tmp = code(ux, uy, maxCos)
                      	tmp = (single(2.0) * (uy * single(pi))) * sqrt((single(2.0) * ux));
                      end
                      
                      \begin{array}{l}
                      
                      \\
                      \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sqrt{2 \cdot ux}
                      \end{array}
                      
                      Derivation
                      1. Initial program 57.9%

                        \[\sin \left(\left(uy \cdot 2\right) \cdot \pi\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 0 60.7%

                        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(1 + ux \cdot \left(\left(2 \cdot maxCos + ux \cdot {\left(maxCos - 1\right)}^{2}\right) - 2\right)\right)}} \]
                      4. Taylor expanded in maxCos around 0 92.5%

                        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{\color{blue}{-1 \cdot \left(ux \cdot \left(ux - 2\right)\right)}} \]
                      5. Step-by-step derivation
                        1. associate-*r*92.5%

                          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{\color{blue}{\left(-1 \cdot ux\right) \cdot \left(ux - 2\right)}} \]
                        2. neg-mul-192.5%

                          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{\color{blue}{\left(-ux\right)} \cdot \left(ux - 2\right)} \]
                        3. sub-neg92.5%

                          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{\left(-ux\right) \cdot \color{blue}{\left(ux + \left(-2\right)\right)}} \]
                        4. metadata-eval92.5%

                          \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{\left(-ux\right) \cdot \left(ux + \color{blue}{-2}\right)} \]
                      6. Simplified92.5%

                        \[\leadsto \sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{\color{blue}{\left(-ux\right) \cdot \left(ux + -2\right)}} \]
                      7. Taylor expanded in uy around 0 79.7%

                        \[\leadsto \color{blue}{\left(2 \cdot \left(uy \cdot \pi\right)\right)} \cdot \sqrt{\left(-ux\right) \cdot \left(ux + -2\right)} \]
                      8. Taylor expanded in ux around 0 65.0%

                        \[\leadsto \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{2 \cdot ux}} \]
                      9. Step-by-step derivation
                        1. *-commutative65.0%

                          \[\leadsto \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot 2}} \]
                      10. Simplified65.0%

                        \[\leadsto \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sqrt{\color{blue}{ux \cdot 2}} \]
                      11. Final simplification65.0%

                        \[\leadsto \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sqrt{2 \cdot ux} \]
                      12. Add Preprocessing

                      Reproduce

                      ?
                      herbie shell --seed 2024106 
                      (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)))))))