UniformSampleCone 2

Percentage Accurate: 98.9% → 99.0%
Time: 10.4s
Alternatives: 24
Speedup: 0.9×

Specification

?
\[\left(\left(\left(\left(\left(-10000 \leq xi \land xi \leq 10000\right) \land \left(-10000 \leq yi \land yi \leq 10000\right)\right) \land \left(-10000 \leq zi \land zi \leq 10000\right)\right) \land \left(2.328306437 \cdot 10^{-10} \leq ux \land ux \leq 1\right)\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(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\\ t_1 := \sqrt{1 - t\_0 \cdot t\_0}\\ t_2 := \left(uy \cdot 2\right) \cdot \pi\\ \left(\left(\cos t\_2 \cdot t\_1\right) \cdot xi + \left(\sin t\_2 \cdot t\_1\right) \cdot yi\right) + t\_0 \cdot zi \end{array} \end{array} \]
(FPCore (xi yi zi ux uy maxCos)
 :precision binary32
 (let* ((t_0 (* (* (- 1.0 ux) maxCos) ux))
        (t_1 (sqrt (- 1.0 (* t_0 t_0))))
        (t_2 (* (* uy 2.0) PI)))
   (+ (+ (* (* (cos t_2) t_1) xi) (* (* (sin t_2) t_1) yi)) (* t_0 zi))))
float code(float xi, float yi, float zi, float ux, float uy, float maxCos) {
	float t_0 = ((1.0f - ux) * maxCos) * ux;
	float t_1 = sqrtf((1.0f - (t_0 * t_0)));
	float t_2 = (uy * 2.0f) * ((float) M_PI);
	return (((cosf(t_2) * t_1) * xi) + ((sinf(t_2) * t_1) * yi)) + (t_0 * zi);
}
function code(xi, yi, zi, ux, uy, maxCos)
	t_0 = Float32(Float32(Float32(Float32(1.0) - ux) * maxCos) * ux)
	t_1 = sqrt(Float32(Float32(1.0) - Float32(t_0 * t_0)))
	t_2 = Float32(Float32(uy * Float32(2.0)) * Float32(pi))
	return Float32(Float32(Float32(Float32(cos(t_2) * t_1) * xi) + Float32(Float32(sin(t_2) * t_1) * yi)) + Float32(t_0 * zi))
end
function tmp = code(xi, yi, zi, ux, uy, maxCos)
	t_0 = ((single(1.0) - ux) * maxCos) * ux;
	t_1 = sqrt((single(1.0) - (t_0 * t_0)));
	t_2 = (uy * single(2.0)) * single(pi);
	tmp = (((cos(t_2) * t_1) * xi) + ((sin(t_2) * t_1) * yi)) + (t_0 * zi);
end
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\\
t_1 := \sqrt{1 - t\_0 \cdot t\_0}\\
t_2 := \left(uy \cdot 2\right) \cdot \pi\\
\left(\left(\cos t\_2 \cdot t\_1\right) \cdot xi + \left(\sin t\_2 \cdot t\_1\right) \cdot yi\right) + t\_0 \cdot zi
\end{array}
\end{array}

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 24 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: 98.9% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\\ t_1 := \sqrt{1 - t\_0 \cdot t\_0}\\ t_2 := \left(uy \cdot 2\right) \cdot \pi\\ \left(\left(\cos t\_2 \cdot t\_1\right) \cdot xi + \left(\sin t\_2 \cdot t\_1\right) \cdot yi\right) + t\_0 \cdot zi \end{array} \end{array} \]
(FPCore (xi yi zi ux uy maxCos)
 :precision binary32
 (let* ((t_0 (* (* (- 1.0 ux) maxCos) ux))
        (t_1 (sqrt (- 1.0 (* t_0 t_0))))
        (t_2 (* (* uy 2.0) PI)))
   (+ (+ (* (* (cos t_2) t_1) xi) (* (* (sin t_2) t_1) yi)) (* t_0 zi))))
float code(float xi, float yi, float zi, float ux, float uy, float maxCos) {
	float t_0 = ((1.0f - ux) * maxCos) * ux;
	float t_1 = sqrtf((1.0f - (t_0 * t_0)));
	float t_2 = (uy * 2.0f) * ((float) M_PI);
	return (((cosf(t_2) * t_1) * xi) + ((sinf(t_2) * t_1) * yi)) + (t_0 * zi);
}
function code(xi, yi, zi, ux, uy, maxCos)
	t_0 = Float32(Float32(Float32(Float32(1.0) - ux) * maxCos) * ux)
	t_1 = sqrt(Float32(Float32(1.0) - Float32(t_0 * t_0)))
	t_2 = Float32(Float32(uy * Float32(2.0)) * Float32(pi))
	return Float32(Float32(Float32(Float32(cos(t_2) * t_1) * xi) + Float32(Float32(sin(t_2) * t_1) * yi)) + Float32(t_0 * zi))
end
function tmp = code(xi, yi, zi, ux, uy, maxCos)
	t_0 = ((single(1.0) - ux) * maxCos) * ux;
	t_1 = sqrt((single(1.0) - (t_0 * t_0)));
	t_2 = (uy * single(2.0)) * single(pi);
	tmp = (((cos(t_2) * t_1) * xi) + ((sin(t_2) * t_1) * yi)) + (t_0 * zi);
end
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\\
t_1 := \sqrt{1 - t\_0 \cdot t\_0}\\
t_2 := \left(uy \cdot 2\right) \cdot \pi\\
\left(\left(\cos t\_2 \cdot t\_1\right) \cdot xi + \left(\sin t\_2 \cdot t\_1\right) \cdot yi\right) + t\_0 \cdot zi
\end{array}
\end{array}

Alternative 1: 99.0% accurate, 0.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \pi \cdot \left(uy + uy\right)\\ \mathsf{fma}\left(\sin t\_0 \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, yi, \mathsf{fma}\left(\cos t\_0, xi + 0.5 \cdot \left({maxCos}^{2} \cdot \left({ux}^{2} \cdot \left(xi \cdot \left(\left(1 - ux\right) \cdot \left(ux - 1\right)\right)\right)\right)\right), zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \end{array} \end{array} \]
(FPCore (xi yi zi ux uy maxCos)
 :precision binary32
 (let* ((t_0 (* PI (+ uy uy))))
   (fma
    (*
     (sin t_0)
     (sqrt
      (fma (* (* (- ux 1.0) (* maxCos ux)) (- 1.0 ux)) (* maxCos ux) 1.0)))
    yi
    (fma
     (cos t_0)
     (+
      xi
      (*
       0.5
       (* (pow maxCos 2.0) (* (pow ux 2.0) (* xi (* (- 1.0 ux) (- ux 1.0)))))))
     (* zi (* (* maxCos (- 1.0 ux)) ux))))))
float code(float xi, float yi, float zi, float ux, float uy, float maxCos) {
	float t_0 = ((float) M_PI) * (uy + uy);
	return fmaf((sinf(t_0) * sqrtf(fmaf((((ux - 1.0f) * (maxCos * ux)) * (1.0f - ux)), (maxCos * ux), 1.0f))), yi, fmaf(cosf(t_0), (xi + (0.5f * (powf(maxCos, 2.0f) * (powf(ux, 2.0f) * (xi * ((1.0f - ux) * (ux - 1.0f))))))), (zi * ((maxCos * (1.0f - ux)) * ux))));
}
function code(xi, yi, zi, ux, uy, maxCos)
	t_0 = Float32(Float32(pi) * Float32(uy + uy))
	return fma(Float32(sin(t_0) * sqrt(fma(Float32(Float32(Float32(ux - Float32(1.0)) * Float32(maxCos * ux)) * Float32(Float32(1.0) - ux)), Float32(maxCos * ux), Float32(1.0)))), yi, fma(cos(t_0), Float32(xi + Float32(Float32(0.5) * Float32((maxCos ^ Float32(2.0)) * Float32((ux ^ Float32(2.0)) * Float32(xi * Float32(Float32(Float32(1.0) - ux) * Float32(ux - Float32(1.0)))))))), Float32(zi * Float32(Float32(maxCos * Float32(Float32(1.0) - ux)) * ux))))
end
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \pi \cdot \left(uy + uy\right)\\
\mathsf{fma}\left(\sin t\_0 \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, yi, \mathsf{fma}\left(\cos t\_0, xi + 0.5 \cdot \left({maxCos}^{2} \cdot \left({ux}^{2} \cdot \left(xi \cdot \left(\left(1 - ux\right) \cdot \left(ux - 1\right)\right)\right)\right)\right), zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right)
\end{array}
\end{array}
Derivation
  1. Initial program 98.9%

    \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
  2. Applied rewrites99.0%

    \[\leadsto \color{blue}{\mathsf{fma}\left(\sin \left(\pi \cdot \left(uy + uy\right)\right) \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right)} \]
  3. Taylor expanded in maxCos around 0

    \[\leadsto \mathsf{fma}\left(\sin \left(\pi \cdot \left(uy + uy\right)\right) \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), \color{blue}{xi + \frac{1}{2} \cdot \left({maxCos}^{2} \cdot \left({ux}^{2} \cdot \left(xi \cdot \left(\left(1 - ux\right) \cdot \left(ux - 1\right)\right)\right)\right)\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
  4. Step-by-step derivation
    1. lower-+.f32N/A

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

      \[\leadsto \mathsf{fma}\left(\sin \left(\pi \cdot \left(uy + uy\right)\right) \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi + \frac{1}{2} \cdot \color{blue}{\left({maxCos}^{2} \cdot \left({ux}^{2} \cdot \left(xi \cdot \left(\left(1 - ux\right) \cdot \left(ux - 1\right)\right)\right)\right)\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    3. lower-*.f32N/A

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

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

      \[\leadsto \mathsf{fma}\left(\sin \left(\pi \cdot \left(uy + uy\right)\right) \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi + \frac{1}{2} \cdot \left({maxCos}^{2} \cdot \left({ux}^{2} \cdot \color{blue}{\left(xi \cdot \left(\left(1 - ux\right) \cdot \left(ux - 1\right)\right)\right)}\right)\right), zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    6. lower-pow.f32N/A

      \[\leadsto \mathsf{fma}\left(\sin \left(\pi \cdot \left(uy + uy\right)\right) \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi + \frac{1}{2} \cdot \left({maxCos}^{2} \cdot \left({ux}^{2} \cdot \left(\color{blue}{xi} \cdot \left(\left(1 - ux\right) \cdot \left(ux - 1\right)\right)\right)\right)\right), zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    7. lower-*.f32N/A

      \[\leadsto \mathsf{fma}\left(\sin \left(\pi \cdot \left(uy + uy\right)\right) \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi + \frac{1}{2} \cdot \left({maxCos}^{2} \cdot \left({ux}^{2} \cdot \left(xi \cdot \color{blue}{\left(\left(1 - ux\right) \cdot \left(ux - 1\right)\right)}\right)\right)\right), zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    8. lower-*.f32N/A

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

      \[\leadsto \mathsf{fma}\left(\sin \left(\pi \cdot \left(uy + uy\right)\right) \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi + \frac{1}{2} \cdot \left({maxCos}^{2} \cdot \left({ux}^{2} \cdot \left(xi \cdot \left(\left(1 - ux\right) \cdot \left(\color{blue}{ux} - 1\right)\right)\right)\right)\right), zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    10. lower--.f3299.0

      \[\leadsto \mathsf{fma}\left(\sin \left(\pi \cdot \left(uy + uy\right)\right) \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi + 0.5 \cdot \left({maxCos}^{2} \cdot \left({ux}^{2} \cdot \left(xi \cdot \left(\left(1 - ux\right) \cdot \left(ux - \color{blue}{1}\right)\right)\right)\right)\right), zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
  5. Applied rewrites99.0%

    \[\leadsto \mathsf{fma}\left(\sin \left(\pi \cdot \left(uy + uy\right)\right) \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), \color{blue}{xi + 0.5 \cdot \left({maxCos}^{2} \cdot \left({ux}^{2} \cdot \left(xi \cdot \left(\left(1 - ux\right) \cdot \left(ux - 1\right)\right)\right)\right)\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
  6. Add Preprocessing

Alternative 2: 98.9% accurate, 1.2× speedup?

\[\begin{array}{l} \\ \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\sin \left(\mathsf{fma}\left(-2, \pi \cdot uy, 0.5 \cdot \pi\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \end{array} \]
(FPCore (xi yi zi ux uy maxCos)
 :precision binary32
 (fma
  (sin (* 2.0 (* uy PI)))
  yi
  (fma
   (sin (fma -2.0 (* PI uy) (* 0.5 PI)))
   (*
    xi
    (sqrt (fma (* (* (- ux 1.0) (* maxCos ux)) (- 1.0 ux)) (* maxCos ux) 1.0)))
   (* zi (* (* maxCos (- 1.0 ux)) ux)))))
float code(float xi, float yi, float zi, float ux, float uy, float maxCos) {
	return fmaf(sinf((2.0f * (uy * ((float) M_PI)))), yi, fmaf(sinf(fmaf(-2.0f, (((float) M_PI) * uy), (0.5f * ((float) M_PI)))), (xi * sqrtf(fmaf((((ux - 1.0f) * (maxCos * ux)) * (1.0f - ux)), (maxCos * ux), 1.0f))), (zi * ((maxCos * (1.0f - ux)) * ux))));
}
function code(xi, yi, zi, ux, uy, maxCos)
	return fma(sin(Float32(Float32(2.0) * Float32(uy * Float32(pi)))), yi, fma(sin(fma(Float32(-2.0), Float32(Float32(pi) * uy), Float32(Float32(0.5) * Float32(pi)))), Float32(xi * sqrt(fma(Float32(Float32(Float32(ux - Float32(1.0)) * Float32(maxCos * ux)) * Float32(Float32(1.0) - ux)), Float32(maxCos * ux), Float32(1.0)))), Float32(zi * Float32(Float32(maxCos * Float32(Float32(1.0) - ux)) * ux))))
end
\begin{array}{l}

\\
\mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\sin \left(\mathsf{fma}\left(-2, \pi \cdot uy, 0.5 \cdot \pi\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right)
\end{array}
Derivation
  1. Initial program 98.9%

    \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
  2. Applied rewrites99.0%

    \[\leadsto \color{blue}{\mathsf{fma}\left(\sin \left(\pi \cdot \left(uy + uy\right)\right) \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right)} \]
  3. Taylor expanded in ux around 0

    \[\leadsto \mathsf{fma}\left(\color{blue}{\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)}, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
  4. Step-by-step derivation
    1. lower-sin.f32N/A

      \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    2. lower-*.f32N/A

      \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    3. lower-*.f32N/A

      \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    4. lower-PI.f3298.9

      \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
  5. Applied rewrites98.9%

    \[\leadsto \mathsf{fma}\left(\color{blue}{\sin \left(2 \cdot \left(uy \cdot \pi\right)\right)}, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
  6. Step-by-step derivation
    1. lift-cos.f32N/A

      \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\color{blue}{\cos \left(\pi \cdot \left(uy + uy\right)\right)}, xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    2. cos-neg-revN/A

      \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\color{blue}{\cos \left(\mathsf{neg}\left(\pi \cdot \left(uy + uy\right)\right)\right)}, xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    3. sin-+PI/2-revN/A

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

      \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\color{blue}{\sin \left(\left(\mathsf{neg}\left(\pi \cdot \left(uy + uy\right)\right)\right) + \frac{\mathsf{PI}\left(\right)}{2}\right)}, xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    5. lift-*.f32N/A

      \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\sin \left(\left(\mathsf{neg}\left(\color{blue}{\pi \cdot \left(uy + uy\right)}\right)\right) + \frac{\mathsf{PI}\left(\right)}{2}\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    6. lift-+.f32N/A

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

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

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

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

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

      \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\sin \left(\color{blue}{\left(\mathsf{neg}\left(2\right)\right) \cdot \left(uy \cdot \pi\right)} + \frac{\mathsf{PI}\left(\right)}{2}\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    12. metadata-evalN/A

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

      \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\sin \color{blue}{\left(\mathsf{fma}\left(-2, uy \cdot \pi, \frac{\mathsf{PI}\left(\right)}{2}\right)\right)}, xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    14. lift-*.f32N/A

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

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

      \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\sin \left(\mathsf{fma}\left(-2, \color{blue}{\pi \cdot uy}, \frac{\mathsf{PI}\left(\right)}{2}\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    17. lift-PI.f32N/A

      \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\sin \left(\mathsf{fma}\left(-2, \pi \cdot uy, \frac{\color{blue}{\pi}}{2}\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    18. mult-flipN/A

      \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\sin \left(\mathsf{fma}\left(-2, \pi \cdot uy, \color{blue}{\pi \cdot \frac{1}{2}}\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    19. metadata-evalN/A

      \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\sin \left(\mathsf{fma}\left(-2, \pi \cdot uy, \pi \cdot \color{blue}{\frac{1}{2}}\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    20. *-commutativeN/A

      \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\sin \left(\mathsf{fma}\left(-2, \pi \cdot uy, \color{blue}{\frac{1}{2} \cdot \pi}\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    21. lower-*.f3298.9

      \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\sin \left(\mathsf{fma}\left(-2, \pi \cdot uy, \color{blue}{0.5 \cdot \pi}\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
  7. Applied rewrites98.9%

    \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\color{blue}{\sin \left(\mathsf{fma}\left(-2, \pi \cdot uy, 0.5 \cdot \pi\right)\right)}, xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
  8. Add Preprocessing

Alternative 3: 98.9% accurate, 1.2× speedup?

\[\begin{array}{l} \\ \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \end{array} \]
(FPCore (xi yi zi ux uy maxCos)
 :precision binary32
 (fma
  (sin (* 2.0 (* uy PI)))
  yi
  (fma
   (cos (* PI (+ uy uy)))
   (*
    xi
    (sqrt (fma (* (* (- ux 1.0) (* maxCos ux)) (- 1.0 ux)) (* maxCos ux) 1.0)))
   (* zi (* (* maxCos (- 1.0 ux)) ux)))))
float code(float xi, float yi, float zi, float ux, float uy, float maxCos) {
	return fmaf(sinf((2.0f * (uy * ((float) M_PI)))), yi, fmaf(cosf((((float) M_PI) * (uy + uy))), (xi * sqrtf(fmaf((((ux - 1.0f) * (maxCos * ux)) * (1.0f - ux)), (maxCos * ux), 1.0f))), (zi * ((maxCos * (1.0f - ux)) * ux))));
}
function code(xi, yi, zi, ux, uy, maxCos)
	return fma(sin(Float32(Float32(2.0) * Float32(uy * Float32(pi)))), yi, fma(cos(Float32(Float32(pi) * Float32(uy + uy))), Float32(xi * sqrt(fma(Float32(Float32(Float32(ux - Float32(1.0)) * Float32(maxCos * ux)) * Float32(Float32(1.0) - ux)), Float32(maxCos * ux), Float32(1.0)))), Float32(zi * Float32(Float32(maxCos * Float32(Float32(1.0) - ux)) * ux))))
end
\begin{array}{l}

\\
\mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right)
\end{array}
Derivation
  1. Initial program 98.9%

    \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
  2. Applied rewrites99.0%

    \[\leadsto \color{blue}{\mathsf{fma}\left(\sin \left(\pi \cdot \left(uy + uy\right)\right) \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right)} \]
  3. Taylor expanded in ux around 0

    \[\leadsto \mathsf{fma}\left(\color{blue}{\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)}, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
  4. Step-by-step derivation
    1. lower-sin.f32N/A

      \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    2. lower-*.f32N/A

      \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    3. lower-*.f32N/A

      \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    4. lower-PI.f3298.9

      \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
  5. Applied rewrites98.9%

    \[\leadsto \mathsf{fma}\left(\color{blue}{\sin \left(2 \cdot \left(uy \cdot \pi\right)\right)}, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
  6. Add Preprocessing

Alternative 4: 98.8% accurate, 1.5× speedup?

\[\begin{array}{l} \\ \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot 1, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \end{array} \]
(FPCore (xi yi zi ux uy maxCos)
 :precision binary32
 (fma
  (sin (* 2.0 (* uy PI)))
  yi
  (fma (cos (* PI (+ uy uy))) (* xi 1.0) (* zi (* (* maxCos (- 1.0 ux)) ux)))))
float code(float xi, float yi, float zi, float ux, float uy, float maxCos) {
	return fmaf(sinf((2.0f * (uy * ((float) M_PI)))), yi, fmaf(cosf((((float) M_PI) * (uy + uy))), (xi * 1.0f), (zi * ((maxCos * (1.0f - ux)) * ux))));
}
function code(xi, yi, zi, ux, uy, maxCos)
	return fma(sin(Float32(Float32(2.0) * Float32(uy * Float32(pi)))), yi, fma(cos(Float32(Float32(pi) * Float32(uy + uy))), Float32(xi * Float32(1.0)), Float32(zi * Float32(Float32(maxCos * Float32(Float32(1.0) - ux)) * ux))))
end
\begin{array}{l}

\\
\mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot 1, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right)
\end{array}
Derivation
  1. Initial program 98.9%

    \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
  2. Applied rewrites99.0%

    \[\leadsto \color{blue}{\mathsf{fma}\left(\sin \left(\pi \cdot \left(uy + uy\right)\right) \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right)} \]
  3. Taylor expanded in ux around 0

    \[\leadsto \mathsf{fma}\left(\color{blue}{\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)}, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
  4. Step-by-step derivation
    1. lower-sin.f32N/A

      \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    2. lower-*.f32N/A

      \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    3. lower-*.f32N/A

      \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    4. lower-PI.f3298.9

      \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
  5. Applied rewrites98.9%

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

    \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \color{blue}{1}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
  7. Step-by-step derivation
    1. Applied rewrites98.8%

      \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \color{blue}{1}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    2. Add Preprocessing

    Alternative 5: 98.8% accurate, 1.6× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} t_0 := 2 \cdot \left(uy \cdot \pi\right)\\ \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), \mathsf{fma}\left(xi, \cos t\_0, yi \cdot \sin t\_0\right)\right) \end{array} \end{array} \]
    (FPCore (xi yi zi ux uy maxCos)
     :precision binary32
     (let* ((t_0 (* 2.0 (* uy PI))))
       (fma maxCos (* ux (* zi (- 1.0 ux))) (fma xi (cos t_0) (* yi (sin t_0))))))
    float code(float xi, float yi, float zi, float ux, float uy, float maxCos) {
    	float t_0 = 2.0f * (uy * ((float) M_PI));
    	return fmaf(maxCos, (ux * (zi * (1.0f - ux))), fmaf(xi, cosf(t_0), (yi * sinf(t_0))));
    }
    
    function code(xi, yi, zi, ux, uy, maxCos)
    	t_0 = Float32(Float32(2.0) * Float32(uy * Float32(pi)))
    	return fma(maxCos, Float32(ux * Float32(zi * Float32(Float32(1.0) - ux))), fma(xi, cos(t_0), Float32(yi * sin(t_0))))
    end
    
    \begin{array}{l}
    
    \\
    \begin{array}{l}
    t_0 := 2 \cdot \left(uy \cdot \pi\right)\\
    \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), \mathsf{fma}\left(xi, \cos t\_0, yi \cdot \sin t\_0\right)\right)
    \end{array}
    \end{array}
    
    Derivation
    1. Initial program 98.9%

      \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
    2. Taylor expanded in maxCos around 0

      \[\leadsto \color{blue}{maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + \left(xi \cdot \cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) + yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)} \]
    3. Step-by-step derivation
      1. lower-fma.f32N/A

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

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \color{blue}{\left(zi \cdot \left(1 - ux\right)\right)}, xi \cdot \cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) + yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \]
      3. lower-*.f32N/A

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

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - \color{blue}{ux}\right)\right), xi \cdot \cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) + yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \]
      5. lower-fma.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), \mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)\right) \]
    4. Applied rewrites98.8%

      \[\leadsto \color{blue}{\mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), \mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \pi\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right)\right)\right)} \]
    5. Add Preprocessing

    Alternative 6: 96.3% accurate, 1.6× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} t_0 := 2 \cdot \left(uy \cdot \pi\right)\\ \mathbf{if}\;uy \leq 0.0005499999970197678:\\ \;\;\;\;\mathsf{fma}\left(t\_0, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(xi, \cos t\_0, yi \cdot \sin t\_0\right)\\ \end{array} \end{array} \]
    (FPCore (xi yi zi ux uy maxCos)
     :precision binary32
     (let* ((t_0 (* 2.0 (* uy PI))))
       (if (<= uy 0.0005499999970197678)
         (fma
          t_0
          yi
          (fma
           (cos (* PI (+ uy uy)))
           (*
            xi
            (sqrt
             (fma (* (* (- ux 1.0) (* maxCos ux)) (- 1.0 ux)) (* maxCos ux) 1.0)))
           (* zi (* (* maxCos (- 1.0 ux)) ux))))
         (fma xi (cos t_0) (* yi (sin t_0))))))
    float code(float xi, float yi, float zi, float ux, float uy, float maxCos) {
    	float t_0 = 2.0f * (uy * ((float) M_PI));
    	float tmp;
    	if (uy <= 0.0005499999970197678f) {
    		tmp = fmaf(t_0, yi, fmaf(cosf((((float) M_PI) * (uy + uy))), (xi * sqrtf(fmaf((((ux - 1.0f) * (maxCos * ux)) * (1.0f - ux)), (maxCos * ux), 1.0f))), (zi * ((maxCos * (1.0f - ux)) * ux))));
    	} else {
    		tmp = fmaf(xi, cosf(t_0), (yi * sinf(t_0)));
    	}
    	return tmp;
    }
    
    function code(xi, yi, zi, ux, uy, maxCos)
    	t_0 = Float32(Float32(2.0) * Float32(uy * Float32(pi)))
    	tmp = Float32(0.0)
    	if (uy <= Float32(0.0005499999970197678))
    		tmp = fma(t_0, yi, fma(cos(Float32(Float32(pi) * Float32(uy + uy))), Float32(xi * sqrt(fma(Float32(Float32(Float32(ux - Float32(1.0)) * Float32(maxCos * ux)) * Float32(Float32(1.0) - ux)), Float32(maxCos * ux), Float32(1.0)))), Float32(zi * Float32(Float32(maxCos * Float32(Float32(1.0) - ux)) * ux))));
    	else
    		tmp = fma(xi, cos(t_0), Float32(yi * sin(t_0)));
    	end
    	return tmp
    end
    
    \begin{array}{l}
    
    \\
    \begin{array}{l}
    t_0 := 2 \cdot \left(uy \cdot \pi\right)\\
    \mathbf{if}\;uy \leq 0.0005499999970197678:\\
    \;\;\;\;\mathsf{fma}\left(t\_0, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right)\\
    
    \mathbf{else}:\\
    \;\;\;\;\mathsf{fma}\left(xi, \cos t\_0, yi \cdot \sin t\_0\right)\\
    
    
    \end{array}
    \end{array}
    
    Derivation
    1. Split input into 2 regimes
    2. if uy < 5.5e-4

      1. Initial program 98.9%

        \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      2. Applied rewrites99.0%

        \[\leadsto \color{blue}{\mathsf{fma}\left(\sin \left(\pi \cdot \left(uy + uy\right)\right) \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right)} \]
      3. Taylor expanded in ux around 0

        \[\leadsto \mathsf{fma}\left(\color{blue}{\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)}, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
      4. Step-by-step derivation
        1. lower-sin.f32N/A

          \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
        2. lower-*.f32N/A

          \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
        3. lower-*.f32N/A

          \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
        4. lower-PI.f3298.9

          \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
      5. Applied rewrites98.9%

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

        \[\leadsto \mathsf{fma}\left(2 \cdot \color{blue}{\left(uy \cdot \mathsf{PI}\left(\right)\right)}, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
      7. Step-by-step derivation
        1. lower-*.f32N/A

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

          \[\leadsto \mathsf{fma}\left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
        3. lower-PI.f3290.3

          \[\leadsto \mathsf{fma}\left(2 \cdot \left(uy \cdot \pi\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
      8. Applied rewrites90.3%

        \[\leadsto \mathsf{fma}\left(2 \cdot \color{blue}{\left(uy \cdot \pi\right)}, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]

      if 5.5e-4 < uy

      1. Initial program 98.9%

        \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      2. Taylor expanded in ux around 0

        \[\leadsto \color{blue}{xi \cdot \cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) + yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)} \]
      3. Step-by-step derivation
        1. lower-fma.f32N/A

          \[\leadsto \mathsf{fma}\left(xi, \color{blue}{\cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)}, yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \]
        2. lower-cos.f32N/A

          \[\leadsto \mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \]
        3. lower-*.f32N/A

          \[\leadsto \mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \]
        4. lower-*.f32N/A

          \[\leadsto \mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \]
        5. lower-PI.f32N/A

          \[\leadsto \mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \pi\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \]
        6. lower-*.f32N/A

          \[\leadsto \mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \pi\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \]
        7. lower-sin.f32N/A

          \[\leadsto \mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \pi\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \]
        8. lower-*.f32N/A

          \[\leadsto \mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \pi\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \]
        9. lower-*.f32N/A

          \[\leadsto \mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \pi\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \]
        10. lower-PI.f3290.7

          \[\leadsto \mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \pi\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right)\right) \]
      4. Applied rewrites90.7%

        \[\leadsto \color{blue}{\mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \pi\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right)\right)} \]
    3. Recombined 2 regimes into one program.
    4. Add Preprocessing

    Alternative 7: 96.0% accurate, 1.7× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} t_0 := 2 \cdot \left(uy \cdot \pi\right)\\ t_1 := \sqrt{\mathsf{fma}\left(maxCos \cdot \left(ux - 1\right), \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot ux, 1\right)}\\ \mathbf{if}\;uy \leq 0.0003650000144261867:\\ \;\;\;\;\mathsf{fma}\left(\left(uy + uy\right) \cdot \left(t\_1 \cdot \pi\right), yi, \mathsf{fma}\left(t\_1, xi, \left(\left(zi \cdot \left(1 - ux\right)\right) \cdot ux\right) \cdot maxCos\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(xi, \cos t\_0, yi \cdot \sin t\_0\right)\\ \end{array} \end{array} \]
    (FPCore (xi yi zi ux uy maxCos)
     :precision binary32
     (let* ((t_0 (* 2.0 (* uy PI)))
            (t_1
             (sqrt
              (fma
               (* maxCos (- ux 1.0))
               (* (* (* (- 1.0 ux) maxCos) ux) ux)
               1.0))))
       (if (<= uy 0.0003650000144261867)
         (fma
          (* (+ uy uy) (* t_1 PI))
          yi
          (fma t_1 xi (* (* (* zi (- 1.0 ux)) ux) maxCos)))
         (fma xi (cos t_0) (* yi (sin t_0))))))
    float code(float xi, float yi, float zi, float ux, float uy, float maxCos) {
    	float t_0 = 2.0f * (uy * ((float) M_PI));
    	float t_1 = sqrtf(fmaf((maxCos * (ux - 1.0f)), ((((1.0f - ux) * maxCos) * ux) * ux), 1.0f));
    	float tmp;
    	if (uy <= 0.0003650000144261867f) {
    		tmp = fmaf(((uy + uy) * (t_1 * ((float) M_PI))), yi, fmaf(t_1, xi, (((zi * (1.0f - ux)) * ux) * maxCos)));
    	} else {
    		tmp = fmaf(xi, cosf(t_0), (yi * sinf(t_0)));
    	}
    	return tmp;
    }
    
    function code(xi, yi, zi, ux, uy, maxCos)
    	t_0 = Float32(Float32(2.0) * Float32(uy * Float32(pi)))
    	t_1 = sqrt(fma(Float32(maxCos * Float32(ux - Float32(1.0))), Float32(Float32(Float32(Float32(Float32(1.0) - ux) * maxCos) * ux) * ux), Float32(1.0)))
    	tmp = Float32(0.0)
    	if (uy <= Float32(0.0003650000144261867))
    		tmp = fma(Float32(Float32(uy + uy) * Float32(t_1 * Float32(pi))), yi, fma(t_1, xi, Float32(Float32(Float32(zi * Float32(Float32(1.0) - ux)) * ux) * maxCos)));
    	else
    		tmp = fma(xi, cos(t_0), Float32(yi * sin(t_0)));
    	end
    	return tmp
    end
    
    \begin{array}{l}
    
    \\
    \begin{array}{l}
    t_0 := 2 \cdot \left(uy \cdot \pi\right)\\
    t_1 := \sqrt{\mathsf{fma}\left(maxCos \cdot \left(ux - 1\right), \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot ux, 1\right)}\\
    \mathbf{if}\;uy \leq 0.0003650000144261867:\\
    \;\;\;\;\mathsf{fma}\left(\left(uy + uy\right) \cdot \left(t\_1 \cdot \pi\right), yi, \mathsf{fma}\left(t\_1, xi, \left(\left(zi \cdot \left(1 - ux\right)\right) \cdot ux\right) \cdot maxCos\right)\right)\\
    
    \mathbf{else}:\\
    \;\;\;\;\mathsf{fma}\left(xi, \cos t\_0, yi \cdot \sin t\_0\right)\\
    
    
    \end{array}
    \end{array}
    
    Derivation
    1. Split input into 2 regimes
    2. if uy < 3.65000014e-4

      1. Initial program 98.9%

        \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      2. Step-by-step derivation
        1. lift-sqrt.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        2. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{\color{blue}{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        3. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        4. sqr-neg-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right) \cdot \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        5. sin-acos-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        6. lower-sin.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        7. lower-acos.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \color{blue}{\cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        8. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux}\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        9. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right)} \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        10. associate-*l*N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right) \cdot \left(maxCos \cdot ux\right)}\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        11. distribute-lft-neg-inN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(\mathsf{neg}\left(\left(1 - ux\right)\right)\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        12. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right)}\right)\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        13. sub-negate-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        14. lower-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        15. lower--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        16. lower-*.f3298.9

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \color{blue}{\left(maxCos \cdot ux\right)}\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      3. Applied rewrites98.9%

        \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      4. Step-by-step derivation
        1. lift-sqrt.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        2. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{\color{blue}{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        3. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        4. sqr-neg-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right) \cdot \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        5. sin-acos-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        6. lower-sin.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        7. lower-acos.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \color{blue}{\cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        8. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux}\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        9. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right)} \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        10. associate-*l*N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right) \cdot \left(maxCos \cdot ux\right)}\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        11. distribute-lft-neg-inN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(\mathsf{neg}\left(\left(1 - ux\right)\right)\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        12. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right)}\right)\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        13. sub-negate-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        14. lower-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        15. lower--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        16. lower-*.f3298.9

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \color{blue}{\left(maxCos \cdot ux\right)}\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      5. Applied rewrites98.9%

        \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      6. Taylor expanded in uy around 0

        \[\leadsto \color{blue}{2 \cdot \left(uy \cdot \left(yi \cdot \left(\mathsf{PI}\left(\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right)\right) + \left(maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + xi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)} \]
      7. Step-by-step derivation
        1. lower-fma.f32N/A

          \[\leadsto \mathsf{fma}\left(2, \color{blue}{uy \cdot \left(yi \cdot \left(\mathsf{PI}\left(\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right)}, maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + xi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
      8. Applied rewrites81.8%

        \[\leadsto \color{blue}{\mathsf{fma}\left(2, uy \cdot \left(yi \cdot \left(\pi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right), \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right)} \]
      9. Applied rewrites81.8%

        \[\leadsto \mathsf{fma}\left(\left(uy + uy\right) \cdot \left(\sqrt{\mathsf{fma}\left(maxCos \cdot \left(ux - 1\right), \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot ux, 1\right)} \cdot \pi\right), \color{blue}{yi}, \mathsf{fma}\left(\sqrt{\mathsf{fma}\left(maxCos \cdot \left(ux - 1\right), \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot ux, 1\right)}, xi, \left(\left(zi \cdot \left(1 - ux\right)\right) \cdot ux\right) \cdot maxCos\right)\right) \]

      if 3.65000014e-4 < uy

      1. Initial program 98.9%

        \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      2. Taylor expanded in ux around 0

        \[\leadsto \color{blue}{xi \cdot \cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) + yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)} \]
      3. Step-by-step derivation
        1. lower-fma.f32N/A

          \[\leadsto \mathsf{fma}\left(xi, \color{blue}{\cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)}, yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \]
        2. lower-cos.f32N/A

          \[\leadsto \mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \]
        3. lower-*.f32N/A

          \[\leadsto \mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \]
        4. lower-*.f32N/A

          \[\leadsto \mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \]
        5. lower-PI.f32N/A

          \[\leadsto \mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \pi\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \]
        6. lower-*.f32N/A

          \[\leadsto \mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \pi\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \]
        7. lower-sin.f32N/A

          \[\leadsto \mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \pi\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \]
        8. lower-*.f32N/A

          \[\leadsto \mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \pi\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \]
        9. lower-*.f32N/A

          \[\leadsto \mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \pi\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \]
        10. lower-PI.f3290.7

          \[\leadsto \mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \pi\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right)\right) \]
      4. Applied rewrites90.7%

        \[\leadsto \color{blue}{\mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \pi\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right)\right)} \]
    3. Recombined 2 regimes into one program.
    4. Add Preprocessing

    Alternative 8: 96.0% accurate, 1.6× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} t_0 := 2 \cdot \left(uy \cdot \pi\right)\\ \mathsf{fma}\left(\sin t\_0, yi, \mathsf{fma}\left(maxCos, ux \cdot zi, xi \cdot \cos t\_0\right)\right) \end{array} \end{array} \]
    (FPCore (xi yi zi ux uy maxCos)
     :precision binary32
     (let* ((t_0 (* 2.0 (* uy PI))))
       (fma (sin t_0) yi (fma maxCos (* ux zi) (* xi (cos t_0))))))
    float code(float xi, float yi, float zi, float ux, float uy, float maxCos) {
    	float t_0 = 2.0f * (uy * ((float) M_PI));
    	return fmaf(sinf(t_0), yi, fmaf(maxCos, (ux * zi), (xi * cosf(t_0))));
    }
    
    function code(xi, yi, zi, ux, uy, maxCos)
    	t_0 = Float32(Float32(2.0) * Float32(uy * Float32(pi)))
    	return fma(sin(t_0), yi, fma(maxCos, Float32(ux * zi), Float32(xi * cos(t_0))))
    end
    
    \begin{array}{l}
    
    \\
    \begin{array}{l}
    t_0 := 2 \cdot \left(uy \cdot \pi\right)\\
    \mathsf{fma}\left(\sin t\_0, yi, \mathsf{fma}\left(maxCos, ux \cdot zi, xi \cdot \cos t\_0\right)\right)
    \end{array}
    \end{array}
    
    Derivation
    1. Initial program 98.9%

      \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
    2. Applied rewrites99.0%

      \[\leadsto \color{blue}{\mathsf{fma}\left(\sin \left(\pi \cdot \left(uy + uy\right)\right) \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right)} \]
    3. Taylor expanded in ux around 0

      \[\leadsto \mathsf{fma}\left(\color{blue}{\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)}, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    4. Step-by-step derivation
      1. lower-sin.f32N/A

        \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
      2. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
      3. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
      4. lower-PI.f3298.9

        \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
    5. Applied rewrites98.9%

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

      \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \color{blue}{maxCos \cdot \left(ux \cdot zi\right) + xi \cdot \cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)}\right) \]
    7. Step-by-step derivation
      1. lower-fma.f32N/A

        \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(maxCos, \color{blue}{ux \cdot zi}, xi \cdot \cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)\right) \]
      2. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(maxCos, ux \cdot \color{blue}{zi}, xi \cdot \cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)\right) \]
      3. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(maxCos, ux \cdot zi, xi \cdot \cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)\right) \]
      4. lower-cos.f32N/A

        \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(maxCos, ux \cdot zi, xi \cdot \cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)\right) \]
      5. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(maxCos, ux \cdot zi, xi \cdot \cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)\right) \]
      6. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(maxCos, ux \cdot zi, xi \cdot \cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)\right) \]
      7. lower-PI.f3296.0

        \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(maxCos, ux \cdot zi, xi \cdot \cos \left(2 \cdot \left(uy \cdot \pi\right)\right)\right)\right) \]
    8. Applied rewrites96.0%

      \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \color{blue}{\mathsf{fma}\left(maxCos, ux \cdot zi, xi \cdot \cos \left(2 \cdot \left(uy \cdot \pi\right)\right)\right)}\right) \]
    9. Add Preprocessing

    Alternative 9: 95.9% accurate, 1.6× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} t_0 := 2 \cdot \left(uy \cdot \pi\right)\\ \mathsf{fma}\left(maxCos, ux \cdot zi, \mathsf{fma}\left(xi, \cos t\_0, yi \cdot \sin t\_0\right)\right) \end{array} \end{array} \]
    (FPCore (xi yi zi ux uy maxCos)
     :precision binary32
     (let* ((t_0 (* 2.0 (* uy PI))))
       (fma maxCos (* ux zi) (fma xi (cos t_0) (* yi (sin t_0))))))
    float code(float xi, float yi, float zi, float ux, float uy, float maxCos) {
    	float t_0 = 2.0f * (uy * ((float) M_PI));
    	return fmaf(maxCos, (ux * zi), fmaf(xi, cosf(t_0), (yi * sinf(t_0))));
    }
    
    function code(xi, yi, zi, ux, uy, maxCos)
    	t_0 = Float32(Float32(2.0) * Float32(uy * Float32(pi)))
    	return fma(maxCos, Float32(ux * zi), fma(xi, cos(t_0), Float32(yi * sin(t_0))))
    end
    
    \begin{array}{l}
    
    \\
    \begin{array}{l}
    t_0 := 2 \cdot \left(uy \cdot \pi\right)\\
    \mathsf{fma}\left(maxCos, ux \cdot zi, \mathsf{fma}\left(xi, \cos t\_0, yi \cdot \sin t\_0\right)\right)
    \end{array}
    \end{array}
    
    Derivation
    1. Initial program 98.9%

      \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
    2. Taylor expanded in ux around 0

      \[\leadsto \color{blue}{maxCos \cdot \left(ux \cdot zi\right) + \left(xi \cdot \cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) + yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)} \]
    3. Step-by-step derivation
      1. lower-fma.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, \color{blue}{ux \cdot zi}, xi \cdot \cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) + yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \]
      2. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \color{blue}{zi}, xi \cdot \cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right) + yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right) \]
      3. lower-fma.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot zi, \mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)\right) \]
      4. lower-cos.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot zi, \mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)\right) \]
      5. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot zi, \mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)\right) \]
      6. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot zi, \mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)\right) \]
      7. lower-PI.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot zi, \mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \pi\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)\right) \]
      8. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot zi, \mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \pi\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)\right)\right) \]
    4. Applied rewrites95.9%

      \[\leadsto \color{blue}{\mathsf{fma}\left(maxCos, ux \cdot zi, \mathsf{fma}\left(xi, \cos \left(2 \cdot \left(uy \cdot \pi\right)\right), yi \cdot \sin \left(2 \cdot \left(uy \cdot \pi\right)\right)\right)\right)} \]
    5. Add Preprocessing

    Alternative 10: 83.3% accurate, 1.9× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot ux\\ t_1 := \sqrt{\mathsf{fma}\left(maxCos \cdot \left(ux - 1\right), t\_0, 1\right)}\\ \mathbf{if}\;uy \leq 0.0035000001080334187:\\ \;\;\;\;\mathsf{fma}\left(\left(uy + uy\right) \cdot \left(t\_1 \cdot \pi\right), yi, \mathsf{fma}\left(t\_1, xi, \left(\left(zi \cdot \left(1 - ux\right)\right) \cdot ux\right) \cdot maxCos\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt{\mathsf{fma}\left(\left(ux - 1\right) \cdot maxCos, t\_0, 1\right)} \cdot xi\right) \cdot \cos \left(\left(uy + uy\right) \cdot \pi\right)\\ \end{array} \end{array} \]
    (FPCore (xi yi zi ux uy maxCos)
     :precision binary32
     (let* ((t_0 (* (* (* (- 1.0 ux) maxCos) ux) ux))
            (t_1 (sqrt (fma (* maxCos (- ux 1.0)) t_0 1.0))))
       (if (<= uy 0.0035000001080334187)
         (fma
          (* (+ uy uy) (* t_1 PI))
          yi
          (fma t_1 xi (* (* (* zi (- 1.0 ux)) ux) maxCos)))
         (*
          (* (sqrt (fma (* (- ux 1.0) maxCos) t_0 1.0)) xi)
          (cos (* (+ uy uy) PI))))))
    float code(float xi, float yi, float zi, float ux, float uy, float maxCos) {
    	float t_0 = (((1.0f - ux) * maxCos) * ux) * ux;
    	float t_1 = sqrtf(fmaf((maxCos * (ux - 1.0f)), t_0, 1.0f));
    	float tmp;
    	if (uy <= 0.0035000001080334187f) {
    		tmp = fmaf(((uy + uy) * (t_1 * ((float) M_PI))), yi, fmaf(t_1, xi, (((zi * (1.0f - ux)) * ux) * maxCos)));
    	} else {
    		tmp = (sqrtf(fmaf(((ux - 1.0f) * maxCos), t_0, 1.0f)) * xi) * cosf(((uy + uy) * ((float) M_PI)));
    	}
    	return tmp;
    }
    
    function code(xi, yi, zi, ux, uy, maxCos)
    	t_0 = Float32(Float32(Float32(Float32(Float32(1.0) - ux) * maxCos) * ux) * ux)
    	t_1 = sqrt(fma(Float32(maxCos * Float32(ux - Float32(1.0))), t_0, Float32(1.0)))
    	tmp = Float32(0.0)
    	if (uy <= Float32(0.0035000001080334187))
    		tmp = fma(Float32(Float32(uy + uy) * Float32(t_1 * Float32(pi))), yi, fma(t_1, xi, Float32(Float32(Float32(zi * Float32(Float32(1.0) - ux)) * ux) * maxCos)));
    	else
    		tmp = Float32(Float32(sqrt(fma(Float32(Float32(ux - Float32(1.0)) * maxCos), t_0, Float32(1.0))) * xi) * cos(Float32(Float32(uy + uy) * Float32(pi))));
    	end
    	return tmp
    end
    
    \begin{array}{l}
    
    \\
    \begin{array}{l}
    t_0 := \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot ux\\
    t_1 := \sqrt{\mathsf{fma}\left(maxCos \cdot \left(ux - 1\right), t\_0, 1\right)}\\
    \mathbf{if}\;uy \leq 0.0035000001080334187:\\
    \;\;\;\;\mathsf{fma}\left(\left(uy + uy\right) \cdot \left(t\_1 \cdot \pi\right), yi, \mathsf{fma}\left(t\_1, xi, \left(\left(zi \cdot \left(1 - ux\right)\right) \cdot ux\right) \cdot maxCos\right)\right)\\
    
    \mathbf{else}:\\
    \;\;\;\;\left(\sqrt{\mathsf{fma}\left(\left(ux - 1\right) \cdot maxCos, t\_0, 1\right)} \cdot xi\right) \cdot \cos \left(\left(uy + uy\right) \cdot \pi\right)\\
    
    
    \end{array}
    \end{array}
    
    Derivation
    1. Split input into 2 regimes
    2. if uy < 0.00350000011

      1. Initial program 98.9%

        \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      2. Step-by-step derivation
        1. lift-sqrt.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        2. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{\color{blue}{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        3. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        4. sqr-neg-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right) \cdot \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        5. sin-acos-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        6. lower-sin.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        7. lower-acos.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \color{blue}{\cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        8. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux}\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        9. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right)} \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        10. associate-*l*N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right) \cdot \left(maxCos \cdot ux\right)}\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        11. distribute-lft-neg-inN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(\mathsf{neg}\left(\left(1 - ux\right)\right)\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        12. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right)}\right)\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        13. sub-negate-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        14. lower-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        15. lower--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        16. lower-*.f3298.9

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \color{blue}{\left(maxCos \cdot ux\right)}\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      3. Applied rewrites98.9%

        \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      4. Step-by-step derivation
        1. lift-sqrt.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        2. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{\color{blue}{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        3. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        4. sqr-neg-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right) \cdot \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        5. sin-acos-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        6. lower-sin.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        7. lower-acos.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \color{blue}{\cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        8. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux}\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        9. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right)} \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        10. associate-*l*N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right) \cdot \left(maxCos \cdot ux\right)}\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        11. distribute-lft-neg-inN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(\mathsf{neg}\left(\left(1 - ux\right)\right)\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        12. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right)}\right)\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        13. sub-negate-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        14. lower-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        15. lower--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        16. lower-*.f3298.9

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \color{blue}{\left(maxCos \cdot ux\right)}\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      5. Applied rewrites98.9%

        \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      6. Taylor expanded in uy around 0

        \[\leadsto \color{blue}{2 \cdot \left(uy \cdot \left(yi \cdot \left(\mathsf{PI}\left(\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right)\right) + \left(maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + xi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)} \]
      7. Step-by-step derivation
        1. lower-fma.f32N/A

          \[\leadsto \mathsf{fma}\left(2, \color{blue}{uy \cdot \left(yi \cdot \left(\mathsf{PI}\left(\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right)}, maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + xi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
      8. Applied rewrites81.8%

        \[\leadsto \color{blue}{\mathsf{fma}\left(2, uy \cdot \left(yi \cdot \left(\pi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right), \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right)} \]
      9. Applied rewrites81.8%

        \[\leadsto \mathsf{fma}\left(\left(uy + uy\right) \cdot \left(\sqrt{\mathsf{fma}\left(maxCos \cdot \left(ux - 1\right), \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot ux, 1\right)} \cdot \pi\right), \color{blue}{yi}, \mathsf{fma}\left(\sqrt{\mathsf{fma}\left(maxCos \cdot \left(ux - 1\right), \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot ux, 1\right)}, xi, \left(\left(zi \cdot \left(1 - ux\right)\right) \cdot ux\right) \cdot maxCos\right)\right) \]

      if 0.00350000011 < uy

      1. Initial program 98.9%

        \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      2. Step-by-step derivation
        1. lift-sqrt.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        2. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{\color{blue}{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        3. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        4. sqr-neg-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right) \cdot \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        5. sin-acos-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        6. lower-sin.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        7. lower-acos.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \color{blue}{\cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        8. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux}\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        9. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right)} \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        10. associate-*l*N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right) \cdot \left(maxCos \cdot ux\right)}\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        11. distribute-lft-neg-inN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(\mathsf{neg}\left(\left(1 - ux\right)\right)\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        12. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right)}\right)\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        13. sub-negate-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        14. lower-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        15. lower--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        16. lower-*.f3298.9

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \color{blue}{\left(maxCos \cdot ux\right)}\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      3. Applied rewrites98.9%

        \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      4. Step-by-step derivation
        1. lift-sqrt.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        2. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{\color{blue}{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        3. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        4. sqr-neg-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right) \cdot \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        5. sin-acos-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        6. lower-sin.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        7. lower-acos.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \color{blue}{\cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        8. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux}\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        9. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right)} \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        10. associate-*l*N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right) \cdot \left(maxCos \cdot ux\right)}\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        11. distribute-lft-neg-inN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(\mathsf{neg}\left(\left(1 - ux\right)\right)\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        12. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right)}\right)\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        13. sub-negate-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        14. lower-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        15. lower--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        16. lower-*.f3298.9

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \color{blue}{\left(maxCos \cdot ux\right)}\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      5. Applied rewrites98.9%

        \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      6. Taylor expanded in uy around 0

        \[\leadsto \color{blue}{2 \cdot \left(uy \cdot \left(yi \cdot \left(\mathsf{PI}\left(\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right)\right) + \left(maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + xi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)} \]
      7. Step-by-step derivation
        1. lower-fma.f32N/A

          \[\leadsto \mathsf{fma}\left(2, \color{blue}{uy \cdot \left(yi \cdot \left(\mathsf{PI}\left(\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right)}, maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + xi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
      8. Applied rewrites81.8%

        \[\leadsto \color{blue}{\mathsf{fma}\left(2, uy \cdot \left(yi \cdot \left(\pi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right), \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right)} \]
      9. Taylor expanded in xi around inf

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

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

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

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

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

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

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

          \[\leadsto xi \cdot \left(\cos \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
        8. lower-acos.f32N/A

          \[\leadsto xi \cdot \left(\cos \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
        9. lower-*.f32N/A

          \[\leadsto xi \cdot \left(\cos \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
        10. lower-*.f32N/A

          \[\leadsto xi \cdot \left(\cos \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
        11. lower--.f3252.3

          \[\leadsto xi \cdot \left(\cos \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
      11. Applied rewrites52.3%

        \[\leadsto \color{blue}{xi \cdot \left(\cos \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)} \]
      12. Applied rewrites52.3%

        \[\leadsto \left(\sqrt{\mathsf{fma}\left(\left(ux - 1\right) \cdot maxCos, \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot ux, 1\right)} \cdot xi\right) \cdot \color{blue}{\cos \left(\left(uy + uy\right) \cdot \pi\right)} \]
    3. Recombined 2 regimes into one program.
    4. Add Preprocessing

    Alternative 11: 83.3% accurate, 1.9× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot ux\\ t_1 := \sqrt{\mathsf{fma}\left(maxCos \cdot \left(ux - 1\right), t\_0, 1\right)}\\ \mathbf{if}\;uy \leq 0.0035000001080334187:\\ \;\;\;\;\mathsf{fma}\left(\left(uy + uy\right) \cdot yi, t\_1 \cdot \pi, \mathsf{fma}\left(t\_1, xi, \left(\left(zi \cdot \left(1 - ux\right)\right) \cdot ux\right) \cdot maxCos\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt{\mathsf{fma}\left(\left(ux - 1\right) \cdot maxCos, t\_0, 1\right)} \cdot xi\right) \cdot \cos \left(\left(uy + uy\right) \cdot \pi\right)\\ \end{array} \end{array} \]
    (FPCore (xi yi zi ux uy maxCos)
     :precision binary32
     (let* ((t_0 (* (* (* (- 1.0 ux) maxCos) ux) ux))
            (t_1 (sqrt (fma (* maxCos (- ux 1.0)) t_0 1.0))))
       (if (<= uy 0.0035000001080334187)
         (fma
          (* (+ uy uy) yi)
          (* t_1 PI)
          (fma t_1 xi (* (* (* zi (- 1.0 ux)) ux) maxCos)))
         (*
          (* (sqrt (fma (* (- ux 1.0) maxCos) t_0 1.0)) xi)
          (cos (* (+ uy uy) PI))))))
    float code(float xi, float yi, float zi, float ux, float uy, float maxCos) {
    	float t_0 = (((1.0f - ux) * maxCos) * ux) * ux;
    	float t_1 = sqrtf(fmaf((maxCos * (ux - 1.0f)), t_0, 1.0f));
    	float tmp;
    	if (uy <= 0.0035000001080334187f) {
    		tmp = fmaf(((uy + uy) * yi), (t_1 * ((float) M_PI)), fmaf(t_1, xi, (((zi * (1.0f - ux)) * ux) * maxCos)));
    	} else {
    		tmp = (sqrtf(fmaf(((ux - 1.0f) * maxCos), t_0, 1.0f)) * xi) * cosf(((uy + uy) * ((float) M_PI)));
    	}
    	return tmp;
    }
    
    function code(xi, yi, zi, ux, uy, maxCos)
    	t_0 = Float32(Float32(Float32(Float32(Float32(1.0) - ux) * maxCos) * ux) * ux)
    	t_1 = sqrt(fma(Float32(maxCos * Float32(ux - Float32(1.0))), t_0, Float32(1.0)))
    	tmp = Float32(0.0)
    	if (uy <= Float32(0.0035000001080334187))
    		tmp = fma(Float32(Float32(uy + uy) * yi), Float32(t_1 * Float32(pi)), fma(t_1, xi, Float32(Float32(Float32(zi * Float32(Float32(1.0) - ux)) * ux) * maxCos)));
    	else
    		tmp = Float32(Float32(sqrt(fma(Float32(Float32(ux - Float32(1.0)) * maxCos), t_0, Float32(1.0))) * xi) * cos(Float32(Float32(uy + uy) * Float32(pi))));
    	end
    	return tmp
    end
    
    \begin{array}{l}
    
    \\
    \begin{array}{l}
    t_0 := \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot ux\\
    t_1 := \sqrt{\mathsf{fma}\left(maxCos \cdot \left(ux - 1\right), t\_0, 1\right)}\\
    \mathbf{if}\;uy \leq 0.0035000001080334187:\\
    \;\;\;\;\mathsf{fma}\left(\left(uy + uy\right) \cdot yi, t\_1 \cdot \pi, \mathsf{fma}\left(t\_1, xi, \left(\left(zi \cdot \left(1 - ux\right)\right) \cdot ux\right) \cdot maxCos\right)\right)\\
    
    \mathbf{else}:\\
    \;\;\;\;\left(\sqrt{\mathsf{fma}\left(\left(ux - 1\right) \cdot maxCos, t\_0, 1\right)} \cdot xi\right) \cdot \cos \left(\left(uy + uy\right) \cdot \pi\right)\\
    
    
    \end{array}
    \end{array}
    
    Derivation
    1. Split input into 2 regimes
    2. if uy < 0.00350000011

      1. Initial program 98.9%

        \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      2. Step-by-step derivation
        1. lift-sqrt.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        2. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{\color{blue}{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        3. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        4. sqr-neg-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right) \cdot \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        5. sin-acos-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        6. lower-sin.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        7. lower-acos.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \color{blue}{\cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        8. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux}\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        9. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right)} \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        10. associate-*l*N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right) \cdot \left(maxCos \cdot ux\right)}\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        11. distribute-lft-neg-inN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(\mathsf{neg}\left(\left(1 - ux\right)\right)\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        12. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right)}\right)\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        13. sub-negate-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        14. lower-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        15. lower--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        16. lower-*.f3298.9

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \color{blue}{\left(maxCos \cdot ux\right)}\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      3. Applied rewrites98.9%

        \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      4. Step-by-step derivation
        1. lift-sqrt.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        2. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{\color{blue}{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        3. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        4. sqr-neg-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right) \cdot \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        5. sin-acos-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        6. lower-sin.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        7. lower-acos.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \color{blue}{\cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        8. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux}\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        9. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right)} \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        10. associate-*l*N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right) \cdot \left(maxCos \cdot ux\right)}\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        11. distribute-lft-neg-inN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(\mathsf{neg}\left(\left(1 - ux\right)\right)\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        12. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right)}\right)\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        13. sub-negate-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        14. lower-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        15. lower--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        16. lower-*.f3298.9

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \color{blue}{\left(maxCos \cdot ux\right)}\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      5. Applied rewrites98.9%

        \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      6. Taylor expanded in uy around 0

        \[\leadsto \color{blue}{2 \cdot \left(uy \cdot \left(yi \cdot \left(\mathsf{PI}\left(\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right)\right) + \left(maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + xi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)} \]
      7. Step-by-step derivation
        1. lower-fma.f32N/A

          \[\leadsto \mathsf{fma}\left(2, \color{blue}{uy \cdot \left(yi \cdot \left(\mathsf{PI}\left(\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right)}, maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + xi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
      8. Applied rewrites81.8%

        \[\leadsto \color{blue}{\mathsf{fma}\left(2, uy \cdot \left(yi \cdot \left(\pi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right), \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right)} \]
      9. Applied rewrites81.8%

        \[\leadsto \mathsf{fma}\left(\left(uy + uy\right) \cdot yi, \color{blue}{\sqrt{\mathsf{fma}\left(maxCos \cdot \left(ux - 1\right), \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot ux, 1\right)} \cdot \pi}, \mathsf{fma}\left(\sqrt{\mathsf{fma}\left(maxCos \cdot \left(ux - 1\right), \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot ux, 1\right)}, xi, \left(\left(zi \cdot \left(1 - ux\right)\right) \cdot ux\right) \cdot maxCos\right)\right) \]

      if 0.00350000011 < uy

      1. Initial program 98.9%

        \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      2. Step-by-step derivation
        1. lift-sqrt.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        2. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{\color{blue}{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        3. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        4. sqr-neg-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right) \cdot \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        5. sin-acos-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        6. lower-sin.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        7. lower-acos.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \color{blue}{\cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        8. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux}\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        9. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right)} \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        10. associate-*l*N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right) \cdot \left(maxCos \cdot ux\right)}\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        11. distribute-lft-neg-inN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(\mathsf{neg}\left(\left(1 - ux\right)\right)\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        12. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right)}\right)\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        13. sub-negate-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        14. lower-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        15. lower--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        16. lower-*.f3298.9

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \color{blue}{\left(maxCos \cdot ux\right)}\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      3. Applied rewrites98.9%

        \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      4. Step-by-step derivation
        1. lift-sqrt.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        2. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{\color{blue}{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        3. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        4. sqr-neg-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right) \cdot \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        5. sin-acos-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        6. lower-sin.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        7. lower-acos.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \color{blue}{\cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        8. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux}\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        9. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right)} \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        10. associate-*l*N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right) \cdot \left(maxCos \cdot ux\right)}\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        11. distribute-lft-neg-inN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(\mathsf{neg}\left(\left(1 - ux\right)\right)\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        12. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right)}\right)\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        13. sub-negate-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        14. lower-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        15. lower--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        16. lower-*.f3298.9

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \color{blue}{\left(maxCos \cdot ux\right)}\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      5. Applied rewrites98.9%

        \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      6. Taylor expanded in uy around 0

        \[\leadsto \color{blue}{2 \cdot \left(uy \cdot \left(yi \cdot \left(\mathsf{PI}\left(\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right)\right) + \left(maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + xi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)} \]
      7. Step-by-step derivation
        1. lower-fma.f32N/A

          \[\leadsto \mathsf{fma}\left(2, \color{blue}{uy \cdot \left(yi \cdot \left(\mathsf{PI}\left(\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right)}, maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + xi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
      8. Applied rewrites81.8%

        \[\leadsto \color{blue}{\mathsf{fma}\left(2, uy \cdot \left(yi \cdot \left(\pi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right), \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right)} \]
      9. Taylor expanded in xi around inf

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

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

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

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

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

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

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

          \[\leadsto xi \cdot \left(\cos \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
        8. lower-acos.f32N/A

          \[\leadsto xi \cdot \left(\cos \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
        9. lower-*.f32N/A

          \[\leadsto xi \cdot \left(\cos \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
        10. lower-*.f32N/A

          \[\leadsto xi \cdot \left(\cos \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
        11. lower--.f3252.3

          \[\leadsto xi \cdot \left(\cos \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
      11. Applied rewrites52.3%

        \[\leadsto \color{blue}{xi \cdot \left(\cos \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)} \]
      12. Applied rewrites52.3%

        \[\leadsto \left(\sqrt{\mathsf{fma}\left(\left(ux - 1\right) \cdot maxCos, \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot ux, 1\right)} \cdot xi\right) \cdot \color{blue}{\cos \left(\left(uy + uy\right) \cdot \pi\right)} \]
    3. Recombined 2 regimes into one program.
    4. Add Preprocessing

    Alternative 12: 83.3% accurate, 1.9× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\\ t_1 := t\_0 \cdot ux\\ t_2 := \sqrt{\mathsf{fma}\left(maxCos \cdot \left(ux - 1\right), t\_1, 1\right)}\\ \mathbf{if}\;uy \leq 0.0035000001080334187:\\ \;\;\;\;\mathsf{fma}\left(t\_0, zi, \mathsf{fma}\left(t\_2, xi, \left(\left(uy + uy\right) \cdot \left(yi \cdot \pi\right)\right) \cdot t\_2\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt{\mathsf{fma}\left(\left(ux - 1\right) \cdot maxCos, t\_1, 1\right)} \cdot xi\right) \cdot \cos \left(\left(uy + uy\right) \cdot \pi\right)\\ \end{array} \end{array} \]
    (FPCore (xi yi zi ux uy maxCos)
     :precision binary32
     (let* ((t_0 (* (* (- 1.0 ux) maxCos) ux))
            (t_1 (* t_0 ux))
            (t_2 (sqrt (fma (* maxCos (- ux 1.0)) t_1 1.0))))
       (if (<= uy 0.0035000001080334187)
         (fma t_0 zi (fma t_2 xi (* (* (+ uy uy) (* yi PI)) t_2)))
         (*
          (* (sqrt (fma (* (- ux 1.0) maxCos) t_1 1.0)) xi)
          (cos (* (+ uy uy) PI))))))
    float code(float xi, float yi, float zi, float ux, float uy, float maxCos) {
    	float t_0 = ((1.0f - ux) * maxCos) * ux;
    	float t_1 = t_0 * ux;
    	float t_2 = sqrtf(fmaf((maxCos * (ux - 1.0f)), t_1, 1.0f));
    	float tmp;
    	if (uy <= 0.0035000001080334187f) {
    		tmp = fmaf(t_0, zi, fmaf(t_2, xi, (((uy + uy) * (yi * ((float) M_PI))) * t_2)));
    	} else {
    		tmp = (sqrtf(fmaf(((ux - 1.0f) * maxCos), t_1, 1.0f)) * xi) * cosf(((uy + uy) * ((float) M_PI)));
    	}
    	return tmp;
    }
    
    function code(xi, yi, zi, ux, uy, maxCos)
    	t_0 = Float32(Float32(Float32(Float32(1.0) - ux) * maxCos) * ux)
    	t_1 = Float32(t_0 * ux)
    	t_2 = sqrt(fma(Float32(maxCos * Float32(ux - Float32(1.0))), t_1, Float32(1.0)))
    	tmp = Float32(0.0)
    	if (uy <= Float32(0.0035000001080334187))
    		tmp = fma(t_0, zi, fma(t_2, xi, Float32(Float32(Float32(uy + uy) * Float32(yi * Float32(pi))) * t_2)));
    	else
    		tmp = Float32(Float32(sqrt(fma(Float32(Float32(ux - Float32(1.0)) * maxCos), t_1, Float32(1.0))) * xi) * cos(Float32(Float32(uy + uy) * Float32(pi))));
    	end
    	return tmp
    end
    
    \begin{array}{l}
    
    \\
    \begin{array}{l}
    t_0 := \left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\\
    t_1 := t\_0 \cdot ux\\
    t_2 := \sqrt{\mathsf{fma}\left(maxCos \cdot \left(ux - 1\right), t\_1, 1\right)}\\
    \mathbf{if}\;uy \leq 0.0035000001080334187:\\
    \;\;\;\;\mathsf{fma}\left(t\_0, zi, \mathsf{fma}\left(t\_2, xi, \left(\left(uy + uy\right) \cdot \left(yi \cdot \pi\right)\right) \cdot t\_2\right)\right)\\
    
    \mathbf{else}:\\
    \;\;\;\;\left(\sqrt{\mathsf{fma}\left(\left(ux - 1\right) \cdot maxCos, t\_1, 1\right)} \cdot xi\right) \cdot \cos \left(\left(uy + uy\right) \cdot \pi\right)\\
    
    
    \end{array}
    \end{array}
    
    Derivation
    1. Split input into 2 regimes
    2. if uy < 0.00350000011

      1. Initial program 98.9%

        \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      2. Step-by-step derivation
        1. lift-sqrt.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        2. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{\color{blue}{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        3. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        4. sqr-neg-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right) \cdot \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        5. sin-acos-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        6. lower-sin.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        7. lower-acos.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \color{blue}{\cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        8. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux}\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        9. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right)} \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        10. associate-*l*N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right) \cdot \left(maxCos \cdot ux\right)}\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        11. distribute-lft-neg-inN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(\mathsf{neg}\left(\left(1 - ux\right)\right)\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        12. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right)}\right)\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        13. sub-negate-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        14. lower-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        15. lower--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        16. lower-*.f3298.9

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \color{blue}{\left(maxCos \cdot ux\right)}\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      3. Applied rewrites98.9%

        \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      4. Step-by-step derivation
        1. lift-sqrt.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        2. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{\color{blue}{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        3. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        4. sqr-neg-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right) \cdot \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        5. sin-acos-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        6. lower-sin.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        7. lower-acos.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \color{blue}{\cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        8. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux}\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        9. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right)} \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        10. associate-*l*N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right) \cdot \left(maxCos \cdot ux\right)}\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        11. distribute-lft-neg-inN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(\mathsf{neg}\left(\left(1 - ux\right)\right)\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        12. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right)}\right)\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        13. sub-negate-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        14. lower-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        15. lower--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        16. lower-*.f3298.9

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \color{blue}{\left(maxCos \cdot ux\right)}\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      5. Applied rewrites98.9%

        \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      6. Taylor expanded in uy around 0

        \[\leadsto \color{blue}{2 \cdot \left(uy \cdot \left(yi \cdot \left(\mathsf{PI}\left(\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right)\right) + \left(maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + xi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)} \]
      7. Step-by-step derivation
        1. lower-fma.f32N/A

          \[\leadsto \mathsf{fma}\left(2, \color{blue}{uy \cdot \left(yi \cdot \left(\mathsf{PI}\left(\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right)}, maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + xi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
      8. Applied rewrites81.8%

        \[\leadsto \color{blue}{\mathsf{fma}\left(2, uy \cdot \left(yi \cdot \left(\pi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right), \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right)} \]
      9. Applied rewrites81.8%

        \[\leadsto \mathsf{fma}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux, \color{blue}{zi}, \mathsf{fma}\left(\sqrt{\mathsf{fma}\left(maxCos \cdot \left(ux - 1\right), \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot ux, 1\right)}, xi, \left(\left(uy + uy\right) \cdot \left(yi \cdot \pi\right)\right) \cdot \sqrt{\mathsf{fma}\left(maxCos \cdot \left(ux - 1\right), \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot ux, 1\right)}\right)\right) \]

      if 0.00350000011 < uy

      1. Initial program 98.9%

        \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      2. Step-by-step derivation
        1. lift-sqrt.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        2. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{\color{blue}{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        3. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        4. sqr-neg-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right) \cdot \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        5. sin-acos-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        6. lower-sin.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        7. lower-acos.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \color{blue}{\cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        8. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux}\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        9. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right)} \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        10. associate-*l*N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right) \cdot \left(maxCos \cdot ux\right)}\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        11. distribute-lft-neg-inN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(\mathsf{neg}\left(\left(1 - ux\right)\right)\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        12. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right)}\right)\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        13. sub-negate-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        14. lower-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        15. lower--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        16. lower-*.f3298.9

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \color{blue}{\left(maxCos \cdot ux\right)}\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      3. Applied rewrites98.9%

        \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      4. Step-by-step derivation
        1. lift-sqrt.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        2. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{\color{blue}{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        3. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        4. sqr-neg-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right) \cdot \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        5. sin-acos-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        6. lower-sin.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        7. lower-acos.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \color{blue}{\cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        8. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux}\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        9. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right)} \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        10. associate-*l*N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right) \cdot \left(maxCos \cdot ux\right)}\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        11. distribute-lft-neg-inN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(\mathsf{neg}\left(\left(1 - ux\right)\right)\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        12. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right)}\right)\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        13. sub-negate-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        14. lower-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        15. lower--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        16. lower-*.f3298.9

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \color{blue}{\left(maxCos \cdot ux\right)}\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      5. Applied rewrites98.9%

        \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      6. Taylor expanded in uy around 0

        \[\leadsto \color{blue}{2 \cdot \left(uy \cdot \left(yi \cdot \left(\mathsf{PI}\left(\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right)\right) + \left(maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + xi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)} \]
      7. Step-by-step derivation
        1. lower-fma.f32N/A

          \[\leadsto \mathsf{fma}\left(2, \color{blue}{uy \cdot \left(yi \cdot \left(\mathsf{PI}\left(\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right)}, maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + xi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
      8. Applied rewrites81.8%

        \[\leadsto \color{blue}{\mathsf{fma}\left(2, uy \cdot \left(yi \cdot \left(\pi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right), \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right)} \]
      9. Taylor expanded in xi around inf

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

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

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

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

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

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

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

          \[\leadsto xi \cdot \left(\cos \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
        8. lower-acos.f32N/A

          \[\leadsto xi \cdot \left(\cos \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
        9. lower-*.f32N/A

          \[\leadsto xi \cdot \left(\cos \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
        10. lower-*.f32N/A

          \[\leadsto xi \cdot \left(\cos \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
        11. lower--.f3252.3

          \[\leadsto xi \cdot \left(\cos \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
      11. Applied rewrites52.3%

        \[\leadsto \color{blue}{xi \cdot \left(\cos \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)} \]
      12. Applied rewrites52.3%

        \[\leadsto \left(\sqrt{\mathsf{fma}\left(\left(ux - 1\right) \cdot maxCos, \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot ux, 1\right)} \cdot xi\right) \cdot \color{blue}{\cos \left(\left(uy + uy\right) \cdot \pi\right)} \]
    3. Recombined 2 regimes into one program.
    4. Add Preprocessing

    Alternative 13: 72.2% accurate, 2.0× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left(\sqrt{\mathsf{fma}\left(\left(ux - 1\right) \cdot maxCos, \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot ux, 1\right)} \cdot xi\right) \cdot \cos \left(\left(uy + uy\right) \cdot \pi\right)\\ \mathbf{if}\;xi \leq -2.9999999050033628 \cdot 10^{-15}:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;xi \leq 9.999999682655225 \cdot 10^{-21}:\\ \;\;\;\;\mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;t\_0\\ \end{array} \end{array} \]
    (FPCore (xi yi zi ux uy maxCos)
     :precision binary32
     (let* ((t_0
             (*
              (*
               (sqrt
                (fma
                 (* (- ux 1.0) maxCos)
                 (* (* (* (- 1.0 ux) maxCos) ux) ux)
                 1.0))
               xi)
              (cos (* (+ uy uy) PI)))))
       (if (<= xi -2.9999999050033628e-15)
         t_0
         (if (<= xi 9.999999682655225e-21)
           (fma (sin (* 2.0 (* uy PI))) yi (* maxCos (* ux (* zi (- 1.0 ux)))))
           t_0))))
    float code(float xi, float yi, float zi, float ux, float uy, float maxCos) {
    	float t_0 = (sqrtf(fmaf(((ux - 1.0f) * maxCos), ((((1.0f - ux) * maxCos) * ux) * ux), 1.0f)) * xi) * cosf(((uy + uy) * ((float) M_PI)));
    	float tmp;
    	if (xi <= -2.9999999050033628e-15f) {
    		tmp = t_0;
    	} else if (xi <= 9.999999682655225e-21f) {
    		tmp = fmaf(sinf((2.0f * (uy * ((float) M_PI)))), yi, (maxCos * (ux * (zi * (1.0f - ux)))));
    	} else {
    		tmp = t_0;
    	}
    	return tmp;
    }
    
    function code(xi, yi, zi, ux, uy, maxCos)
    	t_0 = Float32(Float32(sqrt(fma(Float32(Float32(ux - Float32(1.0)) * maxCos), Float32(Float32(Float32(Float32(Float32(1.0) - ux) * maxCos) * ux) * ux), Float32(1.0))) * xi) * cos(Float32(Float32(uy + uy) * Float32(pi))))
    	tmp = Float32(0.0)
    	if (xi <= Float32(-2.9999999050033628e-15))
    		tmp = t_0;
    	elseif (xi <= Float32(9.999999682655225e-21))
    		tmp = fma(sin(Float32(Float32(2.0) * Float32(uy * Float32(pi)))), yi, Float32(maxCos * Float32(ux * Float32(zi * Float32(Float32(1.0) - ux)))));
    	else
    		tmp = t_0;
    	end
    	return tmp
    end
    
    \begin{array}{l}
    
    \\
    \begin{array}{l}
    t_0 := \left(\sqrt{\mathsf{fma}\left(\left(ux - 1\right) \cdot maxCos, \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot ux, 1\right)} \cdot xi\right) \cdot \cos \left(\left(uy + uy\right) \cdot \pi\right)\\
    \mathbf{if}\;xi \leq -2.9999999050033628 \cdot 10^{-15}:\\
    \;\;\;\;t\_0\\
    
    \mathbf{elif}\;xi \leq 9.999999682655225 \cdot 10^{-21}:\\
    \;\;\;\;\mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right)\right)\\
    
    \mathbf{else}:\\
    \;\;\;\;t\_0\\
    
    
    \end{array}
    \end{array}
    
    Derivation
    1. Split input into 2 regimes
    2. if xi < -2.99999991e-15 or 9.99999968e-21 < xi

      1. Initial program 98.9%

        \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      2. Step-by-step derivation
        1. lift-sqrt.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        2. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{\color{blue}{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        3. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        4. sqr-neg-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right) \cdot \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        5. sin-acos-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        6. lower-sin.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        7. lower-acos.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \color{blue}{\cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        8. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux}\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        9. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right)} \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        10. associate-*l*N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right) \cdot \left(maxCos \cdot ux\right)}\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        11. distribute-lft-neg-inN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(\mathsf{neg}\left(\left(1 - ux\right)\right)\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        12. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right)}\right)\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        13. sub-negate-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        14. lower-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        15. lower--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        16. lower-*.f3298.9

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \color{blue}{\left(maxCos \cdot ux\right)}\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      3. Applied rewrites98.9%

        \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      4. Step-by-step derivation
        1. lift-sqrt.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        2. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{\color{blue}{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        3. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        4. sqr-neg-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \color{blue}{\left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right) \cdot \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        5. sin-acos-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        6. lower-sin.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        7. lower-acos.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \color{blue}{\cos^{-1} \left(\mathsf{neg}\left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        8. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux}\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        9. lift-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(\left(1 - ux\right) \cdot maxCos\right)} \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        10. associate-*l*N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right) \cdot \left(maxCos \cdot ux\right)}\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        11. distribute-lft-neg-inN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(\mathsf{neg}\left(\left(1 - ux\right)\right)\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        12. lift--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(\mathsf{neg}\left(\color{blue}{\left(1 - ux\right)}\right)\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        13. sub-negate-revN/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        14. lower-*.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \color{blue}{\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        15. lower--.f32N/A

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\color{blue}{\left(ux - 1\right)} \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
        16. lower-*.f3298.9

          \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \color{blue}{\left(maxCos \cdot ux\right)}\right)\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      5. Applied rewrites98.9%

        \[\leadsto \left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \color{blue}{\sin \cos^{-1} \left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      6. Taylor expanded in uy around 0

        \[\leadsto \color{blue}{2 \cdot \left(uy \cdot \left(yi \cdot \left(\mathsf{PI}\left(\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right)\right) + \left(maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + xi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)} \]
      7. Step-by-step derivation
        1. lower-fma.f32N/A

          \[\leadsto \mathsf{fma}\left(2, \color{blue}{uy \cdot \left(yi \cdot \left(\mathsf{PI}\left(\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right)}, maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + xi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
      8. Applied rewrites81.8%

        \[\leadsto \color{blue}{\mathsf{fma}\left(2, uy \cdot \left(yi \cdot \left(\pi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right), \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)\right)} \]
      9. Taylor expanded in xi around inf

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

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

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

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

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

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

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

          \[\leadsto xi \cdot \left(\cos \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
        8. lower-acos.f32N/A

          \[\leadsto xi \cdot \left(\cos \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
        9. lower-*.f32N/A

          \[\leadsto xi \cdot \left(\cos \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
        10. lower-*.f32N/A

          \[\leadsto xi \cdot \left(\cos \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
        11. lower--.f3252.3

          \[\leadsto xi \cdot \left(\cos \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right) \]
      11. Applied rewrites52.3%

        \[\leadsto \color{blue}{xi \cdot \left(\cos \left(2 \cdot \left(uy \cdot \pi\right)\right) \cdot \sin \cos^{-1} \left(maxCos \cdot \left(ux \cdot \left(ux - 1\right)\right)\right)\right)} \]
      12. Applied rewrites52.3%

        \[\leadsto \left(\sqrt{\mathsf{fma}\left(\left(ux - 1\right) \cdot maxCos, \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot ux, 1\right)} \cdot xi\right) \cdot \color{blue}{\cos \left(\left(uy + uy\right) \cdot \pi\right)} \]

      if -2.99999991e-15 < xi < 9.99999968e-21

      1. Initial program 98.9%

        \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      2. Applied rewrites99.0%

        \[\leadsto \color{blue}{\mathsf{fma}\left(\sin \left(\pi \cdot \left(uy + uy\right)\right) \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right)} \]
      3. Taylor expanded in ux around 0

        \[\leadsto \mathsf{fma}\left(\color{blue}{\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)}, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
      4. Step-by-step derivation
        1. lower-sin.f32N/A

          \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
        2. lower-*.f32N/A

          \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
        3. lower-*.f32N/A

          \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
        4. lower-PI.f3298.9

          \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
      5. Applied rewrites98.9%

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

        \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \color{blue}{maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right)}\right) \]
      7. Step-by-step derivation
        1. lower-*.f32N/A

          \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, maxCos \cdot \color{blue}{\left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right)}\right) \]
        2. lower-*.f32N/A

          \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, maxCos \cdot \left(ux \cdot \color{blue}{\left(zi \cdot \left(1 - ux\right)\right)}\right)\right) \]
        3. lower-*.f32N/A

          \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, maxCos \cdot \left(ux \cdot \left(zi \cdot \color{blue}{\left(1 - ux\right)}\right)\right)\right) \]
        4. lower--.f3244.9

          \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - \color{blue}{ux}\right)\right)\right)\right) \]
      8. Applied rewrites44.9%

        \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \color{blue}{maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right)}\right) \]
    3. Recombined 2 regimes into one program.
    4. Add Preprocessing

    Alternative 14: 66.4% accurate, 2.4× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} t_0 := zi \cdot \left(1 - ux\right)\\ t_1 := \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, maxCos \cdot \left(ux \cdot t\_0\right)\right)\\ \mathbf{if}\;yi \leq -4.999999858590343 \cdot 10^{-10}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;yi \leq 9.9999998245167 \cdot 10^{-14}:\\ \;\;\;\;\mathsf{fma}\left(\sqrt{\mathsf{fma}\left(\left(maxCos \cdot \left(ux - 1\right)\right) \cdot \left(\left(1 - ux\right) \cdot ux\right), maxCos \cdot ux, 1\right)}, xi, \left(t\_0 \cdot maxCos\right) \cdot ux\right)\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
    (FPCore (xi yi zi ux uy maxCos)
     :precision binary32
     (let* ((t_0 (* zi (- 1.0 ux)))
            (t_1 (fma (sin (* 2.0 (* uy PI))) yi (* maxCos (* ux t_0)))))
       (if (<= yi -4.999999858590343e-10)
         t_1
         (if (<= yi 9.9999998245167e-14)
           (fma
            (sqrt
             (fma (* (* maxCos (- ux 1.0)) (* (- 1.0 ux) ux)) (* maxCos ux) 1.0))
            xi
            (* (* t_0 maxCos) ux))
           t_1))))
    float code(float xi, float yi, float zi, float ux, float uy, float maxCos) {
    	float t_0 = zi * (1.0f - ux);
    	float t_1 = fmaf(sinf((2.0f * (uy * ((float) M_PI)))), yi, (maxCos * (ux * t_0)));
    	float tmp;
    	if (yi <= -4.999999858590343e-10f) {
    		tmp = t_1;
    	} else if (yi <= 9.9999998245167e-14f) {
    		tmp = fmaf(sqrtf(fmaf(((maxCos * (ux - 1.0f)) * ((1.0f - ux) * ux)), (maxCos * ux), 1.0f)), xi, ((t_0 * maxCos) * ux));
    	} else {
    		tmp = t_1;
    	}
    	return tmp;
    }
    
    function code(xi, yi, zi, ux, uy, maxCos)
    	t_0 = Float32(zi * Float32(Float32(1.0) - ux))
    	t_1 = fma(sin(Float32(Float32(2.0) * Float32(uy * Float32(pi)))), yi, Float32(maxCos * Float32(ux * t_0)))
    	tmp = Float32(0.0)
    	if (yi <= Float32(-4.999999858590343e-10))
    		tmp = t_1;
    	elseif (yi <= Float32(9.9999998245167e-14))
    		tmp = fma(sqrt(fma(Float32(Float32(maxCos * Float32(ux - Float32(1.0))) * Float32(Float32(Float32(1.0) - ux) * ux)), Float32(maxCos * ux), Float32(1.0))), xi, Float32(Float32(t_0 * maxCos) * ux));
    	else
    		tmp = t_1;
    	end
    	return tmp
    end
    
    \begin{array}{l}
    
    \\
    \begin{array}{l}
    t_0 := zi \cdot \left(1 - ux\right)\\
    t_1 := \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, maxCos \cdot \left(ux \cdot t\_0\right)\right)\\
    \mathbf{if}\;yi \leq -4.999999858590343 \cdot 10^{-10}:\\
    \;\;\;\;t\_1\\
    
    \mathbf{elif}\;yi \leq 9.9999998245167 \cdot 10^{-14}:\\
    \;\;\;\;\mathsf{fma}\left(\sqrt{\mathsf{fma}\left(\left(maxCos \cdot \left(ux - 1\right)\right) \cdot \left(\left(1 - ux\right) \cdot ux\right), maxCos \cdot ux, 1\right)}, xi, \left(t\_0 \cdot maxCos\right) \cdot ux\right)\\
    
    \mathbf{else}:\\
    \;\;\;\;t\_1\\
    
    
    \end{array}
    \end{array}
    
    Derivation
    1. Split input into 2 regimes
    2. if yi < -4.99999986e-10 or 9.99999982e-14 < yi

      1. Initial program 98.9%

        \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      2. Applied rewrites99.0%

        \[\leadsto \color{blue}{\mathsf{fma}\left(\sin \left(\pi \cdot \left(uy + uy\right)\right) \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right)} \]
      3. Taylor expanded in ux around 0

        \[\leadsto \mathsf{fma}\left(\color{blue}{\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right)}, yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
      4. Step-by-step derivation
        1. lower-sin.f32N/A

          \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
        2. lower-*.f32N/A

          \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
        3. lower-*.f32N/A

          \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \mathsf{PI}\left(\right)\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
        4. lower-PI.f3298.9

          \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \mathsf{fma}\left(\cos \left(\pi \cdot \left(uy + uy\right)\right), xi \cdot \sqrt{\mathsf{fma}\left(\left(\left(ux - 1\right) \cdot \left(maxCos \cdot ux\right)\right) \cdot \left(1 - ux\right), maxCos \cdot ux, 1\right)}, zi \cdot \left(\left(maxCos \cdot \left(1 - ux\right)\right) \cdot ux\right)\right)\right) \]
      5. Applied rewrites98.9%

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

        \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \color{blue}{maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right)}\right) \]
      7. Step-by-step derivation
        1. lower-*.f32N/A

          \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, maxCos \cdot \color{blue}{\left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right)}\right) \]
        2. lower-*.f32N/A

          \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, maxCos \cdot \left(ux \cdot \color{blue}{\left(zi \cdot \left(1 - ux\right)\right)}\right)\right) \]
        3. lower-*.f32N/A

          \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, maxCos \cdot \left(ux \cdot \left(zi \cdot \color{blue}{\left(1 - ux\right)}\right)\right)\right) \]
        4. lower--.f3244.9

          \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - \color{blue}{ux}\right)\right)\right)\right) \]
      8. Applied rewrites44.9%

        \[\leadsto \mathsf{fma}\left(\sin \left(2 \cdot \left(uy \cdot \pi\right)\right), yi, \color{blue}{maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right)}\right) \]

      if -4.99999986e-10 < yi < 9.99999982e-14

      1. Initial program 98.9%

        \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
      2. Taylor expanded in uy around 0

        \[\leadsto \color{blue}{maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}} \]
      3. Step-by-step derivation
        1. lower-fma.f32N/A

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

          \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \color{blue}{\left(zi \cdot \left(1 - ux\right)\right)}, xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
        3. lower-*.f32N/A

          \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \color{blue}{\left(1 - ux\right)}\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
        4. lower--.f32N/A

          \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - \color{blue}{ux}\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
        5. lower-*.f32N/A

          \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
        6. lower-sqrt.f32N/A

          \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
        7. lower--.f32N/A

          \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      4. Applied rewrites50.7%

        \[\leadsto \color{blue}{\mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right)} \]
      5. Applied rewrites50.7%

        \[\leadsto \mathsf{fma}\left(\sqrt{\mathsf{fma}\left(\left(maxCos \cdot \left(ux - 1\right)\right) \cdot \left(\left(1 - ux\right) \cdot ux\right), maxCos \cdot ux, 1\right)}, \color{blue}{xi}, \left(\left(zi \cdot \left(1 - ux\right)\right) \cdot maxCos\right) \cdot ux\right) \]
    3. Recombined 2 regimes into one program.
    4. Add Preprocessing

    Alternative 15: 50.7% accurate, 3.8× speedup?

    \[\begin{array}{l} \\ \mathsf{fma}\left(\sqrt{\mathsf{fma}\left(\left(maxCos \cdot \left(ux - 1\right)\right) \cdot \left(\left(1 - ux\right) \cdot ux\right), maxCos \cdot ux, 1\right)}, xi, \left(\left(zi \cdot \left(1 - ux\right)\right) \cdot maxCos\right) \cdot ux\right) \end{array} \]
    (FPCore (xi yi zi ux uy maxCos)
     :precision binary32
     (fma
      (sqrt (fma (* (* maxCos (- ux 1.0)) (* (- 1.0 ux) ux)) (* maxCos ux) 1.0))
      xi
      (* (* (* zi (- 1.0 ux)) maxCos) ux)))
    float code(float xi, float yi, float zi, float ux, float uy, float maxCos) {
    	return fmaf(sqrtf(fmaf(((maxCos * (ux - 1.0f)) * ((1.0f - ux) * ux)), (maxCos * ux), 1.0f)), xi, (((zi * (1.0f - ux)) * maxCos) * ux));
    }
    
    function code(xi, yi, zi, ux, uy, maxCos)
    	return fma(sqrt(fma(Float32(Float32(maxCos * Float32(ux - Float32(1.0))) * Float32(Float32(Float32(1.0) - ux) * ux)), Float32(maxCos * ux), Float32(1.0))), xi, Float32(Float32(Float32(zi * Float32(Float32(1.0) - ux)) * maxCos) * ux))
    end
    
    \begin{array}{l}
    
    \\
    \mathsf{fma}\left(\sqrt{\mathsf{fma}\left(\left(maxCos \cdot \left(ux - 1\right)\right) \cdot \left(\left(1 - ux\right) \cdot ux\right), maxCos \cdot ux, 1\right)}, xi, \left(\left(zi \cdot \left(1 - ux\right)\right) \cdot maxCos\right) \cdot ux\right)
    \end{array}
    
    Derivation
    1. Initial program 98.9%

      \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
    2. Taylor expanded in uy around 0

      \[\leadsto \color{blue}{maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}} \]
    3. Step-by-step derivation
      1. lower-fma.f32N/A

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

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \color{blue}{\left(zi \cdot \left(1 - ux\right)\right)}, xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      3. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \color{blue}{\left(1 - ux\right)}\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      4. lower--.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - \color{blue}{ux}\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      5. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      6. lower-sqrt.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      7. lower--.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
    4. Applied rewrites50.7%

      \[\leadsto \color{blue}{\mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right)} \]
    5. Applied rewrites50.7%

      \[\leadsto \mathsf{fma}\left(\sqrt{\mathsf{fma}\left(\left(maxCos \cdot \left(ux - 1\right)\right) \cdot \left(\left(1 - ux\right) \cdot ux\right), maxCos \cdot ux, 1\right)}, \color{blue}{xi}, \left(\left(zi \cdot \left(1 - ux\right)\right) \cdot maxCos\right) \cdot ux\right) \]
    6. Add Preprocessing

    Alternative 16: 50.6% accurate, 4.9× speedup?

    \[\begin{array}{l} \\ xi + \mathsf{fma}\left(zi \cdot maxCos, ux, \left(\left(\left(\left(maxCos \cdot maxCos\right) \cdot xi\right) \cdot -0.5 - zi \cdot maxCos\right) \cdot ux\right) \cdot ux\right) \end{array} \]
    (FPCore (xi yi zi ux uy maxCos)
     :precision binary32
     (+
      xi
      (fma
       (* zi maxCos)
       ux
       (* (* (- (* (* (* maxCos maxCos) xi) -0.5) (* zi maxCos)) ux) ux))))
    float code(float xi, float yi, float zi, float ux, float uy, float maxCos) {
    	return xi + fmaf((zi * maxCos), ux, ((((((maxCos * maxCos) * xi) * -0.5f) - (zi * maxCos)) * ux) * ux));
    }
    
    function code(xi, yi, zi, ux, uy, maxCos)
    	return Float32(xi + fma(Float32(zi * maxCos), ux, Float32(Float32(Float32(Float32(Float32(Float32(maxCos * maxCos) * xi) * Float32(-0.5)) - Float32(zi * maxCos)) * ux) * ux)))
    end
    
    \begin{array}{l}
    
    \\
    xi + \mathsf{fma}\left(zi \cdot maxCos, ux, \left(\left(\left(\left(maxCos \cdot maxCos\right) \cdot xi\right) \cdot -0.5 - zi \cdot maxCos\right) \cdot ux\right) \cdot ux\right)
    \end{array}
    
    Derivation
    1. Initial program 98.9%

      \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
    2. Taylor expanded in uy around 0

      \[\leadsto \color{blue}{maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}} \]
    3. Step-by-step derivation
      1. lower-fma.f32N/A

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

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \color{blue}{\left(zi \cdot \left(1 - ux\right)\right)}, xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      3. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \color{blue}{\left(1 - ux\right)}\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      4. lower--.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - \color{blue}{ux}\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      5. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      6. lower-sqrt.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      7. lower--.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
    4. Applied rewrites50.7%

      \[\leadsto \color{blue}{\mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right)} \]
    5. Taylor expanded in ux around 0

      \[\leadsto xi + \color{blue}{ux \cdot \left(maxCos \cdot zi + ux \cdot \left(-1 \cdot \left(maxCos \cdot zi\right) + \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right)} \]
    6. Step-by-step derivation
      1. lower-+.f32N/A

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

        \[\leadsto xi + ux \cdot \left(maxCos \cdot zi + \color{blue}{ux \cdot \left(-1 \cdot \left(maxCos \cdot zi\right) + \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)}\right) \]
      3. lower-fma.f32N/A

        \[\leadsto xi + ux \cdot \mathsf{fma}\left(maxCos, zi, ux \cdot \left(-1 \cdot \left(maxCos \cdot zi\right) + \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \]
      4. lower-*.f32N/A

        \[\leadsto xi + ux \cdot \mathsf{fma}\left(maxCos, zi, ux \cdot \left(-1 \cdot \left(maxCos \cdot zi\right) + \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \]
      5. lower-fma.f32N/A

        \[\leadsto xi + ux \cdot \mathsf{fma}\left(maxCos, zi, ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \]
      6. lower-*.f32N/A

        \[\leadsto xi + ux \cdot \mathsf{fma}\left(maxCos, zi, ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \]
      7. lower-*.f32N/A

        \[\leadsto xi + ux \cdot \mathsf{fma}\left(maxCos, zi, ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \]
      8. lower-*.f32N/A

        \[\leadsto xi + ux \cdot \mathsf{fma}\left(maxCos, zi, ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \]
      9. lower-pow.f3250.6

        \[\leadsto xi + ux \cdot \mathsf{fma}\left(maxCos, zi, ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, -0.5 \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \]
    7. Applied rewrites50.6%

      \[\leadsto xi + \color{blue}{ux \cdot \mathsf{fma}\left(maxCos, zi, ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, -0.5 \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right)} \]
    8. Step-by-step derivation
      1. lift-*.f32N/A

        \[\leadsto xi + ux \cdot \mathsf{fma}\left(maxCos, \color{blue}{zi}, ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \]
      2. lift-fma.f32N/A

        \[\leadsto xi + ux \cdot \left(maxCos \cdot zi + ux \cdot \color{blue}{\mathsf{fma}\left(-1, maxCos \cdot zi, \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)}\right) \]
      3. lift-*.f32N/A

        \[\leadsto xi + ux \cdot \left(maxCos \cdot zi + ux \cdot \mathsf{fma}\left(\color{blue}{-1}, maxCos \cdot zi, \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \]
      4. distribute-rgt-inN/A

        \[\leadsto xi + \left(\left(maxCos \cdot zi\right) \cdot ux + \left(ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \cdot \color{blue}{ux}\right) \]
      5. lower-fma.f32N/A

        \[\leadsto xi + \mathsf{fma}\left(maxCos \cdot zi, ux, \left(ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \cdot ux\right) \]
      6. lift-*.f32N/A

        \[\leadsto xi + \mathsf{fma}\left(maxCos \cdot zi, ux, \left(ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \cdot ux\right) \]
      7. *-commutativeN/A

        \[\leadsto xi + \mathsf{fma}\left(zi \cdot maxCos, ux, \left(ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \cdot ux\right) \]
      8. lower-*.f32N/A

        \[\leadsto xi + \mathsf{fma}\left(zi \cdot maxCos, ux, \left(ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \cdot ux\right) \]
      9. lower-*.f3250.6

        \[\leadsto xi + \mathsf{fma}\left(zi \cdot maxCos, ux, \left(ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, -0.5 \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \cdot ux\right) \]
    9. Applied rewrites50.6%

      \[\leadsto xi + \mathsf{fma}\left(zi \cdot maxCos, ux, \left(\left(\left(\left(maxCos \cdot maxCos\right) \cdot xi\right) \cdot -0.5 - zi \cdot maxCos\right) \cdot ux\right) \cdot ux\right) \]
    10. Add Preprocessing

    Alternative 17: 50.6% accurate, 5.5× speedup?

    \[\begin{array}{l} \\ \mathsf{fma}\left(\mathsf{fma}\left(\left(\left(maxCos \cdot maxCos\right) \cdot xi\right) \cdot -0.5 - zi \cdot maxCos, ux, zi \cdot maxCos\right), ux, xi\right) \end{array} \]
    (FPCore (xi yi zi ux uy maxCos)
     :precision binary32
     (fma
      (fma (- (* (* (* maxCos maxCos) xi) -0.5) (* zi maxCos)) ux (* zi maxCos))
      ux
      xi))
    float code(float xi, float yi, float zi, float ux, float uy, float maxCos) {
    	return fmaf(fmaf(((((maxCos * maxCos) * xi) * -0.5f) - (zi * maxCos)), ux, (zi * maxCos)), ux, xi);
    }
    
    function code(xi, yi, zi, ux, uy, maxCos)
    	return fma(fma(Float32(Float32(Float32(Float32(maxCos * maxCos) * xi) * Float32(-0.5)) - Float32(zi * maxCos)), ux, Float32(zi * maxCos)), ux, xi)
    end
    
    \begin{array}{l}
    
    \\
    \mathsf{fma}\left(\mathsf{fma}\left(\left(\left(maxCos \cdot maxCos\right) \cdot xi\right) \cdot -0.5 - zi \cdot maxCos, ux, zi \cdot maxCos\right), ux, xi\right)
    \end{array}
    
    Derivation
    1. Initial program 98.9%

      \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
    2. Taylor expanded in uy around 0

      \[\leadsto \color{blue}{maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}} \]
    3. Step-by-step derivation
      1. lower-fma.f32N/A

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

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \color{blue}{\left(zi \cdot \left(1 - ux\right)\right)}, xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      3. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \color{blue}{\left(1 - ux\right)}\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      4. lower--.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - \color{blue}{ux}\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      5. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      6. lower-sqrt.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      7. lower--.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
    4. Applied rewrites50.7%

      \[\leadsto \color{blue}{\mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right)} \]
    5. Taylor expanded in ux around 0

      \[\leadsto xi + \color{blue}{ux \cdot \left(maxCos \cdot zi + ux \cdot \left(-1 \cdot \left(maxCos \cdot zi\right) + \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right)} \]
    6. Step-by-step derivation
      1. lower-+.f32N/A

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

        \[\leadsto xi + ux \cdot \left(maxCos \cdot zi + \color{blue}{ux \cdot \left(-1 \cdot \left(maxCos \cdot zi\right) + \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)}\right) \]
      3. lower-fma.f32N/A

        \[\leadsto xi + ux \cdot \mathsf{fma}\left(maxCos, zi, ux \cdot \left(-1 \cdot \left(maxCos \cdot zi\right) + \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \]
      4. lower-*.f32N/A

        \[\leadsto xi + ux \cdot \mathsf{fma}\left(maxCos, zi, ux \cdot \left(-1 \cdot \left(maxCos \cdot zi\right) + \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \]
      5. lower-fma.f32N/A

        \[\leadsto xi + ux \cdot \mathsf{fma}\left(maxCos, zi, ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \]
      6. lower-*.f32N/A

        \[\leadsto xi + ux \cdot \mathsf{fma}\left(maxCos, zi, ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \]
      7. lower-*.f32N/A

        \[\leadsto xi + ux \cdot \mathsf{fma}\left(maxCos, zi, ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \]
      8. lower-*.f32N/A

        \[\leadsto xi + ux \cdot \mathsf{fma}\left(maxCos, zi, ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \]
      9. lower-pow.f3250.6

        \[\leadsto xi + ux \cdot \mathsf{fma}\left(maxCos, zi, ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, -0.5 \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \]
    7. Applied rewrites50.6%

      \[\leadsto xi + \color{blue}{ux \cdot \mathsf{fma}\left(maxCos, zi, ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, -0.5 \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right)} \]
    8. Step-by-step derivation
      1. lift-+.f32N/A

        \[\leadsto xi + ux \cdot \color{blue}{\mathsf{fma}\left(maxCos, zi, ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right)} \]
      2. +-commutativeN/A

        \[\leadsto ux \cdot \mathsf{fma}\left(maxCos, zi, ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) + xi \]
      3. lift-*.f32N/A

        \[\leadsto ux \cdot \mathsf{fma}\left(maxCos, zi, ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) + xi \]
      4. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(maxCos, zi, ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \cdot ux + xi \]
      5. lower-fma.f3250.6

        \[\leadsto \mathsf{fma}\left(\mathsf{fma}\left(maxCos, zi, ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, -0.5 \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right), ux, xi\right) \]
    9. Applied rewrites50.6%

      \[\leadsto \mathsf{fma}\left(\mathsf{fma}\left(\left(\left(maxCos \cdot maxCos\right) \cdot xi\right) \cdot -0.5 - zi \cdot maxCos, ux, zi \cdot maxCos\right), ux, xi\right) \]
    10. Add Preprocessing

    Alternative 18: 50.6% accurate, 8.6× speedup?

    \[\begin{array}{l} \\ xi + maxCos \cdot \left(ux \cdot \left(zi + -1 \cdot \left(ux \cdot zi\right)\right)\right) \end{array} \]
    (FPCore (xi yi zi ux uy maxCos)
     :precision binary32
     (+ xi (* maxCos (* ux (+ zi (* -1.0 (* ux zi)))))))
    float code(float xi, float yi, float zi, float ux, float uy, float maxCos) {
    	return xi + (maxCos * (ux * (zi + (-1.0f * (ux * zi)))));
    }
    
    module fmin_fmax_functions
        implicit none
        private
        public fmax
        public fmin
    
        interface fmax
            module procedure fmax88
            module procedure fmax44
            module procedure fmax84
            module procedure fmax48
        end interface
        interface fmin
            module procedure fmin88
            module procedure fmin44
            module procedure fmin84
            module procedure fmin48
        end interface
    contains
        real(8) function fmax88(x, y) result (res)
            real(8), intent (in) :: x
            real(8), intent (in) :: y
            res = merge(y, merge(x, max(x, y), y /= y), x /= x)
        end function
        real(4) function fmax44(x, y) result (res)
            real(4), intent (in) :: x
            real(4), intent (in) :: y
            res = merge(y, merge(x, max(x, y), y /= y), x /= x)
        end function
        real(8) function fmax84(x, y) result(res)
            real(8), intent (in) :: x
            real(4), intent (in) :: y
            res = merge(dble(y), merge(x, max(x, dble(y)), y /= y), x /= x)
        end function
        real(8) function fmax48(x, y) result(res)
            real(4), intent (in) :: x
            real(8), intent (in) :: y
            res = merge(y, merge(dble(x), max(dble(x), y), y /= y), x /= x)
        end function
        real(8) function fmin88(x, y) result (res)
            real(8), intent (in) :: x
            real(8), intent (in) :: y
            res = merge(y, merge(x, min(x, y), y /= y), x /= x)
        end function
        real(4) function fmin44(x, y) result (res)
            real(4), intent (in) :: x
            real(4), intent (in) :: y
            res = merge(y, merge(x, min(x, y), y /= y), x /= x)
        end function
        real(8) function fmin84(x, y) result(res)
            real(8), intent (in) :: x
            real(4), intent (in) :: y
            res = merge(dble(y), merge(x, min(x, dble(y)), y /= y), x /= x)
        end function
        real(8) function fmin48(x, y) result(res)
            real(4), intent (in) :: x
            real(8), intent (in) :: y
            res = merge(y, merge(dble(x), min(dble(x), y), y /= y), x /= x)
        end function
    end module
    
    real(4) function code(xi, yi, zi, ux, uy, maxcos)
    use fmin_fmax_functions
        real(4), intent (in) :: xi
        real(4), intent (in) :: yi
        real(4), intent (in) :: zi
        real(4), intent (in) :: ux
        real(4), intent (in) :: uy
        real(4), intent (in) :: maxcos
        code = xi + (maxcos * (ux * (zi + ((-1.0e0) * (ux * zi)))))
    end function
    
    function code(xi, yi, zi, ux, uy, maxCos)
    	return Float32(xi + Float32(maxCos * Float32(ux * Float32(zi + Float32(Float32(-1.0) * Float32(ux * zi))))))
    end
    
    function tmp = code(xi, yi, zi, ux, uy, maxCos)
    	tmp = xi + (maxCos * (ux * (zi + (single(-1.0) * (ux * zi)))));
    end
    
    \begin{array}{l}
    
    \\
    xi + maxCos \cdot \left(ux \cdot \left(zi + -1 \cdot \left(ux \cdot zi\right)\right)\right)
    \end{array}
    
    Derivation
    1. Initial program 98.9%

      \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
    2. Taylor expanded in uy around 0

      \[\leadsto \color{blue}{maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}} \]
    3. Step-by-step derivation
      1. lower-fma.f32N/A

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

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \color{blue}{\left(zi \cdot \left(1 - ux\right)\right)}, xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      3. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \color{blue}{\left(1 - ux\right)}\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      4. lower--.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - \color{blue}{ux}\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      5. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      6. lower-sqrt.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      7. lower--.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
    4. Applied rewrites50.7%

      \[\leadsto \color{blue}{\mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right)} \]
    5. Taylor expanded in ux around 0

      \[\leadsto xi + \color{blue}{ux \cdot \left(maxCos \cdot zi + ux \cdot \left(-1 \cdot \left(maxCos \cdot zi\right) + \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right)} \]
    6. Step-by-step derivation
      1. lower-+.f32N/A

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

        \[\leadsto xi + ux \cdot \left(maxCos \cdot zi + \color{blue}{ux \cdot \left(-1 \cdot \left(maxCos \cdot zi\right) + \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)}\right) \]
      3. lower-fma.f32N/A

        \[\leadsto xi + ux \cdot \mathsf{fma}\left(maxCos, zi, ux \cdot \left(-1 \cdot \left(maxCos \cdot zi\right) + \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \]
      4. lower-*.f32N/A

        \[\leadsto xi + ux \cdot \mathsf{fma}\left(maxCos, zi, ux \cdot \left(-1 \cdot \left(maxCos \cdot zi\right) + \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \]
      5. lower-fma.f32N/A

        \[\leadsto xi + ux \cdot \mathsf{fma}\left(maxCos, zi, ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \]
      6. lower-*.f32N/A

        \[\leadsto xi + ux \cdot \mathsf{fma}\left(maxCos, zi, ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \]
      7. lower-*.f32N/A

        \[\leadsto xi + ux \cdot \mathsf{fma}\left(maxCos, zi, ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \]
      8. lower-*.f32N/A

        \[\leadsto xi + ux \cdot \mathsf{fma}\left(maxCos, zi, ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, \frac{-1}{2} \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \]
      9. lower-pow.f3250.6

        \[\leadsto xi + ux \cdot \mathsf{fma}\left(maxCos, zi, ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, -0.5 \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right) \]
    7. Applied rewrites50.6%

      \[\leadsto xi + \color{blue}{ux \cdot \mathsf{fma}\left(maxCos, zi, ux \cdot \mathsf{fma}\left(-1, maxCos \cdot zi, -0.5 \cdot \left({maxCos}^{2} \cdot xi\right)\right)\right)} \]
    8. Taylor expanded in maxCos around 0

      \[\leadsto xi + maxCos \cdot \left(ux \cdot \color{blue}{\left(zi + -1 \cdot \left(ux \cdot zi\right)\right)}\right) \]
    9. Step-by-step derivation
      1. lower-*.f32N/A

        \[\leadsto xi + maxCos \cdot \left(ux \cdot \left(zi + \color{blue}{-1 \cdot \left(ux \cdot zi\right)}\right)\right) \]
      2. lower-*.f32N/A

        \[\leadsto xi + maxCos \cdot \left(ux \cdot \left(zi + -1 \cdot \color{blue}{\left(ux \cdot zi\right)}\right)\right) \]
      3. lower-+.f32N/A

        \[\leadsto xi + maxCos \cdot \left(ux \cdot \left(zi + -1 \cdot \left(ux \cdot \color{blue}{zi}\right)\right)\right) \]
      4. lower-*.f32N/A

        \[\leadsto xi + maxCos \cdot \left(ux \cdot \left(zi + -1 \cdot \left(ux \cdot zi\right)\right)\right) \]
      5. lower-*.f3250.6

        \[\leadsto xi + maxCos \cdot \left(ux \cdot \left(zi + -1 \cdot \left(ux \cdot zi\right)\right)\right) \]
    10. Applied rewrites50.6%

      \[\leadsto xi + maxCos \cdot \left(ux \cdot \color{blue}{\left(zi + -1 \cdot \left(ux \cdot zi\right)\right)}\right) \]
    11. Add Preprocessing

    Alternative 19: 50.6% accurate, 10.4× speedup?

    \[\begin{array}{l} \\ xi + maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) \end{array} \]
    (FPCore (xi yi zi ux uy maxCos)
     :precision binary32
     (+ xi (* maxCos (* ux (* zi (- 1.0 ux))))))
    float code(float xi, float yi, float zi, float ux, float uy, float maxCos) {
    	return xi + (maxCos * (ux * (zi * (1.0f - ux))));
    }
    
    module fmin_fmax_functions
        implicit none
        private
        public fmax
        public fmin
    
        interface fmax
            module procedure fmax88
            module procedure fmax44
            module procedure fmax84
            module procedure fmax48
        end interface
        interface fmin
            module procedure fmin88
            module procedure fmin44
            module procedure fmin84
            module procedure fmin48
        end interface
    contains
        real(8) function fmax88(x, y) result (res)
            real(8), intent (in) :: x
            real(8), intent (in) :: y
            res = merge(y, merge(x, max(x, y), y /= y), x /= x)
        end function
        real(4) function fmax44(x, y) result (res)
            real(4), intent (in) :: x
            real(4), intent (in) :: y
            res = merge(y, merge(x, max(x, y), y /= y), x /= x)
        end function
        real(8) function fmax84(x, y) result(res)
            real(8), intent (in) :: x
            real(4), intent (in) :: y
            res = merge(dble(y), merge(x, max(x, dble(y)), y /= y), x /= x)
        end function
        real(8) function fmax48(x, y) result(res)
            real(4), intent (in) :: x
            real(8), intent (in) :: y
            res = merge(y, merge(dble(x), max(dble(x), y), y /= y), x /= x)
        end function
        real(8) function fmin88(x, y) result (res)
            real(8), intent (in) :: x
            real(8), intent (in) :: y
            res = merge(y, merge(x, min(x, y), y /= y), x /= x)
        end function
        real(4) function fmin44(x, y) result (res)
            real(4), intent (in) :: x
            real(4), intent (in) :: y
            res = merge(y, merge(x, min(x, y), y /= y), x /= x)
        end function
        real(8) function fmin84(x, y) result(res)
            real(8), intent (in) :: x
            real(4), intent (in) :: y
            res = merge(dble(y), merge(x, min(x, dble(y)), y /= y), x /= x)
        end function
        real(8) function fmin48(x, y) result(res)
            real(4), intent (in) :: x
            real(8), intent (in) :: y
            res = merge(y, merge(dble(x), min(dble(x), y), y /= y), x /= x)
        end function
    end module
    
    real(4) function code(xi, yi, zi, ux, uy, maxcos)
    use fmin_fmax_functions
        real(4), intent (in) :: xi
        real(4), intent (in) :: yi
        real(4), intent (in) :: zi
        real(4), intent (in) :: ux
        real(4), intent (in) :: uy
        real(4), intent (in) :: maxcos
        code = xi + (maxcos * (ux * (zi * (1.0e0 - ux))))
    end function
    
    function code(xi, yi, zi, ux, uy, maxCos)
    	return Float32(xi + Float32(maxCos * Float32(ux * Float32(zi * Float32(Float32(1.0) - ux)))))
    end
    
    function tmp = code(xi, yi, zi, ux, uy, maxCos)
    	tmp = xi + (maxCos * (ux * (zi * (single(1.0) - ux))));
    end
    
    \begin{array}{l}
    
    \\
    xi + maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right)
    \end{array}
    
    Derivation
    1. Initial program 98.9%

      \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
    2. Taylor expanded in uy around 0

      \[\leadsto \color{blue}{maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}} \]
    3. Step-by-step derivation
      1. lower-fma.f32N/A

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

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \color{blue}{\left(zi \cdot \left(1 - ux\right)\right)}, xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      3. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \color{blue}{\left(1 - ux\right)}\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      4. lower--.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - \color{blue}{ux}\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      5. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      6. lower-sqrt.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      7. lower--.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
    4. Applied rewrites50.7%

      \[\leadsto \color{blue}{\mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right)} \]
    5. Taylor expanded in maxCos around 0

      \[\leadsto xi + \color{blue}{maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right)} \]
    6. Step-by-step derivation
      1. lower-+.f32N/A

        \[\leadsto xi + maxCos \cdot \color{blue}{\left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right)} \]
      2. lower-*.f32N/A

        \[\leadsto xi + maxCos \cdot \left(ux \cdot \color{blue}{\left(zi \cdot \left(1 - ux\right)\right)}\right) \]
      3. lower-*.f32N/A

        \[\leadsto xi + maxCos \cdot \left(ux \cdot \left(zi \cdot \color{blue}{\left(1 - ux\right)}\right)\right) \]
      4. lower-*.f32N/A

        \[\leadsto xi + maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - \color{blue}{ux}\right)\right)\right) \]
      5. lower--.f3250.6

        \[\leadsto xi + maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) \]
    7. Applied rewrites50.6%

      \[\leadsto xi + \color{blue}{maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right)} \]
    8. Add Preprocessing

    Alternative 20: 48.7% accurate, 16.4× speedup?

    \[\begin{array}{l} \\ xi + \left(maxCos \cdot zi\right) \cdot ux \end{array} \]
    (FPCore (xi yi zi ux uy maxCos)
     :precision binary32
     (+ xi (* (* maxCos zi) ux)))
    float code(float xi, float yi, float zi, float ux, float uy, float maxCos) {
    	return xi + ((maxCos * zi) * ux);
    }
    
    module fmin_fmax_functions
        implicit none
        private
        public fmax
        public fmin
    
        interface fmax
            module procedure fmax88
            module procedure fmax44
            module procedure fmax84
            module procedure fmax48
        end interface
        interface fmin
            module procedure fmin88
            module procedure fmin44
            module procedure fmin84
            module procedure fmin48
        end interface
    contains
        real(8) function fmax88(x, y) result (res)
            real(8), intent (in) :: x
            real(8), intent (in) :: y
            res = merge(y, merge(x, max(x, y), y /= y), x /= x)
        end function
        real(4) function fmax44(x, y) result (res)
            real(4), intent (in) :: x
            real(4), intent (in) :: y
            res = merge(y, merge(x, max(x, y), y /= y), x /= x)
        end function
        real(8) function fmax84(x, y) result(res)
            real(8), intent (in) :: x
            real(4), intent (in) :: y
            res = merge(dble(y), merge(x, max(x, dble(y)), y /= y), x /= x)
        end function
        real(8) function fmax48(x, y) result(res)
            real(4), intent (in) :: x
            real(8), intent (in) :: y
            res = merge(y, merge(dble(x), max(dble(x), y), y /= y), x /= x)
        end function
        real(8) function fmin88(x, y) result (res)
            real(8), intent (in) :: x
            real(8), intent (in) :: y
            res = merge(y, merge(x, min(x, y), y /= y), x /= x)
        end function
        real(4) function fmin44(x, y) result (res)
            real(4), intent (in) :: x
            real(4), intent (in) :: y
            res = merge(y, merge(x, min(x, y), y /= y), x /= x)
        end function
        real(8) function fmin84(x, y) result(res)
            real(8), intent (in) :: x
            real(4), intent (in) :: y
            res = merge(dble(y), merge(x, min(x, dble(y)), y /= y), x /= x)
        end function
        real(8) function fmin48(x, y) result(res)
            real(4), intent (in) :: x
            real(8), intent (in) :: y
            res = merge(y, merge(dble(x), min(dble(x), y), y /= y), x /= x)
        end function
    end module
    
    real(4) function code(xi, yi, zi, ux, uy, maxcos)
    use fmin_fmax_functions
        real(4), intent (in) :: xi
        real(4), intent (in) :: yi
        real(4), intent (in) :: zi
        real(4), intent (in) :: ux
        real(4), intent (in) :: uy
        real(4), intent (in) :: maxcos
        code = xi + ((maxcos * zi) * ux)
    end function
    
    function code(xi, yi, zi, ux, uy, maxCos)
    	return Float32(xi + Float32(Float32(maxCos * zi) * ux))
    end
    
    function tmp = code(xi, yi, zi, ux, uy, maxCos)
    	tmp = xi + ((maxCos * zi) * ux);
    end
    
    \begin{array}{l}
    
    \\
    xi + \left(maxCos \cdot zi\right) \cdot ux
    \end{array}
    
    Derivation
    1. Initial program 98.9%

      \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
    2. Taylor expanded in uy around 0

      \[\leadsto \color{blue}{maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}} \]
    3. Step-by-step derivation
      1. lower-fma.f32N/A

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

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \color{blue}{\left(zi \cdot \left(1 - ux\right)\right)}, xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      3. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \color{blue}{\left(1 - ux\right)}\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      4. lower--.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - \color{blue}{ux}\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      5. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      6. lower-sqrt.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      7. lower--.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
    4. Applied rewrites50.7%

      \[\leadsto \color{blue}{\mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right)} \]
    5. Taylor expanded in ux around 0

      \[\leadsto xi + \color{blue}{maxCos \cdot \left(ux \cdot zi\right)} \]
    6. Step-by-step derivation
      1. lower-+.f32N/A

        \[\leadsto xi + maxCos \cdot \color{blue}{\left(ux \cdot zi\right)} \]
      2. lower-*.f32N/A

        \[\leadsto xi + maxCos \cdot \left(ux \cdot \color{blue}{zi}\right) \]
      3. lower-*.f3248.7

        \[\leadsto xi + maxCos \cdot \left(ux \cdot zi\right) \]
    7. Applied rewrites48.7%

      \[\leadsto xi + \color{blue}{maxCos \cdot \left(ux \cdot zi\right)} \]
    8. Step-by-step derivation
      1. lift-*.f32N/A

        \[\leadsto xi + maxCos \cdot \left(ux \cdot \color{blue}{zi}\right) \]
      2. lift-*.f32N/A

        \[\leadsto xi + maxCos \cdot \left(ux \cdot zi\right) \]
      3. *-commutativeN/A

        \[\leadsto xi + maxCos \cdot \left(zi \cdot ux\right) \]
      4. associate-*r*N/A

        \[\leadsto xi + \left(maxCos \cdot zi\right) \cdot ux \]
      5. lower-*.f32N/A

        \[\leadsto xi + \left(maxCos \cdot zi\right) \cdot ux \]
      6. lower-*.f3248.7

        \[\leadsto xi + \left(maxCos \cdot zi\right) \cdot ux \]
    9. Applied rewrites48.7%

      \[\leadsto xi + \left(maxCos \cdot zi\right) \cdot ux \]
    10. Add Preprocessing

    Alternative 21: 48.7% accurate, 17.3× speedup?

    \[\begin{array}{l} \\ \mathsf{fma}\left(maxCos \cdot zi, ux, xi\right) \end{array} \]
    (FPCore (xi yi zi ux uy maxCos) :precision binary32 (fma (* maxCos zi) ux xi))
    float code(float xi, float yi, float zi, float ux, float uy, float maxCos) {
    	return fmaf((maxCos * zi), ux, xi);
    }
    
    function code(xi, yi, zi, ux, uy, maxCos)
    	return fma(Float32(maxCos * zi), ux, xi)
    end
    
    \begin{array}{l}
    
    \\
    \mathsf{fma}\left(maxCos \cdot zi, ux, xi\right)
    \end{array}
    
    Derivation
    1. Initial program 98.9%

      \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
    2. Taylor expanded in uy around 0

      \[\leadsto \color{blue}{maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}} \]
    3. Step-by-step derivation
      1. lower-fma.f32N/A

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

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \color{blue}{\left(zi \cdot \left(1 - ux\right)\right)}, xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      3. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \color{blue}{\left(1 - ux\right)}\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      4. lower--.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - \color{blue}{ux}\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      5. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      6. lower-sqrt.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      7. lower--.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
    4. Applied rewrites50.7%

      \[\leadsto \color{blue}{\mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right)} \]
    5. Taylor expanded in ux around 0

      \[\leadsto xi + \color{blue}{maxCos \cdot \left(ux \cdot zi\right)} \]
    6. Step-by-step derivation
      1. lower-+.f32N/A

        \[\leadsto xi + maxCos \cdot \color{blue}{\left(ux \cdot zi\right)} \]
      2. lower-*.f32N/A

        \[\leadsto xi + maxCos \cdot \left(ux \cdot \color{blue}{zi}\right) \]
      3. lower-*.f3248.7

        \[\leadsto xi + maxCos \cdot \left(ux \cdot zi\right) \]
    7. Applied rewrites48.7%

      \[\leadsto xi + \color{blue}{maxCos \cdot \left(ux \cdot zi\right)} \]
    8. Step-by-step derivation
      1. lift-+.f32N/A

        \[\leadsto xi + maxCos \cdot \color{blue}{\left(ux \cdot zi\right)} \]
      2. +-commutativeN/A

        \[\leadsto maxCos \cdot \left(ux \cdot zi\right) + xi \]
      3. lift-*.f32N/A

        \[\leadsto maxCos \cdot \left(ux \cdot zi\right) + xi \]
      4. lift-*.f32N/A

        \[\leadsto maxCos \cdot \left(ux \cdot zi\right) + xi \]
      5. *-commutativeN/A

        \[\leadsto maxCos \cdot \left(zi \cdot ux\right) + xi \]
      6. associate-*r*N/A

        \[\leadsto \left(maxCos \cdot zi\right) \cdot ux + xi \]
      7. lower-fma.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos \cdot zi, ux, xi\right) \]
      8. lower-*.f3248.7

        \[\leadsto \mathsf{fma}\left(maxCos \cdot zi, ux, xi\right) \]
    9. Applied rewrites48.7%

      \[\leadsto \mathsf{fma}\left(maxCos \cdot zi, ux, xi\right) \]
    10. Add Preprocessing

    Alternative 22: 48.7% accurate, 17.3× speedup?

    \[\begin{array}{l} \\ \mathsf{fma}\left(maxCos \cdot ux, zi, xi\right) \end{array} \]
    (FPCore (xi yi zi ux uy maxCos) :precision binary32 (fma (* maxCos ux) zi xi))
    float code(float xi, float yi, float zi, float ux, float uy, float maxCos) {
    	return fmaf((maxCos * ux), zi, xi);
    }
    
    function code(xi, yi, zi, ux, uy, maxCos)
    	return fma(Float32(maxCos * ux), zi, xi)
    end
    
    \begin{array}{l}
    
    \\
    \mathsf{fma}\left(maxCos \cdot ux, zi, xi\right)
    \end{array}
    
    Derivation
    1. Initial program 98.9%

      \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
    2. Taylor expanded in uy around 0

      \[\leadsto \color{blue}{maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}} \]
    3. Step-by-step derivation
      1. lower-fma.f32N/A

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

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \color{blue}{\left(zi \cdot \left(1 - ux\right)\right)}, xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      3. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \color{blue}{\left(1 - ux\right)}\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      4. lower--.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - \color{blue}{ux}\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      5. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      6. lower-sqrt.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      7. lower--.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
    4. Applied rewrites50.7%

      \[\leadsto \color{blue}{\mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right)} \]
    5. Taylor expanded in ux around 0

      \[\leadsto xi + \color{blue}{maxCos \cdot \left(ux \cdot zi\right)} \]
    6. Step-by-step derivation
      1. lower-+.f32N/A

        \[\leadsto xi + maxCos \cdot \color{blue}{\left(ux \cdot zi\right)} \]
      2. lower-*.f32N/A

        \[\leadsto xi + maxCos \cdot \left(ux \cdot \color{blue}{zi}\right) \]
      3. lower-*.f3248.7

        \[\leadsto xi + maxCos \cdot \left(ux \cdot zi\right) \]
    7. Applied rewrites48.7%

      \[\leadsto xi + \color{blue}{maxCos \cdot \left(ux \cdot zi\right)} \]
    8. Step-by-step derivation
      1. lift-+.f32N/A

        \[\leadsto xi + maxCos \cdot \color{blue}{\left(ux \cdot zi\right)} \]
      2. +-commutativeN/A

        \[\leadsto maxCos \cdot \left(ux \cdot zi\right) + xi \]
      3. lift-*.f32N/A

        \[\leadsto maxCos \cdot \left(ux \cdot zi\right) + xi \]
      4. lift-*.f32N/A

        \[\leadsto maxCos \cdot \left(ux \cdot zi\right) + xi \]
      5. associate-*r*N/A

        \[\leadsto \left(maxCos \cdot ux\right) \cdot zi + xi \]
      6. lift-*.f32N/A

        \[\leadsto \left(maxCos \cdot ux\right) \cdot zi + xi \]
      7. lower-fma.f3248.7

        \[\leadsto \mathsf{fma}\left(maxCos \cdot ux, zi, xi\right) \]
    9. Applied rewrites48.7%

      \[\leadsto \mathsf{fma}\left(maxCos \cdot ux, zi, xi\right) \]
    10. Add Preprocessing

    Alternative 23: 11.7% accurate, 22.3× speedup?

    \[\begin{array}{l} \\ \left(zi \cdot maxCos\right) \cdot ux \end{array} \]
    (FPCore (xi yi zi ux uy maxCos) :precision binary32 (* (* zi maxCos) ux))
    float code(float xi, float yi, float zi, float ux, float uy, float maxCos) {
    	return (zi * maxCos) * ux;
    }
    
    module fmin_fmax_functions
        implicit none
        private
        public fmax
        public fmin
    
        interface fmax
            module procedure fmax88
            module procedure fmax44
            module procedure fmax84
            module procedure fmax48
        end interface
        interface fmin
            module procedure fmin88
            module procedure fmin44
            module procedure fmin84
            module procedure fmin48
        end interface
    contains
        real(8) function fmax88(x, y) result (res)
            real(8), intent (in) :: x
            real(8), intent (in) :: y
            res = merge(y, merge(x, max(x, y), y /= y), x /= x)
        end function
        real(4) function fmax44(x, y) result (res)
            real(4), intent (in) :: x
            real(4), intent (in) :: y
            res = merge(y, merge(x, max(x, y), y /= y), x /= x)
        end function
        real(8) function fmax84(x, y) result(res)
            real(8), intent (in) :: x
            real(4), intent (in) :: y
            res = merge(dble(y), merge(x, max(x, dble(y)), y /= y), x /= x)
        end function
        real(8) function fmax48(x, y) result(res)
            real(4), intent (in) :: x
            real(8), intent (in) :: y
            res = merge(y, merge(dble(x), max(dble(x), y), y /= y), x /= x)
        end function
        real(8) function fmin88(x, y) result (res)
            real(8), intent (in) :: x
            real(8), intent (in) :: y
            res = merge(y, merge(x, min(x, y), y /= y), x /= x)
        end function
        real(4) function fmin44(x, y) result (res)
            real(4), intent (in) :: x
            real(4), intent (in) :: y
            res = merge(y, merge(x, min(x, y), y /= y), x /= x)
        end function
        real(8) function fmin84(x, y) result(res)
            real(8), intent (in) :: x
            real(4), intent (in) :: y
            res = merge(dble(y), merge(x, min(x, dble(y)), y /= y), x /= x)
        end function
        real(8) function fmin48(x, y) result(res)
            real(4), intent (in) :: x
            real(8), intent (in) :: y
            res = merge(y, merge(dble(x), min(dble(x), y), y /= y), x /= x)
        end function
    end module
    
    real(4) function code(xi, yi, zi, ux, uy, maxcos)
    use fmin_fmax_functions
        real(4), intent (in) :: xi
        real(4), intent (in) :: yi
        real(4), intent (in) :: zi
        real(4), intent (in) :: ux
        real(4), intent (in) :: uy
        real(4), intent (in) :: maxcos
        code = (zi * maxcos) * ux
    end function
    
    function code(xi, yi, zi, ux, uy, maxCos)
    	return Float32(Float32(zi * maxCos) * ux)
    end
    
    function tmp = code(xi, yi, zi, ux, uy, maxCos)
    	tmp = (zi * maxCos) * ux;
    end
    
    \begin{array}{l}
    
    \\
    \left(zi \cdot maxCos\right) \cdot ux
    \end{array}
    
    Derivation
    1. Initial program 98.9%

      \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
    2. Taylor expanded in uy around 0

      \[\leadsto \color{blue}{maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}} \]
    3. Step-by-step derivation
      1. lower-fma.f32N/A

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

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \color{blue}{\left(zi \cdot \left(1 - ux\right)\right)}, xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      3. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \color{blue}{\left(1 - ux\right)}\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      4. lower--.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - \color{blue}{ux}\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      5. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      6. lower-sqrt.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      7. lower--.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
    4. Applied rewrites50.7%

      \[\leadsto \color{blue}{\mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right)} \]
    5. Taylor expanded in ux around 0

      \[\leadsto xi + \color{blue}{maxCos \cdot \left(ux \cdot zi\right)} \]
    6. Step-by-step derivation
      1. lower-+.f32N/A

        \[\leadsto xi + maxCos \cdot \color{blue}{\left(ux \cdot zi\right)} \]
      2. lower-*.f32N/A

        \[\leadsto xi + maxCos \cdot \left(ux \cdot \color{blue}{zi}\right) \]
      3. lower-*.f3248.7

        \[\leadsto xi + maxCos \cdot \left(ux \cdot zi\right) \]
    7. Applied rewrites48.7%

      \[\leadsto xi + \color{blue}{maxCos \cdot \left(ux \cdot zi\right)} \]
    8. Taylor expanded in xi around 0

      \[\leadsto maxCos \cdot \left(ux \cdot \color{blue}{zi}\right) \]
    9. Step-by-step derivation
      1. lower-*.f32N/A

        \[\leadsto maxCos \cdot \left(ux \cdot zi\right) \]
      2. lower-*.f3211.7

        \[\leadsto maxCos \cdot \left(ux \cdot zi\right) \]
    10. Applied rewrites11.7%

      \[\leadsto maxCos \cdot \left(ux \cdot \color{blue}{zi}\right) \]
    11. Step-by-step derivation
      1. lift-*.f32N/A

        \[\leadsto maxCos \cdot \left(ux \cdot zi\right) \]
      2. lift-*.f32N/A

        \[\leadsto maxCos \cdot \left(ux \cdot zi\right) \]
      3. *-commutativeN/A

        \[\leadsto maxCos \cdot \left(zi \cdot ux\right) \]
      4. associate-*l*N/A

        \[\leadsto \left(maxCos \cdot zi\right) \cdot ux \]
      5. lift-*.f32N/A

        \[\leadsto \left(maxCos \cdot zi\right) \cdot ux \]
      6. lower-*.f3211.7

        \[\leadsto \left(maxCos \cdot zi\right) \cdot ux \]
      7. lift-*.f32N/A

        \[\leadsto \left(maxCos \cdot zi\right) \cdot ux \]
      8. *-commutativeN/A

        \[\leadsto \left(zi \cdot maxCos\right) \cdot ux \]
      9. lower-*.f3211.7

        \[\leadsto \left(zi \cdot maxCos\right) \cdot ux \]
    12. Applied rewrites11.7%

      \[\leadsto \left(zi \cdot maxCos\right) \cdot ux \]
    13. Add Preprocessing

    Alternative 24: 11.7% accurate, 22.3× speedup?

    \[\begin{array}{l} \\ maxCos \cdot \left(ux \cdot zi\right) \end{array} \]
    (FPCore (xi yi zi ux uy maxCos) :precision binary32 (* maxCos (* ux zi)))
    float code(float xi, float yi, float zi, float ux, float uy, float maxCos) {
    	return maxCos * (ux * zi);
    }
    
    module fmin_fmax_functions
        implicit none
        private
        public fmax
        public fmin
    
        interface fmax
            module procedure fmax88
            module procedure fmax44
            module procedure fmax84
            module procedure fmax48
        end interface
        interface fmin
            module procedure fmin88
            module procedure fmin44
            module procedure fmin84
            module procedure fmin48
        end interface
    contains
        real(8) function fmax88(x, y) result (res)
            real(8), intent (in) :: x
            real(8), intent (in) :: y
            res = merge(y, merge(x, max(x, y), y /= y), x /= x)
        end function
        real(4) function fmax44(x, y) result (res)
            real(4), intent (in) :: x
            real(4), intent (in) :: y
            res = merge(y, merge(x, max(x, y), y /= y), x /= x)
        end function
        real(8) function fmax84(x, y) result(res)
            real(8), intent (in) :: x
            real(4), intent (in) :: y
            res = merge(dble(y), merge(x, max(x, dble(y)), y /= y), x /= x)
        end function
        real(8) function fmax48(x, y) result(res)
            real(4), intent (in) :: x
            real(8), intent (in) :: y
            res = merge(y, merge(dble(x), max(dble(x), y), y /= y), x /= x)
        end function
        real(8) function fmin88(x, y) result (res)
            real(8), intent (in) :: x
            real(8), intent (in) :: y
            res = merge(y, merge(x, min(x, y), y /= y), x /= x)
        end function
        real(4) function fmin44(x, y) result (res)
            real(4), intent (in) :: x
            real(4), intent (in) :: y
            res = merge(y, merge(x, min(x, y), y /= y), x /= x)
        end function
        real(8) function fmin84(x, y) result(res)
            real(8), intent (in) :: x
            real(4), intent (in) :: y
            res = merge(dble(y), merge(x, min(x, dble(y)), y /= y), x /= x)
        end function
        real(8) function fmin48(x, y) result(res)
            real(4), intent (in) :: x
            real(8), intent (in) :: y
            res = merge(y, merge(dble(x), min(dble(x), y), y /= y), x /= x)
        end function
    end module
    
    real(4) function code(xi, yi, zi, ux, uy, maxcos)
    use fmin_fmax_functions
        real(4), intent (in) :: xi
        real(4), intent (in) :: yi
        real(4), intent (in) :: zi
        real(4), intent (in) :: ux
        real(4), intent (in) :: uy
        real(4), intent (in) :: maxcos
        code = maxcos * (ux * zi)
    end function
    
    function code(xi, yi, zi, ux, uy, maxCos)
    	return Float32(maxCos * Float32(ux * zi))
    end
    
    function tmp = code(xi, yi, zi, ux, uy, maxCos)
    	tmp = maxCos * (ux * zi);
    end
    
    \begin{array}{l}
    
    \\
    maxCos \cdot \left(ux \cdot zi\right)
    \end{array}
    
    Derivation
    1. Initial program 98.9%

      \[\left(\left(\cos \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot xi + \left(\sin \left(\left(uy \cdot 2\right) \cdot \pi\right) \cdot \sqrt{1 - \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right)}\right) \cdot yi\right) + \left(\left(\left(1 - ux\right) \cdot maxCos\right) \cdot ux\right) \cdot zi \]
    2. Taylor expanded in uy around 0

      \[\leadsto \color{blue}{maxCos \cdot \left(ux \cdot \left(zi \cdot \left(1 - ux\right)\right)\right) + xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}} \]
    3. Step-by-step derivation
      1. lower-fma.f32N/A

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

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \color{blue}{\left(zi \cdot \left(1 - ux\right)\right)}, xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      3. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \color{blue}{\left(1 - ux\right)}\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      4. lower--.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - \color{blue}{ux}\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      5. lower-*.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      6. lower-sqrt.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
      7. lower--.f32N/A

        \[\leadsto \mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right) \]
    4. Applied rewrites50.7%

      \[\leadsto \color{blue}{\mathsf{fma}\left(maxCos, ux \cdot \left(zi \cdot \left(1 - ux\right)\right), xi \cdot \sqrt{1 - {maxCos}^{2} \cdot \left({ux}^{2} \cdot {\left(1 - ux\right)}^{2}\right)}\right)} \]
    5. Taylor expanded in ux around 0

      \[\leadsto xi + \color{blue}{maxCos \cdot \left(ux \cdot zi\right)} \]
    6. Step-by-step derivation
      1. lower-+.f32N/A

        \[\leadsto xi + maxCos \cdot \color{blue}{\left(ux \cdot zi\right)} \]
      2. lower-*.f32N/A

        \[\leadsto xi + maxCos \cdot \left(ux \cdot \color{blue}{zi}\right) \]
      3. lower-*.f3248.7

        \[\leadsto xi + maxCos \cdot \left(ux \cdot zi\right) \]
    7. Applied rewrites48.7%

      \[\leadsto xi + \color{blue}{maxCos \cdot \left(ux \cdot zi\right)} \]
    8. Taylor expanded in xi around 0

      \[\leadsto maxCos \cdot \left(ux \cdot \color{blue}{zi}\right) \]
    9. Step-by-step derivation
      1. lower-*.f32N/A

        \[\leadsto maxCos \cdot \left(ux \cdot zi\right) \]
      2. lower-*.f3211.7

        \[\leadsto maxCos \cdot \left(ux \cdot zi\right) \]
    10. Applied rewrites11.7%

      \[\leadsto maxCos \cdot \left(ux \cdot \color{blue}{zi}\right) \]
    11. Add Preprocessing

    Reproduce

    ?
    herbie shell --seed 2025162 
    (FPCore (xi yi zi ux uy maxCos)
      :name "UniformSampleCone 2"
      :precision binary32
      :pre (and (and (and (and (and (and (<= -10000.0 xi) (<= xi 10000.0)) (and (<= -10000.0 yi) (<= yi 10000.0))) (and (<= -10000.0 zi) (<= zi 10000.0))) (and (<= 2.328306437e-10 ux) (<= ux 1.0))) (and (<= 2.328306437e-10 uy) (<= uy 1.0))) (and (<= 0.0 maxCos) (<= maxCos 1.0)))
      (+ (+ (* (* (cos (* (* uy 2.0) PI)) (sqrt (- 1.0 (* (* (* (- 1.0 ux) maxCos) ux) (* (* (- 1.0 ux) maxCos) ux))))) xi) (* (* (sin (* (* uy 2.0) PI)) (sqrt (- 1.0 (* (* (* (- 1.0 ux) maxCos) ux) (* (* (- 1.0 ux) maxCos) ux))))) yi)) (* (* (* (- 1.0 ux) maxCos) ux) zi)))