Anisotropic x16 LOD (line direction, u)

Percentage Accurate: 76.2% → 76.4%
Time: 13.8s
Alternatives: 15
Speedup: 1.0×

Specification

?
\[\left(\left(\left(\left(\left(\left(1 \leq w \land w \leq 16384\right) \land \left(1 \leq h \land h \leq 16384\right)\right) \land \left(10^{-20} \leq \left|dX.u\right| \land \left|dX.u\right| \leq 10^{+20}\right)\right) \land \left(10^{-20} \leq \left|dX.v\right| \land \left|dX.v\right| \leq 10^{+20}\right)\right) \land \left(10^{-20} \leq \left|dY.u\right| \land \left|dY.u\right| \leq 10^{+20}\right)\right) \land \left(10^{-20} \leq \left|dY.v\right| \land \left|dY.v\right| \leq 10^{+20}\right)\right) \land maxAniso = 16\]
\[\begin{array}{l} \\ \begin{array}{l} t_0 := \left\lfloor h\right\rfloor \cdot dX.v\\ t_1 := \left\lfloor w\right\rfloor \cdot dY.u\\ t_2 := \left\lfloor w\right\rfloor \cdot dX.u\\ t_3 := t\_2 \cdot t\_2 + t\_0 \cdot t\_0\\ t_4 := \left\lfloor h\right\rfloor \cdot dY.v\\ t_5 := t\_1 \cdot t\_1 + t\_4 \cdot t\_4\\ t_6 := \frac{1}{\sqrt{\mathsf{max}\left(t\_3, t\_5\right)}}\\ \mathbf{if}\;t\_3 \geq t\_5:\\ \;\;\;\;t\_6 \cdot t\_2\\ \mathbf{else}:\\ \;\;\;\;t\_6 \cdot t\_1\\ \end{array} \end{array} \]
(FPCore (w h dX.u dX.v dY.u dY.v maxAniso)
 :precision binary32
 (let* ((t_0 (* (floor h) dX.v))
        (t_1 (* (floor w) dY.u))
        (t_2 (* (floor w) dX.u))
        (t_3 (+ (* t_2 t_2) (* t_0 t_0)))
        (t_4 (* (floor h) dY.v))
        (t_5 (+ (* t_1 t_1) (* t_4 t_4)))
        (t_6 (/ 1.0 (sqrt (fmax t_3 t_5)))))
   (if (>= t_3 t_5) (* t_6 t_2) (* t_6 t_1))))
float code(float w, float h, float dX_46_u, float dX_46_v, float dY_46_u, float dY_46_v, float maxAniso) {
	float t_0 = floorf(h) * dX_46_v;
	float t_1 = floorf(w) * dY_46_u;
	float t_2 = floorf(w) * dX_46_u;
	float t_3 = (t_2 * t_2) + (t_0 * t_0);
	float t_4 = floorf(h) * dY_46_v;
	float t_5 = (t_1 * t_1) + (t_4 * t_4);
	float t_6 = 1.0f / sqrtf(fmaxf(t_3, t_5));
	float tmp;
	if (t_3 >= t_5) {
		tmp = t_6 * t_2;
	} else {
		tmp = t_6 * t_1;
	}
	return tmp;
}
function code(w, h, dX_46_u, dX_46_v, dY_46_u, dY_46_v, maxAniso)
	t_0 = Float32(floor(h) * dX_46_v)
	t_1 = Float32(floor(w) * dY_46_u)
	t_2 = Float32(floor(w) * dX_46_u)
	t_3 = Float32(Float32(t_2 * t_2) + Float32(t_0 * t_0))
	t_4 = Float32(floor(h) * dY_46_v)
	t_5 = Float32(Float32(t_1 * t_1) + Float32(t_4 * t_4))
	t_6 = Float32(Float32(1.0) / sqrt(fmax(t_3, t_5)))
	tmp = Float32(0.0)
	if (t_3 >= t_5)
		tmp = Float32(t_6 * t_2);
	else
		tmp = Float32(t_6 * t_1);
	end
	return tmp
end
function tmp_2 = code(w, h, dX_46_u, dX_46_v, dY_46_u, dY_46_v, maxAniso)
	t_0 = floor(h) * dX_46_v;
	t_1 = floor(w) * dY_46_u;
	t_2 = floor(w) * dX_46_u;
	t_3 = (t_2 * t_2) + (t_0 * t_0);
	t_4 = floor(h) * dY_46_v;
	t_5 = (t_1 * t_1) + (t_4 * t_4);
	t_6 = single(1.0) / sqrt(max(t_3, t_5));
	tmp = single(0.0);
	if (t_3 >= t_5)
		tmp = t_6 * t_2;
	else
		tmp = t_6 * t_1;
	end
	tmp_2 = tmp;
end
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \left\lfloor h\right\rfloor  \cdot dX.v\\
t_1 := \left\lfloor w\right\rfloor  \cdot dY.u\\
t_2 := \left\lfloor w\right\rfloor  \cdot dX.u\\
t_3 := t\_2 \cdot t\_2 + t\_0 \cdot t\_0\\
t_4 := \left\lfloor h\right\rfloor  \cdot dY.v\\
t_5 := t\_1 \cdot t\_1 + t\_4 \cdot t\_4\\
t_6 := \frac{1}{\sqrt{\mathsf{max}\left(t\_3, t\_5\right)}}\\
\mathbf{if}\;t\_3 \geq t\_5:\\
\;\;\;\;t\_6 \cdot t\_2\\

\mathbf{else}:\\
\;\;\;\;t\_6 \cdot t\_1\\


\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 15 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: 76.2% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \left\lfloor h\right\rfloor \cdot dX.v\\ t_1 := \left\lfloor w\right\rfloor \cdot dY.u\\ t_2 := \left\lfloor w\right\rfloor \cdot dX.u\\ t_3 := t\_2 \cdot t\_2 + t\_0 \cdot t\_0\\ t_4 := \left\lfloor h\right\rfloor \cdot dY.v\\ t_5 := t\_1 \cdot t\_1 + t\_4 \cdot t\_4\\ t_6 := \frac{1}{\sqrt{\mathsf{max}\left(t\_3, t\_5\right)}}\\ \mathbf{if}\;t\_3 \geq t\_5:\\ \;\;\;\;t\_6 \cdot t\_2\\ \mathbf{else}:\\ \;\;\;\;t\_6 \cdot t\_1\\ \end{array} \end{array} \]
(FPCore (w h dX.u dX.v dY.u dY.v maxAniso)
 :precision binary32
 (let* ((t_0 (* (floor h) dX.v))
        (t_1 (* (floor w) dY.u))
        (t_2 (* (floor w) dX.u))
        (t_3 (+ (* t_2 t_2) (* t_0 t_0)))
        (t_4 (* (floor h) dY.v))
        (t_5 (+ (* t_1 t_1) (* t_4 t_4)))
        (t_6 (/ 1.0 (sqrt (fmax t_3 t_5)))))
   (if (>= t_3 t_5) (* t_6 t_2) (* t_6 t_1))))
float code(float w, float h, float dX_46_u, float dX_46_v, float dY_46_u, float dY_46_v, float maxAniso) {
	float t_0 = floorf(h) * dX_46_v;
	float t_1 = floorf(w) * dY_46_u;
	float t_2 = floorf(w) * dX_46_u;
	float t_3 = (t_2 * t_2) + (t_0 * t_0);
	float t_4 = floorf(h) * dY_46_v;
	float t_5 = (t_1 * t_1) + (t_4 * t_4);
	float t_6 = 1.0f / sqrtf(fmaxf(t_3, t_5));
	float tmp;
	if (t_3 >= t_5) {
		tmp = t_6 * t_2;
	} else {
		tmp = t_6 * t_1;
	}
	return tmp;
}
function code(w, h, dX_46_u, dX_46_v, dY_46_u, dY_46_v, maxAniso)
	t_0 = Float32(floor(h) * dX_46_v)
	t_1 = Float32(floor(w) * dY_46_u)
	t_2 = Float32(floor(w) * dX_46_u)
	t_3 = Float32(Float32(t_2 * t_2) + Float32(t_0 * t_0))
	t_4 = Float32(floor(h) * dY_46_v)
	t_5 = Float32(Float32(t_1 * t_1) + Float32(t_4 * t_4))
	t_6 = Float32(Float32(1.0) / sqrt(fmax(t_3, t_5)))
	tmp = Float32(0.0)
	if (t_3 >= t_5)
		tmp = Float32(t_6 * t_2);
	else
		tmp = Float32(t_6 * t_1);
	end
	return tmp
end
function tmp_2 = code(w, h, dX_46_u, dX_46_v, dY_46_u, dY_46_v, maxAniso)
	t_0 = floor(h) * dX_46_v;
	t_1 = floor(w) * dY_46_u;
	t_2 = floor(w) * dX_46_u;
	t_3 = (t_2 * t_2) + (t_0 * t_0);
	t_4 = floor(h) * dY_46_v;
	t_5 = (t_1 * t_1) + (t_4 * t_4);
	t_6 = single(1.0) / sqrt(max(t_3, t_5));
	tmp = single(0.0);
	if (t_3 >= t_5)
		tmp = t_6 * t_2;
	else
		tmp = t_6 * t_1;
	end
	tmp_2 = tmp;
end
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \left\lfloor h\right\rfloor  \cdot dX.v\\
t_1 := \left\lfloor w\right\rfloor  \cdot dY.u\\
t_2 := \left\lfloor w\right\rfloor  \cdot dX.u\\
t_3 := t\_2 \cdot t\_2 + t\_0 \cdot t\_0\\
t_4 := \left\lfloor h\right\rfloor  \cdot dY.v\\
t_5 := t\_1 \cdot t\_1 + t\_4 \cdot t\_4\\
t_6 := \frac{1}{\sqrt{\mathsf{max}\left(t\_3, t\_5\right)}}\\
\mathbf{if}\;t\_3 \geq t\_5:\\
\;\;\;\;t\_6 \cdot t\_2\\

\mathbf{else}:\\
\;\;\;\;t\_6 \cdot t\_1\\


\end{array}
\end{array}

Alternative 1: 76.4% accurate, 0.3× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \left\lfloor w\right\rfloor \cdot dX.u\\ t_1 := \left(\left(dX.v \cdot \left\lfloor h\right\rfloor \right) \cdot dX.v\right) \cdot \left\lfloor h\right\rfloor \\ t_2 := \left\lfloor h\right\rfloor \cdot dX.v\\ t_3 := \left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \\ t_4 := \left\lfloor w\right\rfloor \cdot dY.u\\ t_5 := \left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \\ t_6 := \mathsf{fma}\left(t\_5 \cdot dX.u, dX.u, t\_3 \cdot \left(dX.v \cdot dX.v\right)\right)\\ t_7 := \mathsf{fma}\left(t\_5 \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot t\_3\right)\\ t_8 := \sqrt{\mathsf{max}\left(t\_6, t\_7\right)}\\ t_9 := \left(dY.u \cdot dY.u\right) \cdot t\_5\\ t_10 := t\_0 \cdot t\_0 + t\_2 \cdot t\_2\\ t_11 := \left\lfloor h\right\rfloor \cdot dY.v\\ t_12 := t\_4 \cdot t\_4 + t\_11 \cdot t\_11\\ t_13 := \frac{1}{\sqrt{\mathsf{max}\left(t\_10, t\_12\right)}}\\ t_14 := \begin{array}{l} \mathbf{if}\;t\_10 \geq t\_12:\\ \;\;\;\;t\_13 \cdot t\_0\\ \mathbf{else}:\\ \;\;\;\;t\_13 \cdot t\_4\\ \end{array}\\ t_15 := \left(t\_11 \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \\ \mathbf{if}\;t\_14 \leq -0.00019999999494757503:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot t\_5 \geq t\_9:\\ \;\;\;\;\frac{t\_0}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(t\_0, t\_0, t\_1\right), t\_7\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{t\_4}{t\_8}\\ \end{array}\\ \mathbf{elif}\;t\_14 \leq 4.999999858590343 \cdot 10^{-10}:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;t\_6 \geq t\_7:\\ \;\;\;\;\frac{t\_0}{\sqrt{\mathsf{max}\left(t\_1, t\_7\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{t\_4}{\sqrt{\mathsf{max}\left(t\_6, t\_15\right)}}\\ \end{array}\\ \mathbf{elif}\;t\_6 \geq t\_9:\\ \;\;\;\;\frac{t\_0}{t\_8}\\ \mathbf{else}:\\ \;\;\;\;\frac{t\_4}{\sqrt{\mathsf{max}\left(t\_6, \mathsf{fma}\left(t\_4, t\_4, t\_15\right)\right)}}\\ \end{array} \end{array} \]
(FPCore (w h dX.u dX.v dY.u dY.v maxAniso)
 :precision binary32
 (let* ((t_0 (* (floor w) dX.u))
        (t_1 (* (* (* dX.v (floor h)) dX.v) (floor h)))
        (t_2 (* (floor h) dX.v))
        (t_3 (* (floor h) (floor h)))
        (t_4 (* (floor w) dY.u))
        (t_5 (* (floor w) (floor w)))
        (t_6 (fma (* t_5 dX.u) dX.u (* t_3 (* dX.v dX.v))))
        (t_7 (fma (* t_5 dY.u) dY.u (* (* dY.v dY.v) t_3)))
        (t_8 (sqrt (fmax t_6 t_7)))
        (t_9 (* (* dY.u dY.u) t_5))
        (t_10 (+ (* t_0 t_0) (* t_2 t_2)))
        (t_11 (* (floor h) dY.v))
        (t_12 (+ (* t_4 t_4) (* t_11 t_11)))
        (t_13 (/ 1.0 (sqrt (fmax t_10 t_12))))
        (t_14 (if (>= t_10 t_12) (* t_13 t_0) (* t_13 t_4)))
        (t_15 (* (* t_11 dY.v) (floor h))))
   (if (<= t_14 -0.00019999999494757503)
     (if (>= (* (* dX.u dX.u) t_5) t_9)
       (/ t_0 (sqrt (fmax (fma t_0 t_0 t_1) t_7)))
       (/ t_4 t_8))
     (if (<= t_14 4.999999858590343e-10)
       (if (>= t_6 t_7)
         (/ t_0 (sqrt (fmax t_1 t_7)))
         (/ t_4 (sqrt (fmax t_6 t_15))))
       (if (>= t_6 t_9)
         (/ t_0 t_8)
         (/ t_4 (sqrt (fmax t_6 (fma t_4 t_4 t_15)))))))))
float code(float w, float h, float dX_46_u, float dX_46_v, float dY_46_u, float dY_46_v, float maxAniso) {
	float t_0 = floorf(w) * dX_46_u;
	float t_1 = ((dX_46_v * floorf(h)) * dX_46_v) * floorf(h);
	float t_2 = floorf(h) * dX_46_v;
	float t_3 = floorf(h) * floorf(h);
	float t_4 = floorf(w) * dY_46_u;
	float t_5 = floorf(w) * floorf(w);
	float t_6 = fmaf((t_5 * dX_46_u), dX_46_u, (t_3 * (dX_46_v * dX_46_v)));
	float t_7 = fmaf((t_5 * dY_46_u), dY_46_u, ((dY_46_v * dY_46_v) * t_3));
	float t_8 = sqrtf(fmaxf(t_6, t_7));
	float t_9 = (dY_46_u * dY_46_u) * t_5;
	float t_10 = (t_0 * t_0) + (t_2 * t_2);
	float t_11 = floorf(h) * dY_46_v;
	float t_12 = (t_4 * t_4) + (t_11 * t_11);
	float t_13 = 1.0f / sqrtf(fmaxf(t_10, t_12));
	float tmp;
	if (t_10 >= t_12) {
		tmp = t_13 * t_0;
	} else {
		tmp = t_13 * t_4;
	}
	float t_14 = tmp;
	float t_15 = (t_11 * dY_46_v) * floorf(h);
	float tmp_2;
	if (t_14 <= -0.00019999999494757503f) {
		float tmp_3;
		if (((dX_46_u * dX_46_u) * t_5) >= t_9) {
			tmp_3 = t_0 / sqrtf(fmaxf(fmaf(t_0, t_0, t_1), t_7));
		} else {
			tmp_3 = t_4 / t_8;
		}
		tmp_2 = tmp_3;
	} else if (t_14 <= 4.999999858590343e-10f) {
		float tmp_4;
		if (t_6 >= t_7) {
			tmp_4 = t_0 / sqrtf(fmaxf(t_1, t_7));
		} else {
			tmp_4 = t_4 / sqrtf(fmaxf(t_6, t_15));
		}
		tmp_2 = tmp_4;
	} else if (t_6 >= t_9) {
		tmp_2 = t_0 / t_8;
	} else {
		tmp_2 = t_4 / sqrtf(fmaxf(t_6, fmaf(t_4, t_4, t_15)));
	}
	return tmp_2;
}
function code(w, h, dX_46_u, dX_46_v, dY_46_u, dY_46_v, maxAniso)
	t_0 = Float32(floor(w) * dX_46_u)
	t_1 = Float32(Float32(Float32(dX_46_v * floor(h)) * dX_46_v) * floor(h))
	t_2 = Float32(floor(h) * dX_46_v)
	t_3 = Float32(floor(h) * floor(h))
	t_4 = Float32(floor(w) * dY_46_u)
	t_5 = Float32(floor(w) * floor(w))
	t_6 = fma(Float32(t_5 * dX_46_u), dX_46_u, Float32(t_3 * Float32(dX_46_v * dX_46_v)))
	t_7 = fma(Float32(t_5 * dY_46_u), dY_46_u, Float32(Float32(dY_46_v * dY_46_v) * t_3))
	t_8 = sqrt(fmax(t_6, t_7))
	t_9 = Float32(Float32(dY_46_u * dY_46_u) * t_5)
	t_10 = Float32(Float32(t_0 * t_0) + Float32(t_2 * t_2))
	t_11 = Float32(floor(h) * dY_46_v)
	t_12 = Float32(Float32(t_4 * t_4) + Float32(t_11 * t_11))
	t_13 = Float32(Float32(1.0) / sqrt(fmax(t_10, t_12)))
	tmp = Float32(0.0)
	if (t_10 >= t_12)
		tmp = Float32(t_13 * t_0);
	else
		tmp = Float32(t_13 * t_4);
	end
	t_14 = tmp
	t_15 = Float32(Float32(t_11 * dY_46_v) * floor(h))
	tmp_2 = Float32(0.0)
	if (t_14 <= Float32(-0.00019999999494757503))
		tmp_3 = Float32(0.0)
		if (Float32(Float32(dX_46_u * dX_46_u) * t_5) >= t_9)
			tmp_3 = Float32(t_0 / sqrt(fmax(fma(t_0, t_0, t_1), t_7)));
		else
			tmp_3 = Float32(t_4 / t_8);
		end
		tmp_2 = tmp_3;
	elseif (t_14 <= Float32(4.999999858590343e-10))
		tmp_4 = Float32(0.0)
		if (t_6 >= t_7)
			tmp_4 = Float32(t_0 / sqrt(fmax(t_1, t_7)));
		else
			tmp_4 = Float32(t_4 / sqrt(fmax(t_6, t_15)));
		end
		tmp_2 = tmp_4;
	elseif (t_6 >= t_9)
		tmp_2 = Float32(t_0 / t_8);
	else
		tmp_2 = Float32(t_4 / sqrt(fmax(t_6, fma(t_4, t_4, t_15))));
	end
	return tmp_2
end
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \left\lfloor w\right\rfloor  \cdot dX.u\\
t_1 := \left(\left(dX.v \cdot \left\lfloor h\right\rfloor \right) \cdot dX.v\right) \cdot \left\lfloor h\right\rfloor \\
t_2 := \left\lfloor h\right\rfloor  \cdot dX.v\\
t_3 := \left\lfloor h\right\rfloor  \cdot \left\lfloor h\right\rfloor \\
t_4 := \left\lfloor w\right\rfloor  \cdot dY.u\\
t_5 := \left\lfloor w\right\rfloor  \cdot \left\lfloor w\right\rfloor \\
t_6 := \mathsf{fma}\left(t\_5 \cdot dX.u, dX.u, t\_3 \cdot \left(dX.v \cdot dX.v\right)\right)\\
t_7 := \mathsf{fma}\left(t\_5 \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot t\_3\right)\\
t_8 := \sqrt{\mathsf{max}\left(t\_6, t\_7\right)}\\
t_9 := \left(dY.u \cdot dY.u\right) \cdot t\_5\\
t_10 := t\_0 \cdot t\_0 + t\_2 \cdot t\_2\\
t_11 := \left\lfloor h\right\rfloor  \cdot dY.v\\
t_12 := t\_4 \cdot t\_4 + t\_11 \cdot t\_11\\
t_13 := \frac{1}{\sqrt{\mathsf{max}\left(t\_10, t\_12\right)}}\\
t_14 := \begin{array}{l}
\mathbf{if}\;t\_10 \geq t\_12:\\
\;\;\;\;t\_13 \cdot t\_0\\

\mathbf{else}:\\
\;\;\;\;t\_13 \cdot t\_4\\


\end{array}\\
t_15 := \left(t\_11 \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \\
\mathbf{if}\;t\_14 \leq -0.00019999999494757503:\\
\;\;\;\;\begin{array}{l}
\mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot t\_5 \geq t\_9:\\
\;\;\;\;\frac{t\_0}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(t\_0, t\_0, t\_1\right), t\_7\right)}}\\

\mathbf{else}:\\
\;\;\;\;\frac{t\_4}{t\_8}\\


\end{array}\\

\mathbf{elif}\;t\_14 \leq 4.999999858590343 \cdot 10^{-10}:\\
\;\;\;\;\begin{array}{l}
\mathbf{if}\;t\_6 \geq t\_7:\\
\;\;\;\;\frac{t\_0}{\sqrt{\mathsf{max}\left(t\_1, t\_7\right)}}\\

\mathbf{else}:\\
\;\;\;\;\frac{t\_4}{\sqrt{\mathsf{max}\left(t\_6, t\_15\right)}}\\


\end{array}\\

\mathbf{elif}\;t\_6 \geq t\_9:\\
\;\;\;\;\frac{t\_0}{t\_8}\\

\mathbf{else}:\\
\;\;\;\;\frac{t\_4}{\sqrt{\mathsf{max}\left(t\_6, \mathsf{fma}\left(t\_4, t\_4, t\_15\right)\right)}}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (if (>=.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))) (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))))) (*.f32 (floor.f32 w) dX.u)) (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))))) (*.f32 (floor.f32 w) dY.u))) < -1.99999995e-4

    1. Initial program 99.3%

      \[\begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right):\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
    2. Applied rewrites99.3%

      \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ } \end{array}} \]
    3. Taylor expanded in dX.u around inf

      \[\leadsto \begin{array}{l} \mathbf{if}\;\color{blue}{{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2}} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
    4. Step-by-step derivation
      1. lift-floor.f32N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      2. lift-floor.f32N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      3. lift-*.f32N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      4. associate-*l*N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;{\color{blue}{dX.u}}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      5. lift-*.f32N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      6. lift-floor.f32N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      7. lift-floor.f32N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      8. swap-sqrN/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;{\color{blue}{dX.u}}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      9. swap-sqrN/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{\color{blue}{2}} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      10. pow2N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      11. lift-floor.f32N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor \color{blue}{w}\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      12. lift-floor.f32N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      13. lift-*.f32N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
    5. Applied rewrites98.7%

      \[\leadsto \begin{array}{l} \mathbf{if}\;\color{blue}{\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
    6. Taylor expanded in dY.u around inf

      \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \color{blue}{{dY.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2}}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
    7. Applied rewrites98.6%

      \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \color{blue}{\left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
    8. Step-by-step derivation
      1. lift-fma.f32N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u\right) \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)}, \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      2. lift-*.f32N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u\right)} \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      3. lift-*.f32N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\color{blue}{\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)} \cdot dX.u\right) \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      4. lift-floor.f32N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left(\color{blue}{\left\lfloor w\right\rfloor } \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u\right) \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      5. lift-floor.f32N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \cdot dX.u\right) \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      6. lift-floor.f32N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left(\color{blue}{\left\lfloor w\right\rfloor } \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u\right) \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      7. lift-floor.f32N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \cdot dX.u\right) \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      8. lift-*.f32N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\color{blue}{\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)} \cdot dX.u\right) \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      9. associate-*l*N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot \left(dX.u \cdot dX.u\right)} + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      10. lift-*.f32N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)} \cdot \left(dX.u \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      11. lift-floor.f32N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\color{blue}{\left\lfloor w\right\rfloor } \cdot \left\lfloor w\right\rfloor \right) \cdot \left(dX.u \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      12. lift-floor.f32N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \cdot \left(dX.u \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      13. swap-sqrN/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)} + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      14. lift-floor.f32N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\color{blue}{\left\lfloor w\right\rfloor } \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      15. lift-*.f32N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left\lfloor w\right\rfloor \cdot dX.u\right)} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      16. lift-floor.f32N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\color{blue}{\left\lfloor w\right\rfloor } \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      17. lift-*.f32N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \color{blue}{\left(\left\lfloor w\right\rfloor \cdot dX.u\right)} + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      18. lift-*.f32N/A

        \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \color{blue}{\left(dX.v \cdot dX.v\right)}, \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
    9. Applied rewrites98.8%

      \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dX.u, \left\lfloor w\right\rfloor \cdot dX.u, \left(\left(dX.v \cdot \left\lfloor h\right\rfloor \right) \cdot dX.v\right) \cdot \left\lfloor h\right\rfloor \right)}, \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]

    if -1.99999995e-4 < (if (>=.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))) (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))))) (*.f32 (floor.f32 w) dX.u)) (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))))) (*.f32 (floor.f32 w) dY.u))) < 4.99999986e-10

    1. Initial program 56.7%

      \[\begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right):\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
    2. Applied rewrites56.8%

      \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ } \end{array}} \]
    3. Taylor expanded in dY.u around 0

      \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot \color{blue}{dY.u}}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), {dY.v}^{2} \cdot {\left(\left\lfloor h\right\rfloor \right)}^{2}\right)}}\\ \end{array} \]
    4. Applied rewrites57.5%

      \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot \color{blue}{dY.u}}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \left(\left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \right)}}\\ \end{array} \]
    5. Taylor expanded in dX.u around 0

      \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{{dX.v}^{2} \cdot {\left(\left\lfloor h\right\rfloor \right)}^{2}}, \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \left(\left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \right)}}\\ \end{array} \]
    6. Step-by-step derivation
      1. Applied rewrites58.3%

        \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left(dX.v \cdot \left\lfloor h\right\rfloor \right) \cdot dX.v\right) \cdot \left\lfloor h\right\rfloor }, \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \left(\left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \right)}}\\ \end{array} \]

      if 4.99999986e-10 < (if (>=.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))) (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))))) (*.f32 (floor.f32 w) dX.u)) (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))))) (*.f32 (floor.f32 w) dY.u)))

      1. Initial program 99.2%

        \[\begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right):\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
      2. Applied rewrites99.2%

        \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ } \end{array}} \]
      3. Applied rewrites99.4%

        \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot \color{blue}{dY.u}}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dY.u, \left\lfloor w\right\rfloor \cdot dY.u, \left(\left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \right)\right)}}\\ \end{array} \]
      4. Taylor expanded in dY.u around inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \color{blue}{{dY.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2}}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dY.u, \left\lfloor w\right\rfloor \cdot dY.u, \left(\left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \right)\right)}}\\ \end{array} \]
      5. Applied rewrites96.2%

        \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \color{blue}{\left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dY.u, \left\lfloor w\right\rfloor \cdot dY.u, \left(\left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \right)\right)}}\\ \end{array} \]
    7. Recombined 3 regimes into one program.
    8. Add Preprocessing

    Alternative 2: 76.4% accurate, 0.3× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left\lfloor w\right\rfloor \cdot dX.u\\ t_1 := \left(\left(dX.v \cdot \left\lfloor h\right\rfloor \right) \cdot dX.v\right) \cdot \left\lfloor h\right\rfloor \\ t_2 := \left\lfloor h\right\rfloor \cdot dX.v\\ t_3 := \left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \\ t_4 := \left(dY.v \cdot dY.v\right) \cdot t\_3\\ t_5 := \left\lfloor w\right\rfloor \cdot dY.u\\ t_6 := \left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \\ t_7 := \left(dX.u \cdot dX.u\right) \cdot t\_6 \geq \left(dY.u \cdot dY.u\right) \cdot t\_6\\ t_8 := \mathsf{fma}\left(t\_6 \cdot dX.u, dX.u, t\_3 \cdot \left(dX.v \cdot dX.v\right)\right)\\ t_9 := \mathsf{fma}\left(t\_6 \cdot dY.u, dY.u, t\_4\right)\\ t_10 := \sqrt{\mathsf{max}\left(t\_8, t\_9\right)}\\ t_11 := \frac{t\_0}{t\_10}\\ t_12 := t\_0 \cdot t\_0 + t\_2 \cdot t\_2\\ t_13 := \left\lfloor h\right\rfloor \cdot dY.v\\ t_14 := t\_5 \cdot t\_5 + t\_13 \cdot t\_13\\ t_15 := \frac{1}{\sqrt{\mathsf{max}\left(t\_12, t\_14\right)}}\\ t_16 := \begin{array}{l} \mathbf{if}\;t\_12 \geq t\_14:\\ \;\;\;\;t\_15 \cdot t\_0\\ \mathbf{else}:\\ \;\;\;\;t\_15 \cdot t\_5\\ \end{array}\\ \mathbf{if}\;t\_16 \leq -0.019999999552965164:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;t\_7:\\ \;\;\;\;\frac{t\_0}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(t\_0, t\_0, t\_1\right), t\_9\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{t\_5}{t\_10}\\ \end{array}\\ \mathbf{elif}\;t\_16 \leq 0.25:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;t\_1 \geq t\_9:\\ \;\;\;\;t\_11\\ \mathbf{else}:\\ \;\;\;\;\frac{t\_5}{\sqrt{\mathsf{max}\left(t\_8, \left(t\_13 \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \right)}}\\ \end{array}\\ \mathbf{elif}\;t\_7:\\ \;\;\;\;t\_11\\ \mathbf{else}:\\ \;\;\;\;\frac{t\_5}{\sqrt{\mathsf{max}\left(t\_8, \mathsf{fma}\left(t\_5, t\_5, t\_4\right)\right)}}\\ \end{array} \end{array} \]
    (FPCore (w h dX.u dX.v dY.u dY.v maxAniso)
     :precision binary32
     (let* ((t_0 (* (floor w) dX.u))
            (t_1 (* (* (* dX.v (floor h)) dX.v) (floor h)))
            (t_2 (* (floor h) dX.v))
            (t_3 (* (floor h) (floor h)))
            (t_4 (* (* dY.v dY.v) t_3))
            (t_5 (* (floor w) dY.u))
            (t_6 (* (floor w) (floor w)))
            (t_7 (>= (* (* dX.u dX.u) t_6) (* (* dY.u dY.u) t_6)))
            (t_8 (fma (* t_6 dX.u) dX.u (* t_3 (* dX.v dX.v))))
            (t_9 (fma (* t_6 dY.u) dY.u t_4))
            (t_10 (sqrt (fmax t_8 t_9)))
            (t_11 (/ t_0 t_10))
            (t_12 (+ (* t_0 t_0) (* t_2 t_2)))
            (t_13 (* (floor h) dY.v))
            (t_14 (+ (* t_5 t_5) (* t_13 t_13)))
            (t_15 (/ 1.0 (sqrt (fmax t_12 t_14))))
            (t_16 (if (>= t_12 t_14) (* t_15 t_0) (* t_15 t_5))))
       (if (<= t_16 -0.019999999552965164)
         (if t_7 (/ t_0 (sqrt (fmax (fma t_0 t_0 t_1) t_9))) (/ t_5 t_10))
         (if (<= t_16 0.25)
           (if (>= t_1 t_9)
             t_11
             (/ t_5 (sqrt (fmax t_8 (* (* t_13 dY.v) (floor h))))))
           (if t_7 t_11 (/ t_5 (sqrt (fmax t_8 (fma t_5 t_5 t_4)))))))))
    float code(float w, float h, float dX_46_u, float dX_46_v, float dY_46_u, float dY_46_v, float maxAniso) {
    	float t_0 = floorf(w) * dX_46_u;
    	float t_1 = ((dX_46_v * floorf(h)) * dX_46_v) * floorf(h);
    	float t_2 = floorf(h) * dX_46_v;
    	float t_3 = floorf(h) * floorf(h);
    	float t_4 = (dY_46_v * dY_46_v) * t_3;
    	float t_5 = floorf(w) * dY_46_u;
    	float t_6 = floorf(w) * floorf(w);
    	int t_7 = ((dX_46_u * dX_46_u) * t_6) >= ((dY_46_u * dY_46_u) * t_6);
    	float t_8 = fmaf((t_6 * dX_46_u), dX_46_u, (t_3 * (dX_46_v * dX_46_v)));
    	float t_9 = fmaf((t_6 * dY_46_u), dY_46_u, t_4);
    	float t_10 = sqrtf(fmaxf(t_8, t_9));
    	float t_11 = t_0 / t_10;
    	float t_12 = (t_0 * t_0) + (t_2 * t_2);
    	float t_13 = floorf(h) * dY_46_v;
    	float t_14 = (t_5 * t_5) + (t_13 * t_13);
    	float t_15 = 1.0f / sqrtf(fmaxf(t_12, t_14));
    	float tmp;
    	if (t_12 >= t_14) {
    		tmp = t_15 * t_0;
    	} else {
    		tmp = t_15 * t_5;
    	}
    	float t_16 = tmp;
    	float tmp_2;
    	if (t_16 <= -0.019999999552965164f) {
    		float tmp_3;
    		if (t_7) {
    			tmp_3 = t_0 / sqrtf(fmaxf(fmaf(t_0, t_0, t_1), t_9));
    		} else {
    			tmp_3 = t_5 / t_10;
    		}
    		tmp_2 = tmp_3;
    	} else if (t_16 <= 0.25f) {
    		float tmp_4;
    		if (t_1 >= t_9) {
    			tmp_4 = t_11;
    		} else {
    			tmp_4 = t_5 / sqrtf(fmaxf(t_8, ((t_13 * dY_46_v) * floorf(h))));
    		}
    		tmp_2 = tmp_4;
    	} else if (t_7) {
    		tmp_2 = t_11;
    	} else {
    		tmp_2 = t_5 / sqrtf(fmaxf(t_8, fmaf(t_5, t_5, t_4)));
    	}
    	return tmp_2;
    }
    
    function code(w, h, dX_46_u, dX_46_v, dY_46_u, dY_46_v, maxAniso)
    	t_0 = Float32(floor(w) * dX_46_u)
    	t_1 = Float32(Float32(Float32(dX_46_v * floor(h)) * dX_46_v) * floor(h))
    	t_2 = Float32(floor(h) * dX_46_v)
    	t_3 = Float32(floor(h) * floor(h))
    	t_4 = Float32(Float32(dY_46_v * dY_46_v) * t_3)
    	t_5 = Float32(floor(w) * dY_46_u)
    	t_6 = Float32(floor(w) * floor(w))
    	t_7 = Float32(Float32(dX_46_u * dX_46_u) * t_6) >= Float32(Float32(dY_46_u * dY_46_u) * t_6)
    	t_8 = fma(Float32(t_6 * dX_46_u), dX_46_u, Float32(t_3 * Float32(dX_46_v * dX_46_v)))
    	t_9 = fma(Float32(t_6 * dY_46_u), dY_46_u, t_4)
    	t_10 = sqrt(fmax(t_8, t_9))
    	t_11 = Float32(t_0 / t_10)
    	t_12 = Float32(Float32(t_0 * t_0) + Float32(t_2 * t_2))
    	t_13 = Float32(floor(h) * dY_46_v)
    	t_14 = Float32(Float32(t_5 * t_5) + Float32(t_13 * t_13))
    	t_15 = Float32(Float32(1.0) / sqrt(fmax(t_12, t_14)))
    	tmp = Float32(0.0)
    	if (t_12 >= t_14)
    		tmp = Float32(t_15 * t_0);
    	else
    		tmp = Float32(t_15 * t_5);
    	end
    	t_16 = tmp
    	tmp_2 = Float32(0.0)
    	if (t_16 <= Float32(-0.019999999552965164))
    		tmp_3 = Float32(0.0)
    		if (t_7)
    			tmp_3 = Float32(t_0 / sqrt(fmax(fma(t_0, t_0, t_1), t_9)));
    		else
    			tmp_3 = Float32(t_5 / t_10);
    		end
    		tmp_2 = tmp_3;
    	elseif (t_16 <= Float32(0.25))
    		tmp_4 = Float32(0.0)
    		if (t_1 >= t_9)
    			tmp_4 = t_11;
    		else
    			tmp_4 = Float32(t_5 / sqrt(fmax(t_8, Float32(Float32(t_13 * dY_46_v) * floor(h)))));
    		end
    		tmp_2 = tmp_4;
    	elseif (t_7)
    		tmp_2 = t_11;
    	else
    		tmp_2 = Float32(t_5 / sqrt(fmax(t_8, fma(t_5, t_5, t_4))));
    	end
    	return tmp_2
    end
    
    \begin{array}{l}
    
    \\
    \begin{array}{l}
    t_0 := \left\lfloor w\right\rfloor  \cdot dX.u\\
    t_1 := \left(\left(dX.v \cdot \left\lfloor h\right\rfloor \right) \cdot dX.v\right) \cdot \left\lfloor h\right\rfloor \\
    t_2 := \left\lfloor h\right\rfloor  \cdot dX.v\\
    t_3 := \left\lfloor h\right\rfloor  \cdot \left\lfloor h\right\rfloor \\
    t_4 := \left(dY.v \cdot dY.v\right) \cdot t\_3\\
    t_5 := \left\lfloor w\right\rfloor  \cdot dY.u\\
    t_6 := \left\lfloor w\right\rfloor  \cdot \left\lfloor w\right\rfloor \\
    t_7 := \left(dX.u \cdot dX.u\right) \cdot t\_6 \geq \left(dY.u \cdot dY.u\right) \cdot t\_6\\
    t_8 := \mathsf{fma}\left(t\_6 \cdot dX.u, dX.u, t\_3 \cdot \left(dX.v \cdot dX.v\right)\right)\\
    t_9 := \mathsf{fma}\left(t\_6 \cdot dY.u, dY.u, t\_4\right)\\
    t_10 := \sqrt{\mathsf{max}\left(t\_8, t\_9\right)}\\
    t_11 := \frac{t\_0}{t\_10}\\
    t_12 := t\_0 \cdot t\_0 + t\_2 \cdot t\_2\\
    t_13 := \left\lfloor h\right\rfloor  \cdot dY.v\\
    t_14 := t\_5 \cdot t\_5 + t\_13 \cdot t\_13\\
    t_15 := \frac{1}{\sqrt{\mathsf{max}\left(t\_12, t\_14\right)}}\\
    t_16 := \begin{array}{l}
    \mathbf{if}\;t\_12 \geq t\_14:\\
    \;\;\;\;t\_15 \cdot t\_0\\
    
    \mathbf{else}:\\
    \;\;\;\;t\_15 \cdot t\_5\\
    
    
    \end{array}\\
    \mathbf{if}\;t\_16 \leq -0.019999999552965164:\\
    \;\;\;\;\begin{array}{l}
    \mathbf{if}\;t\_7:\\
    \;\;\;\;\frac{t\_0}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(t\_0, t\_0, t\_1\right), t\_9\right)}}\\
    
    \mathbf{else}:\\
    \;\;\;\;\frac{t\_5}{t\_10}\\
    
    
    \end{array}\\
    
    \mathbf{elif}\;t\_16 \leq 0.25:\\
    \;\;\;\;\begin{array}{l}
    \mathbf{if}\;t\_1 \geq t\_9:\\
    \;\;\;\;t\_11\\
    
    \mathbf{else}:\\
    \;\;\;\;\frac{t\_5}{\sqrt{\mathsf{max}\left(t\_8, \left(t\_13 \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \right)}}\\
    
    
    \end{array}\\
    
    \mathbf{elif}\;t\_7:\\
    \;\;\;\;t\_11\\
    
    \mathbf{else}:\\
    \;\;\;\;\frac{t\_5}{\sqrt{\mathsf{max}\left(t\_8, \mathsf{fma}\left(t\_5, t\_5, t\_4\right)\right)}}\\
    
    
    \end{array}
    \end{array}
    
    Derivation
    1. Split input into 3 regimes
    2. if (if (>=.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))) (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))))) (*.f32 (floor.f32 w) dX.u)) (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))))) (*.f32 (floor.f32 w) dY.u))) < -0.0199999996

      1. Initial program 99.4%

        \[\begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right):\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
      2. Applied rewrites99.3%

        \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ } \end{array}} \]
      3. Taylor expanded in dX.u around inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;\color{blue}{{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2}} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      4. Step-by-step derivation
        1. lift-floor.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        2. lift-floor.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        3. lift-*.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        4. associate-*l*N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;{\color{blue}{dX.u}}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        5. lift-*.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        6. lift-floor.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        7. lift-floor.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        8. swap-sqrN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;{\color{blue}{dX.u}}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        9. swap-sqrN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{\color{blue}{2}} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        10. pow2N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        11. lift-floor.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor \color{blue}{w}\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        12. lift-floor.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        13. lift-*.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      5. Applied rewrites99.2%

        \[\leadsto \begin{array}{l} \mathbf{if}\;\color{blue}{\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      6. Taylor expanded in dY.u around inf

        \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \color{blue}{{dY.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2}}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      7. Applied rewrites99.2%

        \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \color{blue}{\left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      8. Step-by-step derivation
        1. lift-fma.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u\right) \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)}, \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        2. lift-*.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u\right)} \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        3. lift-*.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\color{blue}{\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)} \cdot dX.u\right) \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        4. lift-floor.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left(\color{blue}{\left\lfloor w\right\rfloor } \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u\right) \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        5. lift-floor.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \cdot dX.u\right) \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        6. lift-floor.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left(\color{blue}{\left\lfloor w\right\rfloor } \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u\right) \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        7. lift-floor.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \cdot dX.u\right) \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        8. lift-*.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\color{blue}{\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)} \cdot dX.u\right) \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        9. associate-*l*N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot \left(dX.u \cdot dX.u\right)} + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        10. lift-*.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)} \cdot \left(dX.u \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        11. lift-floor.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\color{blue}{\left\lfloor w\right\rfloor } \cdot \left\lfloor w\right\rfloor \right) \cdot \left(dX.u \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        12. lift-floor.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \cdot \left(dX.u \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        13. swap-sqrN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)} + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        14. lift-floor.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\color{blue}{\left\lfloor w\right\rfloor } \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        15. lift-*.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left\lfloor w\right\rfloor \cdot dX.u\right)} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        16. lift-floor.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\color{blue}{\left\lfloor w\right\rfloor } \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        17. lift-*.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \color{blue}{\left(\left\lfloor w\right\rfloor \cdot dX.u\right)} + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        18. lift-*.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \color{blue}{\left(dX.v \cdot dX.v\right)}, \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      9. Applied rewrites99.4%

        \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dX.u, \left\lfloor w\right\rfloor \cdot dX.u, \left(\left(dX.v \cdot \left\lfloor h\right\rfloor \right) \cdot dX.v\right) \cdot \left\lfloor h\right\rfloor \right)}, \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]

      if -0.0199999996 < (if (>=.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))) (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))))) (*.f32 (floor.f32 w) dX.u)) (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))))) (*.f32 (floor.f32 w) dY.u))) < 0.25

      1. Initial program 61.7%

        \[\begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right):\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
      2. Applied rewrites61.8%

        \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ } \end{array}} \]
      3. Taylor expanded in dY.u around 0

        \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot \color{blue}{dY.u}}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), {dY.v}^{2} \cdot {\left(\left\lfloor h\right\rfloor \right)}^{2}\right)}}\\ \end{array} \]
      4. Applied rewrites62.0%

        \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot \color{blue}{dY.u}}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \left(\left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \right)}}\\ \end{array} \]
      5. Taylor expanded in dX.u around 0

        \[\leadsto \begin{array}{l} \mathbf{if}\;\color{blue}{{dX.v}^{2} \cdot {\left(\left\lfloor h\right\rfloor \right)}^{2}} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \left(\left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \right)}}\\ \end{array} \]
      6. Step-by-step derivation
        1. Applied rewrites62.0%

          \[\leadsto \begin{array}{l} \mathbf{if}\;\color{blue}{\left(\left(dX.v \cdot \left\lfloor h\right\rfloor \right) \cdot dX.v\right) \cdot \left\lfloor h\right\rfloor } \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \left(\left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \right)}}\\ \end{array} \]

        if 0.25 < (if (>=.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))) (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))))) (*.f32 (floor.f32 w) dX.u)) (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))))) (*.f32 (floor.f32 w) dY.u)))

        1. Initial program 99.4%

          \[\begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right):\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
        2. Applied rewrites99.3%

          \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ } \end{array}} \]
        3. Taylor expanded in dX.u around inf

          \[\leadsto \begin{array}{l} \mathbf{if}\;\color{blue}{{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2}} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        4. Step-by-step derivation
          1. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          2. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          3. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          4. associate-*l*N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{\color{blue}{dX.u}}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          5. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          6. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          7. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          8. swap-sqrN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{\color{blue}{dX.u}}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          9. swap-sqrN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{\color{blue}{2}} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          10. pow2N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          11. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor \color{blue}{w}\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          12. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          13. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        5. Applied rewrites99.3%

          \[\leadsto \begin{array}{l} \mathbf{if}\;\color{blue}{\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        6. Taylor expanded in dY.u around inf

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \color{blue}{{dY.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2}}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        7. Applied rewrites99.2%

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \color{blue}{\left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        8. Applied rewrites99.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot \color{blue}{dY.u}}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dY.u, \left\lfloor w\right\rfloor \cdot dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      7. Recombined 3 regimes into one program.
      8. Add Preprocessing

      Alternative 3: 76.4% accurate, 1.0× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \\ t_1 := \left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \\ t_2 := \mathsf{fma}\left(t\_0 \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot t\_1\right)\\ t_3 := \mathsf{fma}\left(t\_0 \cdot dX.u, dX.u, t\_1 \cdot \left(dX.v \cdot dX.v\right)\right)\\ t_4 := \left\lfloor w\right\rfloor \cdot dY.u\\ \mathbf{if}\;t\_3 \geq t\_2:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(t\_3, t\_2\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{t\_4}{\sqrt{\mathsf{max}\left(t\_3, \mathsf{fma}\left(t\_4, t\_4, \left(\left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \right)\right)}}\\ \end{array} \end{array} \]
      (FPCore (w h dX.u dX.v dY.u dY.v maxAniso)
       :precision binary32
       (let* ((t_0 (* (floor w) (floor w)))
              (t_1 (* (floor h) (floor h)))
              (t_2 (fma (* t_0 dY.u) dY.u (* (* dY.v dY.v) t_1)))
              (t_3 (fma (* t_0 dX.u) dX.u (* t_1 (* dX.v dX.v))))
              (t_4 (* (floor w) dY.u)))
         (if (>= t_3 t_2)
           (/ (* (floor w) dX.u) (sqrt (fmax t_3 t_2)))
           (/
            t_4
            (sqrt
             (fmax t_3 (fma t_4 t_4 (* (* (* (floor h) dY.v) dY.v) (floor h)))))))))
      float code(float w, float h, float dX_46_u, float dX_46_v, float dY_46_u, float dY_46_v, float maxAniso) {
      	float t_0 = floorf(w) * floorf(w);
      	float t_1 = floorf(h) * floorf(h);
      	float t_2 = fmaf((t_0 * dY_46_u), dY_46_u, ((dY_46_v * dY_46_v) * t_1));
      	float t_3 = fmaf((t_0 * dX_46_u), dX_46_u, (t_1 * (dX_46_v * dX_46_v)));
      	float t_4 = floorf(w) * dY_46_u;
      	float tmp;
      	if (t_3 >= t_2) {
      		tmp = (floorf(w) * dX_46_u) / sqrtf(fmaxf(t_3, t_2));
      	} else {
      		tmp = t_4 / sqrtf(fmaxf(t_3, fmaf(t_4, t_4, (((floorf(h) * dY_46_v) * dY_46_v) * floorf(h)))));
      	}
      	return tmp;
      }
      
      function code(w, h, dX_46_u, dX_46_v, dY_46_u, dY_46_v, maxAniso)
      	t_0 = Float32(floor(w) * floor(w))
      	t_1 = Float32(floor(h) * floor(h))
      	t_2 = fma(Float32(t_0 * dY_46_u), dY_46_u, Float32(Float32(dY_46_v * dY_46_v) * t_1))
      	t_3 = fma(Float32(t_0 * dX_46_u), dX_46_u, Float32(t_1 * Float32(dX_46_v * dX_46_v)))
      	t_4 = Float32(floor(w) * dY_46_u)
      	tmp = Float32(0.0)
      	if (t_3 >= t_2)
      		tmp = Float32(Float32(floor(w) * dX_46_u) / sqrt(fmax(t_3, t_2)));
      	else
      		tmp = Float32(t_4 / sqrt(fmax(t_3, fma(t_4, t_4, Float32(Float32(Float32(floor(h) * dY_46_v) * dY_46_v) * floor(h))))));
      	end
      	return tmp
      end
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      t_0 := \left\lfloor w\right\rfloor  \cdot \left\lfloor w\right\rfloor \\
      t_1 := \left\lfloor h\right\rfloor  \cdot \left\lfloor h\right\rfloor \\
      t_2 := \mathsf{fma}\left(t\_0 \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot t\_1\right)\\
      t_3 := \mathsf{fma}\left(t\_0 \cdot dX.u, dX.u, t\_1 \cdot \left(dX.v \cdot dX.v\right)\right)\\
      t_4 := \left\lfloor w\right\rfloor  \cdot dY.u\\
      \mathbf{if}\;t\_3 \geq t\_2:\\
      \;\;\;\;\frac{\left\lfloor w\right\rfloor  \cdot dX.u}{\sqrt{\mathsf{max}\left(t\_3, t\_2\right)}}\\
      
      \mathbf{else}:\\
      \;\;\;\;\frac{t\_4}{\sqrt{\mathsf{max}\left(t\_3, \mathsf{fma}\left(t\_4, t\_4, \left(\left(\left\lfloor h\right\rfloor  \cdot dY.v\right) \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \right)\right)}}\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Initial program 76.2%

        \[\begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right):\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
      2. Applied rewrites76.3%

        \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ } \end{array}} \]
      3. Applied rewrites76.4%

        \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot \color{blue}{dY.u}}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dY.u, \left\lfloor w\right\rfloor \cdot dY.u, \left(\left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \right)\right)}}\\ \end{array} \]
      4. Add Preprocessing

      Alternative 4: 76.3% accurate, 1.0× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \\ t_1 := \left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \\ t_2 := \mathsf{fma}\left(t\_1 \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot t\_0\right)\\ t_3 := \mathsf{fma}\left(t\_1 \cdot dX.u, dX.u, t\_0 \cdot \left(dX.v \cdot dX.v\right)\right)\\ t_4 := \left\lfloor w\right\rfloor \cdot dX.u\\ \mathbf{if}\;t\_3 \geq t\_2:\\ \;\;\;\;\frac{t\_4}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(t\_4, t\_4, \left(dX.v \cdot dX.v\right) \cdot t\_0\right), t\_2\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(t\_3, t\_2\right)}}\\ \end{array} \end{array} \]
      (FPCore (w h dX.u dX.v dY.u dY.v maxAniso)
       :precision binary32
       (let* ((t_0 (* (floor h) (floor h)))
              (t_1 (* (floor w) (floor w)))
              (t_2 (fma (* t_1 dY.u) dY.u (* (* dY.v dY.v) t_0)))
              (t_3 (fma (* t_1 dX.u) dX.u (* t_0 (* dX.v dX.v))))
              (t_4 (* (floor w) dX.u)))
         (if (>= t_3 t_2)
           (/ t_4 (sqrt (fmax (fma t_4 t_4 (* (* dX.v dX.v) t_0)) t_2)))
           (/ (* (floor w) dY.u) (sqrt (fmax t_3 t_2))))))
      float code(float w, float h, float dX_46_u, float dX_46_v, float dY_46_u, float dY_46_v, float maxAniso) {
      	float t_0 = floorf(h) * floorf(h);
      	float t_1 = floorf(w) * floorf(w);
      	float t_2 = fmaf((t_1 * dY_46_u), dY_46_u, ((dY_46_v * dY_46_v) * t_0));
      	float t_3 = fmaf((t_1 * dX_46_u), dX_46_u, (t_0 * (dX_46_v * dX_46_v)));
      	float t_4 = floorf(w) * dX_46_u;
      	float tmp;
      	if (t_3 >= t_2) {
      		tmp = t_4 / sqrtf(fmaxf(fmaf(t_4, t_4, ((dX_46_v * dX_46_v) * t_0)), t_2));
      	} else {
      		tmp = (floorf(w) * dY_46_u) / sqrtf(fmaxf(t_3, t_2));
      	}
      	return tmp;
      }
      
      function code(w, h, dX_46_u, dX_46_v, dY_46_u, dY_46_v, maxAniso)
      	t_0 = Float32(floor(h) * floor(h))
      	t_1 = Float32(floor(w) * floor(w))
      	t_2 = fma(Float32(t_1 * dY_46_u), dY_46_u, Float32(Float32(dY_46_v * dY_46_v) * t_0))
      	t_3 = fma(Float32(t_1 * dX_46_u), dX_46_u, Float32(t_0 * Float32(dX_46_v * dX_46_v)))
      	t_4 = Float32(floor(w) * dX_46_u)
      	tmp = Float32(0.0)
      	if (t_3 >= t_2)
      		tmp = Float32(t_4 / sqrt(fmax(fma(t_4, t_4, Float32(Float32(dX_46_v * dX_46_v) * t_0)), t_2)));
      	else
      		tmp = Float32(Float32(floor(w) * dY_46_u) / sqrt(fmax(t_3, t_2)));
      	end
      	return tmp
      end
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      t_0 := \left\lfloor h\right\rfloor  \cdot \left\lfloor h\right\rfloor \\
      t_1 := \left\lfloor w\right\rfloor  \cdot \left\lfloor w\right\rfloor \\
      t_2 := \mathsf{fma}\left(t\_1 \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot t\_0\right)\\
      t_3 := \mathsf{fma}\left(t\_1 \cdot dX.u, dX.u, t\_0 \cdot \left(dX.v \cdot dX.v\right)\right)\\
      t_4 := \left\lfloor w\right\rfloor  \cdot dX.u\\
      \mathbf{if}\;t\_3 \geq t\_2:\\
      \;\;\;\;\frac{t\_4}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(t\_4, t\_4, \left(dX.v \cdot dX.v\right) \cdot t\_0\right), t\_2\right)}}\\
      
      \mathbf{else}:\\
      \;\;\;\;\frac{\left\lfloor w\right\rfloor  \cdot dY.u}{\sqrt{\mathsf{max}\left(t\_3, t\_2\right)}}\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Initial program 76.2%

        \[\begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right):\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
      2. Applied rewrites76.3%

        \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ } \end{array}} \]
      3. Step-by-step derivation
        1. lift-fma.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u\right) \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)}, \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        2. lift-*.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u\right)} \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        3. associate-*l*N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot \left(dX.u \cdot dX.u\right)} + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        4. lift-*.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)} \cdot \left(dX.u \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        5. lift-floor.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\color{blue}{\left\lfloor w\right\rfloor } \cdot \left\lfloor w\right\rfloor \right) \cdot \left(dX.u \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        6. lift-floor.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \cdot \left(dX.u \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        7. swap-sqrN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)} + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        8. lift-floor.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\color{blue}{\left\lfloor w\right\rfloor } \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        9. lift-*.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left\lfloor w\right\rfloor \cdot dX.u\right)} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        10. lift-floor.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\color{blue}{\left\lfloor w\right\rfloor } \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        11. lift-*.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \color{blue}{\left(\left\lfloor w\right\rfloor \cdot dX.u\right)} + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        12. lower-fma.f3276.4

          \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dX.u, \left\lfloor w\right\rfloor \cdot dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right)}, \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        13. lift-*.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dX.u, \left\lfloor w\right\rfloor \cdot dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \color{blue}{\left(dX.v \cdot dX.v\right)}\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        14. lift-*.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dX.u, \left\lfloor w\right\rfloor \cdot dX.u, \color{blue}{\left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)}\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        15. *-commutativeN/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dX.u, \left\lfloor w\right\rfloor \cdot dX.u, \color{blue}{\left(dX.v \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)}\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        16. lower-*.f32N/A

          \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dX.u, \left\lfloor w\right\rfloor \cdot dX.u, \color{blue}{\left(dX.v \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)}\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        17. lift-*.f3276.4

          \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dX.u, \left\lfloor w\right\rfloor \cdot dX.u, \color{blue}{\left(dX.v \cdot dX.v\right)} \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      4. Applied rewrites76.4%

        \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dX.u, \left\lfloor w\right\rfloor \cdot dX.u, \left(dX.v \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)}, \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      5. Add Preprocessing

      Alternative 5: 76.3% accurate, 1.0× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \\ t_1 := \left\lfloor w\right\rfloor \cdot dY.u\\ t_2 := \left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \\ t_3 := \mathsf{fma}\left(t\_2 \cdot dX.u, dX.u, t\_0 \cdot \left(dX.v \cdot dX.v\right)\right)\\ \mathbf{if}\;t\_3 \geq \mathsf{fma}\left(t\_2 \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot t\_0\right):\\ \;\;\;\;\frac{dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot dX.v, \left\lfloor h\right\rfloor , \left(dX.u \cdot dX.u\right) \cdot t\_2\right), \mathsf{fma}\left(dY.v \cdot dY.v, t\_0, \left(dY.u \cdot dY.u\right) \cdot t\_2\right)\right)}} \cdot \left\lfloor w\right\rfloor \\ \mathbf{else}:\\ \;\;\;\;\frac{t\_1}{\sqrt{\mathsf{max}\left(t\_3, \mathsf{fma}\left(t\_1, t\_1, \left(\left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \right)\right)}}\\ \end{array} \end{array} \]
      (FPCore (w h dX.u dX.v dY.u dY.v maxAniso)
       :precision binary32
       (let* ((t_0 (* (floor h) (floor h)))
              (t_1 (* (floor w) dY.u))
              (t_2 (* (floor w) (floor w)))
              (t_3 (fma (* t_2 dX.u) dX.u (* t_0 (* dX.v dX.v)))))
         (if (>= t_3 (fma (* t_2 dY.u) dY.u (* (* dY.v dY.v) t_0)))
           (*
            (/
             dX.u
             (sqrt
              (fmax
               (fma (* (* (floor h) dX.v) dX.v) (floor h) (* (* dX.u dX.u) t_2))
               (fma (* dY.v dY.v) t_0 (* (* dY.u dY.u) t_2)))))
            (floor w))
           (/
            t_1
            (sqrt
             (fmax t_3 (fma t_1 t_1 (* (* (* (floor h) dY.v) dY.v) (floor h)))))))))
      float code(float w, float h, float dX_46_u, float dX_46_v, float dY_46_u, float dY_46_v, float maxAniso) {
      	float t_0 = floorf(h) * floorf(h);
      	float t_1 = floorf(w) * dY_46_u;
      	float t_2 = floorf(w) * floorf(w);
      	float t_3 = fmaf((t_2 * dX_46_u), dX_46_u, (t_0 * (dX_46_v * dX_46_v)));
      	float tmp;
      	if (t_3 >= fmaf((t_2 * dY_46_u), dY_46_u, ((dY_46_v * dY_46_v) * t_0))) {
      		tmp = (dX_46_u / sqrtf(fmaxf(fmaf(((floorf(h) * dX_46_v) * dX_46_v), floorf(h), ((dX_46_u * dX_46_u) * t_2)), fmaf((dY_46_v * dY_46_v), t_0, ((dY_46_u * dY_46_u) * t_2))))) * floorf(w);
      	} else {
      		tmp = t_1 / sqrtf(fmaxf(t_3, fmaf(t_1, t_1, (((floorf(h) * dY_46_v) * dY_46_v) * floorf(h)))));
      	}
      	return tmp;
      }
      
      function code(w, h, dX_46_u, dX_46_v, dY_46_u, dY_46_v, maxAniso)
      	t_0 = Float32(floor(h) * floor(h))
      	t_1 = Float32(floor(w) * dY_46_u)
      	t_2 = Float32(floor(w) * floor(w))
      	t_3 = fma(Float32(t_2 * dX_46_u), dX_46_u, Float32(t_0 * Float32(dX_46_v * dX_46_v)))
      	tmp = Float32(0.0)
      	if (t_3 >= fma(Float32(t_2 * dY_46_u), dY_46_u, Float32(Float32(dY_46_v * dY_46_v) * t_0)))
      		tmp = Float32(Float32(dX_46_u / sqrt(fmax(fma(Float32(Float32(floor(h) * dX_46_v) * dX_46_v), floor(h), Float32(Float32(dX_46_u * dX_46_u) * t_2)), fma(Float32(dY_46_v * dY_46_v), t_0, Float32(Float32(dY_46_u * dY_46_u) * t_2))))) * floor(w));
      	else
      		tmp = Float32(t_1 / sqrt(fmax(t_3, fma(t_1, t_1, Float32(Float32(Float32(floor(h) * dY_46_v) * dY_46_v) * floor(h))))));
      	end
      	return tmp
      end
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      t_0 := \left\lfloor h\right\rfloor  \cdot \left\lfloor h\right\rfloor \\
      t_1 := \left\lfloor w\right\rfloor  \cdot dY.u\\
      t_2 := \left\lfloor w\right\rfloor  \cdot \left\lfloor w\right\rfloor \\
      t_3 := \mathsf{fma}\left(t\_2 \cdot dX.u, dX.u, t\_0 \cdot \left(dX.v \cdot dX.v\right)\right)\\
      \mathbf{if}\;t\_3 \geq \mathsf{fma}\left(t\_2 \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot t\_0\right):\\
      \;\;\;\;\frac{dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor h\right\rfloor  \cdot dX.v\right) \cdot dX.v, \left\lfloor h\right\rfloor , \left(dX.u \cdot dX.u\right) \cdot t\_2\right), \mathsf{fma}\left(dY.v \cdot dY.v, t\_0, \left(dY.u \cdot dY.u\right) \cdot t\_2\right)\right)}} \cdot \left\lfloor w\right\rfloor \\
      
      \mathbf{else}:\\
      \;\;\;\;\frac{t\_1}{\sqrt{\mathsf{max}\left(t\_3, \mathsf{fma}\left(t\_1, t\_1, \left(\left(\left\lfloor h\right\rfloor  \cdot dY.v\right) \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \right)\right)}}\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Initial program 76.2%

        \[\begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right):\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
      2. Applied rewrites76.3%

        \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ } \end{array}} \]
      3. Applied rewrites76.4%

        \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot \color{blue}{dY.u}}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dY.u, \left\lfloor w\right\rfloor \cdot dY.u, \left(\left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \right)\right)}}\\ \end{array} \]
      4. Applied rewrites76.3%

        \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\color{blue}{\frac{dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot dX.v, \left\lfloor h\right\rfloor , \left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)\right), \mathsf{fma}\left(dY.v \cdot dY.v, \left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor , \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)\right)\right)}} \cdot \left\lfloor w\right\rfloor }\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dY.u, \left\lfloor w\right\rfloor \cdot dY.u, \left(\left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \right)\right)}}\\ \end{array} \]
      5. Add Preprocessing

      Alternative 6: 76.2% accurate, 1.0× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \\ t_1 := \left\lfloor w\right\rfloor \cdot dY.u\\ t_2 := \left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \\ t_3 := \mathsf{fma}\left(t\_2 \cdot dX.u, dX.u, t\_0 \cdot \left(dX.v \cdot dX.v\right)\right)\\ \mathbf{if}\;t\_3 \geq \mathsf{fma}\left(t\_2 \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot t\_0\right):\\ \;\;\;\;dX.u \cdot \frac{\left\lfloor w\right\rfloor }{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot dX.v, \left\lfloor h\right\rfloor , \left(dX.u \cdot dX.u\right) \cdot t\_2\right), \mathsf{fma}\left(dY.v \cdot dY.v, t\_0, \left(dY.u \cdot dY.u\right) \cdot t\_2\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{t\_1}{\sqrt{\mathsf{max}\left(t\_3, \mathsf{fma}\left(t\_1, t\_1, \left(\left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \right)\right)}}\\ \end{array} \end{array} \]
      (FPCore (w h dX.u dX.v dY.u dY.v maxAniso)
       :precision binary32
       (let* ((t_0 (* (floor h) (floor h)))
              (t_1 (* (floor w) dY.u))
              (t_2 (* (floor w) (floor w)))
              (t_3 (fma (* t_2 dX.u) dX.u (* t_0 (* dX.v dX.v)))))
         (if (>= t_3 (fma (* t_2 dY.u) dY.u (* (* dY.v dY.v) t_0)))
           (*
            dX.u
            (/
             (floor w)
             (sqrt
              (fmax
               (fma (* (* (floor h) dX.v) dX.v) (floor h) (* (* dX.u dX.u) t_2))
               (fma (* dY.v dY.v) t_0 (* (* dY.u dY.u) t_2))))))
           (/
            t_1
            (sqrt
             (fmax t_3 (fma t_1 t_1 (* (* (* (floor h) dY.v) dY.v) (floor h)))))))))
      float code(float w, float h, float dX_46_u, float dX_46_v, float dY_46_u, float dY_46_v, float maxAniso) {
      	float t_0 = floorf(h) * floorf(h);
      	float t_1 = floorf(w) * dY_46_u;
      	float t_2 = floorf(w) * floorf(w);
      	float t_3 = fmaf((t_2 * dX_46_u), dX_46_u, (t_0 * (dX_46_v * dX_46_v)));
      	float tmp;
      	if (t_3 >= fmaf((t_2 * dY_46_u), dY_46_u, ((dY_46_v * dY_46_v) * t_0))) {
      		tmp = dX_46_u * (floorf(w) / sqrtf(fmaxf(fmaf(((floorf(h) * dX_46_v) * dX_46_v), floorf(h), ((dX_46_u * dX_46_u) * t_2)), fmaf((dY_46_v * dY_46_v), t_0, ((dY_46_u * dY_46_u) * t_2)))));
      	} else {
      		tmp = t_1 / sqrtf(fmaxf(t_3, fmaf(t_1, t_1, (((floorf(h) * dY_46_v) * dY_46_v) * floorf(h)))));
      	}
      	return tmp;
      }
      
      function code(w, h, dX_46_u, dX_46_v, dY_46_u, dY_46_v, maxAniso)
      	t_0 = Float32(floor(h) * floor(h))
      	t_1 = Float32(floor(w) * dY_46_u)
      	t_2 = Float32(floor(w) * floor(w))
      	t_3 = fma(Float32(t_2 * dX_46_u), dX_46_u, Float32(t_0 * Float32(dX_46_v * dX_46_v)))
      	tmp = Float32(0.0)
      	if (t_3 >= fma(Float32(t_2 * dY_46_u), dY_46_u, Float32(Float32(dY_46_v * dY_46_v) * t_0)))
      		tmp = Float32(dX_46_u * Float32(floor(w) / sqrt(fmax(fma(Float32(Float32(floor(h) * dX_46_v) * dX_46_v), floor(h), Float32(Float32(dX_46_u * dX_46_u) * t_2)), fma(Float32(dY_46_v * dY_46_v), t_0, Float32(Float32(dY_46_u * dY_46_u) * t_2))))));
      	else
      		tmp = Float32(t_1 / sqrt(fmax(t_3, fma(t_1, t_1, Float32(Float32(Float32(floor(h) * dY_46_v) * dY_46_v) * floor(h))))));
      	end
      	return tmp
      end
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      t_0 := \left\lfloor h\right\rfloor  \cdot \left\lfloor h\right\rfloor \\
      t_1 := \left\lfloor w\right\rfloor  \cdot dY.u\\
      t_2 := \left\lfloor w\right\rfloor  \cdot \left\lfloor w\right\rfloor \\
      t_3 := \mathsf{fma}\left(t\_2 \cdot dX.u, dX.u, t\_0 \cdot \left(dX.v \cdot dX.v\right)\right)\\
      \mathbf{if}\;t\_3 \geq \mathsf{fma}\left(t\_2 \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot t\_0\right):\\
      \;\;\;\;dX.u \cdot \frac{\left\lfloor w\right\rfloor }{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor h\right\rfloor  \cdot dX.v\right) \cdot dX.v, \left\lfloor h\right\rfloor , \left(dX.u \cdot dX.u\right) \cdot t\_2\right), \mathsf{fma}\left(dY.v \cdot dY.v, t\_0, \left(dY.u \cdot dY.u\right) \cdot t\_2\right)\right)}}\\
      
      \mathbf{else}:\\
      \;\;\;\;\frac{t\_1}{\sqrt{\mathsf{max}\left(t\_3, \mathsf{fma}\left(t\_1, t\_1, \left(\left(\left\lfloor h\right\rfloor  \cdot dY.v\right) \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \right)\right)}}\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Initial program 76.2%

        \[\begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right):\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
      2. Applied rewrites76.3%

        \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ } \end{array}} \]
      3. Applied rewrites76.4%

        \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot \color{blue}{dY.u}}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dY.u, \left\lfloor w\right\rfloor \cdot dY.u, \left(\left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \right)\right)}}\\ \end{array} \]
      4. Applied rewrites76.3%

        \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\color{blue}{dX.u \cdot \frac{\left\lfloor w\right\rfloor }{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot dX.v, \left\lfloor h\right\rfloor , \left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)\right), \mathsf{fma}\left(dY.v \cdot dY.v, \left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor , \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)\right)\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dY.u, \left\lfloor w\right\rfloor \cdot dY.u, \left(\left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \right)\right)}}\\ \end{array} \]
      5. Add Preprocessing

      Alternative 7: 76.2% accurate, 1.0× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \\ t_1 := \left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \\ t_2 := \mathsf{fma}\left(t\_1 \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot t\_0\right)\\ t_3 := \mathsf{fma}\left(t\_1 \cdot dX.u, dX.u, t\_0 \cdot \left(dX.v \cdot dX.v\right)\right)\\ \mathbf{if}\;t\_3 \geq t\_2:\\ \;\;\;\;dX.u \cdot \frac{\left\lfloor w\right\rfloor }{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(dX.u \cdot dX.u, t\_1, \left(dX.v \cdot dX.v\right) \cdot t\_0\right), \mathsf{fma}\left(\left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot dY.v, \left\lfloor h\right\rfloor , \left(dY.u \cdot dY.u\right) \cdot t\_1\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(t\_3, t\_2\right)}}\\ \end{array} \end{array} \]
      (FPCore (w h dX.u dX.v dY.u dY.v maxAniso)
       :precision binary32
       (let* ((t_0 (* (floor h) (floor h)))
              (t_1 (* (floor w) (floor w)))
              (t_2 (fma (* t_1 dY.u) dY.u (* (* dY.v dY.v) t_0)))
              (t_3 (fma (* t_1 dX.u) dX.u (* t_0 (* dX.v dX.v)))))
         (if (>= t_3 t_2)
           (*
            dX.u
            (/
             (floor w)
             (sqrt
              (fmax
               (fma (* dX.u dX.u) t_1 (* (* dX.v dX.v) t_0))
               (fma (* (* (floor h) dY.v) dY.v) (floor h) (* (* dY.u dY.u) t_1))))))
           (/ (* (floor w) dY.u) (sqrt (fmax t_3 t_2))))))
      float code(float w, float h, float dX_46_u, float dX_46_v, float dY_46_u, float dY_46_v, float maxAniso) {
      	float t_0 = floorf(h) * floorf(h);
      	float t_1 = floorf(w) * floorf(w);
      	float t_2 = fmaf((t_1 * dY_46_u), dY_46_u, ((dY_46_v * dY_46_v) * t_0));
      	float t_3 = fmaf((t_1 * dX_46_u), dX_46_u, (t_0 * (dX_46_v * dX_46_v)));
      	float tmp;
      	if (t_3 >= t_2) {
      		tmp = dX_46_u * (floorf(w) / sqrtf(fmaxf(fmaf((dX_46_u * dX_46_u), t_1, ((dX_46_v * dX_46_v) * t_0)), fmaf(((floorf(h) * dY_46_v) * dY_46_v), floorf(h), ((dY_46_u * dY_46_u) * t_1)))));
      	} else {
      		tmp = (floorf(w) * dY_46_u) / sqrtf(fmaxf(t_3, t_2));
      	}
      	return tmp;
      }
      
      function code(w, h, dX_46_u, dX_46_v, dY_46_u, dY_46_v, maxAniso)
      	t_0 = Float32(floor(h) * floor(h))
      	t_1 = Float32(floor(w) * floor(w))
      	t_2 = fma(Float32(t_1 * dY_46_u), dY_46_u, Float32(Float32(dY_46_v * dY_46_v) * t_0))
      	t_3 = fma(Float32(t_1 * dX_46_u), dX_46_u, Float32(t_0 * Float32(dX_46_v * dX_46_v)))
      	tmp = Float32(0.0)
      	if (t_3 >= t_2)
      		tmp = Float32(dX_46_u * Float32(floor(w) / sqrt(fmax(fma(Float32(dX_46_u * dX_46_u), t_1, Float32(Float32(dX_46_v * dX_46_v) * t_0)), fma(Float32(Float32(floor(h) * dY_46_v) * dY_46_v), floor(h), Float32(Float32(dY_46_u * dY_46_u) * t_1))))));
      	else
      		tmp = Float32(Float32(floor(w) * dY_46_u) / sqrt(fmax(t_3, t_2)));
      	end
      	return tmp
      end
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      t_0 := \left\lfloor h\right\rfloor  \cdot \left\lfloor h\right\rfloor \\
      t_1 := \left\lfloor w\right\rfloor  \cdot \left\lfloor w\right\rfloor \\
      t_2 := \mathsf{fma}\left(t\_1 \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot t\_0\right)\\
      t_3 := \mathsf{fma}\left(t\_1 \cdot dX.u, dX.u, t\_0 \cdot \left(dX.v \cdot dX.v\right)\right)\\
      \mathbf{if}\;t\_3 \geq t\_2:\\
      \;\;\;\;dX.u \cdot \frac{\left\lfloor w\right\rfloor }{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(dX.u \cdot dX.u, t\_1, \left(dX.v \cdot dX.v\right) \cdot t\_0\right), \mathsf{fma}\left(\left(\left\lfloor h\right\rfloor  \cdot dY.v\right) \cdot dY.v, \left\lfloor h\right\rfloor , \left(dY.u \cdot dY.u\right) \cdot t\_1\right)\right)}}\\
      
      \mathbf{else}:\\
      \;\;\;\;\frac{\left\lfloor w\right\rfloor  \cdot dY.u}{\sqrt{\mathsf{max}\left(t\_3, t\_2\right)}}\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Initial program 76.2%

        \[\begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right):\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
      2. Applied rewrites76.3%

        \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ } \end{array}} \]
      3. Applied rewrites76.2%

        \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\color{blue}{dX.u \cdot \frac{\left\lfloor w\right\rfloor }{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(dX.u \cdot dX.u, \left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor , \left(dX.v \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right), \mathsf{fma}\left(\left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot dY.v, \left\lfloor h\right\rfloor , \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)\right)\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
      4. Add Preprocessing

      Alternative 8: 69.5% accurate, 1.1× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left\lfloor h\right\rfloor \cdot dX.v\\ t_1 := \left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \\ t_2 := \left(dY.v \cdot dY.v\right) \cdot t\_1\\ t_3 := \left\lfloor w\right\rfloor \cdot dY.u\\ t_4 := \left\lfloor h\right\rfloor \cdot dY.v\\ t_5 := \left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \\ t_6 := \mathsf{fma}\left(t\_5 \cdot dX.u, dX.u, t\_1 \cdot \left(dX.v \cdot dX.v\right)\right)\\ t_7 := \left\lfloor w\right\rfloor \cdot dX.u\\ t_8 := t\_7 \cdot t\_7 + t\_0 \cdot t\_0\\ t_9 := \frac{1}{\sqrt{\mathsf{max}\left(t\_8, t\_3 \cdot t\_3 + t\_4 \cdot t\_4\right)}}\\ \mathbf{if}\;dY.v \leq 7000:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;t\_6 \geq \left(dY.u \cdot dY.u\right) \cdot t\_5:\\ \;\;\;\;\frac{t\_7}{\sqrt{\mathsf{max}\left(t\_6, \mathsf{fma}\left(t\_5 \cdot dY.u, dY.u, t\_2\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{t\_3}{\sqrt{\mathsf{max}\left(t\_6, \mathsf{fma}\left(t\_3, t\_3, \left(t\_4 \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \right)\right)}}\\ \end{array}\\ \mathbf{elif}\;t\_8 \geq t\_2:\\ \;\;\;\;t\_9 \cdot t\_7\\ \mathbf{else}:\\ \;\;\;\;t\_9 \cdot t\_3\\ \end{array} \end{array} \]
      (FPCore (w h dX.u dX.v dY.u dY.v maxAniso)
       :precision binary32
       (let* ((t_0 (* (floor h) dX.v))
              (t_1 (* (floor h) (floor h)))
              (t_2 (* (* dY.v dY.v) t_1))
              (t_3 (* (floor w) dY.u))
              (t_4 (* (floor h) dY.v))
              (t_5 (* (floor w) (floor w)))
              (t_6 (fma (* t_5 dX.u) dX.u (* t_1 (* dX.v dX.v))))
              (t_7 (* (floor w) dX.u))
              (t_8 (+ (* t_7 t_7) (* t_0 t_0)))
              (t_9 (/ 1.0 (sqrt (fmax t_8 (+ (* t_3 t_3) (* t_4 t_4)))))))
         (if (<= dY.v 7000.0)
           (if (>= t_6 (* (* dY.u dY.u) t_5))
             (/ t_7 (sqrt (fmax t_6 (fma (* t_5 dY.u) dY.u t_2))))
             (/ t_3 (sqrt (fmax t_6 (fma t_3 t_3 (* (* t_4 dY.v) (floor h)))))))
           (if (>= t_8 t_2) (* t_9 t_7) (* t_9 t_3)))))
      float code(float w, float h, float dX_46_u, float dX_46_v, float dY_46_u, float dY_46_v, float maxAniso) {
      	float t_0 = floorf(h) * dX_46_v;
      	float t_1 = floorf(h) * floorf(h);
      	float t_2 = (dY_46_v * dY_46_v) * t_1;
      	float t_3 = floorf(w) * dY_46_u;
      	float t_4 = floorf(h) * dY_46_v;
      	float t_5 = floorf(w) * floorf(w);
      	float t_6 = fmaf((t_5 * dX_46_u), dX_46_u, (t_1 * (dX_46_v * dX_46_v)));
      	float t_7 = floorf(w) * dX_46_u;
      	float t_8 = (t_7 * t_7) + (t_0 * t_0);
      	float t_9 = 1.0f / sqrtf(fmaxf(t_8, ((t_3 * t_3) + (t_4 * t_4))));
      	float tmp_1;
      	if (dY_46_v <= 7000.0f) {
      		float tmp_2;
      		if (t_6 >= ((dY_46_u * dY_46_u) * t_5)) {
      			tmp_2 = t_7 / sqrtf(fmaxf(t_6, fmaf((t_5 * dY_46_u), dY_46_u, t_2)));
      		} else {
      			tmp_2 = t_3 / sqrtf(fmaxf(t_6, fmaf(t_3, t_3, ((t_4 * dY_46_v) * floorf(h)))));
      		}
      		tmp_1 = tmp_2;
      	} else if (t_8 >= t_2) {
      		tmp_1 = t_9 * t_7;
      	} else {
      		tmp_1 = t_9 * t_3;
      	}
      	return tmp_1;
      }
      
      function code(w, h, dX_46_u, dX_46_v, dY_46_u, dY_46_v, maxAniso)
      	t_0 = Float32(floor(h) * dX_46_v)
      	t_1 = Float32(floor(h) * floor(h))
      	t_2 = Float32(Float32(dY_46_v * dY_46_v) * t_1)
      	t_3 = Float32(floor(w) * dY_46_u)
      	t_4 = Float32(floor(h) * dY_46_v)
      	t_5 = Float32(floor(w) * floor(w))
      	t_6 = fma(Float32(t_5 * dX_46_u), dX_46_u, Float32(t_1 * Float32(dX_46_v * dX_46_v)))
      	t_7 = Float32(floor(w) * dX_46_u)
      	t_8 = Float32(Float32(t_7 * t_7) + Float32(t_0 * t_0))
      	t_9 = Float32(Float32(1.0) / sqrt(fmax(t_8, Float32(Float32(t_3 * t_3) + Float32(t_4 * t_4)))))
      	tmp_1 = Float32(0.0)
      	if (dY_46_v <= Float32(7000.0))
      		tmp_2 = Float32(0.0)
      		if (t_6 >= Float32(Float32(dY_46_u * dY_46_u) * t_5))
      			tmp_2 = Float32(t_7 / sqrt(fmax(t_6, fma(Float32(t_5 * dY_46_u), dY_46_u, t_2))));
      		else
      			tmp_2 = Float32(t_3 / sqrt(fmax(t_6, fma(t_3, t_3, Float32(Float32(t_4 * dY_46_v) * floor(h))))));
      		end
      		tmp_1 = tmp_2;
      	elseif (t_8 >= t_2)
      		tmp_1 = Float32(t_9 * t_7);
      	else
      		tmp_1 = Float32(t_9 * t_3);
      	end
      	return tmp_1
      end
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      t_0 := \left\lfloor h\right\rfloor  \cdot dX.v\\
      t_1 := \left\lfloor h\right\rfloor  \cdot \left\lfloor h\right\rfloor \\
      t_2 := \left(dY.v \cdot dY.v\right) \cdot t\_1\\
      t_3 := \left\lfloor w\right\rfloor  \cdot dY.u\\
      t_4 := \left\lfloor h\right\rfloor  \cdot dY.v\\
      t_5 := \left\lfloor w\right\rfloor  \cdot \left\lfloor w\right\rfloor \\
      t_6 := \mathsf{fma}\left(t\_5 \cdot dX.u, dX.u, t\_1 \cdot \left(dX.v \cdot dX.v\right)\right)\\
      t_7 := \left\lfloor w\right\rfloor  \cdot dX.u\\
      t_8 := t\_7 \cdot t\_7 + t\_0 \cdot t\_0\\
      t_9 := \frac{1}{\sqrt{\mathsf{max}\left(t\_8, t\_3 \cdot t\_3 + t\_4 \cdot t\_4\right)}}\\
      \mathbf{if}\;dY.v \leq 7000:\\
      \;\;\;\;\begin{array}{l}
      \mathbf{if}\;t\_6 \geq \left(dY.u \cdot dY.u\right) \cdot t\_5:\\
      \;\;\;\;\frac{t\_7}{\sqrt{\mathsf{max}\left(t\_6, \mathsf{fma}\left(t\_5 \cdot dY.u, dY.u, t\_2\right)\right)}}\\
      
      \mathbf{else}:\\
      \;\;\;\;\frac{t\_3}{\sqrt{\mathsf{max}\left(t\_6, \mathsf{fma}\left(t\_3, t\_3, \left(t\_4 \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \right)\right)}}\\
      
      
      \end{array}\\
      
      \mathbf{elif}\;t\_8 \geq t\_2:\\
      \;\;\;\;t\_9 \cdot t\_7\\
      
      \mathbf{else}:\\
      \;\;\;\;t\_9 \cdot t\_3\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Split input into 2 regimes
      2. if dY.v < 7e3

        1. Initial program 77.9%

          \[\begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right):\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
        2. Applied rewrites77.9%

          \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ } \end{array}} \]
        3. Applied rewrites78.0%

          \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot \color{blue}{dY.u}}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dY.u, \left\lfloor w\right\rfloor \cdot dY.u, \left(\left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \right)\right)}}\\ \end{array} \]
        4. Taylor expanded in dY.u around inf

          \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \color{blue}{{dY.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2}}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dY.u, \left\lfloor w\right\rfloor \cdot dY.u, \left(\left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \right)\right)}}\\ \end{array} \]
        5. Applied rewrites70.3%

          \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \color{blue}{\left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dY.u, \left\lfloor w\right\rfloor \cdot dY.u, \left(\left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot dY.v\right) \cdot \left\lfloor h\right\rfloor \right)\right)}}\\ \end{array} \]

        if 7e3 < dY.v

        1. Initial program 69.8%

          \[\begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right):\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
        2. Taylor expanded in dY.u around 0

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \color{blue}{{dY.v}^{2} \cdot {\left(\left\lfloor h\right\rfloor \right)}^{2}}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
        3. Step-by-step derivation
          1. lower-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq {dY.v}^{2} \cdot \color{blue}{{\left(\left\lfloor h\right\rfloor \right)}^{2}}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
          2. unpow2N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(dY.v \cdot dY.v\right) \cdot {\color{blue}{\left(\left\lfloor h\right\rfloor \right)}}^{2}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
          3. lower-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(dY.v \cdot dY.v\right) \cdot {\color{blue}{\left(\left\lfloor h\right\rfloor \right)}}^{2}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
          4. unpow2N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \color{blue}{\left\lfloor h\right\rfloor }\right):\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
          5. lower-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \color{blue}{\left\lfloor h\right\rfloor }\right):\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
          6. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor \color{blue}{h}\right\rfloor \right):\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
          7. lift-floor.f3266.5

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right):\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
        4. Applied rewrites66.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \color{blue}{\left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
      3. Recombined 2 regimes into one program.
      4. Add Preprocessing

      Alternative 9: 69.2% accurate, 1.1× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left\lfloor w\right\rfloor \cdot dY.u\\ t_1 := \left\lfloor w\right\rfloor \cdot dX.u\\ t_2 := \left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \\ t_3 := t\_2 \cdot dX.u\\ t_4 := \left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \\ t_5 := \mathsf{fma}\left(t\_2 \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot t\_4\right)\\ t_6 := \mathsf{fma}\left(t\_3, dX.u, t\_4 \cdot \left(dX.v \cdot dX.v\right)\right)\\ t_7 := \sqrt{\mathsf{max}\left(t\_6, t\_5\right)}\\ t_8 := \left\lfloor h\right\rfloor \cdot dY.v\\ \mathbf{if}\;dX.v \leq 0.0005000000237487257:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot t\_2 \geq t\_5:\\ \;\;\;\;\frac{t\_1}{t\_7}\\ \mathbf{else}:\\ \;\;\;\;\frac{t\_0}{\sqrt{\mathsf{max}\left(t\_6, \mathsf{fma}\left(t\_8, t\_8, \left(dY.u \cdot dY.u\right) \cdot t\_2\right)\right)}}\\ \end{array}\\ \mathbf{elif}\;\left(\left(dX.v \cdot \left\lfloor h\right\rfloor \right) \cdot dX.v\right) \cdot \left\lfloor h\right\rfloor \geq t\_5:\\ \;\;\;\;\frac{t\_1}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(t\_3, dX.u, \left(t\_4 \cdot \left(-dX.v\right)\right) \cdot \left(-dX.v\right)\right), t\_5\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{t\_0}{t\_7}\\ \end{array} \end{array} \]
      (FPCore (w h dX.u dX.v dY.u dY.v maxAniso)
       :precision binary32
       (let* ((t_0 (* (floor w) dY.u))
              (t_1 (* (floor w) dX.u))
              (t_2 (* (floor w) (floor w)))
              (t_3 (* t_2 dX.u))
              (t_4 (* (floor h) (floor h)))
              (t_5 (fma (* t_2 dY.u) dY.u (* (* dY.v dY.v) t_4)))
              (t_6 (fma t_3 dX.u (* t_4 (* dX.v dX.v))))
              (t_7 (sqrt (fmax t_6 t_5)))
              (t_8 (* (floor h) dY.v)))
         (if (<= dX.v 0.0005000000237487257)
           (if (>= (* (* dX.u dX.u) t_2) t_5)
             (/ t_1 t_7)
             (/ t_0 (sqrt (fmax t_6 (fma t_8 t_8 (* (* dY.u dY.u) t_2))))))
           (if (>= (* (* (* dX.v (floor h)) dX.v) (floor h)) t_5)
             (/ t_1 (sqrt (fmax (fma t_3 dX.u (* (* t_4 (- dX.v)) (- dX.v))) t_5)))
             (/ t_0 t_7)))))
      float code(float w, float h, float dX_46_u, float dX_46_v, float dY_46_u, float dY_46_v, float maxAniso) {
      	float t_0 = floorf(w) * dY_46_u;
      	float t_1 = floorf(w) * dX_46_u;
      	float t_2 = floorf(w) * floorf(w);
      	float t_3 = t_2 * dX_46_u;
      	float t_4 = floorf(h) * floorf(h);
      	float t_5 = fmaf((t_2 * dY_46_u), dY_46_u, ((dY_46_v * dY_46_v) * t_4));
      	float t_6 = fmaf(t_3, dX_46_u, (t_4 * (dX_46_v * dX_46_v)));
      	float t_7 = sqrtf(fmaxf(t_6, t_5));
      	float t_8 = floorf(h) * dY_46_v;
      	float tmp_1;
      	if (dX_46_v <= 0.0005000000237487257f) {
      		float tmp_2;
      		if (((dX_46_u * dX_46_u) * t_2) >= t_5) {
      			tmp_2 = t_1 / t_7;
      		} else {
      			tmp_2 = t_0 / sqrtf(fmaxf(t_6, fmaf(t_8, t_8, ((dY_46_u * dY_46_u) * t_2))));
      		}
      		tmp_1 = tmp_2;
      	} else if ((((dX_46_v * floorf(h)) * dX_46_v) * floorf(h)) >= t_5) {
      		tmp_1 = t_1 / sqrtf(fmaxf(fmaf(t_3, dX_46_u, ((t_4 * -dX_46_v) * -dX_46_v)), t_5));
      	} else {
      		tmp_1 = t_0 / t_7;
      	}
      	return tmp_1;
      }
      
      function code(w, h, dX_46_u, dX_46_v, dY_46_u, dY_46_v, maxAniso)
      	t_0 = Float32(floor(w) * dY_46_u)
      	t_1 = Float32(floor(w) * dX_46_u)
      	t_2 = Float32(floor(w) * floor(w))
      	t_3 = Float32(t_2 * dX_46_u)
      	t_4 = Float32(floor(h) * floor(h))
      	t_5 = fma(Float32(t_2 * dY_46_u), dY_46_u, Float32(Float32(dY_46_v * dY_46_v) * t_4))
      	t_6 = fma(t_3, dX_46_u, Float32(t_4 * Float32(dX_46_v * dX_46_v)))
      	t_7 = sqrt(fmax(t_6, t_5))
      	t_8 = Float32(floor(h) * dY_46_v)
      	tmp_1 = Float32(0.0)
      	if (dX_46_v <= Float32(0.0005000000237487257))
      		tmp_2 = Float32(0.0)
      		if (Float32(Float32(dX_46_u * dX_46_u) * t_2) >= t_5)
      			tmp_2 = Float32(t_1 / t_7);
      		else
      			tmp_2 = Float32(t_0 / sqrt(fmax(t_6, fma(t_8, t_8, Float32(Float32(dY_46_u * dY_46_u) * t_2)))));
      		end
      		tmp_1 = tmp_2;
      	elseif (Float32(Float32(Float32(dX_46_v * floor(h)) * dX_46_v) * floor(h)) >= t_5)
      		tmp_1 = Float32(t_1 / sqrt(fmax(fma(t_3, dX_46_u, Float32(Float32(t_4 * Float32(-dX_46_v)) * Float32(-dX_46_v))), t_5)));
      	else
      		tmp_1 = Float32(t_0 / t_7);
      	end
      	return tmp_1
      end
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      t_0 := \left\lfloor w\right\rfloor  \cdot dY.u\\
      t_1 := \left\lfloor w\right\rfloor  \cdot dX.u\\
      t_2 := \left\lfloor w\right\rfloor  \cdot \left\lfloor w\right\rfloor \\
      t_3 := t\_2 \cdot dX.u\\
      t_4 := \left\lfloor h\right\rfloor  \cdot \left\lfloor h\right\rfloor \\
      t_5 := \mathsf{fma}\left(t\_2 \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot t\_4\right)\\
      t_6 := \mathsf{fma}\left(t\_3, dX.u, t\_4 \cdot \left(dX.v \cdot dX.v\right)\right)\\
      t_7 := \sqrt{\mathsf{max}\left(t\_6, t\_5\right)}\\
      t_8 := \left\lfloor h\right\rfloor  \cdot dY.v\\
      \mathbf{if}\;dX.v \leq 0.0005000000237487257:\\
      \;\;\;\;\begin{array}{l}
      \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot t\_2 \geq t\_5:\\
      \;\;\;\;\frac{t\_1}{t\_7}\\
      
      \mathbf{else}:\\
      \;\;\;\;\frac{t\_0}{\sqrt{\mathsf{max}\left(t\_6, \mathsf{fma}\left(t\_8, t\_8, \left(dY.u \cdot dY.u\right) \cdot t\_2\right)\right)}}\\
      
      
      \end{array}\\
      
      \mathbf{elif}\;\left(\left(dX.v \cdot \left\lfloor h\right\rfloor \right) \cdot dX.v\right) \cdot \left\lfloor h\right\rfloor  \geq t\_5:\\
      \;\;\;\;\frac{t\_1}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(t\_3, dX.u, \left(t\_4 \cdot \left(-dX.v\right)\right) \cdot \left(-dX.v\right)\right), t\_5\right)}}\\
      
      \mathbf{else}:\\
      \;\;\;\;\frac{t\_0}{t\_7}\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Split input into 2 regimes
      2. if dX.v < 5.00000024e-4

        1. Initial program 77.0%

          \[\begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right):\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
        2. Applied rewrites77.0%

          \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ } \end{array}} \]
        3. Taylor expanded in dX.u around inf

          \[\leadsto \begin{array}{l} \mathbf{if}\;\color{blue}{{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2}} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        4. Step-by-step derivation
          1. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          2. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          3. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          4. associate-*l*N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{\color{blue}{dX.u}}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          5. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          6. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          7. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          8. swap-sqrN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{\color{blue}{dX.u}}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          9. swap-sqrN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{\color{blue}{2}} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          10. pow2N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          11. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor \color{blue}{w}\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          12. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          13. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        5. Applied rewrites68.7%

          \[\leadsto \begin{array}{l} \mathbf{if}\;\color{blue}{\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        6. Applied rewrites68.7%

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot \color{blue}{dY.u}}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left\lfloor h\right\rfloor \cdot dY.v, \left\lfloor h\right\rfloor \cdot dY.v, \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)\right)\right)}}\\ \end{array} \]

        if 5.00000024e-4 < dX.v

        1. Initial program 74.4%

          \[\begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right):\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
        2. Applied rewrites74.5%

          \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ } \end{array}} \]
        3. Step-by-step derivation
          1. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \color{blue}{\left(dX.v \cdot dX.v\right)}\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          2. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \color{blue}{\left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)}\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          3. sqr-neg-revN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \color{blue}{\left(\left(\mathsf{neg}\left(dX.v\right)\right) \cdot \left(\mathsf{neg}\left(dX.v\right)\right)\right)}\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          4. associate-*r*N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \color{blue}{\left(\left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(\mathsf{neg}\left(dX.v\right)\right)\right) \cdot \left(\mathsf{neg}\left(dX.v\right)\right)}\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          5. lower-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \color{blue}{\left(\left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(\mathsf{neg}\left(dX.v\right)\right)\right) \cdot \left(\mathsf{neg}\left(dX.v\right)\right)}\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          6. lower-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \color{blue}{\left(\left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(\mathsf{neg}\left(dX.v\right)\right)\right)} \cdot \left(\mathsf{neg}\left(dX.v\right)\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          7. lower-neg.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \color{blue}{\left(-dX.v\right)}\right) \cdot \left(\mathsf{neg}\left(dX.v\right)\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          8. lower-neg.f3274.5

            \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(-dX.v\right)\right) \cdot \color{blue}{\left(-dX.v\right)}\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        4. Applied rewrites74.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \color{blue}{\left(\left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(-dX.v\right)\right) \cdot \left(-dX.v\right)}\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        5. Taylor expanded in dX.u around 0

          \[\leadsto \begin{array}{l} \mathbf{if}\;\color{blue}{{dX.v}^{2} \cdot {\left(\left\lfloor h\right\rfloor \right)}^{2}} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(-dX.v\right)\right) \cdot \left(-dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        6. Step-by-step derivation
          1. Applied rewrites70.4%

            \[\leadsto \begin{array}{l} \mathbf{if}\;\color{blue}{\left(\left(dX.v \cdot \left\lfloor h\right\rfloor \right) \cdot dX.v\right) \cdot \left\lfloor h\right\rfloor } \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(-dX.v\right)\right) \cdot \left(-dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        7. Recombined 2 regimes into one program.
        8. Add Preprocessing

        Alternative 10: 65.1% accurate, 1.3× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \\ t_1 := \left\lfloor w\right\rfloor \cdot dY.u\\ t_2 := \left(dX.u \cdot dX.u\right) \cdot t\_0\\ t_3 := \left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \\ t_4 := \left(dY.v \cdot dY.v\right) \cdot t\_3\\ t_5 := \mathsf{fma}\left(t\_0 \cdot dX.u, dX.u, t\_3 \cdot \left(dX.v \cdot dX.v\right)\right)\\ t_6 := \sqrt{\mathsf{max}\left(t\_5, \mathsf{fma}\left(t\_0 \cdot dY.u, dY.u, t\_4\right)\right)}\\ t_7 := \frac{\left\lfloor w\right\rfloor \cdot dX.u}{t\_6}\\ \mathbf{if}\;dY.v \leq 6000:\\ \;\;\;\;\begin{array}{l} \mathbf{if}\;t\_2 \geq \left(dY.u \cdot dY.u\right) \cdot t\_0:\\ \;\;\;\;t\_7\\ \mathbf{else}:\\ \;\;\;\;\frac{t\_1}{\sqrt{\mathsf{max}\left(t\_5, \mathsf{fma}\left(t\_1, t\_1, t\_4\right)\right)}}\\ \end{array}\\ \mathbf{elif}\;t\_2 \geq t\_4:\\ \;\;\;\;t\_7\\ \mathbf{else}:\\ \;\;\;\;\frac{t\_1}{t\_6}\\ \end{array} \end{array} \]
        (FPCore (w h dX.u dX.v dY.u dY.v maxAniso)
         :precision binary32
         (let* ((t_0 (* (floor w) (floor w)))
                (t_1 (* (floor w) dY.u))
                (t_2 (* (* dX.u dX.u) t_0))
                (t_3 (* (floor h) (floor h)))
                (t_4 (* (* dY.v dY.v) t_3))
                (t_5 (fma (* t_0 dX.u) dX.u (* t_3 (* dX.v dX.v))))
                (t_6 (sqrt (fmax t_5 (fma (* t_0 dY.u) dY.u t_4))))
                (t_7 (/ (* (floor w) dX.u) t_6)))
           (if (<= dY.v 6000.0)
             (if (>= t_2 (* (* dY.u dY.u) t_0))
               t_7
               (/ t_1 (sqrt (fmax t_5 (fma t_1 t_1 t_4)))))
             (if (>= t_2 t_4) t_7 (/ t_1 t_6)))))
        float code(float w, float h, float dX_46_u, float dX_46_v, float dY_46_u, float dY_46_v, float maxAniso) {
        	float t_0 = floorf(w) * floorf(w);
        	float t_1 = floorf(w) * dY_46_u;
        	float t_2 = (dX_46_u * dX_46_u) * t_0;
        	float t_3 = floorf(h) * floorf(h);
        	float t_4 = (dY_46_v * dY_46_v) * t_3;
        	float t_5 = fmaf((t_0 * dX_46_u), dX_46_u, (t_3 * (dX_46_v * dX_46_v)));
        	float t_6 = sqrtf(fmaxf(t_5, fmaf((t_0 * dY_46_u), dY_46_u, t_4)));
        	float t_7 = (floorf(w) * dX_46_u) / t_6;
        	float tmp_1;
        	if (dY_46_v <= 6000.0f) {
        		float tmp_2;
        		if (t_2 >= ((dY_46_u * dY_46_u) * t_0)) {
        			tmp_2 = t_7;
        		} else {
        			tmp_2 = t_1 / sqrtf(fmaxf(t_5, fmaf(t_1, t_1, t_4)));
        		}
        		tmp_1 = tmp_2;
        	} else if (t_2 >= t_4) {
        		tmp_1 = t_7;
        	} else {
        		tmp_1 = t_1 / t_6;
        	}
        	return tmp_1;
        }
        
        function code(w, h, dX_46_u, dX_46_v, dY_46_u, dY_46_v, maxAniso)
        	t_0 = Float32(floor(w) * floor(w))
        	t_1 = Float32(floor(w) * dY_46_u)
        	t_2 = Float32(Float32(dX_46_u * dX_46_u) * t_0)
        	t_3 = Float32(floor(h) * floor(h))
        	t_4 = Float32(Float32(dY_46_v * dY_46_v) * t_3)
        	t_5 = fma(Float32(t_0 * dX_46_u), dX_46_u, Float32(t_3 * Float32(dX_46_v * dX_46_v)))
        	t_6 = sqrt(fmax(t_5, fma(Float32(t_0 * dY_46_u), dY_46_u, t_4)))
        	t_7 = Float32(Float32(floor(w) * dX_46_u) / t_6)
        	tmp_1 = Float32(0.0)
        	if (dY_46_v <= Float32(6000.0))
        		tmp_2 = Float32(0.0)
        		if (t_2 >= Float32(Float32(dY_46_u * dY_46_u) * t_0))
        			tmp_2 = t_7;
        		else
        			tmp_2 = Float32(t_1 / sqrt(fmax(t_5, fma(t_1, t_1, t_4))));
        		end
        		tmp_1 = tmp_2;
        	elseif (t_2 >= t_4)
        		tmp_1 = t_7;
        	else
        		tmp_1 = Float32(t_1 / t_6);
        	end
        	return tmp_1
        end
        
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        t_0 := \left\lfloor w\right\rfloor  \cdot \left\lfloor w\right\rfloor \\
        t_1 := \left\lfloor w\right\rfloor  \cdot dY.u\\
        t_2 := \left(dX.u \cdot dX.u\right) \cdot t\_0\\
        t_3 := \left\lfloor h\right\rfloor  \cdot \left\lfloor h\right\rfloor \\
        t_4 := \left(dY.v \cdot dY.v\right) \cdot t\_3\\
        t_5 := \mathsf{fma}\left(t\_0 \cdot dX.u, dX.u, t\_3 \cdot \left(dX.v \cdot dX.v\right)\right)\\
        t_6 := \sqrt{\mathsf{max}\left(t\_5, \mathsf{fma}\left(t\_0 \cdot dY.u, dY.u, t\_4\right)\right)}\\
        t_7 := \frac{\left\lfloor w\right\rfloor  \cdot dX.u}{t\_6}\\
        \mathbf{if}\;dY.v \leq 6000:\\
        \;\;\;\;\begin{array}{l}
        \mathbf{if}\;t\_2 \geq \left(dY.u \cdot dY.u\right) \cdot t\_0:\\
        \;\;\;\;t\_7\\
        
        \mathbf{else}:\\
        \;\;\;\;\frac{t\_1}{\sqrt{\mathsf{max}\left(t\_5, \mathsf{fma}\left(t\_1, t\_1, t\_4\right)\right)}}\\
        
        
        \end{array}\\
        
        \mathbf{elif}\;t\_2 \geq t\_4:\\
        \;\;\;\;t\_7\\
        
        \mathbf{else}:\\
        \;\;\;\;\frac{t\_1}{t\_6}\\
        
        
        \end{array}
        \end{array}
        
        Derivation
        1. Split input into 2 regimes
        2. if dY.v < 6e3

          1. Initial program 77.8%

            \[\begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right):\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
          2. Applied rewrites77.8%

            \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ } \end{array}} \]
          3. Taylor expanded in dX.u around inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;\color{blue}{{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2}} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          4. Step-by-step derivation
            1. lift-floor.f32N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
            2. lift-floor.f32N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
            3. lift-*.f32N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
            4. associate-*l*N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;{\color{blue}{dX.u}}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
            5. lift-*.f32N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
            6. lift-floor.f32N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
            7. lift-floor.f32N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
            8. swap-sqrN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;{\color{blue}{dX.u}}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
            9. swap-sqrN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{\color{blue}{2}} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
            10. pow2N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
            11. lift-floor.f32N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor \color{blue}{w}\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
            12. lift-floor.f32N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
            13. lift-*.f32N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          5. Applied rewrites65.5%

            \[\leadsto \begin{array}{l} \mathbf{if}\;\color{blue}{\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          6. Taylor expanded in dY.u around inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \color{blue}{{dY.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2}}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          7. Applied rewrites62.2%

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \color{blue}{\left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          8. Applied rewrites62.4%

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot \color{blue}{dY.u}}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dY.u, \left\lfloor w\right\rfloor \cdot dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]

          if 6e3 < dY.v

          1. Initial program 70.0%

            \[\begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right):\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
          2. Applied rewrites70.1%

            \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ } \end{array}} \]
          3. Taylor expanded in dX.u around inf

            \[\leadsto \begin{array}{l} \mathbf{if}\;\color{blue}{{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2}} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          4. Step-by-step derivation
            1. lift-floor.f32N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
            2. lift-floor.f32N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
            3. lift-*.f32N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
            4. associate-*l*N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;{\color{blue}{dX.u}}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
            5. lift-*.f32N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
            6. lift-floor.f32N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
            7. lift-floor.f32N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
            8. swap-sqrN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;{\color{blue}{dX.u}}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
            9. swap-sqrN/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{\color{blue}{2}} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
            10. pow2N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
            11. lift-floor.f32N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor \color{blue}{w}\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
            12. lift-floor.f32N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
            13. lift-*.f32N/A

              \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          5. Applied rewrites63.1%

            \[\leadsto \begin{array}{l} \mathbf{if}\;\color{blue}{\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          6. Taylor expanded in dY.u around 0

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \color{blue}{{dY.v}^{2} \cdot {\left(\left\lfloor h\right\rfloor \right)}^{2}}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          7. Applied rewrites61.7%

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \color{blue}{\left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        3. Recombined 2 regimes into one program.
        4. Add Preprocessing

        Alternative 11: 65.0% accurate, 1.2× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \\ t_1 := \left\lfloor w\right\rfloor \cdot dX.u\\ t_2 := \left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \\ t_3 := \mathsf{fma}\left(t\_2 \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot t\_0\right)\\ \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot t\_2 \geq t\_3:\\ \;\;\;\;\frac{t\_1}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(t\_1, t\_1, \left(\left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot dX.v\right) \cdot \left\lfloor h\right\rfloor \right), t\_3\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(t\_2 \cdot dX.u, dX.u, t\_0 \cdot \left(dX.v \cdot dX.v\right)\right), t\_3\right)}}\\ \end{array} \end{array} \]
        (FPCore (w h dX.u dX.v dY.u dY.v maxAniso)
         :precision binary32
         (let* ((t_0 (* (floor h) (floor h)))
                (t_1 (* (floor w) dX.u))
                (t_2 (* (floor w) (floor w)))
                (t_3 (fma (* t_2 dY.u) dY.u (* (* dY.v dY.v) t_0))))
           (if (>= (* (* dX.u dX.u) t_2) t_3)
             (/
              t_1
              (sqrt
               (fmax (fma t_1 t_1 (* (* (* (floor h) dX.v) dX.v) (floor h))) t_3)))
             (/
              (* (floor w) dY.u)
              (sqrt (fmax (fma (* t_2 dX.u) dX.u (* t_0 (* dX.v dX.v))) t_3))))))
        float code(float w, float h, float dX_46_u, float dX_46_v, float dY_46_u, float dY_46_v, float maxAniso) {
        	float t_0 = floorf(h) * floorf(h);
        	float t_1 = floorf(w) * dX_46_u;
        	float t_2 = floorf(w) * floorf(w);
        	float t_3 = fmaf((t_2 * dY_46_u), dY_46_u, ((dY_46_v * dY_46_v) * t_0));
        	float tmp;
        	if (((dX_46_u * dX_46_u) * t_2) >= t_3) {
        		tmp = t_1 / sqrtf(fmaxf(fmaf(t_1, t_1, (((floorf(h) * dX_46_v) * dX_46_v) * floorf(h))), t_3));
        	} else {
        		tmp = (floorf(w) * dY_46_u) / sqrtf(fmaxf(fmaf((t_2 * dX_46_u), dX_46_u, (t_0 * (dX_46_v * dX_46_v))), t_3));
        	}
        	return tmp;
        }
        
        function code(w, h, dX_46_u, dX_46_v, dY_46_u, dY_46_v, maxAniso)
        	t_0 = Float32(floor(h) * floor(h))
        	t_1 = Float32(floor(w) * dX_46_u)
        	t_2 = Float32(floor(w) * floor(w))
        	t_3 = fma(Float32(t_2 * dY_46_u), dY_46_u, Float32(Float32(dY_46_v * dY_46_v) * t_0))
        	tmp = Float32(0.0)
        	if (Float32(Float32(dX_46_u * dX_46_u) * t_2) >= t_3)
        		tmp = Float32(t_1 / sqrt(fmax(fma(t_1, t_1, Float32(Float32(Float32(floor(h) * dX_46_v) * dX_46_v) * floor(h))), t_3)));
        	else
        		tmp = Float32(Float32(floor(w) * dY_46_u) / sqrt(fmax(fma(Float32(t_2 * dX_46_u), dX_46_u, Float32(t_0 * Float32(dX_46_v * dX_46_v))), t_3)));
        	end
        	return tmp
        end
        
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        t_0 := \left\lfloor h\right\rfloor  \cdot \left\lfloor h\right\rfloor \\
        t_1 := \left\lfloor w\right\rfloor  \cdot dX.u\\
        t_2 := \left\lfloor w\right\rfloor  \cdot \left\lfloor w\right\rfloor \\
        t_3 := \mathsf{fma}\left(t\_2 \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot t\_0\right)\\
        \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot t\_2 \geq t\_3:\\
        \;\;\;\;\frac{t\_1}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(t\_1, t\_1, \left(\left(\left\lfloor h\right\rfloor  \cdot dX.v\right) \cdot dX.v\right) \cdot \left\lfloor h\right\rfloor \right), t\_3\right)}}\\
        
        \mathbf{else}:\\
        \;\;\;\;\frac{\left\lfloor w\right\rfloor  \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(t\_2 \cdot dX.u, dX.u, t\_0 \cdot \left(dX.v \cdot dX.v\right)\right), t\_3\right)}}\\
        
        
        \end{array}
        \end{array}
        
        Derivation
        1. Initial program 76.2%

          \[\begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right):\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
        2. Applied rewrites76.3%

          \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ } \end{array}} \]
        3. Taylor expanded in dX.u around inf

          \[\leadsto \begin{array}{l} \mathbf{if}\;\color{blue}{{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2}} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        4. Step-by-step derivation
          1. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          2. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          3. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          4. associate-*l*N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{\color{blue}{dX.u}}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          5. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          6. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          7. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          8. swap-sqrN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{\color{blue}{dX.u}}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          9. swap-sqrN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{\color{blue}{2}} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          10. pow2N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          11. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor \color{blue}{w}\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          12. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          13. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        5. Applied rewrites65.0%

          \[\leadsto \begin{array}{l} \mathbf{if}\;\color{blue}{\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        6. Step-by-step derivation
          1. lift-fma.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u\right) \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)}, \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          2. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u\right)} \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          3. associate-*l*N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot \left(dX.u \cdot dX.u\right)} + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          4. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)} \cdot \left(dX.u \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          5. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\color{blue}{\left\lfloor w\right\rfloor } \cdot \left\lfloor w\right\rfloor \right) \cdot \left(dX.u \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          6. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \cdot \left(dX.u \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          7. swap-sqrN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)} + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          8. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\color{blue}{\left\lfloor w\right\rfloor } \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          9. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left\lfloor w\right\rfloor \cdot dX.u\right)} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          10. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\color{blue}{\left\lfloor w\right\rfloor } \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          11. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \color{blue}{\left(\left\lfloor w\right\rfloor \cdot dX.u\right)} + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          12. lower-fma.f3265.1

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dX.u, \left\lfloor w\right\rfloor \cdot dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right)}, \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          13. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dX.u, \left\lfloor w\right\rfloor \cdot dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \color{blue}{\left(dX.v \cdot dX.v\right)}\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          14. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dX.u, \left\lfloor w\right\rfloor \cdot dX.u, \color{blue}{\left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)}\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          15. *-commutativeN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dX.u, \left\lfloor w\right\rfloor \cdot dX.u, \color{blue}{\left(dX.v \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)}\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          16. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dX.u, \left\lfloor w\right\rfloor \cdot dX.u, \left(dX.v \cdot dX.v\right) \cdot \color{blue}{\left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)}\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          17. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dX.u, \left\lfloor w\right\rfloor \cdot dX.u, \left(dX.v \cdot dX.v\right) \cdot \left(\color{blue}{\left\lfloor h\right\rfloor } \cdot \left\lfloor h\right\rfloor \right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          18. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dX.u, \left\lfloor w\right\rfloor \cdot dX.u, \left(dX.v \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \color{blue}{\left\lfloor h\right\rfloor }\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        7. Applied rewrites65.1%

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dX.u, \left\lfloor w\right\rfloor \cdot dX.u, \left(\left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot dX.v\right) \cdot \left\lfloor h\right\rfloor \right)}, \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        8. Add Preprocessing

        Alternative 12: 62.2% accurate, 1.2× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \\ t_1 := \left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \\ t_2 := \left(dX.u \cdot dX.u\right) \cdot t\_1\\ t_3 := \mathsf{fma}\left(t\_1 \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot t\_0\right)\\ \mathbf{if}\;t\_2 \geq t\_3:\\ \;\;\;\;\frac{dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot dX.v, \left\lfloor h\right\rfloor , t\_2\right), \mathsf{fma}\left(dY.v \cdot dY.v, t\_0, \left(dY.u \cdot dY.u\right) \cdot t\_1\right)\right)}} \cdot \left\lfloor w\right\rfloor \\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(t\_1 \cdot dX.u, dX.u, t\_0 \cdot \left(dX.v \cdot dX.v\right)\right), t\_3\right)}}\\ \end{array} \end{array} \]
        (FPCore (w h dX.u dX.v dY.u dY.v maxAniso)
         :precision binary32
         (let* ((t_0 (* (floor h) (floor h)))
                (t_1 (* (floor w) (floor w)))
                (t_2 (* (* dX.u dX.u) t_1))
                (t_3 (fma (* t_1 dY.u) dY.u (* (* dY.v dY.v) t_0))))
           (if (>= t_2 t_3)
             (*
              (/
               dX.u
               (sqrt
                (fmax
                 (fma (* (* (floor h) dX.v) dX.v) (floor h) t_2)
                 (fma (* dY.v dY.v) t_0 (* (* dY.u dY.u) t_1)))))
              (floor w))
             (/
              (* (floor w) dY.u)
              (sqrt (fmax (fma (* t_1 dX.u) dX.u (* t_0 (* dX.v dX.v))) t_3))))))
        float code(float w, float h, float dX_46_u, float dX_46_v, float dY_46_u, float dY_46_v, float maxAniso) {
        	float t_0 = floorf(h) * floorf(h);
        	float t_1 = floorf(w) * floorf(w);
        	float t_2 = (dX_46_u * dX_46_u) * t_1;
        	float t_3 = fmaf((t_1 * dY_46_u), dY_46_u, ((dY_46_v * dY_46_v) * t_0));
        	float tmp;
        	if (t_2 >= t_3) {
        		tmp = (dX_46_u / sqrtf(fmaxf(fmaf(((floorf(h) * dX_46_v) * dX_46_v), floorf(h), t_2), fmaf((dY_46_v * dY_46_v), t_0, ((dY_46_u * dY_46_u) * t_1))))) * floorf(w);
        	} else {
        		tmp = (floorf(w) * dY_46_u) / sqrtf(fmaxf(fmaf((t_1 * dX_46_u), dX_46_u, (t_0 * (dX_46_v * dX_46_v))), t_3));
        	}
        	return tmp;
        }
        
        function code(w, h, dX_46_u, dX_46_v, dY_46_u, dY_46_v, maxAniso)
        	t_0 = Float32(floor(h) * floor(h))
        	t_1 = Float32(floor(w) * floor(w))
        	t_2 = Float32(Float32(dX_46_u * dX_46_u) * t_1)
        	t_3 = fma(Float32(t_1 * dY_46_u), dY_46_u, Float32(Float32(dY_46_v * dY_46_v) * t_0))
        	tmp = Float32(0.0)
        	if (t_2 >= t_3)
        		tmp = Float32(Float32(dX_46_u / sqrt(fmax(fma(Float32(Float32(floor(h) * dX_46_v) * dX_46_v), floor(h), t_2), fma(Float32(dY_46_v * dY_46_v), t_0, Float32(Float32(dY_46_u * dY_46_u) * t_1))))) * floor(w));
        	else
        		tmp = Float32(Float32(floor(w) * dY_46_u) / sqrt(fmax(fma(Float32(t_1 * dX_46_u), dX_46_u, Float32(t_0 * Float32(dX_46_v * dX_46_v))), t_3)));
        	end
        	return tmp
        end
        
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        t_0 := \left\lfloor h\right\rfloor  \cdot \left\lfloor h\right\rfloor \\
        t_1 := \left\lfloor w\right\rfloor  \cdot \left\lfloor w\right\rfloor \\
        t_2 := \left(dX.u \cdot dX.u\right) \cdot t\_1\\
        t_3 := \mathsf{fma}\left(t\_1 \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot t\_0\right)\\
        \mathbf{if}\;t\_2 \geq t\_3:\\
        \;\;\;\;\frac{dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor h\right\rfloor  \cdot dX.v\right) \cdot dX.v, \left\lfloor h\right\rfloor , t\_2\right), \mathsf{fma}\left(dY.v \cdot dY.v, t\_0, \left(dY.u \cdot dY.u\right) \cdot t\_1\right)\right)}} \cdot \left\lfloor w\right\rfloor \\
        
        \mathbf{else}:\\
        \;\;\;\;\frac{\left\lfloor w\right\rfloor  \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(t\_1 \cdot dX.u, dX.u, t\_0 \cdot \left(dX.v \cdot dX.v\right)\right), t\_3\right)}}\\
        
        
        \end{array}
        \end{array}
        
        Derivation
        1. Initial program 76.2%

          \[\begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right):\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
        2. Applied rewrites76.3%

          \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ } \end{array}} \]
        3. Taylor expanded in dX.u around inf

          \[\leadsto \begin{array}{l} \mathbf{if}\;\color{blue}{{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2}} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        4. Step-by-step derivation
          1. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          2. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          3. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          4. associate-*l*N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{\color{blue}{dX.u}}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          5. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          6. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          7. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          8. swap-sqrN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{\color{blue}{dX.u}}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          9. swap-sqrN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{\color{blue}{2}} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          10. pow2N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          11. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor \color{blue}{w}\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          12. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          13. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        5. Applied rewrites65.0%

          \[\leadsto \begin{array}{l} \mathbf{if}\;\color{blue}{\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        6. Applied rewrites65.0%

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\color{blue}{\frac{dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot dX.v, \left\lfloor h\right\rfloor , \left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)\right), \mathsf{fma}\left(dY.v \cdot dY.v, \left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor , \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)\right)\right)}} \cdot \left\lfloor w\right\rfloor }\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        7. Add Preprocessing

        Alternative 13: 59.8% accurate, 1.3× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left\lfloor w\right\rfloor \cdot dY.u\\ t_1 := \left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \\ t_2 := \left(dY.v \cdot dY.v\right) \cdot t\_1\\ t_3 := \left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \\ t_4 := \mathsf{fma}\left(t\_3 \cdot dX.u, dX.u, t\_1 \cdot \left(dX.v \cdot dX.v\right)\right)\\ \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot t\_3 \geq \left(dY.u \cdot dY.u\right) \cdot t\_3:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(t\_4, \mathsf{fma}\left(t\_3 \cdot dY.u, dY.u, t\_2\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{t\_0}{\sqrt{\mathsf{max}\left(t\_4, \mathsf{fma}\left(t\_0, t\_0, t\_2\right)\right)}}\\ \end{array} \end{array} \]
        (FPCore (w h dX.u dX.v dY.u dY.v maxAniso)
         :precision binary32
         (let* ((t_0 (* (floor w) dY.u))
                (t_1 (* (floor h) (floor h)))
                (t_2 (* (* dY.v dY.v) t_1))
                (t_3 (* (floor w) (floor w)))
                (t_4 (fma (* t_3 dX.u) dX.u (* t_1 (* dX.v dX.v)))))
           (if (>= (* (* dX.u dX.u) t_3) (* (* dY.u dY.u) t_3))
             (/ (* (floor w) dX.u) (sqrt (fmax t_4 (fma (* t_3 dY.u) dY.u t_2))))
             (/ t_0 (sqrt (fmax t_4 (fma t_0 t_0 t_2)))))))
        float code(float w, float h, float dX_46_u, float dX_46_v, float dY_46_u, float dY_46_v, float maxAniso) {
        	float t_0 = floorf(w) * dY_46_u;
        	float t_1 = floorf(h) * floorf(h);
        	float t_2 = (dY_46_v * dY_46_v) * t_1;
        	float t_3 = floorf(w) * floorf(w);
        	float t_4 = fmaf((t_3 * dX_46_u), dX_46_u, (t_1 * (dX_46_v * dX_46_v)));
        	float tmp;
        	if (((dX_46_u * dX_46_u) * t_3) >= ((dY_46_u * dY_46_u) * t_3)) {
        		tmp = (floorf(w) * dX_46_u) / sqrtf(fmaxf(t_4, fmaf((t_3 * dY_46_u), dY_46_u, t_2)));
        	} else {
        		tmp = t_0 / sqrtf(fmaxf(t_4, fmaf(t_0, t_0, t_2)));
        	}
        	return tmp;
        }
        
        function code(w, h, dX_46_u, dX_46_v, dY_46_u, dY_46_v, maxAniso)
        	t_0 = Float32(floor(w) * dY_46_u)
        	t_1 = Float32(floor(h) * floor(h))
        	t_2 = Float32(Float32(dY_46_v * dY_46_v) * t_1)
        	t_3 = Float32(floor(w) * floor(w))
        	t_4 = fma(Float32(t_3 * dX_46_u), dX_46_u, Float32(t_1 * Float32(dX_46_v * dX_46_v)))
        	tmp = Float32(0.0)
        	if (Float32(Float32(dX_46_u * dX_46_u) * t_3) >= Float32(Float32(dY_46_u * dY_46_u) * t_3))
        		tmp = Float32(Float32(floor(w) * dX_46_u) / sqrt(fmax(t_4, fma(Float32(t_3 * dY_46_u), dY_46_u, t_2))));
        	else
        		tmp = Float32(t_0 / sqrt(fmax(t_4, fma(t_0, t_0, t_2))));
        	end
        	return tmp
        end
        
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        t_0 := \left\lfloor w\right\rfloor  \cdot dY.u\\
        t_1 := \left\lfloor h\right\rfloor  \cdot \left\lfloor h\right\rfloor \\
        t_2 := \left(dY.v \cdot dY.v\right) \cdot t\_1\\
        t_3 := \left\lfloor w\right\rfloor  \cdot \left\lfloor w\right\rfloor \\
        t_4 := \mathsf{fma}\left(t\_3 \cdot dX.u, dX.u, t\_1 \cdot \left(dX.v \cdot dX.v\right)\right)\\
        \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot t\_3 \geq \left(dY.u \cdot dY.u\right) \cdot t\_3:\\
        \;\;\;\;\frac{\left\lfloor w\right\rfloor  \cdot dX.u}{\sqrt{\mathsf{max}\left(t\_4, \mathsf{fma}\left(t\_3 \cdot dY.u, dY.u, t\_2\right)\right)}}\\
        
        \mathbf{else}:\\
        \;\;\;\;\frac{t\_0}{\sqrt{\mathsf{max}\left(t\_4, \mathsf{fma}\left(t\_0, t\_0, t\_2\right)\right)}}\\
        
        
        \end{array}
        \end{array}
        
        Derivation
        1. Initial program 76.2%

          \[\begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right):\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
        2. Applied rewrites76.3%

          \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ } \end{array}} \]
        3. Taylor expanded in dX.u around inf

          \[\leadsto \begin{array}{l} \mathbf{if}\;\color{blue}{{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2}} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        4. Step-by-step derivation
          1. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          2. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          3. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          4. associate-*l*N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{\color{blue}{dX.u}}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          5. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          6. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          7. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          8. swap-sqrN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{\color{blue}{dX.u}}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          9. swap-sqrN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{\color{blue}{2}} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          10. pow2N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          11. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor \color{blue}{w}\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          12. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          13. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        5. Applied rewrites65.0%

          \[\leadsto \begin{array}{l} \mathbf{if}\;\color{blue}{\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        6. Taylor expanded in dY.u around inf

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \color{blue}{{dY.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2}}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        7. Applied rewrites59.7%

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \color{blue}{\left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        8. Applied rewrites59.8%

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot \color{blue}{dY.u}}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dY.u, \left\lfloor w\right\rfloor \cdot dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        9. Add Preprocessing

        Alternative 14: 59.8% accurate, 1.3× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \\ t_1 := \left\lfloor w\right\rfloor \cdot dX.u\\ t_2 := \left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \\ t_3 := \mathsf{fma}\left(t\_2 \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot t\_0\right)\\ \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot t\_2 \geq \left(dY.u \cdot dY.u\right) \cdot t\_2:\\ \;\;\;\;\frac{t\_1}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(t\_1, t\_1, \left(\left(dX.v \cdot \left\lfloor h\right\rfloor \right) \cdot dX.v\right) \cdot \left\lfloor h\right\rfloor \right), t\_3\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(t\_2 \cdot dX.u, dX.u, t\_0 \cdot \left(dX.v \cdot dX.v\right)\right), t\_3\right)}}\\ \end{array} \end{array} \]
        (FPCore (w h dX.u dX.v dY.u dY.v maxAniso)
         :precision binary32
         (let* ((t_0 (* (floor h) (floor h)))
                (t_1 (* (floor w) dX.u))
                (t_2 (* (floor w) (floor w)))
                (t_3 (fma (* t_2 dY.u) dY.u (* (* dY.v dY.v) t_0))))
           (if (>= (* (* dX.u dX.u) t_2) (* (* dY.u dY.u) t_2))
             (/
              t_1
              (sqrt
               (fmax (fma t_1 t_1 (* (* (* dX.v (floor h)) dX.v) (floor h))) t_3)))
             (/
              (* (floor w) dY.u)
              (sqrt (fmax (fma (* t_2 dX.u) dX.u (* t_0 (* dX.v dX.v))) t_3))))))
        float code(float w, float h, float dX_46_u, float dX_46_v, float dY_46_u, float dY_46_v, float maxAniso) {
        	float t_0 = floorf(h) * floorf(h);
        	float t_1 = floorf(w) * dX_46_u;
        	float t_2 = floorf(w) * floorf(w);
        	float t_3 = fmaf((t_2 * dY_46_u), dY_46_u, ((dY_46_v * dY_46_v) * t_0));
        	float tmp;
        	if (((dX_46_u * dX_46_u) * t_2) >= ((dY_46_u * dY_46_u) * t_2)) {
        		tmp = t_1 / sqrtf(fmaxf(fmaf(t_1, t_1, (((dX_46_v * floorf(h)) * dX_46_v) * floorf(h))), t_3));
        	} else {
        		tmp = (floorf(w) * dY_46_u) / sqrtf(fmaxf(fmaf((t_2 * dX_46_u), dX_46_u, (t_0 * (dX_46_v * dX_46_v))), t_3));
        	}
        	return tmp;
        }
        
        function code(w, h, dX_46_u, dX_46_v, dY_46_u, dY_46_v, maxAniso)
        	t_0 = Float32(floor(h) * floor(h))
        	t_1 = Float32(floor(w) * dX_46_u)
        	t_2 = Float32(floor(w) * floor(w))
        	t_3 = fma(Float32(t_2 * dY_46_u), dY_46_u, Float32(Float32(dY_46_v * dY_46_v) * t_0))
        	tmp = Float32(0.0)
        	if (Float32(Float32(dX_46_u * dX_46_u) * t_2) >= Float32(Float32(dY_46_u * dY_46_u) * t_2))
        		tmp = Float32(t_1 / sqrt(fmax(fma(t_1, t_1, Float32(Float32(Float32(dX_46_v * floor(h)) * dX_46_v) * floor(h))), t_3)));
        	else
        		tmp = Float32(Float32(floor(w) * dY_46_u) / sqrt(fmax(fma(Float32(t_2 * dX_46_u), dX_46_u, Float32(t_0 * Float32(dX_46_v * dX_46_v))), t_3)));
        	end
        	return tmp
        end
        
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        t_0 := \left\lfloor h\right\rfloor  \cdot \left\lfloor h\right\rfloor \\
        t_1 := \left\lfloor w\right\rfloor  \cdot dX.u\\
        t_2 := \left\lfloor w\right\rfloor  \cdot \left\lfloor w\right\rfloor \\
        t_3 := \mathsf{fma}\left(t\_2 \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot t\_0\right)\\
        \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot t\_2 \geq \left(dY.u \cdot dY.u\right) \cdot t\_2:\\
        \;\;\;\;\frac{t\_1}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(t\_1, t\_1, \left(\left(dX.v \cdot \left\lfloor h\right\rfloor \right) \cdot dX.v\right) \cdot \left\lfloor h\right\rfloor \right), t\_3\right)}}\\
        
        \mathbf{else}:\\
        \;\;\;\;\frac{\left\lfloor w\right\rfloor  \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(t\_2 \cdot dX.u, dX.u, t\_0 \cdot \left(dX.v \cdot dX.v\right)\right), t\_3\right)}}\\
        
        
        \end{array}
        \end{array}
        
        Derivation
        1. Initial program 76.2%

          \[\begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right):\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
        2. Applied rewrites76.3%

          \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ } \end{array}} \]
        3. Taylor expanded in dX.u around inf

          \[\leadsto \begin{array}{l} \mathbf{if}\;\color{blue}{{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2}} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        4. Step-by-step derivation
          1. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          2. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          3. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          4. associate-*l*N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{\color{blue}{dX.u}}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          5. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          6. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          7. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          8. swap-sqrN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{\color{blue}{dX.u}}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          9. swap-sqrN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{\color{blue}{2}} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          10. pow2N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          11. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor \color{blue}{w}\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          12. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          13. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        5. Applied rewrites65.0%

          \[\leadsto \begin{array}{l} \mathbf{if}\;\color{blue}{\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        6. Taylor expanded in dY.u around inf

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \color{blue}{{dY.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2}}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        7. Applied rewrites59.7%

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \color{blue}{\left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        8. Step-by-step derivation
          1. lift-fma.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u\right) \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)}, \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          2. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u\right)} \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          3. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\color{blue}{\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)} \cdot dX.u\right) \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          4. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left(\color{blue}{\left\lfloor w\right\rfloor } \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u\right) \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          5. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \cdot dX.u\right) \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          6. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left(\color{blue}{\left\lfloor w\right\rfloor } \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u\right) \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          7. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \cdot dX.u\right) \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          8. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\color{blue}{\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)} \cdot dX.u\right) \cdot dX.u + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          9. associate-*l*N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot \left(dX.u \cdot dX.u\right)} + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          10. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)} \cdot \left(dX.u \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          11. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\color{blue}{\left\lfloor w\right\rfloor } \cdot \left\lfloor w\right\rfloor \right) \cdot \left(dX.u \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          12. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \cdot \left(dX.u \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          13. swap-sqrN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)} + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          14. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\color{blue}{\left\lfloor w\right\rfloor } \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          15. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left\lfloor w\right\rfloor \cdot dX.u\right)} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          16. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\color{blue}{\left\lfloor w\right\rfloor } \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          17. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \color{blue}{\left(\left\lfloor w\right\rfloor \cdot dX.u\right)} + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          18. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \color{blue}{\left(dX.v \cdot dX.v\right)}, \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        9. Applied rewrites59.8%

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\mathsf{fma}\left(\left\lfloor w\right\rfloor \cdot dX.u, \left\lfloor w\right\rfloor \cdot dX.u, \left(\left(dX.v \cdot \left\lfloor h\right\rfloor \right) \cdot dX.v\right) \cdot \left\lfloor h\right\rfloor \right)}, \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        10. Add Preprocessing

        Alternative 15: 45.0% accurate, 1.3× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} t_0 := \left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \\ t_1 := \left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \\ t_2 := \mathsf{fma}\left(t\_1 \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot t\_0\right)\\ \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot t\_1 \geq \left(dY.u \cdot dY.u\right) \cdot t\_1:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left(dX.v \cdot \left\lfloor h\right\rfloor \right) \cdot dX.v\right) \cdot \left\lfloor h\right\rfloor , t\_2\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(t\_1 \cdot dX.u, dX.u, t\_0 \cdot \left(dX.v \cdot dX.v\right)\right), t\_2\right)}}\\ \end{array} \end{array} \]
        (FPCore (w h dX.u dX.v dY.u dY.v maxAniso)
         :precision binary32
         (let* ((t_0 (* (floor h) (floor h)))
                (t_1 (* (floor w) (floor w)))
                (t_2 (fma (* t_1 dY.u) dY.u (* (* dY.v dY.v) t_0))))
           (if (>= (* (* dX.u dX.u) t_1) (* (* dY.u dY.u) t_1))
             (/
              (* (floor w) dX.u)
              (sqrt (fmax (* (* (* dX.v (floor h)) dX.v) (floor h)) t_2)))
             (/
              (* (floor w) dY.u)
              (sqrt (fmax (fma (* t_1 dX.u) dX.u (* t_0 (* dX.v dX.v))) t_2))))))
        float code(float w, float h, float dX_46_u, float dX_46_v, float dY_46_u, float dY_46_v, float maxAniso) {
        	float t_0 = floorf(h) * floorf(h);
        	float t_1 = floorf(w) * floorf(w);
        	float t_2 = fmaf((t_1 * dY_46_u), dY_46_u, ((dY_46_v * dY_46_v) * t_0));
        	float tmp;
        	if (((dX_46_u * dX_46_u) * t_1) >= ((dY_46_u * dY_46_u) * t_1)) {
        		tmp = (floorf(w) * dX_46_u) / sqrtf(fmaxf((((dX_46_v * floorf(h)) * dX_46_v) * floorf(h)), t_2));
        	} else {
        		tmp = (floorf(w) * dY_46_u) / sqrtf(fmaxf(fmaf((t_1 * dX_46_u), dX_46_u, (t_0 * (dX_46_v * dX_46_v))), t_2));
        	}
        	return tmp;
        }
        
        function code(w, h, dX_46_u, dX_46_v, dY_46_u, dY_46_v, maxAniso)
        	t_0 = Float32(floor(h) * floor(h))
        	t_1 = Float32(floor(w) * floor(w))
        	t_2 = fma(Float32(t_1 * dY_46_u), dY_46_u, Float32(Float32(dY_46_v * dY_46_v) * t_0))
        	tmp = Float32(0.0)
        	if (Float32(Float32(dX_46_u * dX_46_u) * t_1) >= Float32(Float32(dY_46_u * dY_46_u) * t_1))
        		tmp = Float32(Float32(floor(w) * dX_46_u) / sqrt(fmax(Float32(Float32(Float32(dX_46_v * floor(h)) * dX_46_v) * floor(h)), t_2)));
        	else
        		tmp = Float32(Float32(floor(w) * dY_46_u) / sqrt(fmax(fma(Float32(t_1 * dX_46_u), dX_46_u, Float32(t_0 * Float32(dX_46_v * dX_46_v))), t_2)));
        	end
        	return tmp
        end
        
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        t_0 := \left\lfloor h\right\rfloor  \cdot \left\lfloor h\right\rfloor \\
        t_1 := \left\lfloor w\right\rfloor  \cdot \left\lfloor w\right\rfloor \\
        t_2 := \mathsf{fma}\left(t\_1 \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot t\_0\right)\\
        \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot t\_1 \geq \left(dY.u \cdot dY.u\right) \cdot t\_1:\\
        \;\;\;\;\frac{\left\lfloor w\right\rfloor  \cdot dX.u}{\sqrt{\mathsf{max}\left(\left(\left(dX.v \cdot \left\lfloor h\right\rfloor \right) \cdot dX.v\right) \cdot \left\lfloor h\right\rfloor , t\_2\right)}}\\
        
        \mathbf{else}:\\
        \;\;\;\;\frac{\left\lfloor w\right\rfloor  \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(t\_1 \cdot dX.u, dX.u, t\_0 \cdot \left(dX.v \cdot dX.v\right)\right), t\_2\right)}}\\
        
        
        \end{array}
        \end{array}
        
        Derivation
        1. Initial program 76.2%

          \[\begin{array}{l} \mathbf{if}\;\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \geq \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right):\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\mathsf{max}\left(\left(\left\lfloor w\right\rfloor \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dX.u\right) + \left(\left\lfloor h\right\rfloor \cdot dX.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dX.v\right), \left(\left\lfloor w\right\rfloor \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right) + \left(\left\lfloor h\right\rfloor \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot dY.v\right)\right)}} \cdot \left(\left\lfloor w\right\rfloor \cdot dY.u\right)\\ \end{array} \]
        2. Applied rewrites76.3%

          \[\leadsto \color{blue}{\begin{array}{l} \color{blue}{\mathbf{if}\;\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ } \end{array}} \]
        3. Taylor expanded in dX.u around inf

          \[\leadsto \begin{array}{l} \mathbf{if}\;\color{blue}{{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2}} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        4. Step-by-step derivation
          1. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          2. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          3. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          4. associate-*l*N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{\color{blue}{dX.u}}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          5. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          6. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          7. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          8. swap-sqrN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{\color{blue}{dX.u}}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          9. swap-sqrN/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{\color{blue}{2}} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          10. pow2N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          11. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor \color{blue}{w}\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          12. lift-floor.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          13. lift-*.f32N/A

            \[\leadsto \begin{array}{l} \mathbf{if}\;{dX.u}^{2} \cdot \left(\left\lfloor w\right\rfloor \cdot \color{blue}{\left\lfloor w\right\rfloor }\right) \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        5. Applied rewrites65.0%

          \[\leadsto \begin{array}{l} \mathbf{if}\;\color{blue}{\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)} \geq \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        6. Taylor expanded in dY.u around inf

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \color{blue}{{dY.u}^{2} \cdot {\left(\left\lfloor w\right\rfloor \right)}^{2}}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        7. Applied rewrites59.7%

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \color{blue}{\left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right)}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        8. Taylor expanded in dX.u around 0

          \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{{dX.v}^{2} \cdot {\left(\left\lfloor h\right\rfloor \right)}^{2}}, \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
        9. Step-by-step derivation
          1. Applied rewrites45.0%

            \[\leadsto \begin{array}{l} \mathbf{if}\;\left(dX.u \cdot dX.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \geq \left(dY.u \cdot dY.u\right) \cdot \left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right):\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dX.u}{\sqrt{\mathsf{max}\left(\color{blue}{\left(\left(dX.v \cdot \left\lfloor h\right\rfloor \right) \cdot dX.v\right) \cdot \left\lfloor h\right\rfloor }, \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left\lfloor w\right\rfloor \cdot dY.u}{\sqrt{\mathsf{max}\left(\mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dX.u, dX.u, \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right) \cdot \left(dX.v \cdot dX.v\right)\right), \mathsf{fma}\left(\left(\left\lfloor w\right\rfloor \cdot \left\lfloor w\right\rfloor \right) \cdot dY.u, dY.u, \left(dY.v \cdot dY.v\right) \cdot \left(\left\lfloor h\right\rfloor \cdot \left\lfloor h\right\rfloor \right)\right)\right)}}\\ \end{array} \]
          2. Add Preprocessing

          Reproduce

          ?
          herbie shell --seed 2025106 
          (FPCore (w h dX.u dX.v dY.u dY.v maxAniso)
            :name "Anisotropic x16 LOD (line direction, u)"
            :precision binary32
            :pre (and (and (and (and (and (and (and (<= 1.0 w) (<= w 16384.0)) (and (<= 1.0 h) (<= h 16384.0))) (and (<= 1e-20 (fabs dX.u)) (<= (fabs dX.u) 1e+20))) (and (<= 1e-20 (fabs dX.v)) (<= (fabs dX.v) 1e+20))) (and (<= 1e-20 (fabs dY.u)) (<= (fabs dY.u) 1e+20))) (and (<= 1e-20 (fabs dY.v)) (<= (fabs dY.v) 1e+20))) (== maxAniso 16.0))
            (if (>= (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (* (/ 1.0 (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))))) (* (floor w) dX.u)) (* (/ 1.0 (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))))) (* (floor w) dY.u))))