Rosa's DopplerBench

Percentage Accurate: 72.5% → 98.0%
Time: 9.9s
Alternatives: 18
Speedup: 1.0×

Specification

?
\[\begin{array}{l} \\ \frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \end{array} \]
(FPCore (u v t1) :precision binary64 (/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))
double code(double u, double v, double t1) {
	return (-t1 * v) / ((t1 + u) * (t1 + u));
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    code = (-t1 * v) / ((t1 + u) * (t1 + u))
end function
public static double code(double u, double v, double t1) {
	return (-t1 * v) / ((t1 + u) * (t1 + u));
}
def code(u, v, t1):
	return (-t1 * v) / ((t1 + u) * (t1 + u))
function code(u, v, t1)
	return Float64(Float64(Float64(-t1) * v) / Float64(Float64(t1 + u) * Float64(t1 + u)))
end
function tmp = code(u, v, t1)
	tmp = (-t1 * v) / ((t1 + u) * (t1 + u));
end
code[u_, v_, t1_] := N[(N[((-t1) * v), $MachinePrecision] / N[(N[(t1 + u), $MachinePrecision] * N[(t1 + u), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}
\end{array}

Sampling outcomes in binary64 precision:

Local Percentage Accuracy vs ?

The average percentage accuracy by input value. Horizontal axis shows value of an input variable; the variable is choosen in the title. Vertical axis is accuracy; higher is better. Red represent the original program, while blue represents Herbie's suggestion. These can be toggled with buttons below the plot. The line is an average while dots represent individual samples.

Accuracy vs Speed?

Herbie found 18 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: 72.5% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \end{array} \]
(FPCore (u v t1) :precision binary64 (/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))
double code(double u, double v, double t1) {
	return (-t1 * v) / ((t1 + u) * (t1 + u));
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    code = (-t1 * v) / ((t1 + u) * (t1 + u))
end function
public static double code(double u, double v, double t1) {
	return (-t1 * v) / ((t1 + u) * (t1 + u));
}
def code(u, v, t1):
	return (-t1 * v) / ((t1 + u) * (t1 + u))
function code(u, v, t1)
	return Float64(Float64(Float64(-t1) * v) / Float64(Float64(t1 + u) * Float64(t1 + u)))
end
function tmp = code(u, v, t1)
	tmp = (-t1 * v) / ((t1 + u) * (t1 + u));
end
code[u_, v_, t1_] := N[(N[((-t1) * v), $MachinePrecision] / N[(N[(t1 + u), $MachinePrecision] * N[(t1 + u), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}
\end{array}

Alternative 1: 98.0% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \frac{-v}{t1 + u} \cdot \frac{t1}{t1 + u} \end{array} \]
(FPCore (u v t1) :precision binary64 (* (/ (- v) (+ t1 u)) (/ t1 (+ t1 u))))
double code(double u, double v, double t1) {
	return (-v / (t1 + u)) * (t1 / (t1 + u));
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    code = (-v / (t1 + u)) * (t1 / (t1 + u))
end function
public static double code(double u, double v, double t1) {
	return (-v / (t1 + u)) * (t1 / (t1 + u));
}
def code(u, v, t1):
	return (-v / (t1 + u)) * (t1 / (t1 + u))
function code(u, v, t1)
	return Float64(Float64(Float64(-v) / Float64(t1 + u)) * Float64(t1 / Float64(t1 + u)))
end
function tmp = code(u, v, t1)
	tmp = (-v / (t1 + u)) * (t1 / (t1 + u));
end
code[u_, v_, t1_] := N[(N[((-v) / N[(t1 + u), $MachinePrecision]), $MachinePrecision] * N[(t1 / N[(t1 + u), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{-v}{t1 + u} \cdot \frac{t1}{t1 + u}
\end{array}
Derivation
  1. Initial program 72.9%

    \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
  2. Step-by-step derivation
    1. times-frac96.9%

      \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
    2. distribute-frac-neg96.9%

      \[\leadsto \color{blue}{\left(-\frac{t1}{t1 + u}\right)} \cdot \frac{v}{t1 + u} \]
    3. distribute-neg-frac296.9%

      \[\leadsto \color{blue}{\frac{t1}{-\left(t1 + u\right)}} \cdot \frac{v}{t1 + u} \]
    4. +-commutative96.9%

      \[\leadsto \frac{t1}{-\color{blue}{\left(u + t1\right)}} \cdot \frac{v}{t1 + u} \]
    5. distribute-neg-in96.9%

      \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \cdot \frac{v}{t1 + u} \]
    6. unsub-neg96.9%

      \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) - t1}} \cdot \frac{v}{t1 + u} \]
  3. Simplified96.9%

    \[\leadsto \color{blue}{\frac{t1}{\left(-u\right) - t1} \cdot \frac{v}{t1 + u}} \]
  4. Add Preprocessing
  5. Final simplification96.9%

    \[\leadsto \frac{-v}{t1 + u} \cdot \frac{t1}{t1 + u} \]
  6. Add Preprocessing

Alternative 2: 89.4% accurate, 0.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t1 \leq -9 \cdot 10^{+107}:\\ \;\;\;\;\frac{2 \cdot \left(u \cdot \frac{v}{t1}\right) - v}{t1}\\ \mathbf{elif}\;t1 \leq 1.15 \cdot 10^{+87}:\\ \;\;\;\;t1 \cdot \frac{\frac{v}{t1 + u}}{\left(-u\right) - t1}\\ \mathbf{else}:\\ \;\;\;\;\frac{-v}{t1 + u}\\ \end{array} \end{array} \]
(FPCore (u v t1)
 :precision binary64
 (if (<= t1 -9e+107)
   (/ (- (* 2.0 (* u (/ v t1))) v) t1)
   (if (<= t1 1.15e+87)
     (* t1 (/ (/ v (+ t1 u)) (- (- u) t1)))
     (/ (- v) (+ t1 u)))))
double code(double u, double v, double t1) {
	double tmp;
	if (t1 <= -9e+107) {
		tmp = ((2.0 * (u * (v / t1))) - v) / t1;
	} else if (t1 <= 1.15e+87) {
		tmp = t1 * ((v / (t1 + u)) / (-u - t1));
	} else {
		tmp = -v / (t1 + u);
	}
	return tmp;
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    real(8) :: tmp
    if (t1 <= (-9d+107)) then
        tmp = ((2.0d0 * (u * (v / t1))) - v) / t1
    else if (t1 <= 1.15d+87) then
        tmp = t1 * ((v / (t1 + u)) / (-u - t1))
    else
        tmp = -v / (t1 + u)
    end if
    code = tmp
end function
public static double code(double u, double v, double t1) {
	double tmp;
	if (t1 <= -9e+107) {
		tmp = ((2.0 * (u * (v / t1))) - v) / t1;
	} else if (t1 <= 1.15e+87) {
		tmp = t1 * ((v / (t1 + u)) / (-u - t1));
	} else {
		tmp = -v / (t1 + u);
	}
	return tmp;
}
def code(u, v, t1):
	tmp = 0
	if t1 <= -9e+107:
		tmp = ((2.0 * (u * (v / t1))) - v) / t1
	elif t1 <= 1.15e+87:
		tmp = t1 * ((v / (t1 + u)) / (-u - t1))
	else:
		tmp = -v / (t1 + u)
	return tmp
function code(u, v, t1)
	tmp = 0.0
	if (t1 <= -9e+107)
		tmp = Float64(Float64(Float64(2.0 * Float64(u * Float64(v / t1))) - v) / t1);
	elseif (t1 <= 1.15e+87)
		tmp = Float64(t1 * Float64(Float64(v / Float64(t1 + u)) / Float64(Float64(-u) - t1)));
	else
		tmp = Float64(Float64(-v) / Float64(t1 + u));
	end
	return tmp
end
function tmp_2 = code(u, v, t1)
	tmp = 0.0;
	if (t1 <= -9e+107)
		tmp = ((2.0 * (u * (v / t1))) - v) / t1;
	elseif (t1 <= 1.15e+87)
		tmp = t1 * ((v / (t1 + u)) / (-u - t1));
	else
		tmp = -v / (t1 + u);
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := If[LessEqual[t1, -9e+107], N[(N[(N[(2.0 * N[(u * N[(v / t1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - v), $MachinePrecision] / t1), $MachinePrecision], If[LessEqual[t1, 1.15e+87], N[(t1 * N[(N[(v / N[(t1 + u), $MachinePrecision]), $MachinePrecision] / N[((-u) - t1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[((-v) / N[(t1 + u), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;t1 \leq -9 \cdot 10^{+107}:\\
\;\;\;\;\frac{2 \cdot \left(u \cdot \frac{v}{t1}\right) - v}{t1}\\

\mathbf{elif}\;t1 \leq 1.15 \cdot 10^{+87}:\\
\;\;\;\;t1 \cdot \frac{\frac{v}{t1 + u}}{\left(-u\right) - t1}\\

\mathbf{else}:\\
\;\;\;\;\frac{-v}{t1 + u}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if t1 < -9e107

    1. Initial program 45.3%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. associate-*l/51.0%

        \[\leadsto \color{blue}{\frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \cdot v} \]
      2. *-commutative51.0%

        \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    3. Simplified51.0%

      \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in t1 around inf 91.2%

      \[\leadsto \color{blue}{\frac{-1 \cdot v + 2 \cdot \frac{u \cdot v}{t1}}{t1}} \]
    6. Step-by-step derivation
      1. +-commutative91.2%

        \[\leadsto \frac{\color{blue}{2 \cdot \frac{u \cdot v}{t1} + -1 \cdot v}}{t1} \]
      2. neg-mul-191.2%

        \[\leadsto \frac{2 \cdot \frac{u \cdot v}{t1} + \color{blue}{\left(-v\right)}}{t1} \]
      3. unsub-neg91.2%

        \[\leadsto \frac{\color{blue}{2 \cdot \frac{u \cdot v}{t1} - v}}{t1} \]
      4. associate-/l*95.6%

        \[\leadsto \frac{2 \cdot \color{blue}{\left(u \cdot \frac{v}{t1}\right)} - v}{t1} \]
    7. Simplified95.6%

      \[\leadsto \color{blue}{\frac{2 \cdot \left(u \cdot \frac{v}{t1}\right) - v}{t1}} \]

    if -9e107 < t1 < 1.1500000000000001e87

    1. Initial program 87.7%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. associate-/l*85.7%

        \[\leadsto \color{blue}{\left(-t1\right) \cdot \frac{v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    3. Simplified85.7%

      \[\leadsto \color{blue}{\left(-t1\right) \cdot \frac{v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. associate-/r*92.2%

        \[\leadsto \left(-t1\right) \cdot \color{blue}{\frac{\frac{v}{t1 + u}}{t1 + u}} \]
      2. div-inv92.1%

        \[\leadsto \left(-t1\right) \cdot \color{blue}{\left(\frac{v}{t1 + u} \cdot \frac{1}{t1 + u}\right)} \]
    6. Applied egg-rr92.1%

      \[\leadsto \left(-t1\right) \cdot \color{blue}{\left(\frac{v}{t1 + u} \cdot \frac{1}{t1 + u}\right)} \]
    7. Step-by-step derivation
      1. associate-*r/92.2%

        \[\leadsto \left(-t1\right) \cdot \color{blue}{\frac{\frac{v}{t1 + u} \cdot 1}{t1 + u}} \]
      2. *-rgt-identity92.2%

        \[\leadsto \left(-t1\right) \cdot \frac{\color{blue}{\frac{v}{t1 + u}}}{t1 + u} \]
    8. Simplified92.2%

      \[\leadsto \left(-t1\right) \cdot \color{blue}{\frac{\frac{v}{t1 + u}}{t1 + u}} \]

    if 1.1500000000000001e87 < t1

    1. Initial program 34.4%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. associate-*l/43.4%

        \[\leadsto \color{blue}{\frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \cdot v} \]
      2. *-commutative43.4%

        \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    3. Simplified43.4%

      \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. associate-*r/34.4%

        \[\leadsto \color{blue}{\frac{v \cdot \left(-t1\right)}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
      2. *-commutative34.4%

        \[\leadsto \frac{\color{blue}{\left(-t1\right) \cdot v}}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
      3. times-frac100.0%

        \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
      4. frac-2neg100.0%

        \[\leadsto \frac{-t1}{t1 + u} \cdot \color{blue}{\frac{-v}{-\left(t1 + u\right)}} \]
      5. +-commutative100.0%

        \[\leadsto \frac{-t1}{t1 + u} \cdot \frac{-v}{-\color{blue}{\left(u + t1\right)}} \]
      6. distribute-neg-in100.0%

        \[\leadsto \frac{-t1}{t1 + u} \cdot \frac{-v}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \]
      7. sub-neg100.0%

        \[\leadsto \frac{-t1}{t1 + u} \cdot \frac{-v}{\color{blue}{\left(-u\right) - t1}} \]
      8. associate-*r/100.0%

        \[\leadsto \color{blue}{\frac{\frac{-t1}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1}} \]
      9. add-sqr-sqrt0.0%

        \[\leadsto \frac{\frac{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      10. sqrt-unprod4.9%

        \[\leadsto \frac{\frac{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      11. sqr-neg4.9%

        \[\leadsto \frac{\frac{\sqrt{\color{blue}{t1 \cdot t1}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      12. sqrt-unprod15.9%

        \[\leadsto \frac{\frac{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      13. add-sqr-sqrt15.9%

        \[\leadsto \frac{\frac{\color{blue}{t1}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      14. sub-neg15.9%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \]
      15. +-commutative15.9%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\left(-t1\right) + \left(-u\right)}} \]
      16. add-sqr-sqrt0.0%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}} + \left(-u\right)} \]
      17. sqrt-unprod43.4%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}} + \left(-u\right)} \]
      18. sqr-neg43.4%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{\color{blue}{t1 \cdot t1}} + \left(-u\right)} \]
      19. sqrt-unprod91.5%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}} + \left(-u\right)} \]
      20. add-sqr-sqrt38.8%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{t1} \cdot \sqrt{t1} + \color{blue}{\sqrt{-u} \cdot \sqrt{-u}}} \]
      21. sqrt-unprod91.7%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{t1} \cdot \sqrt{t1} + \color{blue}{\sqrt{\left(-u\right) \cdot \left(-u\right)}}} \]
      22. sqr-neg91.7%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{t1} \cdot \sqrt{t1} + \sqrt{\color{blue}{u \cdot u}}} \]
    6. Applied egg-rr100.0%

      \[\leadsto \color{blue}{\frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{t1 + u}} \]
    7. Taylor expanded in t1 around inf 92.3%

      \[\leadsto \frac{\color{blue}{-1 \cdot v}}{t1 + u} \]
    8. Step-by-step derivation
      1. mul-1-neg92.3%

        \[\leadsto \frac{\color{blue}{-v}}{t1 + u} \]
    9. Simplified92.3%

      \[\leadsto \frac{\color{blue}{-v}}{t1 + u} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification92.8%

    \[\leadsto \begin{array}{l} \mathbf{if}\;t1 \leq -9 \cdot 10^{+107}:\\ \;\;\;\;\frac{2 \cdot \left(u \cdot \frac{v}{t1}\right) - v}{t1}\\ \mathbf{elif}\;t1 \leq 1.15 \cdot 10^{+87}:\\ \;\;\;\;t1 \cdot \frac{\frac{v}{t1 + u}}{\left(-u\right) - t1}\\ \mathbf{else}:\\ \;\;\;\;\frac{-v}{t1 + u}\\ \end{array} \]
  5. Add Preprocessing

Alternative 3: 87.6% accurate, 0.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t1 \leq -4.2 \cdot 10^{+80}:\\ \;\;\;\;\frac{2 \cdot \left(u \cdot \frac{v}{t1}\right) - v}{t1}\\ \mathbf{elif}\;t1 \leq 3.1 \cdot 10^{+116}:\\ \;\;\;\;v \cdot \frac{t1}{\left(\left(-u\right) - t1\right) \cdot \left(t1 + u\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{-v}{t1 + u}\\ \end{array} \end{array} \]
(FPCore (u v t1)
 :precision binary64
 (if (<= t1 -4.2e+80)
   (/ (- (* 2.0 (* u (/ v t1))) v) t1)
   (if (<= t1 3.1e+116)
     (* v (/ t1 (* (- (- u) t1) (+ t1 u))))
     (/ (- v) (+ t1 u)))))
double code(double u, double v, double t1) {
	double tmp;
	if (t1 <= -4.2e+80) {
		tmp = ((2.0 * (u * (v / t1))) - v) / t1;
	} else if (t1 <= 3.1e+116) {
		tmp = v * (t1 / ((-u - t1) * (t1 + u)));
	} else {
		tmp = -v / (t1 + u);
	}
	return tmp;
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    real(8) :: tmp
    if (t1 <= (-4.2d+80)) then
        tmp = ((2.0d0 * (u * (v / t1))) - v) / t1
    else if (t1 <= 3.1d+116) then
        tmp = v * (t1 / ((-u - t1) * (t1 + u)))
    else
        tmp = -v / (t1 + u)
    end if
    code = tmp
end function
public static double code(double u, double v, double t1) {
	double tmp;
	if (t1 <= -4.2e+80) {
		tmp = ((2.0 * (u * (v / t1))) - v) / t1;
	} else if (t1 <= 3.1e+116) {
		tmp = v * (t1 / ((-u - t1) * (t1 + u)));
	} else {
		tmp = -v / (t1 + u);
	}
	return tmp;
}
def code(u, v, t1):
	tmp = 0
	if t1 <= -4.2e+80:
		tmp = ((2.0 * (u * (v / t1))) - v) / t1
	elif t1 <= 3.1e+116:
		tmp = v * (t1 / ((-u - t1) * (t1 + u)))
	else:
		tmp = -v / (t1 + u)
	return tmp
function code(u, v, t1)
	tmp = 0.0
	if (t1 <= -4.2e+80)
		tmp = Float64(Float64(Float64(2.0 * Float64(u * Float64(v / t1))) - v) / t1);
	elseif (t1 <= 3.1e+116)
		tmp = Float64(v * Float64(t1 / Float64(Float64(Float64(-u) - t1) * Float64(t1 + u))));
	else
		tmp = Float64(Float64(-v) / Float64(t1 + u));
	end
	return tmp
end
function tmp_2 = code(u, v, t1)
	tmp = 0.0;
	if (t1 <= -4.2e+80)
		tmp = ((2.0 * (u * (v / t1))) - v) / t1;
	elseif (t1 <= 3.1e+116)
		tmp = v * (t1 / ((-u - t1) * (t1 + u)));
	else
		tmp = -v / (t1 + u);
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := If[LessEqual[t1, -4.2e+80], N[(N[(N[(2.0 * N[(u * N[(v / t1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - v), $MachinePrecision] / t1), $MachinePrecision], If[LessEqual[t1, 3.1e+116], N[(v * N[(t1 / N[(N[((-u) - t1), $MachinePrecision] * N[(t1 + u), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[((-v) / N[(t1 + u), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;t1 \leq -4.2 \cdot 10^{+80}:\\
\;\;\;\;\frac{2 \cdot \left(u \cdot \frac{v}{t1}\right) - v}{t1}\\

\mathbf{elif}\;t1 \leq 3.1 \cdot 10^{+116}:\\
\;\;\;\;v \cdot \frac{t1}{\left(\left(-u\right) - t1\right) \cdot \left(t1 + u\right)}\\

\mathbf{else}:\\
\;\;\;\;\frac{-v}{t1 + u}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if t1 < -4.20000000000000003e80

    1. Initial program 48.7%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. associate-*l/54.0%

        \[\leadsto \color{blue}{\frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \cdot v} \]
      2. *-commutative54.0%

        \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    3. Simplified54.0%

      \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in t1 around inf 91.7%

      \[\leadsto \color{blue}{\frac{-1 \cdot v + 2 \cdot \frac{u \cdot v}{t1}}{t1}} \]
    6. Step-by-step derivation
      1. +-commutative91.7%

        \[\leadsto \frac{\color{blue}{2 \cdot \frac{u \cdot v}{t1} + -1 \cdot v}}{t1} \]
      2. neg-mul-191.7%

        \[\leadsto \frac{2 \cdot \frac{u \cdot v}{t1} + \color{blue}{\left(-v\right)}}{t1} \]
      3. unsub-neg91.7%

        \[\leadsto \frac{\color{blue}{2 \cdot \frac{u \cdot v}{t1} - v}}{t1} \]
      4. associate-/l*95.9%

        \[\leadsto \frac{2 \cdot \color{blue}{\left(u \cdot \frac{v}{t1}\right)} - v}{t1} \]
    7. Simplified95.9%

      \[\leadsto \color{blue}{\frac{2 \cdot \left(u \cdot \frac{v}{t1}\right) - v}{t1}} \]

    if -4.20000000000000003e80 < t1 < 3.09999999999999996e116

    1. Initial program 86.4%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. associate-*l/86.1%

        \[\leadsto \color{blue}{\frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \cdot v} \]
      2. *-commutative86.1%

        \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    3. Simplified86.1%

      \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    4. Add Preprocessing

    if 3.09999999999999996e116 < t1

    1. Initial program 28.4%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. associate-*l/33.0%

        \[\leadsto \color{blue}{\frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \cdot v} \]
      2. *-commutative33.0%

        \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    3. Simplified33.0%

      \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. associate-*r/28.4%

        \[\leadsto \color{blue}{\frac{v \cdot \left(-t1\right)}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
      2. *-commutative28.4%

        \[\leadsto \frac{\color{blue}{\left(-t1\right) \cdot v}}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
      3. times-frac99.9%

        \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
      4. frac-2neg99.9%

        \[\leadsto \frac{-t1}{t1 + u} \cdot \color{blue}{\frac{-v}{-\left(t1 + u\right)}} \]
      5. +-commutative99.9%

        \[\leadsto \frac{-t1}{t1 + u} \cdot \frac{-v}{-\color{blue}{\left(u + t1\right)}} \]
      6. distribute-neg-in99.9%

        \[\leadsto \frac{-t1}{t1 + u} \cdot \frac{-v}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \]
      7. sub-neg99.9%

        \[\leadsto \frac{-t1}{t1 + u} \cdot \frac{-v}{\color{blue}{\left(-u\right) - t1}} \]
      8. associate-*r/100.0%

        \[\leadsto \color{blue}{\frac{\frac{-t1}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1}} \]
      9. add-sqr-sqrt0.0%

        \[\leadsto \frac{\frac{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      10. sqrt-unprod1.4%

        \[\leadsto \frac{\frac{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      11. sqr-neg1.4%

        \[\leadsto \frac{\frac{\sqrt{\color{blue}{t1 \cdot t1}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      12. sqrt-unprod15.0%

        \[\leadsto \frac{\frac{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      13. add-sqr-sqrt15.0%

        \[\leadsto \frac{\frac{\color{blue}{t1}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      14. sub-neg15.0%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \]
      15. +-commutative15.0%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\left(-t1\right) + \left(-u\right)}} \]
      16. add-sqr-sqrt0.0%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}} + \left(-u\right)} \]
      17. sqrt-unprod32.9%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}} + \left(-u\right)} \]
      18. sqr-neg32.9%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{\color{blue}{t1 \cdot t1}} + \left(-u\right)} \]
      19. sqrt-unprod92.9%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}} + \left(-u\right)} \]
      20. add-sqr-sqrt41.1%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{t1} \cdot \sqrt{t1} + \color{blue}{\sqrt{-u} \cdot \sqrt{-u}}} \]
      21. sqrt-unprod93.0%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{t1} \cdot \sqrt{t1} + \color{blue}{\sqrt{\left(-u\right) \cdot \left(-u\right)}}} \]
      22. sqr-neg93.0%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{t1} \cdot \sqrt{t1} + \sqrt{\color{blue}{u \cdot u}}} \]
    6. Applied egg-rr100.0%

      \[\leadsto \color{blue}{\frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{t1 + u}} \]
    7. Taylor expanded in t1 around inf 93.7%

      \[\leadsto \frac{\color{blue}{-1 \cdot v}}{t1 + u} \]
    8. Step-by-step derivation
      1. mul-1-neg93.7%

        \[\leadsto \frac{\color{blue}{-v}}{t1 + u} \]
    9. Simplified93.7%

      \[\leadsto \frac{\color{blue}{-v}}{t1 + u} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification88.7%

    \[\leadsto \begin{array}{l} \mathbf{if}\;t1 \leq -4.2 \cdot 10^{+80}:\\ \;\;\;\;\frac{2 \cdot \left(u \cdot \frac{v}{t1}\right) - v}{t1}\\ \mathbf{elif}\;t1 \leq 3.1 \cdot 10^{+116}:\\ \;\;\;\;v \cdot \frac{t1}{\left(\left(-u\right) - t1\right) \cdot \left(t1 + u\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{-v}{t1 + u}\\ \end{array} \]
  5. Add Preprocessing

Alternative 4: 78.1% accurate, 0.6× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;u \leq -3.8 \cdot 10^{-27} \lor \neg \left(u \leq 1.46 \cdot 10^{-29}\right):\\ \;\;\;\;t1 \cdot \frac{\frac{v}{t1 - u}}{u}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-v\right) \cdot \frac{t1}{t1 + u}}{t1}\\ \end{array} \end{array} \]
(FPCore (u v t1)
 :precision binary64
 (if (or (<= u -3.8e-27) (not (<= u 1.46e-29)))
   (* t1 (/ (/ v (- t1 u)) u))
   (/ (* (- v) (/ t1 (+ t1 u))) t1)))
double code(double u, double v, double t1) {
	double tmp;
	if ((u <= -3.8e-27) || !(u <= 1.46e-29)) {
		tmp = t1 * ((v / (t1 - u)) / u);
	} else {
		tmp = (-v * (t1 / (t1 + u))) / t1;
	}
	return tmp;
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    real(8) :: tmp
    if ((u <= (-3.8d-27)) .or. (.not. (u <= 1.46d-29))) then
        tmp = t1 * ((v / (t1 - u)) / u)
    else
        tmp = (-v * (t1 / (t1 + u))) / t1
    end if
    code = tmp
end function
public static double code(double u, double v, double t1) {
	double tmp;
	if ((u <= -3.8e-27) || !(u <= 1.46e-29)) {
		tmp = t1 * ((v / (t1 - u)) / u);
	} else {
		tmp = (-v * (t1 / (t1 + u))) / t1;
	}
	return tmp;
}
def code(u, v, t1):
	tmp = 0
	if (u <= -3.8e-27) or not (u <= 1.46e-29):
		tmp = t1 * ((v / (t1 - u)) / u)
	else:
		tmp = (-v * (t1 / (t1 + u))) / t1
	return tmp
function code(u, v, t1)
	tmp = 0.0
	if ((u <= -3.8e-27) || !(u <= 1.46e-29))
		tmp = Float64(t1 * Float64(Float64(v / Float64(t1 - u)) / u));
	else
		tmp = Float64(Float64(Float64(-v) * Float64(t1 / Float64(t1 + u))) / t1);
	end
	return tmp
end
function tmp_2 = code(u, v, t1)
	tmp = 0.0;
	if ((u <= -3.8e-27) || ~((u <= 1.46e-29)))
		tmp = t1 * ((v / (t1 - u)) / u);
	else
		tmp = (-v * (t1 / (t1 + u))) / t1;
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := If[Or[LessEqual[u, -3.8e-27], N[Not[LessEqual[u, 1.46e-29]], $MachinePrecision]], N[(t1 * N[(N[(v / N[(t1 - u), $MachinePrecision]), $MachinePrecision] / u), $MachinePrecision]), $MachinePrecision], N[(N[((-v) * N[(t1 / N[(t1 + u), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t1), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;u \leq -3.8 \cdot 10^{-27} \lor \neg \left(u \leq 1.46 \cdot 10^{-29}\right):\\
\;\;\;\;t1 \cdot \frac{\frac{v}{t1 - u}}{u}\\

\mathbf{else}:\\
\;\;\;\;\frac{\left(-v\right) \cdot \frac{t1}{t1 + u}}{t1}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if u < -3.8e-27 or 1.4600000000000001e-29 < u

    1. Initial program 82.7%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. times-frac95.6%

        \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
      2. distribute-frac-neg95.6%

        \[\leadsto \color{blue}{\left(-\frac{t1}{t1 + u}\right)} \cdot \frac{v}{t1 + u} \]
      3. distribute-neg-frac295.6%

        \[\leadsto \color{blue}{\frac{t1}{-\left(t1 + u\right)}} \cdot \frac{v}{t1 + u} \]
      4. +-commutative95.6%

        \[\leadsto \frac{t1}{-\color{blue}{\left(u + t1\right)}} \cdot \frac{v}{t1 + u} \]
      5. distribute-neg-in95.6%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \cdot \frac{v}{t1 + u} \]
      6. unsub-neg95.6%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) - t1}} \cdot \frac{v}{t1 + u} \]
    3. Simplified95.6%

      \[\leadsto \color{blue}{\frac{t1}{\left(-u\right) - t1} \cdot \frac{v}{t1 + u}} \]
    4. Add Preprocessing
    5. Taylor expanded in t1 around 0 82.8%

      \[\leadsto \color{blue}{\left(-1 \cdot \frac{t1}{u}\right)} \cdot \frac{v}{t1 + u} \]
    6. Step-by-step derivation
      1. associate-*r/82.8%

        \[\leadsto \color{blue}{\frac{-1 \cdot t1}{u}} \cdot \frac{v}{t1 + u} \]
      2. mul-1-neg82.8%

        \[\leadsto \frac{\color{blue}{-t1}}{u} \cdot \frac{v}{t1 + u} \]
    7. Simplified82.8%

      \[\leadsto \color{blue}{\frac{-t1}{u}} \cdot \frac{v}{t1 + u} \]
    8. Step-by-step derivation
      1. *-commutative82.8%

        \[\leadsto \color{blue}{\frac{v}{t1 + u} \cdot \frac{-t1}{u}} \]
      2. frac-2neg82.8%

        \[\leadsto \color{blue}{\frac{-v}{-\left(t1 + u\right)}} \cdot \frac{-t1}{u} \]
      3. clear-num81.6%

        \[\leadsto \frac{-v}{-\left(t1 + u\right)} \cdot \color{blue}{\frac{1}{\frac{u}{-t1}}} \]
      4. frac-times70.6%

        \[\leadsto \color{blue}{\frac{\left(-v\right) \cdot 1}{\left(-\left(t1 + u\right)\right) \cdot \frac{u}{-t1}}} \]
      5. *-commutative70.6%

        \[\leadsto \frac{\color{blue}{1 \cdot \left(-v\right)}}{\left(-\left(t1 + u\right)\right) \cdot \frac{u}{-t1}} \]
      6. *-un-lft-identity70.6%

        \[\leadsto \frac{\color{blue}{-v}}{\left(-\left(t1 + u\right)\right) \cdot \frac{u}{-t1}} \]
      7. add-sqr-sqrt41.0%

        \[\leadsto \frac{\color{blue}{\sqrt{-v} \cdot \sqrt{-v}}}{\left(-\left(t1 + u\right)\right) \cdot \frac{u}{-t1}} \]
      8. sqrt-unprod54.7%

        \[\leadsto \frac{\color{blue}{\sqrt{\left(-v\right) \cdot \left(-v\right)}}}{\left(-\left(t1 + u\right)\right) \cdot \frac{u}{-t1}} \]
      9. sqr-neg54.7%

        \[\leadsto \frac{\sqrt{\color{blue}{v \cdot v}}}{\left(-\left(t1 + u\right)\right) \cdot \frac{u}{-t1}} \]
      10. sqrt-unprod19.7%

        \[\leadsto \frac{\color{blue}{\sqrt{v} \cdot \sqrt{v}}}{\left(-\left(t1 + u\right)\right) \cdot \frac{u}{-t1}} \]
      11. add-sqr-sqrt45.5%

        \[\leadsto \frac{\color{blue}{v}}{\left(-\left(t1 + u\right)\right) \cdot \frac{u}{-t1}} \]
      12. distribute-neg-in45.5%

        \[\leadsto \frac{v}{\color{blue}{\left(\left(-t1\right) + \left(-u\right)\right)} \cdot \frac{u}{-t1}} \]
      13. add-sqr-sqrt22.4%

        \[\leadsto \frac{v}{\left(\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}} + \left(-u\right)\right) \cdot \frac{u}{-t1}} \]
      14. sqrt-unprod49.9%

        \[\leadsto \frac{v}{\left(\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}} + \left(-u\right)\right) \cdot \frac{u}{-t1}} \]
      15. sqr-neg49.9%

        \[\leadsto \frac{v}{\left(\sqrt{\color{blue}{t1 \cdot t1}} + \left(-u\right)\right) \cdot \frac{u}{-t1}} \]
      16. sqrt-unprod23.3%

        \[\leadsto \frac{v}{\left(\color{blue}{\sqrt{t1} \cdot \sqrt{t1}} + \left(-u\right)\right) \cdot \frac{u}{-t1}} \]
      17. add-sqr-sqrt45.5%

        \[\leadsto \frac{v}{\left(\color{blue}{t1} + \left(-u\right)\right) \cdot \frac{u}{-t1}} \]
      18. sub-neg45.5%

        \[\leadsto \frac{v}{\color{blue}{\left(t1 - u\right)} \cdot \frac{u}{-t1}} \]
      19. add-sqr-sqrt22.2%

        \[\leadsto \frac{v}{\left(t1 - u\right) \cdot \frac{u}{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}}}} \]
      20. sqrt-unprod51.5%

        \[\leadsto \frac{v}{\left(t1 - u\right) \cdot \frac{u}{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}}}} \]
      21. sqr-neg51.5%

        \[\leadsto \frac{v}{\left(t1 - u\right) \cdot \frac{u}{\sqrt{\color{blue}{t1 \cdot t1}}}} \]
      22. sqrt-unprod38.2%

        \[\leadsto \frac{v}{\left(t1 - u\right) \cdot \frac{u}{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}}}} \]
      23. add-sqr-sqrt70.6%

        \[\leadsto \frac{v}{\left(t1 - u\right) \cdot \frac{u}{\color{blue}{t1}}} \]
    9. Applied egg-rr70.6%

      \[\leadsto \color{blue}{\frac{v}{\left(t1 - u\right) \cdot \frac{u}{t1}}} \]
    10. Step-by-step derivation
      1. associate-/r*81.6%

        \[\leadsto \color{blue}{\frac{\frac{v}{t1 - u}}{\frac{u}{t1}}} \]
      2. associate-/r/83.3%

        \[\leadsto \color{blue}{\frac{\frac{v}{t1 - u}}{u} \cdot t1} \]
    11. Simplified83.3%

      \[\leadsto \color{blue}{\frac{\frac{v}{t1 - u}}{u} \cdot t1} \]

    if -3.8e-27 < u < 1.4600000000000001e-29

    1. Initial program 61.8%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. associate-*l/67.7%

        \[\leadsto \color{blue}{\frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \cdot v} \]
      2. *-commutative67.7%

        \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    3. Simplified67.7%

      \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. associate-*r/61.8%

        \[\leadsto \color{blue}{\frac{v \cdot \left(-t1\right)}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
      2. *-commutative61.8%

        \[\leadsto \frac{\color{blue}{\left(-t1\right) \cdot v}}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
      3. times-frac98.3%

        \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
      4. frac-2neg98.3%

        \[\leadsto \frac{-t1}{t1 + u} \cdot \color{blue}{\frac{-v}{-\left(t1 + u\right)}} \]
      5. +-commutative98.3%

        \[\leadsto \frac{-t1}{t1 + u} \cdot \frac{-v}{-\color{blue}{\left(u + t1\right)}} \]
      6. distribute-neg-in98.3%

        \[\leadsto \frac{-t1}{t1 + u} \cdot \frac{-v}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \]
      7. sub-neg98.3%

        \[\leadsto \frac{-t1}{t1 + u} \cdot \frac{-v}{\color{blue}{\left(-u\right) - t1}} \]
      8. associate-*r/97.6%

        \[\leadsto \color{blue}{\frac{\frac{-t1}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1}} \]
      9. add-sqr-sqrt46.4%

        \[\leadsto \frac{\frac{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      10. sqrt-unprod26.9%

        \[\leadsto \frac{\frac{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      11. sqr-neg26.9%

        \[\leadsto \frac{\frac{\sqrt{\color{blue}{t1 \cdot t1}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      12. sqrt-unprod3.4%

        \[\leadsto \frac{\frac{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      13. add-sqr-sqrt10.3%

        \[\leadsto \frac{\frac{\color{blue}{t1}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      14. sub-neg10.3%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \]
      15. +-commutative10.3%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\left(-t1\right) + \left(-u\right)}} \]
      16. add-sqr-sqrt6.8%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}} + \left(-u\right)} \]
      17. sqrt-unprod31.8%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}} + \left(-u\right)} \]
      18. sqr-neg31.8%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{\color{blue}{t1 \cdot t1}} + \left(-u\right)} \]
      19. sqrt-unprod41.3%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}} + \left(-u\right)} \]
      20. add-sqr-sqrt20.6%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{t1} \cdot \sqrt{t1} + \color{blue}{\sqrt{-u} \cdot \sqrt{-u}}} \]
      21. sqrt-unprod45.5%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{t1} \cdot \sqrt{t1} + \color{blue}{\sqrt{\left(-u\right) \cdot \left(-u\right)}}} \]
      22. sqr-neg45.5%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{t1} \cdot \sqrt{t1} + \sqrt{\color{blue}{u \cdot u}}} \]
    6. Applied egg-rr97.6%

      \[\leadsto \color{blue}{\frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{t1 + u}} \]
    7. Taylor expanded in t1 around inf 83.0%

      \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{t1}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification83.2%

    \[\leadsto \begin{array}{l} \mathbf{if}\;u \leq -3.8 \cdot 10^{-27} \lor \neg \left(u \leq 1.46 \cdot 10^{-29}\right):\\ \;\;\;\;t1 \cdot \frac{\frac{v}{t1 - u}}{u}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(-v\right) \cdot \frac{t1}{t1 + u}}{t1}\\ \end{array} \]
  5. Add Preprocessing

Alternative 5: 78.3% accurate, 0.6× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;u \leq -1.35 \cdot 10^{-25} \lor \neg \left(u \leq 3.8 \cdot 10^{-40}\right):\\ \;\;\;\;t1 \cdot \frac{\frac{v}{t1 - u}}{u}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{-t1}\\ \end{array} \end{array} \]
(FPCore (u v t1)
 :precision binary64
 (if (or (<= u -1.35e-25) (not (<= u 3.8e-40)))
   (* t1 (/ (/ v (- t1 u)) u))
   (/ v (- t1))))
double code(double u, double v, double t1) {
	double tmp;
	if ((u <= -1.35e-25) || !(u <= 3.8e-40)) {
		tmp = t1 * ((v / (t1 - u)) / u);
	} else {
		tmp = v / -t1;
	}
	return tmp;
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    real(8) :: tmp
    if ((u <= (-1.35d-25)) .or. (.not. (u <= 3.8d-40))) then
        tmp = t1 * ((v / (t1 - u)) / u)
    else
        tmp = v / -t1
    end if
    code = tmp
end function
public static double code(double u, double v, double t1) {
	double tmp;
	if ((u <= -1.35e-25) || !(u <= 3.8e-40)) {
		tmp = t1 * ((v / (t1 - u)) / u);
	} else {
		tmp = v / -t1;
	}
	return tmp;
}
def code(u, v, t1):
	tmp = 0
	if (u <= -1.35e-25) or not (u <= 3.8e-40):
		tmp = t1 * ((v / (t1 - u)) / u)
	else:
		tmp = v / -t1
	return tmp
function code(u, v, t1)
	tmp = 0.0
	if ((u <= -1.35e-25) || !(u <= 3.8e-40))
		tmp = Float64(t1 * Float64(Float64(v / Float64(t1 - u)) / u));
	else
		tmp = Float64(v / Float64(-t1));
	end
	return tmp
end
function tmp_2 = code(u, v, t1)
	tmp = 0.0;
	if ((u <= -1.35e-25) || ~((u <= 3.8e-40)))
		tmp = t1 * ((v / (t1 - u)) / u);
	else
		tmp = v / -t1;
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := If[Or[LessEqual[u, -1.35e-25], N[Not[LessEqual[u, 3.8e-40]], $MachinePrecision]], N[(t1 * N[(N[(v / N[(t1 - u), $MachinePrecision]), $MachinePrecision] / u), $MachinePrecision]), $MachinePrecision], N[(v / (-t1)), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;u \leq -1.35 \cdot 10^{-25} \lor \neg \left(u \leq 3.8 \cdot 10^{-40}\right):\\
\;\;\;\;t1 \cdot \frac{\frac{v}{t1 - u}}{u}\\

\mathbf{else}:\\
\;\;\;\;\frac{v}{-t1}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if u < -1.35000000000000008e-25 or 3.7999999999999999e-40 < u

    1. Initial program 81.6%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. times-frac95.7%

        \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
      2. distribute-frac-neg95.7%

        \[\leadsto \color{blue}{\left(-\frac{t1}{t1 + u}\right)} \cdot \frac{v}{t1 + u} \]
      3. distribute-neg-frac295.7%

        \[\leadsto \color{blue}{\frac{t1}{-\left(t1 + u\right)}} \cdot \frac{v}{t1 + u} \]
      4. +-commutative95.7%

        \[\leadsto \frac{t1}{-\color{blue}{\left(u + t1\right)}} \cdot \frac{v}{t1 + u} \]
      5. distribute-neg-in95.7%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \cdot \frac{v}{t1 + u} \]
      6. unsub-neg95.7%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) - t1}} \cdot \frac{v}{t1 + u} \]
    3. Simplified95.7%

      \[\leadsto \color{blue}{\frac{t1}{\left(-u\right) - t1} \cdot \frac{v}{t1 + u}} \]
    4. Add Preprocessing
    5. Taylor expanded in t1 around 0 82.3%

      \[\leadsto \color{blue}{\left(-1 \cdot \frac{t1}{u}\right)} \cdot \frac{v}{t1 + u} \]
    6. Step-by-step derivation
      1. associate-*r/82.3%

        \[\leadsto \color{blue}{\frac{-1 \cdot t1}{u}} \cdot \frac{v}{t1 + u} \]
      2. mul-1-neg82.3%

        \[\leadsto \frac{\color{blue}{-t1}}{u} \cdot \frac{v}{t1 + u} \]
    7. Simplified82.3%

      \[\leadsto \color{blue}{\frac{-t1}{u}} \cdot \frac{v}{t1 + u} \]
    8. Step-by-step derivation
      1. *-commutative82.3%

        \[\leadsto \color{blue}{\frac{v}{t1 + u} \cdot \frac{-t1}{u}} \]
      2. frac-2neg82.3%

        \[\leadsto \color{blue}{\frac{-v}{-\left(t1 + u\right)}} \cdot \frac{-t1}{u} \]
      3. clear-num81.1%

        \[\leadsto \frac{-v}{-\left(t1 + u\right)} \cdot \color{blue}{\frac{1}{\frac{u}{-t1}}} \]
      4. frac-times70.3%

        \[\leadsto \color{blue}{\frac{\left(-v\right) \cdot 1}{\left(-\left(t1 + u\right)\right) \cdot \frac{u}{-t1}}} \]
      5. *-commutative70.3%

        \[\leadsto \frac{\color{blue}{1 \cdot \left(-v\right)}}{\left(-\left(t1 + u\right)\right) \cdot \frac{u}{-t1}} \]
      6. *-un-lft-identity70.3%

        \[\leadsto \frac{\color{blue}{-v}}{\left(-\left(t1 + u\right)\right) \cdot \frac{u}{-t1}} \]
      7. add-sqr-sqrt41.1%

        \[\leadsto \frac{\color{blue}{\sqrt{-v} \cdot \sqrt{-v}}}{\left(-\left(t1 + u\right)\right) \cdot \frac{u}{-t1}} \]
      8. sqrt-unprod54.7%

        \[\leadsto \frac{\color{blue}{\sqrt{\left(-v\right) \cdot \left(-v\right)}}}{\left(-\left(t1 + u\right)\right) \cdot \frac{u}{-t1}} \]
      9. sqr-neg54.7%

        \[\leadsto \frac{\sqrt{\color{blue}{v \cdot v}}}{\left(-\left(t1 + u\right)\right) \cdot \frac{u}{-t1}} \]
      10. sqrt-unprod19.5%

        \[\leadsto \frac{\color{blue}{\sqrt{v} \cdot \sqrt{v}}}{\left(-\left(t1 + u\right)\right) \cdot \frac{u}{-t1}} \]
      11. add-sqr-sqrt45.0%

        \[\leadsto \frac{\color{blue}{v}}{\left(-\left(t1 + u\right)\right) \cdot \frac{u}{-t1}} \]
      12. distribute-neg-in45.0%

        \[\leadsto \frac{v}{\color{blue}{\left(\left(-t1\right) + \left(-u\right)\right)} \cdot \frac{u}{-t1}} \]
      13. add-sqr-sqrt22.1%

        \[\leadsto \frac{v}{\left(\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}} + \left(-u\right)\right) \cdot \frac{u}{-t1}} \]
      14. sqrt-unprod49.2%

        \[\leadsto \frac{v}{\left(\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}} + \left(-u\right)\right) \cdot \frac{u}{-t1}} \]
      15. sqr-neg49.2%

        \[\leadsto \frac{v}{\left(\sqrt{\color{blue}{t1 \cdot t1}} + \left(-u\right)\right) \cdot \frac{u}{-t1}} \]
      16. sqrt-unprod23.0%

        \[\leadsto \frac{v}{\left(\color{blue}{\sqrt{t1} \cdot \sqrt{t1}} + \left(-u\right)\right) \cdot \frac{u}{-t1}} \]
      17. add-sqr-sqrt44.9%

        \[\leadsto \frac{v}{\left(\color{blue}{t1} + \left(-u\right)\right) \cdot \frac{u}{-t1}} \]
      18. sub-neg44.9%

        \[\leadsto \frac{v}{\color{blue}{\left(t1 - u\right)} \cdot \frac{u}{-t1}} \]
      19. add-sqr-sqrt21.9%

        \[\leadsto \frac{v}{\left(t1 - u\right) \cdot \frac{u}{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}}}} \]
      20. sqrt-unprod50.8%

        \[\leadsto \frac{v}{\left(t1 - u\right) \cdot \frac{u}{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}}}} \]
      21. sqr-neg50.8%

        \[\leadsto \frac{v}{\left(t1 - u\right) \cdot \frac{u}{\sqrt{\color{blue}{t1 \cdot t1}}}} \]
      22. sqrt-unprod38.3%

        \[\leadsto \frac{v}{\left(t1 - u\right) \cdot \frac{u}{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}}}} \]
      23. add-sqr-sqrt70.4%

        \[\leadsto \frac{v}{\left(t1 - u\right) \cdot \frac{u}{\color{blue}{t1}}} \]
    9. Applied egg-rr70.4%

      \[\leadsto \color{blue}{\frac{v}{\left(t1 - u\right) \cdot \frac{u}{t1}}} \]
    10. Step-by-step derivation
      1. associate-/r*81.2%

        \[\leadsto \color{blue}{\frac{\frac{v}{t1 - u}}{\frac{u}{t1}}} \]
      2. associate-/r/82.9%

        \[\leadsto \color{blue}{\frac{\frac{v}{t1 - u}}{u} \cdot t1} \]
    11. Simplified82.9%

      \[\leadsto \color{blue}{\frac{\frac{v}{t1 - u}}{u} \cdot t1} \]

    if -1.35000000000000008e-25 < u < 3.7999999999999999e-40

    1. Initial program 62.7%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. associate-*l/67.1%

        \[\leadsto \color{blue}{\frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \cdot v} \]
      2. *-commutative67.1%

        \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    3. Simplified67.1%

      \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in t1 around inf 82.7%

      \[\leadsto \color{blue}{-1 \cdot \frac{v}{t1}} \]
    6. Step-by-step derivation
      1. associate-*r/82.7%

        \[\leadsto \color{blue}{\frac{-1 \cdot v}{t1}} \]
      2. neg-mul-182.7%

        \[\leadsto \frac{\color{blue}{-v}}{t1} \]
    7. Simplified82.7%

      \[\leadsto \color{blue}{\frac{-v}{t1}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification82.8%

    \[\leadsto \begin{array}{l} \mathbf{if}\;u \leq -1.35 \cdot 10^{-25} \lor \neg \left(u \leq 3.8 \cdot 10^{-40}\right):\\ \;\;\;\;t1 \cdot \frac{\frac{v}{t1 - u}}{u}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{-t1}\\ \end{array} \]
  5. Add Preprocessing

Alternative 6: 77.8% accurate, 0.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;u \leq -4 \cdot 10^{-29} \lor \neg \left(u \leq 7.6 \cdot 10^{-27}\right):\\ \;\;\;\;\frac{t1 \cdot \frac{v}{u}}{-u}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{-t1}\\ \end{array} \end{array} \]
(FPCore (u v t1)
 :precision binary64
 (if (or (<= u -4e-29) (not (<= u 7.6e-27)))
   (/ (* t1 (/ v u)) (- u))
   (/ v (- t1))))
double code(double u, double v, double t1) {
	double tmp;
	if ((u <= -4e-29) || !(u <= 7.6e-27)) {
		tmp = (t1 * (v / u)) / -u;
	} else {
		tmp = v / -t1;
	}
	return tmp;
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    real(8) :: tmp
    if ((u <= (-4d-29)) .or. (.not. (u <= 7.6d-27))) then
        tmp = (t1 * (v / u)) / -u
    else
        tmp = v / -t1
    end if
    code = tmp
end function
public static double code(double u, double v, double t1) {
	double tmp;
	if ((u <= -4e-29) || !(u <= 7.6e-27)) {
		tmp = (t1 * (v / u)) / -u;
	} else {
		tmp = v / -t1;
	}
	return tmp;
}
def code(u, v, t1):
	tmp = 0
	if (u <= -4e-29) or not (u <= 7.6e-27):
		tmp = (t1 * (v / u)) / -u
	else:
		tmp = v / -t1
	return tmp
function code(u, v, t1)
	tmp = 0.0
	if ((u <= -4e-29) || !(u <= 7.6e-27))
		tmp = Float64(Float64(t1 * Float64(v / u)) / Float64(-u));
	else
		tmp = Float64(v / Float64(-t1));
	end
	return tmp
end
function tmp_2 = code(u, v, t1)
	tmp = 0.0;
	if ((u <= -4e-29) || ~((u <= 7.6e-27)))
		tmp = (t1 * (v / u)) / -u;
	else
		tmp = v / -t1;
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := If[Or[LessEqual[u, -4e-29], N[Not[LessEqual[u, 7.6e-27]], $MachinePrecision]], N[(N[(t1 * N[(v / u), $MachinePrecision]), $MachinePrecision] / (-u)), $MachinePrecision], N[(v / (-t1)), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;u \leq -4 \cdot 10^{-29} \lor \neg \left(u \leq 7.6 \cdot 10^{-27}\right):\\
\;\;\;\;\frac{t1 \cdot \frac{v}{u}}{-u}\\

\mathbf{else}:\\
\;\;\;\;\frac{v}{-t1}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if u < -3.99999999999999977e-29 or 7.60000000000000001e-27 < u

    1. Initial program 82.7%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. times-frac95.6%

        \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
      2. distribute-frac-neg95.6%

        \[\leadsto \color{blue}{\left(-\frac{t1}{t1 + u}\right)} \cdot \frac{v}{t1 + u} \]
      3. distribute-neg-frac295.6%

        \[\leadsto \color{blue}{\frac{t1}{-\left(t1 + u\right)}} \cdot \frac{v}{t1 + u} \]
      4. +-commutative95.6%

        \[\leadsto \frac{t1}{-\color{blue}{\left(u + t1\right)}} \cdot \frac{v}{t1 + u} \]
      5. distribute-neg-in95.6%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \cdot \frac{v}{t1 + u} \]
      6. unsub-neg95.6%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) - t1}} \cdot \frac{v}{t1 + u} \]
    3. Simplified95.6%

      \[\leadsto \color{blue}{\frac{t1}{\left(-u\right) - t1} \cdot \frac{v}{t1 + u}} \]
    4. Add Preprocessing
    5. Taylor expanded in t1 around 0 82.8%

      \[\leadsto \color{blue}{\left(-1 \cdot \frac{t1}{u}\right)} \cdot \frac{v}{t1 + u} \]
    6. Step-by-step derivation
      1. associate-*r/82.8%

        \[\leadsto \color{blue}{\frac{-1 \cdot t1}{u}} \cdot \frac{v}{t1 + u} \]
      2. mul-1-neg82.8%

        \[\leadsto \frac{\color{blue}{-t1}}{u} \cdot \frac{v}{t1 + u} \]
    7. Simplified82.8%

      \[\leadsto \color{blue}{\frac{-t1}{u}} \cdot \frac{v}{t1 + u} \]
    8. Taylor expanded in t1 around 0 78.7%

      \[\leadsto \frac{-t1}{u} \cdot \frac{v}{\color{blue}{u}} \]
    9. Step-by-step derivation
      1. neg-sub078.7%

        \[\leadsto \frac{\color{blue}{0 - t1}}{u} \cdot \frac{v}{u} \]
      2. sub-neg78.7%

        \[\leadsto \frac{\color{blue}{0 + \left(-t1\right)}}{u} \cdot \frac{v}{u} \]
      3. add-sqr-sqrt36.1%

        \[\leadsto \frac{0 + \color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}}}{u} \cdot \frac{v}{u} \]
      4. sqrt-unprod50.5%

        \[\leadsto \frac{0 + \color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}}}{u} \cdot \frac{v}{u} \]
      5. sqr-neg50.5%

        \[\leadsto \frac{0 + \sqrt{\color{blue}{t1 \cdot t1}}}{u} \cdot \frac{v}{u} \]
      6. sqrt-unprod23.0%

        \[\leadsto \frac{0 + \color{blue}{\sqrt{t1} \cdot \sqrt{t1}}}{u} \cdot \frac{v}{u} \]
      7. add-sqr-sqrt44.9%

        \[\leadsto \frac{0 + \color{blue}{t1}}{u} \cdot \frac{v}{u} \]
    10. Applied egg-rr44.9%

      \[\leadsto \frac{\color{blue}{0 + t1}}{u} \cdot \frac{v}{u} \]
    11. Step-by-step derivation
      1. +-lft-identity44.9%

        \[\leadsto \frac{\color{blue}{t1}}{u} \cdot \frac{v}{u} \]
    12. Simplified44.9%

      \[\leadsto \frac{\color{blue}{t1}}{u} \cdot \frac{v}{u} \]
    13. Step-by-step derivation
      1. frac-2neg44.9%

        \[\leadsto \color{blue}{\frac{-t1}{-u}} \cdot \frac{v}{u} \]
      2. associate-*l/44.9%

        \[\leadsto \color{blue}{\frac{\left(-t1\right) \cdot \frac{v}{u}}{-u}} \]
      3. add-sqr-sqrt20.5%

        \[\leadsto \frac{\left(-t1\right) \cdot \frac{v}{u}}{\color{blue}{\sqrt{-u} \cdot \sqrt{-u}}} \]
      4. sqrt-unprod59.4%

        \[\leadsto \frac{\left(-t1\right) \cdot \frac{v}{u}}{\color{blue}{\sqrt{\left(-u\right) \cdot \left(-u\right)}}} \]
      5. sqr-neg59.4%

        \[\leadsto \frac{\left(-t1\right) \cdot \frac{v}{u}}{\sqrt{\color{blue}{u \cdot u}}} \]
      6. sqrt-unprod44.1%

        \[\leadsto \frac{\left(-t1\right) \cdot \frac{v}{u}}{\color{blue}{\sqrt{u} \cdot \sqrt{u}}} \]
      7. add-sqr-sqrt82.5%

        \[\leadsto \frac{\left(-t1\right) \cdot \frac{v}{u}}{\color{blue}{u}} \]
    14. Applied egg-rr82.5%

      \[\leadsto \color{blue}{\frac{\left(-t1\right) \cdot \frac{v}{u}}{u}} \]

    if -3.99999999999999977e-29 < u < 7.60000000000000001e-27

    1. Initial program 61.8%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. associate-*l/67.7%

        \[\leadsto \color{blue}{\frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \cdot v} \]
      2. *-commutative67.7%

        \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    3. Simplified67.7%

      \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in t1 around inf 82.2%

      \[\leadsto \color{blue}{-1 \cdot \frac{v}{t1}} \]
    6. Step-by-step derivation
      1. associate-*r/82.2%

        \[\leadsto \color{blue}{\frac{-1 \cdot v}{t1}} \]
      2. neg-mul-182.2%

        \[\leadsto \frac{\color{blue}{-v}}{t1} \]
    7. Simplified82.2%

      \[\leadsto \color{blue}{\frac{-v}{t1}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification82.4%

    \[\leadsto \begin{array}{l} \mathbf{if}\;u \leq -4 \cdot 10^{-29} \lor \neg \left(u \leq 7.6 \cdot 10^{-27}\right):\\ \;\;\;\;\frac{t1 \cdot \frac{v}{u}}{-u}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{-t1}\\ \end{array} \]
  5. Add Preprocessing

Alternative 7: 77.2% accurate, 0.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t1 \leq -1 \cdot 10^{-33} \lor \neg \left(t1 \leq 3.5 \cdot 10^{+68}\right):\\ \;\;\;\;\frac{-v}{t1 + u}\\ \mathbf{else}:\\ \;\;\;\;\frac{-t1}{u \cdot \frac{u}{v}}\\ \end{array} \end{array} \]
(FPCore (u v t1)
 :precision binary64
 (if (or (<= t1 -1e-33) (not (<= t1 3.5e+68)))
   (/ (- v) (+ t1 u))
   (/ (- t1) (* u (/ u v)))))
double code(double u, double v, double t1) {
	double tmp;
	if ((t1 <= -1e-33) || !(t1 <= 3.5e+68)) {
		tmp = -v / (t1 + u);
	} else {
		tmp = -t1 / (u * (u / v));
	}
	return tmp;
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    real(8) :: tmp
    if ((t1 <= (-1d-33)) .or. (.not. (t1 <= 3.5d+68))) then
        tmp = -v / (t1 + u)
    else
        tmp = -t1 / (u * (u / v))
    end if
    code = tmp
end function
public static double code(double u, double v, double t1) {
	double tmp;
	if ((t1 <= -1e-33) || !(t1 <= 3.5e+68)) {
		tmp = -v / (t1 + u);
	} else {
		tmp = -t1 / (u * (u / v));
	}
	return tmp;
}
def code(u, v, t1):
	tmp = 0
	if (t1 <= -1e-33) or not (t1 <= 3.5e+68):
		tmp = -v / (t1 + u)
	else:
		tmp = -t1 / (u * (u / v))
	return tmp
function code(u, v, t1)
	tmp = 0.0
	if ((t1 <= -1e-33) || !(t1 <= 3.5e+68))
		tmp = Float64(Float64(-v) / Float64(t1 + u));
	else
		tmp = Float64(Float64(-t1) / Float64(u * Float64(u / v)));
	end
	return tmp
end
function tmp_2 = code(u, v, t1)
	tmp = 0.0;
	if ((t1 <= -1e-33) || ~((t1 <= 3.5e+68)))
		tmp = -v / (t1 + u);
	else
		tmp = -t1 / (u * (u / v));
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := If[Or[LessEqual[t1, -1e-33], N[Not[LessEqual[t1, 3.5e+68]], $MachinePrecision]], N[((-v) / N[(t1 + u), $MachinePrecision]), $MachinePrecision], N[((-t1) / N[(u * N[(u / v), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;t1 \leq -1 \cdot 10^{-33} \lor \neg \left(t1 \leq 3.5 \cdot 10^{+68}\right):\\
\;\;\;\;\frac{-v}{t1 + u}\\

\mathbf{else}:\\
\;\;\;\;\frac{-t1}{u \cdot \frac{u}{v}}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if t1 < -1.0000000000000001e-33 or 3.49999999999999977e68 < t1

    1. Initial program 53.7%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. associate-*l/58.9%

        \[\leadsto \color{blue}{\frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \cdot v} \]
      2. *-commutative58.9%

        \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    3. Simplified58.9%

      \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. associate-*r/53.7%

        \[\leadsto \color{blue}{\frac{v \cdot \left(-t1\right)}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
      2. *-commutative53.7%

        \[\leadsto \frac{\color{blue}{\left(-t1\right) \cdot v}}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
      3. times-frac99.9%

        \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
      4. frac-2neg99.9%

        \[\leadsto \frac{-t1}{t1 + u} \cdot \color{blue}{\frac{-v}{-\left(t1 + u\right)}} \]
      5. +-commutative99.9%

        \[\leadsto \frac{-t1}{t1 + u} \cdot \frac{-v}{-\color{blue}{\left(u + t1\right)}} \]
      6. distribute-neg-in99.9%

        \[\leadsto \frac{-t1}{t1 + u} \cdot \frac{-v}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \]
      7. sub-neg99.9%

        \[\leadsto \frac{-t1}{t1 + u} \cdot \frac{-v}{\color{blue}{\left(-u\right) - t1}} \]
      8. associate-*r/99.9%

        \[\leadsto \color{blue}{\frac{\frac{-t1}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1}} \]
      9. add-sqr-sqrt64.3%

        \[\leadsto \frac{\frac{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      10. sqrt-unprod36.8%

        \[\leadsto \frac{\frac{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      11. sqr-neg36.8%

        \[\leadsto \frac{\frac{\sqrt{\color{blue}{t1 \cdot t1}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      12. sqrt-unprod5.9%

        \[\leadsto \frac{\frac{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      13. add-sqr-sqrt27.8%

        \[\leadsto \frac{\frac{\color{blue}{t1}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      14. sub-neg27.8%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \]
      15. +-commutative27.8%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\left(-t1\right) + \left(-u\right)}} \]
      16. add-sqr-sqrt21.8%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}} + \left(-u\right)} \]
      17. sqrt-unprod38.3%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}} + \left(-u\right)} \]
      18. sqr-neg38.3%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{\color{blue}{t1 \cdot t1}} + \left(-u\right)} \]
      19. sqrt-unprod31.1%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}} + \left(-u\right)} \]
      20. add-sqr-sqrt13.0%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{t1} \cdot \sqrt{t1} + \color{blue}{\sqrt{-u} \cdot \sqrt{-u}}} \]
      21. sqrt-unprod31.2%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{t1} \cdot \sqrt{t1} + \color{blue}{\sqrt{\left(-u\right) \cdot \left(-u\right)}}} \]
      22. sqr-neg31.2%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{t1} \cdot \sqrt{t1} + \sqrt{\color{blue}{u \cdot u}}} \]
    6. Applied egg-rr99.9%

      \[\leadsto \color{blue}{\frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{t1 + u}} \]
    7. Taylor expanded in t1 around inf 86.4%

      \[\leadsto \frac{\color{blue}{-1 \cdot v}}{t1 + u} \]
    8. Step-by-step derivation
      1. mul-1-neg86.4%

        \[\leadsto \frac{\color{blue}{-v}}{t1 + u} \]
    9. Simplified86.4%

      \[\leadsto \frac{\color{blue}{-v}}{t1 + u} \]

    if -1.0000000000000001e-33 < t1 < 3.49999999999999977e68

    1. Initial program 88.8%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. times-frac94.4%

        \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
      2. distribute-frac-neg94.4%

        \[\leadsto \color{blue}{\left(-\frac{t1}{t1 + u}\right)} \cdot \frac{v}{t1 + u} \]
      3. distribute-neg-frac294.4%

        \[\leadsto \color{blue}{\frac{t1}{-\left(t1 + u\right)}} \cdot \frac{v}{t1 + u} \]
      4. +-commutative94.4%

        \[\leadsto \frac{t1}{-\color{blue}{\left(u + t1\right)}} \cdot \frac{v}{t1 + u} \]
      5. distribute-neg-in94.4%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \cdot \frac{v}{t1 + u} \]
      6. unsub-neg94.4%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) - t1}} \cdot \frac{v}{t1 + u} \]
    3. Simplified94.4%

      \[\leadsto \color{blue}{\frac{t1}{\left(-u\right) - t1} \cdot \frac{v}{t1 + u}} \]
    4. Add Preprocessing
    5. Taylor expanded in t1 around 0 74.1%

      \[\leadsto \color{blue}{\left(-1 \cdot \frac{t1}{u}\right)} \cdot \frac{v}{t1 + u} \]
    6. Step-by-step derivation
      1. associate-*r/74.1%

        \[\leadsto \color{blue}{\frac{-1 \cdot t1}{u}} \cdot \frac{v}{t1 + u} \]
      2. mul-1-neg74.1%

        \[\leadsto \frac{\color{blue}{-t1}}{u} \cdot \frac{v}{t1 + u} \]
    7. Simplified74.1%

      \[\leadsto \color{blue}{\frac{-t1}{u}} \cdot \frac{v}{t1 + u} \]
    8. Taylor expanded in t1 around 0 76.5%

      \[\leadsto \frac{-t1}{u} \cdot \frac{v}{\color{blue}{u}} \]
    9. Step-by-step derivation
      1. *-commutative76.5%

        \[\leadsto \color{blue}{\frac{v}{u} \cdot \frac{-t1}{u}} \]
      2. clear-num76.4%

        \[\leadsto \color{blue}{\frac{1}{\frac{u}{v}}} \cdot \frac{-t1}{u} \]
      3. frac-2neg76.4%

        \[\leadsto \frac{1}{\frac{u}{v}} \cdot \color{blue}{\frac{-\left(-t1\right)}{-u}} \]
      4. frac-times77.0%

        \[\leadsto \color{blue}{\frac{1 \cdot \left(-\left(-t1\right)\right)}{\frac{u}{v} \cdot \left(-u\right)}} \]
      5. *-un-lft-identity77.0%

        \[\leadsto \frac{\color{blue}{-\left(-t1\right)}}{\frac{u}{v} \cdot \left(-u\right)} \]
      6. remove-double-neg77.0%

        \[\leadsto \frac{\color{blue}{t1}}{\frac{u}{v} \cdot \left(-u\right)} \]
    10. Applied egg-rr77.0%

      \[\leadsto \color{blue}{\frac{t1}{\frac{u}{v} \cdot \left(-u\right)}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification81.3%

    \[\leadsto \begin{array}{l} \mathbf{if}\;t1 \leq -1 \cdot 10^{-33} \lor \neg \left(t1 \leq 3.5 \cdot 10^{+68}\right):\\ \;\;\;\;\frac{-v}{t1 + u}\\ \mathbf{else}:\\ \;\;\;\;\frac{-t1}{u \cdot \frac{u}{v}}\\ \end{array} \]
  5. Add Preprocessing

Alternative 8: 78.1% accurate, 0.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t1 \leq -3.4 \cdot 10^{-37} \lor \neg \left(t1 \leq 2.9 \cdot 10^{+68}\right):\\ \;\;\;\;\frac{-v}{t1 + u}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{u} \cdot \frac{t1}{-u}\\ \end{array} \end{array} \]
(FPCore (u v t1)
 :precision binary64
 (if (or (<= t1 -3.4e-37) (not (<= t1 2.9e+68)))
   (/ (- v) (+ t1 u))
   (* (/ v u) (/ t1 (- u)))))
double code(double u, double v, double t1) {
	double tmp;
	if ((t1 <= -3.4e-37) || !(t1 <= 2.9e+68)) {
		tmp = -v / (t1 + u);
	} else {
		tmp = (v / u) * (t1 / -u);
	}
	return tmp;
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    real(8) :: tmp
    if ((t1 <= (-3.4d-37)) .or. (.not. (t1 <= 2.9d+68))) then
        tmp = -v / (t1 + u)
    else
        tmp = (v / u) * (t1 / -u)
    end if
    code = tmp
end function
public static double code(double u, double v, double t1) {
	double tmp;
	if ((t1 <= -3.4e-37) || !(t1 <= 2.9e+68)) {
		tmp = -v / (t1 + u);
	} else {
		tmp = (v / u) * (t1 / -u);
	}
	return tmp;
}
def code(u, v, t1):
	tmp = 0
	if (t1 <= -3.4e-37) or not (t1 <= 2.9e+68):
		tmp = -v / (t1 + u)
	else:
		tmp = (v / u) * (t1 / -u)
	return tmp
function code(u, v, t1)
	tmp = 0.0
	if ((t1 <= -3.4e-37) || !(t1 <= 2.9e+68))
		tmp = Float64(Float64(-v) / Float64(t1 + u));
	else
		tmp = Float64(Float64(v / u) * Float64(t1 / Float64(-u)));
	end
	return tmp
end
function tmp_2 = code(u, v, t1)
	tmp = 0.0;
	if ((t1 <= -3.4e-37) || ~((t1 <= 2.9e+68)))
		tmp = -v / (t1 + u);
	else
		tmp = (v / u) * (t1 / -u);
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := If[Or[LessEqual[t1, -3.4e-37], N[Not[LessEqual[t1, 2.9e+68]], $MachinePrecision]], N[((-v) / N[(t1 + u), $MachinePrecision]), $MachinePrecision], N[(N[(v / u), $MachinePrecision] * N[(t1 / (-u)), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;t1 \leq -3.4 \cdot 10^{-37} \lor \neg \left(t1 \leq 2.9 \cdot 10^{+68}\right):\\
\;\;\;\;\frac{-v}{t1 + u}\\

\mathbf{else}:\\
\;\;\;\;\frac{v}{u} \cdot \frac{t1}{-u}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if t1 < -3.40000000000000018e-37 or 2.90000000000000011e68 < t1

    1. Initial program 53.7%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. associate-*l/58.9%

        \[\leadsto \color{blue}{\frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \cdot v} \]
      2. *-commutative58.9%

        \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    3. Simplified58.9%

      \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. associate-*r/53.7%

        \[\leadsto \color{blue}{\frac{v \cdot \left(-t1\right)}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
      2. *-commutative53.7%

        \[\leadsto \frac{\color{blue}{\left(-t1\right) \cdot v}}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
      3. times-frac99.9%

        \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
      4. frac-2neg99.9%

        \[\leadsto \frac{-t1}{t1 + u} \cdot \color{blue}{\frac{-v}{-\left(t1 + u\right)}} \]
      5. +-commutative99.9%

        \[\leadsto \frac{-t1}{t1 + u} \cdot \frac{-v}{-\color{blue}{\left(u + t1\right)}} \]
      6. distribute-neg-in99.9%

        \[\leadsto \frac{-t1}{t1 + u} \cdot \frac{-v}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \]
      7. sub-neg99.9%

        \[\leadsto \frac{-t1}{t1 + u} \cdot \frac{-v}{\color{blue}{\left(-u\right) - t1}} \]
      8. associate-*r/99.9%

        \[\leadsto \color{blue}{\frac{\frac{-t1}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1}} \]
      9. add-sqr-sqrt64.3%

        \[\leadsto \frac{\frac{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      10. sqrt-unprod36.8%

        \[\leadsto \frac{\frac{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      11. sqr-neg36.8%

        \[\leadsto \frac{\frac{\sqrt{\color{blue}{t1 \cdot t1}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      12. sqrt-unprod5.9%

        \[\leadsto \frac{\frac{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      13. add-sqr-sqrt27.8%

        \[\leadsto \frac{\frac{\color{blue}{t1}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      14. sub-neg27.8%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \]
      15. +-commutative27.8%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\left(-t1\right) + \left(-u\right)}} \]
      16. add-sqr-sqrt21.8%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}} + \left(-u\right)} \]
      17. sqrt-unprod38.3%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}} + \left(-u\right)} \]
      18. sqr-neg38.3%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{\color{blue}{t1 \cdot t1}} + \left(-u\right)} \]
      19. sqrt-unprod31.1%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}} + \left(-u\right)} \]
      20. add-sqr-sqrt13.0%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{t1} \cdot \sqrt{t1} + \color{blue}{\sqrt{-u} \cdot \sqrt{-u}}} \]
      21. sqrt-unprod31.2%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{t1} \cdot \sqrt{t1} + \color{blue}{\sqrt{\left(-u\right) \cdot \left(-u\right)}}} \]
      22. sqr-neg31.2%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{t1} \cdot \sqrt{t1} + \sqrt{\color{blue}{u \cdot u}}} \]
    6. Applied egg-rr99.9%

      \[\leadsto \color{blue}{\frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{t1 + u}} \]
    7. Taylor expanded in t1 around inf 86.4%

      \[\leadsto \frac{\color{blue}{-1 \cdot v}}{t1 + u} \]
    8. Step-by-step derivation
      1. mul-1-neg86.4%

        \[\leadsto \frac{\color{blue}{-v}}{t1 + u} \]
    9. Simplified86.4%

      \[\leadsto \frac{\color{blue}{-v}}{t1 + u} \]

    if -3.40000000000000018e-37 < t1 < 2.90000000000000011e68

    1. Initial program 88.8%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. times-frac94.4%

        \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
      2. distribute-frac-neg94.4%

        \[\leadsto \color{blue}{\left(-\frac{t1}{t1 + u}\right)} \cdot \frac{v}{t1 + u} \]
      3. distribute-neg-frac294.4%

        \[\leadsto \color{blue}{\frac{t1}{-\left(t1 + u\right)}} \cdot \frac{v}{t1 + u} \]
      4. +-commutative94.4%

        \[\leadsto \frac{t1}{-\color{blue}{\left(u + t1\right)}} \cdot \frac{v}{t1 + u} \]
      5. distribute-neg-in94.4%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \cdot \frac{v}{t1 + u} \]
      6. unsub-neg94.4%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) - t1}} \cdot \frac{v}{t1 + u} \]
    3. Simplified94.4%

      \[\leadsto \color{blue}{\frac{t1}{\left(-u\right) - t1} \cdot \frac{v}{t1 + u}} \]
    4. Add Preprocessing
    5. Taylor expanded in t1 around 0 74.1%

      \[\leadsto \color{blue}{\left(-1 \cdot \frac{t1}{u}\right)} \cdot \frac{v}{t1 + u} \]
    6. Step-by-step derivation
      1. associate-*r/74.1%

        \[\leadsto \color{blue}{\frac{-1 \cdot t1}{u}} \cdot \frac{v}{t1 + u} \]
      2. mul-1-neg74.1%

        \[\leadsto \frac{\color{blue}{-t1}}{u} \cdot \frac{v}{t1 + u} \]
    7. Simplified74.1%

      \[\leadsto \color{blue}{\frac{-t1}{u}} \cdot \frac{v}{t1 + u} \]
    8. Taylor expanded in t1 around 0 76.5%

      \[\leadsto \frac{-t1}{u} \cdot \frac{v}{\color{blue}{u}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification81.0%

    \[\leadsto \begin{array}{l} \mathbf{if}\;t1 \leq -3.4 \cdot 10^{-37} \lor \neg \left(t1 \leq 2.9 \cdot 10^{+68}\right):\\ \;\;\;\;\frac{-v}{t1 + u}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{u} \cdot \frac{t1}{-u}\\ \end{array} \]
  5. Add Preprocessing

Alternative 9: 77.2% accurate, 0.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t1 \leq -2.5 \cdot 10^{-39} \lor \neg \left(t1 \leq 2.9 \cdot 10^{+68}\right):\\ \;\;\;\;\frac{-v}{t1 + u}\\ \mathbf{else}:\\ \;\;\;\;v \cdot \frac{\frac{t1}{-u}}{u}\\ \end{array} \end{array} \]
(FPCore (u v t1)
 :precision binary64
 (if (or (<= t1 -2.5e-39) (not (<= t1 2.9e+68)))
   (/ (- v) (+ t1 u))
   (* v (/ (/ t1 (- u)) u))))
double code(double u, double v, double t1) {
	double tmp;
	if ((t1 <= -2.5e-39) || !(t1 <= 2.9e+68)) {
		tmp = -v / (t1 + u);
	} else {
		tmp = v * ((t1 / -u) / u);
	}
	return tmp;
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    real(8) :: tmp
    if ((t1 <= (-2.5d-39)) .or. (.not. (t1 <= 2.9d+68))) then
        tmp = -v / (t1 + u)
    else
        tmp = v * ((t1 / -u) / u)
    end if
    code = tmp
end function
public static double code(double u, double v, double t1) {
	double tmp;
	if ((t1 <= -2.5e-39) || !(t1 <= 2.9e+68)) {
		tmp = -v / (t1 + u);
	} else {
		tmp = v * ((t1 / -u) / u);
	}
	return tmp;
}
def code(u, v, t1):
	tmp = 0
	if (t1 <= -2.5e-39) or not (t1 <= 2.9e+68):
		tmp = -v / (t1 + u)
	else:
		tmp = v * ((t1 / -u) / u)
	return tmp
function code(u, v, t1)
	tmp = 0.0
	if ((t1 <= -2.5e-39) || !(t1 <= 2.9e+68))
		tmp = Float64(Float64(-v) / Float64(t1 + u));
	else
		tmp = Float64(v * Float64(Float64(t1 / Float64(-u)) / u));
	end
	return tmp
end
function tmp_2 = code(u, v, t1)
	tmp = 0.0;
	if ((t1 <= -2.5e-39) || ~((t1 <= 2.9e+68)))
		tmp = -v / (t1 + u);
	else
		tmp = v * ((t1 / -u) / u);
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := If[Or[LessEqual[t1, -2.5e-39], N[Not[LessEqual[t1, 2.9e+68]], $MachinePrecision]], N[((-v) / N[(t1 + u), $MachinePrecision]), $MachinePrecision], N[(v * N[(N[(t1 / (-u)), $MachinePrecision] / u), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;t1 \leq -2.5 \cdot 10^{-39} \lor \neg \left(t1 \leq 2.9 \cdot 10^{+68}\right):\\
\;\;\;\;\frac{-v}{t1 + u}\\

\mathbf{else}:\\
\;\;\;\;v \cdot \frac{\frac{t1}{-u}}{u}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if t1 < -2.4999999999999999e-39 or 2.90000000000000011e68 < t1

    1. Initial program 53.7%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. associate-*l/58.9%

        \[\leadsto \color{blue}{\frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \cdot v} \]
      2. *-commutative58.9%

        \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    3. Simplified58.9%

      \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    4. Add Preprocessing
    5. Step-by-step derivation
      1. associate-*r/53.7%

        \[\leadsto \color{blue}{\frac{v \cdot \left(-t1\right)}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
      2. *-commutative53.7%

        \[\leadsto \frac{\color{blue}{\left(-t1\right) \cdot v}}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
      3. times-frac99.9%

        \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
      4. frac-2neg99.9%

        \[\leadsto \frac{-t1}{t1 + u} \cdot \color{blue}{\frac{-v}{-\left(t1 + u\right)}} \]
      5. +-commutative99.9%

        \[\leadsto \frac{-t1}{t1 + u} \cdot \frac{-v}{-\color{blue}{\left(u + t1\right)}} \]
      6. distribute-neg-in99.9%

        \[\leadsto \frac{-t1}{t1 + u} \cdot \frac{-v}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \]
      7. sub-neg99.9%

        \[\leadsto \frac{-t1}{t1 + u} \cdot \frac{-v}{\color{blue}{\left(-u\right) - t1}} \]
      8. associate-*r/99.9%

        \[\leadsto \color{blue}{\frac{\frac{-t1}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1}} \]
      9. add-sqr-sqrt64.3%

        \[\leadsto \frac{\frac{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      10. sqrt-unprod36.8%

        \[\leadsto \frac{\frac{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      11. sqr-neg36.8%

        \[\leadsto \frac{\frac{\sqrt{\color{blue}{t1 \cdot t1}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      12. sqrt-unprod5.9%

        \[\leadsto \frac{\frac{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      13. add-sqr-sqrt27.8%

        \[\leadsto \frac{\frac{\color{blue}{t1}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      14. sub-neg27.8%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \]
      15. +-commutative27.8%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\left(-t1\right) + \left(-u\right)}} \]
      16. add-sqr-sqrt21.8%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}} + \left(-u\right)} \]
      17. sqrt-unprod38.3%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}} + \left(-u\right)} \]
      18. sqr-neg38.3%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{\color{blue}{t1 \cdot t1}} + \left(-u\right)} \]
      19. sqrt-unprod31.1%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}} + \left(-u\right)} \]
      20. add-sqr-sqrt13.0%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{t1} \cdot \sqrt{t1} + \color{blue}{\sqrt{-u} \cdot \sqrt{-u}}} \]
      21. sqrt-unprod31.2%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{t1} \cdot \sqrt{t1} + \color{blue}{\sqrt{\left(-u\right) \cdot \left(-u\right)}}} \]
      22. sqr-neg31.2%

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{t1} \cdot \sqrt{t1} + \sqrt{\color{blue}{u \cdot u}}} \]
    6. Applied egg-rr99.9%

      \[\leadsto \color{blue}{\frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{t1 + u}} \]
    7. Taylor expanded in t1 around inf 86.4%

      \[\leadsto \frac{\color{blue}{-1 \cdot v}}{t1 + u} \]
    8. Step-by-step derivation
      1. mul-1-neg86.4%

        \[\leadsto \frac{\color{blue}{-v}}{t1 + u} \]
    9. Simplified86.4%

      \[\leadsto \frac{\color{blue}{-v}}{t1 + u} \]

    if -2.4999999999999999e-39 < t1 < 2.90000000000000011e68

    1. Initial program 88.8%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. times-frac94.4%

        \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
      2. distribute-frac-neg94.4%

        \[\leadsto \color{blue}{\left(-\frac{t1}{t1 + u}\right)} \cdot \frac{v}{t1 + u} \]
      3. distribute-neg-frac294.4%

        \[\leadsto \color{blue}{\frac{t1}{-\left(t1 + u\right)}} \cdot \frac{v}{t1 + u} \]
      4. +-commutative94.4%

        \[\leadsto \frac{t1}{-\color{blue}{\left(u + t1\right)}} \cdot \frac{v}{t1 + u} \]
      5. distribute-neg-in94.4%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \cdot \frac{v}{t1 + u} \]
      6. unsub-neg94.4%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) - t1}} \cdot \frac{v}{t1 + u} \]
    3. Simplified94.4%

      \[\leadsto \color{blue}{\frac{t1}{\left(-u\right) - t1} \cdot \frac{v}{t1 + u}} \]
    4. Add Preprocessing
    5. Taylor expanded in t1 around 0 74.1%

      \[\leadsto \color{blue}{\left(-1 \cdot \frac{t1}{u}\right)} \cdot \frac{v}{t1 + u} \]
    6. Step-by-step derivation
      1. associate-*r/74.1%

        \[\leadsto \color{blue}{\frac{-1 \cdot t1}{u}} \cdot \frac{v}{t1 + u} \]
      2. mul-1-neg74.1%

        \[\leadsto \frac{\color{blue}{-t1}}{u} \cdot \frac{v}{t1 + u} \]
    7. Simplified74.1%

      \[\leadsto \color{blue}{\frac{-t1}{u}} \cdot \frac{v}{t1 + u} \]
    8. Taylor expanded in v around 0 72.6%

      \[\leadsto \color{blue}{-1 \cdot \frac{t1 \cdot v}{u \cdot \left(t1 + u\right)}} \]
    9. Step-by-step derivation
      1. mul-1-neg72.6%

        \[\leadsto \color{blue}{-\frac{t1 \cdot v}{u \cdot \left(t1 + u\right)}} \]
      2. associate-/r*75.7%

        \[\leadsto -\color{blue}{\frac{\frac{t1 \cdot v}{u}}{t1 + u}} \]
      3. *-commutative75.7%

        \[\leadsto -\frac{\frac{\color{blue}{v \cdot t1}}{u}}{t1 + u} \]
      4. associate-*r/73.1%

        \[\leadsto -\frac{\color{blue}{v \cdot \frac{t1}{u}}}{t1 + u} \]
      5. associate-/l*72.9%

        \[\leadsto -\color{blue}{v \cdot \frac{\frac{t1}{u}}{t1 + u}} \]
      6. distribute-lft-neg-in72.9%

        \[\leadsto \color{blue}{\left(-v\right) \cdot \frac{\frac{t1}{u}}{t1 + u}} \]
    10. Simplified72.9%

      \[\leadsto \color{blue}{\left(-v\right) \cdot \frac{\frac{t1}{u}}{t1 + u}} \]
    11. Taylor expanded in t1 around 0 75.2%

      \[\leadsto \left(-v\right) \cdot \frac{\frac{t1}{u}}{\color{blue}{u}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification80.3%

    \[\leadsto \begin{array}{l} \mathbf{if}\;t1 \leq -2.5 \cdot 10^{-39} \lor \neg \left(t1 \leq 2.9 \cdot 10^{+68}\right):\\ \;\;\;\;\frac{-v}{t1 + u}\\ \mathbf{else}:\\ \;\;\;\;v \cdot \frac{\frac{t1}{-u}}{u}\\ \end{array} \]
  5. Add Preprocessing

Alternative 10: 77.9% accurate, 0.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;u \leq -6.2 \cdot 10^{-29}:\\ \;\;\;\;\frac{\frac{t1}{\frac{u}{v}}}{-u}\\ \mathbf{elif}\;u \leq 1.05 \cdot 10^{-26}:\\ \;\;\;\;\frac{v}{-t1}\\ \mathbf{else}:\\ \;\;\;\;\frac{t1 \cdot \frac{v}{u}}{-u}\\ \end{array} \end{array} \]
(FPCore (u v t1)
 :precision binary64
 (if (<= u -6.2e-29)
   (/ (/ t1 (/ u v)) (- u))
   (if (<= u 1.05e-26) (/ v (- t1)) (/ (* t1 (/ v u)) (- u)))))
double code(double u, double v, double t1) {
	double tmp;
	if (u <= -6.2e-29) {
		tmp = (t1 / (u / v)) / -u;
	} else if (u <= 1.05e-26) {
		tmp = v / -t1;
	} else {
		tmp = (t1 * (v / u)) / -u;
	}
	return tmp;
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    real(8) :: tmp
    if (u <= (-6.2d-29)) then
        tmp = (t1 / (u / v)) / -u
    else if (u <= 1.05d-26) then
        tmp = v / -t1
    else
        tmp = (t1 * (v / u)) / -u
    end if
    code = tmp
end function
public static double code(double u, double v, double t1) {
	double tmp;
	if (u <= -6.2e-29) {
		tmp = (t1 / (u / v)) / -u;
	} else if (u <= 1.05e-26) {
		tmp = v / -t1;
	} else {
		tmp = (t1 * (v / u)) / -u;
	}
	return tmp;
}
def code(u, v, t1):
	tmp = 0
	if u <= -6.2e-29:
		tmp = (t1 / (u / v)) / -u
	elif u <= 1.05e-26:
		tmp = v / -t1
	else:
		tmp = (t1 * (v / u)) / -u
	return tmp
function code(u, v, t1)
	tmp = 0.0
	if (u <= -6.2e-29)
		tmp = Float64(Float64(t1 / Float64(u / v)) / Float64(-u));
	elseif (u <= 1.05e-26)
		tmp = Float64(v / Float64(-t1));
	else
		tmp = Float64(Float64(t1 * Float64(v / u)) / Float64(-u));
	end
	return tmp
end
function tmp_2 = code(u, v, t1)
	tmp = 0.0;
	if (u <= -6.2e-29)
		tmp = (t1 / (u / v)) / -u;
	elseif (u <= 1.05e-26)
		tmp = v / -t1;
	else
		tmp = (t1 * (v / u)) / -u;
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := If[LessEqual[u, -6.2e-29], N[(N[(t1 / N[(u / v), $MachinePrecision]), $MachinePrecision] / (-u)), $MachinePrecision], If[LessEqual[u, 1.05e-26], N[(v / (-t1)), $MachinePrecision], N[(N[(t1 * N[(v / u), $MachinePrecision]), $MachinePrecision] / (-u)), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;u \leq -6.2 \cdot 10^{-29}:\\
\;\;\;\;\frac{\frac{t1}{\frac{u}{v}}}{-u}\\

\mathbf{elif}\;u \leq 1.05 \cdot 10^{-26}:\\
\;\;\;\;\frac{v}{-t1}\\

\mathbf{else}:\\
\;\;\;\;\frac{t1 \cdot \frac{v}{u}}{-u}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if u < -6.20000000000000052e-29

    1. Initial program 82.3%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. times-frac94.9%

        \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
      2. distribute-frac-neg94.9%

        \[\leadsto \color{blue}{\left(-\frac{t1}{t1 + u}\right)} \cdot \frac{v}{t1 + u} \]
      3. distribute-neg-frac294.9%

        \[\leadsto \color{blue}{\frac{t1}{-\left(t1 + u\right)}} \cdot \frac{v}{t1 + u} \]
      4. +-commutative94.9%

        \[\leadsto \frac{t1}{-\color{blue}{\left(u + t1\right)}} \cdot \frac{v}{t1 + u} \]
      5. distribute-neg-in94.9%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \cdot \frac{v}{t1 + u} \]
      6. unsub-neg94.9%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) - t1}} \cdot \frac{v}{t1 + u} \]
    3. Simplified94.9%

      \[\leadsto \color{blue}{\frac{t1}{\left(-u\right) - t1} \cdot \frac{v}{t1 + u}} \]
    4. Add Preprocessing
    5. Taylor expanded in t1 around 0 84.9%

      \[\leadsto \color{blue}{\left(-1 \cdot \frac{t1}{u}\right)} \cdot \frac{v}{t1 + u} \]
    6. Step-by-step derivation
      1. associate-*r/84.9%

        \[\leadsto \color{blue}{\frac{-1 \cdot t1}{u}} \cdot \frac{v}{t1 + u} \]
      2. mul-1-neg84.9%

        \[\leadsto \frac{\color{blue}{-t1}}{u} \cdot \frac{v}{t1 + u} \]
    7. Simplified84.9%

      \[\leadsto \color{blue}{\frac{-t1}{u}} \cdot \frac{v}{t1 + u} \]
    8. Taylor expanded in t1 around 0 80.1%

      \[\leadsto \frac{-t1}{u} \cdot \frac{v}{\color{blue}{u}} \]
    9. Step-by-step derivation
      1. *-commutative80.1%

        \[\leadsto \color{blue}{\frac{v}{u} \cdot \frac{-t1}{u}} \]
      2. distribute-frac-neg80.1%

        \[\leadsto \frac{v}{u} \cdot \color{blue}{\left(-\frac{t1}{u}\right)} \]
      3. distribute-frac-neg280.1%

        \[\leadsto \frac{v}{u} \cdot \color{blue}{\frac{t1}{-u}} \]
      4. associate-*r/84.1%

        \[\leadsto \color{blue}{\frac{\frac{v}{u} \cdot t1}{-u}} \]
      5. add-sqr-sqrt47.1%

        \[\leadsto \frac{\frac{v}{u} \cdot \color{blue}{\left(\sqrt{t1} \cdot \sqrt{t1}\right)}}{-u} \]
      6. sqrt-unprod54.2%

        \[\leadsto \frac{\frac{v}{u} \cdot \color{blue}{\sqrt{t1 \cdot t1}}}{-u} \]
      7. sqr-neg54.2%

        \[\leadsto \frac{\frac{v}{u} \cdot \sqrt{\color{blue}{\left(-t1\right) \cdot \left(-t1\right)}}}{-u} \]
      8. sqrt-unprod21.2%

        \[\leadsto \frac{\frac{v}{u} \cdot \color{blue}{\left(\sqrt{-t1} \cdot \sqrt{-t1}\right)}}{-u} \]
      9. add-sqr-sqrt45.0%

        \[\leadsto \frac{\frac{v}{u} \cdot \color{blue}{\left(-t1\right)}}{-u} \]
      10. *-commutative45.0%

        \[\leadsto \frac{\color{blue}{\left(-t1\right) \cdot \frac{v}{u}}}{-u} \]
      11. clear-num45.0%

        \[\leadsto \frac{\left(-t1\right) \cdot \color{blue}{\frac{1}{\frac{u}{v}}}}{-u} \]
      12. un-div-inv45.0%

        \[\leadsto \frac{\color{blue}{\frac{-t1}{\frac{u}{v}}}}{-u} \]
      13. add-sqr-sqrt21.2%

        \[\leadsto \frac{\frac{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}}}{\frac{u}{v}}}{-u} \]
      14. sqrt-unprod54.2%

        \[\leadsto \frac{\frac{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}}}{\frac{u}{v}}}{-u} \]
      15. sqr-neg54.2%

        \[\leadsto \frac{\frac{\sqrt{\color{blue}{t1 \cdot t1}}}{\frac{u}{v}}}{-u} \]
      16. sqrt-unprod47.1%

        \[\leadsto \frac{\frac{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}}}{\frac{u}{v}}}{-u} \]
      17. add-sqr-sqrt84.1%

        \[\leadsto \frac{\frac{\color{blue}{t1}}{\frac{u}{v}}}{-u} \]
    10. Applied egg-rr84.1%

      \[\leadsto \color{blue}{\frac{\frac{t1}{\frac{u}{v}}}{-u}} \]

    if -6.20000000000000052e-29 < u < 1.05000000000000004e-26

    1. Initial program 61.8%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. associate-*l/67.7%

        \[\leadsto \color{blue}{\frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \cdot v} \]
      2. *-commutative67.7%

        \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    3. Simplified67.7%

      \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in t1 around inf 82.2%

      \[\leadsto \color{blue}{-1 \cdot \frac{v}{t1}} \]
    6. Step-by-step derivation
      1. associate-*r/82.2%

        \[\leadsto \color{blue}{\frac{-1 \cdot v}{t1}} \]
      2. neg-mul-182.2%

        \[\leadsto \frac{\color{blue}{-v}}{t1} \]
    7. Simplified82.2%

      \[\leadsto \color{blue}{\frac{-v}{t1}} \]

    if 1.05000000000000004e-26 < u

    1. Initial program 83.0%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. times-frac96.1%

        \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
      2. distribute-frac-neg96.1%

        \[\leadsto \color{blue}{\left(-\frac{t1}{t1 + u}\right)} \cdot \frac{v}{t1 + u} \]
      3. distribute-neg-frac296.1%

        \[\leadsto \color{blue}{\frac{t1}{-\left(t1 + u\right)}} \cdot \frac{v}{t1 + u} \]
      4. +-commutative96.1%

        \[\leadsto \frac{t1}{-\color{blue}{\left(u + t1\right)}} \cdot \frac{v}{t1 + u} \]
      5. distribute-neg-in96.1%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \cdot \frac{v}{t1 + u} \]
      6. unsub-neg96.1%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) - t1}} \cdot \frac{v}{t1 + u} \]
    3. Simplified96.1%

      \[\leadsto \color{blue}{\frac{t1}{\left(-u\right) - t1} \cdot \frac{v}{t1 + u}} \]
    4. Add Preprocessing
    5. Taylor expanded in t1 around 0 81.1%

      \[\leadsto \color{blue}{\left(-1 \cdot \frac{t1}{u}\right)} \cdot \frac{v}{t1 + u} \]
    6. Step-by-step derivation
      1. associate-*r/81.1%

        \[\leadsto \color{blue}{\frac{-1 \cdot t1}{u}} \cdot \frac{v}{t1 + u} \]
      2. mul-1-neg81.1%

        \[\leadsto \frac{\color{blue}{-t1}}{u} \cdot \frac{v}{t1 + u} \]
    7. Simplified81.1%

      \[\leadsto \color{blue}{\frac{-t1}{u}} \cdot \frac{v}{t1 + u} \]
    8. Taylor expanded in t1 around 0 77.5%

      \[\leadsto \frac{-t1}{u} \cdot \frac{v}{\color{blue}{u}} \]
    9. Step-by-step derivation
      1. neg-sub077.5%

        \[\leadsto \frac{\color{blue}{0 - t1}}{u} \cdot \frac{v}{u} \]
      2. sub-neg77.5%

        \[\leadsto \frac{\color{blue}{0 + \left(-t1\right)}}{u} \cdot \frac{v}{u} \]
      3. add-sqr-sqrt36.6%

        \[\leadsto \frac{0 + \color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}}}{u} \cdot \frac{v}{u} \]
      4. sqrt-unprod52.0%

        \[\leadsto \frac{0 + \color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}}}{u} \cdot \frac{v}{u} \]
      5. sqr-neg52.0%

        \[\leadsto \frac{0 + \sqrt{\color{blue}{t1 \cdot t1}}}{u} \cdot \frac{v}{u} \]
      6. sqrt-unprod22.4%

        \[\leadsto \frac{0 + \color{blue}{\sqrt{t1} \cdot \sqrt{t1}}}{u} \cdot \frac{v}{u} \]
      7. add-sqr-sqrt44.8%

        \[\leadsto \frac{0 + \color{blue}{t1}}{u} \cdot \frac{v}{u} \]
    10. Applied egg-rr44.8%

      \[\leadsto \frac{\color{blue}{0 + t1}}{u} \cdot \frac{v}{u} \]
    11. Step-by-step derivation
      1. +-lft-identity44.8%

        \[\leadsto \frac{\color{blue}{t1}}{u} \cdot \frac{v}{u} \]
    12. Simplified44.8%

      \[\leadsto \frac{\color{blue}{t1}}{u} \cdot \frac{v}{u} \]
    13. Step-by-step derivation
      1. frac-2neg44.8%

        \[\leadsto \color{blue}{\frac{-t1}{-u}} \cdot \frac{v}{u} \]
      2. associate-*l/44.7%

        \[\leadsto \color{blue}{\frac{\left(-t1\right) \cdot \frac{v}{u}}{-u}} \]
      3. add-sqr-sqrt0.0%

        \[\leadsto \frac{\left(-t1\right) \cdot \frac{v}{u}}{\color{blue}{\sqrt{-u} \cdot \sqrt{-u}}} \]
      4. sqrt-unprod71.2%

        \[\leadsto \frac{\left(-t1\right) \cdot \frac{v}{u}}{\color{blue}{\sqrt{\left(-u\right) \cdot \left(-u\right)}}} \]
      5. sqr-neg71.2%

        \[\leadsto \frac{\left(-t1\right) \cdot \frac{v}{u}}{\sqrt{\color{blue}{u \cdot u}}} \]
      6. sqrt-unprod81.0%

        \[\leadsto \frac{\left(-t1\right) \cdot \frac{v}{u}}{\color{blue}{\sqrt{u} \cdot \sqrt{u}}} \]
      7. add-sqr-sqrt81.2%

        \[\leadsto \frac{\left(-t1\right) \cdot \frac{v}{u}}{\color{blue}{u}} \]
    14. Applied egg-rr81.2%

      \[\leadsto \color{blue}{\frac{\left(-t1\right) \cdot \frac{v}{u}}{u}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification82.4%

    \[\leadsto \begin{array}{l} \mathbf{if}\;u \leq -6.2 \cdot 10^{-29}:\\ \;\;\;\;\frac{\frac{t1}{\frac{u}{v}}}{-u}\\ \mathbf{elif}\;u \leq 1.05 \cdot 10^{-26}:\\ \;\;\;\;\frac{v}{-t1}\\ \mathbf{else}:\\ \;\;\;\;\frac{t1 \cdot \frac{v}{u}}{-u}\\ \end{array} \]
  5. Add Preprocessing

Alternative 11: 68.1% accurate, 0.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;u \leq -3.5 \cdot 10^{+27} \lor \neg \left(u \leq 4.6 \cdot 10^{+117}\right):\\ \;\;\;\;t1 \cdot \frac{\frac{v}{u}}{u}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{-t1}\\ \end{array} \end{array} \]
(FPCore (u v t1)
 :precision binary64
 (if (or (<= u -3.5e+27) (not (<= u 4.6e+117)))
   (* t1 (/ (/ v u) u))
   (/ v (- t1))))
double code(double u, double v, double t1) {
	double tmp;
	if ((u <= -3.5e+27) || !(u <= 4.6e+117)) {
		tmp = t1 * ((v / u) / u);
	} else {
		tmp = v / -t1;
	}
	return tmp;
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    real(8) :: tmp
    if ((u <= (-3.5d+27)) .or. (.not. (u <= 4.6d+117))) then
        tmp = t1 * ((v / u) / u)
    else
        tmp = v / -t1
    end if
    code = tmp
end function
public static double code(double u, double v, double t1) {
	double tmp;
	if ((u <= -3.5e+27) || !(u <= 4.6e+117)) {
		tmp = t1 * ((v / u) / u);
	} else {
		tmp = v / -t1;
	}
	return tmp;
}
def code(u, v, t1):
	tmp = 0
	if (u <= -3.5e+27) or not (u <= 4.6e+117):
		tmp = t1 * ((v / u) / u)
	else:
		tmp = v / -t1
	return tmp
function code(u, v, t1)
	tmp = 0.0
	if ((u <= -3.5e+27) || !(u <= 4.6e+117))
		tmp = Float64(t1 * Float64(Float64(v / u) / u));
	else
		tmp = Float64(v / Float64(-t1));
	end
	return tmp
end
function tmp_2 = code(u, v, t1)
	tmp = 0.0;
	if ((u <= -3.5e+27) || ~((u <= 4.6e+117)))
		tmp = t1 * ((v / u) / u);
	else
		tmp = v / -t1;
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := If[Or[LessEqual[u, -3.5e+27], N[Not[LessEqual[u, 4.6e+117]], $MachinePrecision]], N[(t1 * N[(N[(v / u), $MachinePrecision] / u), $MachinePrecision]), $MachinePrecision], N[(v / (-t1)), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;u \leq -3.5 \cdot 10^{+27} \lor \neg \left(u \leq 4.6 \cdot 10^{+117}\right):\\
\;\;\;\;t1 \cdot \frac{\frac{v}{u}}{u}\\

\mathbf{else}:\\
\;\;\;\;\frac{v}{-t1}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if u < -3.5000000000000002e27 or 4.59999999999999976e117 < u

    1. Initial program 78.5%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. times-frac95.9%

        \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
      2. distribute-frac-neg95.9%

        \[\leadsto \color{blue}{\left(-\frac{t1}{t1 + u}\right)} \cdot \frac{v}{t1 + u} \]
      3. distribute-neg-frac295.9%

        \[\leadsto \color{blue}{\frac{t1}{-\left(t1 + u\right)}} \cdot \frac{v}{t1 + u} \]
      4. +-commutative95.9%

        \[\leadsto \frac{t1}{-\color{blue}{\left(u + t1\right)}} \cdot \frac{v}{t1 + u} \]
      5. distribute-neg-in95.9%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \cdot \frac{v}{t1 + u} \]
      6. unsub-neg95.9%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) - t1}} \cdot \frac{v}{t1 + u} \]
    3. Simplified95.9%

      \[\leadsto \color{blue}{\frac{t1}{\left(-u\right) - t1} \cdot \frac{v}{t1 + u}} \]
    4. Add Preprocessing
    5. Taylor expanded in t1 around 0 89.3%

      \[\leadsto \color{blue}{\left(-1 \cdot \frac{t1}{u}\right)} \cdot \frac{v}{t1 + u} \]
    6. Step-by-step derivation
      1. associate-*r/89.3%

        \[\leadsto \color{blue}{\frac{-1 \cdot t1}{u}} \cdot \frac{v}{t1 + u} \]
      2. mul-1-neg89.3%

        \[\leadsto \frac{\color{blue}{-t1}}{u} \cdot \frac{v}{t1 + u} \]
    7. Simplified89.3%

      \[\leadsto \color{blue}{\frac{-t1}{u}} \cdot \frac{v}{t1 + u} \]
    8. Taylor expanded in t1 around 0 89.2%

      \[\leadsto \frac{-t1}{u} \cdot \frac{v}{\color{blue}{u}} \]
    9. Step-by-step derivation
      1. clear-num87.7%

        \[\leadsto \color{blue}{\frac{1}{\frac{u}{-t1}}} \cdot \frac{v}{u} \]
      2. frac-times74.2%

        \[\leadsto \color{blue}{\frac{1 \cdot v}{\frac{u}{-t1} \cdot u}} \]
      3. *-un-lft-identity74.2%

        \[\leadsto \frac{\color{blue}{v}}{\frac{u}{-t1} \cdot u} \]
      4. add-sqr-sqrt33.1%

        \[\leadsto \frac{v}{\frac{u}{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}}} \cdot u} \]
      5. sqrt-unprod58.0%

        \[\leadsto \frac{v}{\frac{u}{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}}} \cdot u} \]
      6. sqr-neg58.0%

        \[\leadsto \frac{v}{\frac{u}{\sqrt{\color{blue}{t1 \cdot t1}}} \cdot u} \]
      7. sqrt-unprod31.9%

        \[\leadsto \frac{v}{\frac{u}{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}}} \cdot u} \]
      8. add-sqr-sqrt58.0%

        \[\leadsto \frac{v}{\frac{u}{\color{blue}{t1}} \cdot u} \]
    10. Applied egg-rr58.0%

      \[\leadsto \color{blue}{\frac{v}{\frac{u}{t1} \cdot u}} \]
    11. Step-by-step derivation
      1. *-un-lft-identity58.0%

        \[\leadsto \frac{\color{blue}{1 \cdot v}}{\frac{u}{t1} \cdot u} \]
      2. frac-times61.4%

        \[\leadsto \color{blue}{\frac{1}{\frac{u}{t1}} \cdot \frac{v}{u}} \]
      3. clear-num61.4%

        \[\leadsto \color{blue}{\frac{t1}{u}} \cdot \frac{v}{u} \]
      4. associate-*l/61.4%

        \[\leadsto \color{blue}{\frac{t1 \cdot \frac{v}{u}}{u}} \]
      5. associate-/l*61.5%

        \[\leadsto \color{blue}{t1 \cdot \frac{\frac{v}{u}}{u}} \]
    12. Applied egg-rr61.5%

      \[\leadsto \color{blue}{t1 \cdot \frac{\frac{v}{u}}{u}} \]

    if -3.5000000000000002e27 < u < 4.59999999999999976e117

    1. Initial program 70.2%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. associate-*l/73.5%

        \[\leadsto \color{blue}{\frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \cdot v} \]
      2. *-commutative73.5%

        \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    3. Simplified73.5%

      \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in t1 around inf 67.8%

      \[\leadsto \color{blue}{-1 \cdot \frac{v}{t1}} \]
    6. Step-by-step derivation
      1. associate-*r/67.8%

        \[\leadsto \color{blue}{\frac{-1 \cdot v}{t1}} \]
      2. neg-mul-167.8%

        \[\leadsto \frac{\color{blue}{-v}}{t1} \]
    7. Simplified67.8%

      \[\leadsto \color{blue}{\frac{-v}{t1}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification65.8%

    \[\leadsto \begin{array}{l} \mathbf{if}\;u \leq -3.5 \cdot 10^{+27} \lor \neg \left(u \leq 4.6 \cdot 10^{+117}\right):\\ \;\;\;\;t1 \cdot \frac{\frac{v}{u}}{u}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{-t1}\\ \end{array} \]
  5. Add Preprocessing

Alternative 12: 68.1% accurate, 0.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;u \leq -3.5 \cdot 10^{+27}:\\ \;\;\;\;t1 \cdot \frac{\frac{v}{u}}{u}\\ \mathbf{elif}\;u \leq 6.4 \cdot 10^{+117}:\\ \;\;\;\;\frac{v}{-t1}\\ \mathbf{else}:\\ \;\;\;\;\frac{t1}{u \cdot \frac{u}{v}}\\ \end{array} \end{array} \]
(FPCore (u v t1)
 :precision binary64
 (if (<= u -3.5e+27)
   (* t1 (/ (/ v u) u))
   (if (<= u 6.4e+117) (/ v (- t1)) (/ t1 (* u (/ u v))))))
double code(double u, double v, double t1) {
	double tmp;
	if (u <= -3.5e+27) {
		tmp = t1 * ((v / u) / u);
	} else if (u <= 6.4e+117) {
		tmp = v / -t1;
	} else {
		tmp = t1 / (u * (u / v));
	}
	return tmp;
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    real(8) :: tmp
    if (u <= (-3.5d+27)) then
        tmp = t1 * ((v / u) / u)
    else if (u <= 6.4d+117) then
        tmp = v / -t1
    else
        tmp = t1 / (u * (u / v))
    end if
    code = tmp
end function
public static double code(double u, double v, double t1) {
	double tmp;
	if (u <= -3.5e+27) {
		tmp = t1 * ((v / u) / u);
	} else if (u <= 6.4e+117) {
		tmp = v / -t1;
	} else {
		tmp = t1 / (u * (u / v));
	}
	return tmp;
}
def code(u, v, t1):
	tmp = 0
	if u <= -3.5e+27:
		tmp = t1 * ((v / u) / u)
	elif u <= 6.4e+117:
		tmp = v / -t1
	else:
		tmp = t1 / (u * (u / v))
	return tmp
function code(u, v, t1)
	tmp = 0.0
	if (u <= -3.5e+27)
		tmp = Float64(t1 * Float64(Float64(v / u) / u));
	elseif (u <= 6.4e+117)
		tmp = Float64(v / Float64(-t1));
	else
		tmp = Float64(t1 / Float64(u * Float64(u / v)));
	end
	return tmp
end
function tmp_2 = code(u, v, t1)
	tmp = 0.0;
	if (u <= -3.5e+27)
		tmp = t1 * ((v / u) / u);
	elseif (u <= 6.4e+117)
		tmp = v / -t1;
	else
		tmp = t1 / (u * (u / v));
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := If[LessEqual[u, -3.5e+27], N[(t1 * N[(N[(v / u), $MachinePrecision] / u), $MachinePrecision]), $MachinePrecision], If[LessEqual[u, 6.4e+117], N[(v / (-t1)), $MachinePrecision], N[(t1 / N[(u * N[(u / v), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;u \leq -3.5 \cdot 10^{+27}:\\
\;\;\;\;t1 \cdot \frac{\frac{v}{u}}{u}\\

\mathbf{elif}\;u \leq 6.4 \cdot 10^{+117}:\\
\;\;\;\;\frac{v}{-t1}\\

\mathbf{else}:\\
\;\;\;\;\frac{t1}{u \cdot \frac{u}{v}}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if u < -3.5000000000000002e27

    1. Initial program 80.5%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. times-frac93.6%

        \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
      2. distribute-frac-neg93.6%

        \[\leadsto \color{blue}{\left(-\frac{t1}{t1 + u}\right)} \cdot \frac{v}{t1 + u} \]
      3. distribute-neg-frac293.6%

        \[\leadsto \color{blue}{\frac{t1}{-\left(t1 + u\right)}} \cdot \frac{v}{t1 + u} \]
      4. +-commutative93.6%

        \[\leadsto \frac{t1}{-\color{blue}{\left(u + t1\right)}} \cdot \frac{v}{t1 + u} \]
      5. distribute-neg-in93.6%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \cdot \frac{v}{t1 + u} \]
      6. unsub-neg93.6%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) - t1}} \cdot \frac{v}{t1 + u} \]
    3. Simplified93.6%

      \[\leadsto \color{blue}{\frac{t1}{\left(-u\right) - t1} \cdot \frac{v}{t1 + u}} \]
    4. Add Preprocessing
    5. Taylor expanded in t1 around 0 84.3%

      \[\leadsto \color{blue}{\left(-1 \cdot \frac{t1}{u}\right)} \cdot \frac{v}{t1 + u} \]
    6. Step-by-step derivation
      1. associate-*r/84.3%

        \[\leadsto \color{blue}{\frac{-1 \cdot t1}{u}} \cdot \frac{v}{t1 + u} \]
      2. mul-1-neg84.3%

        \[\leadsto \frac{\color{blue}{-t1}}{u} \cdot \frac{v}{t1 + u} \]
    7. Simplified84.3%

      \[\leadsto \color{blue}{\frac{-t1}{u}} \cdot \frac{v}{t1 + u} \]
    8. Taylor expanded in t1 around 0 84.1%

      \[\leadsto \frac{-t1}{u} \cdot \frac{v}{\color{blue}{u}} \]
    9. Step-by-step derivation
      1. clear-num82.7%

        \[\leadsto \color{blue}{\frac{1}{\frac{u}{-t1}}} \cdot \frac{v}{u} \]
      2. frac-times71.4%

        \[\leadsto \color{blue}{\frac{1 \cdot v}{\frac{u}{-t1} \cdot u}} \]
      3. *-un-lft-identity71.4%

        \[\leadsto \frac{\color{blue}{v}}{\frac{u}{-t1} \cdot u} \]
      4. add-sqr-sqrt33.7%

        \[\leadsto \frac{v}{\frac{u}{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}}} \cdot u} \]
      5. sqrt-unprod51.3%

        \[\leadsto \frac{v}{\frac{u}{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}}} \cdot u} \]
      6. sqr-neg51.3%

        \[\leadsto \frac{v}{\frac{u}{\sqrt{\color{blue}{t1 \cdot t1}}} \cdot u} \]
      7. sqrt-unprod25.9%

        \[\leadsto \frac{v}{\frac{u}{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}}} \cdot u} \]
      8. add-sqr-sqrt47.6%

        \[\leadsto \frac{v}{\frac{u}{\color{blue}{t1}} \cdot u} \]
    10. Applied egg-rr47.6%

      \[\leadsto \color{blue}{\frac{v}{\frac{u}{t1} \cdot u}} \]
    11. Step-by-step derivation
      1. *-un-lft-identity47.6%

        \[\leadsto \frac{\color{blue}{1 \cdot v}}{\frac{u}{t1} \cdot u} \]
      2. frac-times51.3%

        \[\leadsto \color{blue}{\frac{1}{\frac{u}{t1}} \cdot \frac{v}{u}} \]
      3. clear-num51.3%

        \[\leadsto \color{blue}{\frac{t1}{u}} \cdot \frac{v}{u} \]
      4. associate-*l/51.2%

        \[\leadsto \color{blue}{\frac{t1 \cdot \frac{v}{u}}{u}} \]
      5. associate-/l*51.5%

        \[\leadsto \color{blue}{t1 \cdot \frac{\frac{v}{u}}{u}} \]
    12. Applied egg-rr51.5%

      \[\leadsto \color{blue}{t1 \cdot \frac{\frac{v}{u}}{u}} \]

    if -3.5000000000000002e27 < u < 6.4000000000000001e117

    1. Initial program 70.2%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. associate-*l/73.5%

        \[\leadsto \color{blue}{\frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \cdot v} \]
      2. *-commutative73.5%

        \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    3. Simplified73.5%

      \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in t1 around inf 67.8%

      \[\leadsto \color{blue}{-1 \cdot \frac{v}{t1}} \]
    6. Step-by-step derivation
      1. associate-*r/67.8%

        \[\leadsto \color{blue}{\frac{-1 \cdot v}{t1}} \]
      2. neg-mul-167.8%

        \[\leadsto \frac{\color{blue}{-v}}{t1} \]
    7. Simplified67.8%

      \[\leadsto \color{blue}{\frac{-v}{t1}} \]

    if 6.4000000000000001e117 < u

    1. Initial program 75.7%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. times-frac99.2%

        \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
      2. distribute-frac-neg99.2%

        \[\leadsto \color{blue}{\left(-\frac{t1}{t1 + u}\right)} \cdot \frac{v}{t1 + u} \]
      3. distribute-neg-frac299.2%

        \[\leadsto \color{blue}{\frac{t1}{-\left(t1 + u\right)}} \cdot \frac{v}{t1 + u} \]
      4. +-commutative99.2%

        \[\leadsto \frac{t1}{-\color{blue}{\left(u + t1\right)}} \cdot \frac{v}{t1 + u} \]
      5. distribute-neg-in99.2%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \cdot \frac{v}{t1 + u} \]
      6. unsub-neg99.2%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) - t1}} \cdot \frac{v}{t1 + u} \]
    3. Simplified99.2%

      \[\leadsto \color{blue}{\frac{t1}{\left(-u\right) - t1} \cdot \frac{v}{t1 + u}} \]
    4. Add Preprocessing
    5. Taylor expanded in t1 around 0 96.4%

      \[\leadsto \color{blue}{\left(-1 \cdot \frac{t1}{u}\right)} \cdot \frac{v}{t1 + u} \]
    6. Step-by-step derivation
      1. associate-*r/96.4%

        \[\leadsto \color{blue}{\frac{-1 \cdot t1}{u}} \cdot \frac{v}{t1 + u} \]
      2. mul-1-neg96.4%

        \[\leadsto \frac{\color{blue}{-t1}}{u} \cdot \frac{v}{t1 + u} \]
    7. Simplified96.4%

      \[\leadsto \color{blue}{\frac{-t1}{u}} \cdot \frac{v}{t1 + u} \]
    8. Taylor expanded in t1 around 0 96.4%

      \[\leadsto \frac{-t1}{u} \cdot \frac{v}{\color{blue}{u}} \]
    9. Step-by-step derivation
      1. *-commutative96.4%

        \[\leadsto \color{blue}{\frac{v}{u} \cdot \frac{-t1}{u}} \]
      2. clear-num96.4%

        \[\leadsto \color{blue}{\frac{1}{\frac{u}{v}}} \cdot \frac{-t1}{u} \]
      3. frac-times89.4%

        \[\leadsto \color{blue}{\frac{1 \cdot \left(-t1\right)}{\frac{u}{v} \cdot u}} \]
      4. *-un-lft-identity89.4%

        \[\leadsto \frac{\color{blue}{-t1}}{\frac{u}{v} \cdot u} \]
      5. add-sqr-sqrt40.7%

        \[\leadsto \frac{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}}}{\frac{u}{v} \cdot u} \]
      6. sqrt-unprod72.4%

        \[\leadsto \frac{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}}}{\frac{u}{v} \cdot u} \]
      7. sqr-neg72.4%

        \[\leadsto \frac{\sqrt{\color{blue}{t1 \cdot t1}}}{\frac{u}{v} \cdot u} \]
      8. sqrt-unprod40.3%

        \[\leadsto \frac{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}}}{\frac{u}{v} \cdot u} \]
      9. add-sqr-sqrt75.7%

        \[\leadsto \frac{\color{blue}{t1}}{\frac{u}{v} \cdot u} \]
    10. Applied egg-rr75.7%

      \[\leadsto \color{blue}{\frac{t1}{\frac{u}{v} \cdot u}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification65.8%

    \[\leadsto \begin{array}{l} \mathbf{if}\;u \leq -3.5 \cdot 10^{+27}:\\ \;\;\;\;t1 \cdot \frac{\frac{v}{u}}{u}\\ \mathbf{elif}\;u \leq 6.4 \cdot 10^{+117}:\\ \;\;\;\;\frac{v}{-t1}\\ \mathbf{else}:\\ \;\;\;\;\frac{t1}{u \cdot \frac{u}{v}}\\ \end{array} \]
  5. Add Preprocessing

Alternative 13: 57.9% accurate, 0.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;u \leq -3 \cdot 10^{+228} \lor \neg \left(u \leq 7.8 \cdot 10^{+180}\right):\\ \;\;\;\;\frac{v}{-u}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{-t1}\\ \end{array} \end{array} \]
(FPCore (u v t1)
 :precision binary64
 (if (or (<= u -3e+228) (not (<= u 7.8e+180))) (/ v (- u)) (/ v (- t1))))
double code(double u, double v, double t1) {
	double tmp;
	if ((u <= -3e+228) || !(u <= 7.8e+180)) {
		tmp = v / -u;
	} else {
		tmp = v / -t1;
	}
	return tmp;
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    real(8) :: tmp
    if ((u <= (-3d+228)) .or. (.not. (u <= 7.8d+180))) then
        tmp = v / -u
    else
        tmp = v / -t1
    end if
    code = tmp
end function
public static double code(double u, double v, double t1) {
	double tmp;
	if ((u <= -3e+228) || !(u <= 7.8e+180)) {
		tmp = v / -u;
	} else {
		tmp = v / -t1;
	}
	return tmp;
}
def code(u, v, t1):
	tmp = 0
	if (u <= -3e+228) or not (u <= 7.8e+180):
		tmp = v / -u
	else:
		tmp = v / -t1
	return tmp
function code(u, v, t1)
	tmp = 0.0
	if ((u <= -3e+228) || !(u <= 7.8e+180))
		tmp = Float64(v / Float64(-u));
	else
		tmp = Float64(v / Float64(-t1));
	end
	return tmp
end
function tmp_2 = code(u, v, t1)
	tmp = 0.0;
	if ((u <= -3e+228) || ~((u <= 7.8e+180)))
		tmp = v / -u;
	else
		tmp = v / -t1;
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := If[Or[LessEqual[u, -3e+228], N[Not[LessEqual[u, 7.8e+180]], $MachinePrecision]], N[(v / (-u)), $MachinePrecision], N[(v / (-t1)), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;u \leq -3 \cdot 10^{+228} \lor \neg \left(u \leq 7.8 \cdot 10^{+180}\right):\\
\;\;\;\;\frac{v}{-u}\\

\mathbf{else}:\\
\;\;\;\;\frac{v}{-t1}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if u < -3.0000000000000001e228 or 7.8000000000000002e180 < u

    1. Initial program 80.8%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. times-frac99.2%

        \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
      2. distribute-frac-neg99.2%

        \[\leadsto \color{blue}{\left(-\frac{t1}{t1 + u}\right)} \cdot \frac{v}{t1 + u} \]
      3. distribute-neg-frac299.2%

        \[\leadsto \color{blue}{\frac{t1}{-\left(t1 + u\right)}} \cdot \frac{v}{t1 + u} \]
      4. +-commutative99.2%

        \[\leadsto \frac{t1}{-\color{blue}{\left(u + t1\right)}} \cdot \frac{v}{t1 + u} \]
      5. distribute-neg-in99.2%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \cdot \frac{v}{t1 + u} \]
      6. unsub-neg99.2%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) - t1}} \cdot \frac{v}{t1 + u} \]
    3. Simplified99.2%

      \[\leadsto \color{blue}{\frac{t1}{\left(-u\right) - t1} \cdot \frac{v}{t1 + u}} \]
    4. Add Preprocessing
    5. Taylor expanded in t1 around inf 61.1%

      \[\leadsto \color{blue}{-1} \cdot \frac{v}{t1 + u} \]
    6. Taylor expanded in t1 around 0 61.1%

      \[\leadsto \color{blue}{-1 \cdot \frac{v}{u}} \]
    7. Step-by-step derivation
      1. associate-*r/61.1%

        \[\leadsto \color{blue}{\frac{-1 \cdot v}{u}} \]
      2. mul-1-neg61.1%

        \[\leadsto \frac{\color{blue}{-v}}{u} \]
    8. Simplified61.1%

      \[\leadsto \color{blue}{\frac{-v}{u}} \]

    if -3.0000000000000001e228 < u < 7.8000000000000002e180

    1. Initial program 71.7%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. associate-*l/73.1%

        \[\leadsto \color{blue}{\frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \cdot v} \]
      2. *-commutative73.1%

        \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    3. Simplified73.1%

      \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in t1 around inf 58.0%

      \[\leadsto \color{blue}{-1 \cdot \frac{v}{t1}} \]
    6. Step-by-step derivation
      1. associate-*r/58.0%

        \[\leadsto \color{blue}{\frac{-1 \cdot v}{t1}} \]
      2. neg-mul-158.0%

        \[\leadsto \frac{\color{blue}{-v}}{t1} \]
    7. Simplified58.0%

      \[\leadsto \color{blue}{\frac{-v}{t1}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification58.4%

    \[\leadsto \begin{array}{l} \mathbf{if}\;u \leq -3 \cdot 10^{+228} \lor \neg \left(u \leq 7.8 \cdot 10^{+180}\right):\\ \;\;\;\;\frac{v}{-u}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{-t1}\\ \end{array} \]
  5. Add Preprocessing

Alternative 14: 58.0% accurate, 0.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;u \leq -1.8 \cdot 10^{+228} \lor \neg \left(u \leq 9.2 \cdot 10^{+173}\right):\\ \;\;\;\;\frac{v}{u}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{-t1}\\ \end{array} \end{array} \]
(FPCore (u v t1)
 :precision binary64
 (if (or (<= u -1.8e+228) (not (<= u 9.2e+173))) (/ v u) (/ v (- t1))))
double code(double u, double v, double t1) {
	double tmp;
	if ((u <= -1.8e+228) || !(u <= 9.2e+173)) {
		tmp = v / u;
	} else {
		tmp = v / -t1;
	}
	return tmp;
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    real(8) :: tmp
    if ((u <= (-1.8d+228)) .or. (.not. (u <= 9.2d+173))) then
        tmp = v / u
    else
        tmp = v / -t1
    end if
    code = tmp
end function
public static double code(double u, double v, double t1) {
	double tmp;
	if ((u <= -1.8e+228) || !(u <= 9.2e+173)) {
		tmp = v / u;
	} else {
		tmp = v / -t1;
	}
	return tmp;
}
def code(u, v, t1):
	tmp = 0
	if (u <= -1.8e+228) or not (u <= 9.2e+173):
		tmp = v / u
	else:
		tmp = v / -t1
	return tmp
function code(u, v, t1)
	tmp = 0.0
	if ((u <= -1.8e+228) || !(u <= 9.2e+173))
		tmp = Float64(v / u);
	else
		tmp = Float64(v / Float64(-t1));
	end
	return tmp
end
function tmp_2 = code(u, v, t1)
	tmp = 0.0;
	if ((u <= -1.8e+228) || ~((u <= 9.2e+173)))
		tmp = v / u;
	else
		tmp = v / -t1;
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := If[Or[LessEqual[u, -1.8e+228], N[Not[LessEqual[u, 9.2e+173]], $MachinePrecision]], N[(v / u), $MachinePrecision], N[(v / (-t1)), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;u \leq -1.8 \cdot 10^{+228} \lor \neg \left(u \leq 9.2 \cdot 10^{+173}\right):\\
\;\;\;\;\frac{v}{u}\\

\mathbf{else}:\\
\;\;\;\;\frac{v}{-t1}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if u < -1.8e228 or 9.1999999999999998e173 < u

    1. Initial program 78.6%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. times-frac99.2%

        \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
      2. distribute-frac-neg99.2%

        \[\leadsto \color{blue}{\left(-\frac{t1}{t1 + u}\right)} \cdot \frac{v}{t1 + u} \]
      3. distribute-neg-frac299.2%

        \[\leadsto \color{blue}{\frac{t1}{-\left(t1 + u\right)}} \cdot \frac{v}{t1 + u} \]
      4. +-commutative99.2%

        \[\leadsto \frac{t1}{-\color{blue}{\left(u + t1\right)}} \cdot \frac{v}{t1 + u} \]
      5. distribute-neg-in99.2%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \cdot \frac{v}{t1 + u} \]
      6. unsub-neg99.2%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) - t1}} \cdot \frac{v}{t1 + u} \]
    3. Simplified99.2%

      \[\leadsto \color{blue}{\frac{t1}{\left(-u\right) - t1} \cdot \frac{v}{t1 + u}} \]
    4. Add Preprocessing
    5. Taylor expanded in t1 around inf 59.4%

      \[\leadsto \color{blue}{-1} \cdot \frac{v}{t1 + u} \]
    6. Step-by-step derivation
      1. mul-1-neg59.4%

        \[\leadsto \color{blue}{-\frac{v}{t1 + u}} \]
      2. neg-sub059.4%

        \[\leadsto \color{blue}{0 - \frac{v}{t1 + u}} \]
      3. frac-2neg59.4%

        \[\leadsto 0 - \color{blue}{\frac{-v}{-\left(t1 + u\right)}} \]
      4. add-sqr-sqrt38.2%

        \[\leadsto 0 - \frac{\color{blue}{\sqrt{-v} \cdot \sqrt{-v}}}{-\left(t1 + u\right)} \]
      5. sqrt-unprod58.9%

        \[\leadsto 0 - \frac{\color{blue}{\sqrt{\left(-v\right) \cdot \left(-v\right)}}}{-\left(t1 + u\right)} \]
      6. sqr-neg58.9%

        \[\leadsto 0 - \frac{\sqrt{\color{blue}{v \cdot v}}}{-\left(t1 + u\right)} \]
      7. sqrt-unprod21.2%

        \[\leadsto 0 - \frac{\color{blue}{\sqrt{v} \cdot \sqrt{v}}}{-\left(t1 + u\right)} \]
      8. add-sqr-sqrt59.1%

        \[\leadsto 0 - \frac{\color{blue}{v}}{-\left(t1 + u\right)} \]
      9. distribute-neg-in59.1%

        \[\leadsto 0 - \frac{v}{\color{blue}{\left(-t1\right) + \left(-u\right)}} \]
      10. add-sqr-sqrt40.8%

        \[\leadsto 0 - \frac{v}{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}} + \left(-u\right)} \]
      11. sqrt-unprod61.8%

        \[\leadsto 0 - \frac{v}{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}} + \left(-u\right)} \]
      12. sqr-neg61.8%

        \[\leadsto 0 - \frac{v}{\sqrt{\color{blue}{t1 \cdot t1}} + \left(-u\right)} \]
      13. sqrt-unprod18.3%

        \[\leadsto 0 - \frac{v}{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}} + \left(-u\right)} \]
      14. add-sqr-sqrt59.1%

        \[\leadsto 0 - \frac{v}{\color{blue}{t1} + \left(-u\right)} \]
      15. sub-neg59.1%

        \[\leadsto 0 - \frac{v}{\color{blue}{t1 - u}} \]
    7. Applied egg-rr59.1%

      \[\leadsto \color{blue}{0 - \frac{v}{t1 - u}} \]
    8. Step-by-step derivation
      1. neg-sub059.1%

        \[\leadsto \color{blue}{-\frac{v}{t1 - u}} \]
      2. distribute-neg-frac59.1%

        \[\leadsto \color{blue}{\frac{-v}{t1 - u}} \]
    9. Simplified59.1%

      \[\leadsto \color{blue}{\frac{-v}{t1 - u}} \]
    10. Taylor expanded in t1 around 0 59.1%

      \[\leadsto \color{blue}{\frac{v}{u}} \]

    if -1.8e228 < u < 9.1999999999999998e173

    1. Initial program 72.0%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. associate-*l/73.4%

        \[\leadsto \color{blue}{\frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \cdot v} \]
      2. *-commutative73.4%

        \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    3. Simplified73.4%

      \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in t1 around inf 58.2%

      \[\leadsto \color{blue}{-1 \cdot \frac{v}{t1}} \]
    6. Step-by-step derivation
      1. associate-*r/58.2%

        \[\leadsto \color{blue}{\frac{-1 \cdot v}{t1}} \]
      2. neg-mul-158.2%

        \[\leadsto \frac{\color{blue}{-v}}{t1} \]
    7. Simplified58.2%

      \[\leadsto \color{blue}{\frac{-v}{t1}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification58.3%

    \[\leadsto \begin{array}{l} \mathbf{if}\;u \leq -1.8 \cdot 10^{+228} \lor \neg \left(u \leq 9.2 \cdot 10^{+173}\right):\\ \;\;\;\;\frac{v}{u}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{-t1}\\ \end{array} \]
  5. Add Preprocessing

Alternative 15: 19.6% accurate, 1.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t1 \leq -3.2 \cdot 10^{+46}:\\ \;\;\;\;\frac{v}{t1}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{u}\\ \end{array} \end{array} \]
(FPCore (u v t1) :precision binary64 (if (<= t1 -3.2e+46) (/ v t1) (/ v u)))
double code(double u, double v, double t1) {
	double tmp;
	if (t1 <= -3.2e+46) {
		tmp = v / t1;
	} else {
		tmp = v / u;
	}
	return tmp;
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    real(8) :: tmp
    if (t1 <= (-3.2d+46)) then
        tmp = v / t1
    else
        tmp = v / u
    end if
    code = tmp
end function
public static double code(double u, double v, double t1) {
	double tmp;
	if (t1 <= -3.2e+46) {
		tmp = v / t1;
	} else {
		tmp = v / u;
	}
	return tmp;
}
def code(u, v, t1):
	tmp = 0
	if t1 <= -3.2e+46:
		tmp = v / t1
	else:
		tmp = v / u
	return tmp
function code(u, v, t1)
	tmp = 0.0
	if (t1 <= -3.2e+46)
		tmp = Float64(v / t1);
	else
		tmp = Float64(v / u);
	end
	return tmp
end
function tmp_2 = code(u, v, t1)
	tmp = 0.0;
	if (t1 <= -3.2e+46)
		tmp = v / t1;
	else
		tmp = v / u;
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := If[LessEqual[t1, -3.2e+46], N[(v / t1), $MachinePrecision], N[(v / u), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;t1 \leq -3.2 \cdot 10^{+46}:\\
\;\;\;\;\frac{v}{t1}\\

\mathbf{else}:\\
\;\;\;\;\frac{v}{u}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if t1 < -3.1999999999999998e46

    1. Initial program 55.4%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. associate-*l/59.6%

        \[\leadsto \color{blue}{\frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \cdot v} \]
      2. *-commutative59.6%

        \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    3. Simplified59.6%

      \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    4. Add Preprocessing
    5. Taylor expanded in t1 around inf 88.2%

      \[\leadsto \color{blue}{-1 \cdot \frac{v}{t1}} \]
    6. Step-by-step derivation
      1. associate-*r/88.2%

        \[\leadsto \color{blue}{\frac{-1 \cdot v}{t1}} \]
      2. neg-mul-188.2%

        \[\leadsto \frac{\color{blue}{-v}}{t1} \]
    7. Simplified88.2%

      \[\leadsto \color{blue}{\frac{-v}{t1}} \]
    8. Step-by-step derivation
      1. distribute-frac-neg88.2%

        \[\leadsto \color{blue}{-\frac{v}{t1}} \]
      2. div-inv88.1%

        \[\leadsto -\color{blue}{v \cdot \frac{1}{t1}} \]
      3. distribute-rgt-neg-in88.1%

        \[\leadsto \color{blue}{v \cdot \left(-\frac{1}{t1}\right)} \]
      4. frac-2neg88.1%

        \[\leadsto v \cdot \left(-\color{blue}{\frac{-1}{-t1}}\right) \]
      5. metadata-eval88.1%

        \[\leadsto v \cdot \left(-\frac{\color{blue}{-1}}{-t1}\right) \]
      6. add-sqr-sqrt87.9%

        \[\leadsto v \cdot \left(-\frac{-1}{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}}}\right) \]
      7. sqrt-unprod54.6%

        \[\leadsto v \cdot \left(-\frac{-1}{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}}}\right) \]
      8. sqr-neg54.6%

        \[\leadsto v \cdot \left(-\frac{-1}{\sqrt{\color{blue}{t1 \cdot t1}}}\right) \]
      9. sqrt-unprod0.0%

        \[\leadsto v \cdot \left(-\frac{-1}{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}}}\right) \]
      10. add-sqr-sqrt34.8%

        \[\leadsto v \cdot \left(-\frac{-1}{\color{blue}{t1}}\right) \]
    9. Applied egg-rr34.8%

      \[\leadsto \color{blue}{v \cdot \left(-\frac{-1}{t1}\right)} \]
    10. Step-by-step derivation
      1. distribute-rgt-neg-out34.8%

        \[\leadsto \color{blue}{-v \cdot \frac{-1}{t1}} \]
      2. *-commutative34.8%

        \[\leadsto -\color{blue}{\frac{-1}{t1} \cdot v} \]
      3. associate-*l/34.8%

        \[\leadsto -\color{blue}{\frac{-1 \cdot v}{t1}} \]
      4. mul-1-neg34.8%

        \[\leadsto -\frac{\color{blue}{-v}}{t1} \]
      5. distribute-neg-frac34.8%

        \[\leadsto -\color{blue}{\left(-\frac{v}{t1}\right)} \]
      6. remove-double-neg34.8%

        \[\leadsto \color{blue}{\frac{v}{t1}} \]
    11. Simplified34.8%

      \[\leadsto \color{blue}{\frac{v}{t1}} \]

    if -3.1999999999999998e46 < t1

    1. Initial program 78.1%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. times-frac96.0%

        \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
      2. distribute-frac-neg96.0%

        \[\leadsto \color{blue}{\left(-\frac{t1}{t1 + u}\right)} \cdot \frac{v}{t1 + u} \]
      3. distribute-neg-frac296.0%

        \[\leadsto \color{blue}{\frac{t1}{-\left(t1 + u\right)}} \cdot \frac{v}{t1 + u} \]
      4. +-commutative96.0%

        \[\leadsto \frac{t1}{-\color{blue}{\left(u + t1\right)}} \cdot \frac{v}{t1 + u} \]
      5. distribute-neg-in96.0%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \cdot \frac{v}{t1 + u} \]
      6. unsub-neg96.0%

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) - t1}} \cdot \frac{v}{t1 + u} \]
    3. Simplified96.0%

      \[\leadsto \color{blue}{\frac{t1}{\left(-u\right) - t1} \cdot \frac{v}{t1 + u}} \]
    4. Add Preprocessing
    5. Taylor expanded in t1 around inf 49.6%

      \[\leadsto \color{blue}{-1} \cdot \frac{v}{t1 + u} \]
    6. Step-by-step derivation
      1. mul-1-neg49.6%

        \[\leadsto \color{blue}{-\frac{v}{t1 + u}} \]
      2. neg-sub049.6%

        \[\leadsto \color{blue}{0 - \frac{v}{t1 + u}} \]
      3. frac-2neg49.6%

        \[\leadsto 0 - \color{blue}{\frac{-v}{-\left(t1 + u\right)}} \]
      4. add-sqr-sqrt26.1%

        \[\leadsto 0 - \frac{\color{blue}{\sqrt{-v} \cdot \sqrt{-v}}}{-\left(t1 + u\right)} \]
      5. sqrt-unprod31.4%

        \[\leadsto 0 - \frac{\color{blue}{\sqrt{\left(-v\right) \cdot \left(-v\right)}}}{-\left(t1 + u\right)} \]
      6. sqr-neg31.4%

        \[\leadsto 0 - \frac{\sqrt{\color{blue}{v \cdot v}}}{-\left(t1 + u\right)} \]
      7. sqrt-unprod5.5%

        \[\leadsto 0 - \frac{\color{blue}{\sqrt{v} \cdot \sqrt{v}}}{-\left(t1 + u\right)} \]
      8. add-sqr-sqrt14.3%

        \[\leadsto 0 - \frac{\color{blue}{v}}{-\left(t1 + u\right)} \]
      9. distribute-neg-in14.3%

        \[\leadsto 0 - \frac{v}{\color{blue}{\left(-t1\right) + \left(-u\right)}} \]
      10. add-sqr-sqrt4.8%

        \[\leadsto 0 - \frac{v}{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}} + \left(-u\right)} \]
      11. sqrt-unprod28.2%

        \[\leadsto 0 - \frac{v}{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}} + \left(-u\right)} \]
      12. sqr-neg28.2%

        \[\leadsto 0 - \frac{v}{\sqrt{\color{blue}{t1 \cdot t1}} + \left(-u\right)} \]
      13. sqrt-unprod34.4%

        \[\leadsto 0 - \frac{v}{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}} + \left(-u\right)} \]
      14. add-sqr-sqrt49.0%

        \[\leadsto 0 - \frac{v}{\color{blue}{t1} + \left(-u\right)} \]
      15. sub-neg49.0%

        \[\leadsto 0 - \frac{v}{\color{blue}{t1 - u}} \]
    7. Applied egg-rr49.0%

      \[\leadsto \color{blue}{0 - \frac{v}{t1 - u}} \]
    8. Step-by-step derivation
      1. neg-sub049.0%

        \[\leadsto \color{blue}{-\frac{v}{t1 - u}} \]
      2. distribute-neg-frac49.0%

        \[\leadsto \color{blue}{\frac{-v}{t1 - u}} \]
    9. Simplified49.0%

      \[\leadsto \color{blue}{\frac{-v}{t1 - u}} \]
    10. Taylor expanded in t1 around 0 14.7%

      \[\leadsto \color{blue}{\frac{v}{u}} \]
  3. Recombined 2 regimes into one program.
  4. Add Preprocessing

Alternative 16: 61.2% accurate, 2.0× speedup?

\[\begin{array}{l} \\ \frac{-v}{t1 + u} \end{array} \]
(FPCore (u v t1) :precision binary64 (/ (- v) (+ t1 u)))
double code(double u, double v, double t1) {
	return -v / (t1 + u);
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    code = -v / (t1 + u)
end function
public static double code(double u, double v, double t1) {
	return -v / (t1 + u);
}
def code(u, v, t1):
	return -v / (t1 + u)
function code(u, v, t1)
	return Float64(Float64(-v) / Float64(t1 + u))
end
function tmp = code(u, v, t1)
	tmp = -v / (t1 + u);
end
code[u_, v_, t1_] := N[((-v) / N[(t1 + u), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{-v}{t1 + u}
\end{array}
Derivation
  1. Initial program 72.9%

    \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
  2. Step-by-step derivation
    1. associate-*l/74.2%

      \[\leadsto \color{blue}{\frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \cdot v} \]
    2. *-commutative74.2%

      \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
  3. Simplified74.2%

    \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
  4. Add Preprocessing
  5. Step-by-step derivation
    1. associate-*r/72.9%

      \[\leadsto \color{blue}{\frac{v \cdot \left(-t1\right)}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    2. *-commutative72.9%

      \[\leadsto \frac{\color{blue}{\left(-t1\right) \cdot v}}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    3. times-frac96.9%

      \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
    4. frac-2neg96.9%

      \[\leadsto \frac{-t1}{t1 + u} \cdot \color{blue}{\frac{-v}{-\left(t1 + u\right)}} \]
    5. +-commutative96.9%

      \[\leadsto \frac{-t1}{t1 + u} \cdot \frac{-v}{-\color{blue}{\left(u + t1\right)}} \]
    6. distribute-neg-in96.9%

      \[\leadsto \frac{-t1}{t1 + u} \cdot \frac{-v}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \]
    7. sub-neg96.9%

      \[\leadsto \frac{-t1}{t1 + u} \cdot \frac{-v}{\color{blue}{\left(-u\right) - t1}} \]
    8. associate-*r/96.4%

      \[\leadsto \color{blue}{\frac{\frac{-t1}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1}} \]
    9. add-sqr-sqrt47.3%

      \[\leadsto \frac{\frac{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
    10. sqrt-unprod42.1%

      \[\leadsto \frac{\frac{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
    11. sqr-neg42.1%

      \[\leadsto \frac{\frac{\sqrt{\color{blue}{t1 \cdot t1}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
    12. sqrt-unprod14.6%

      \[\leadsto \frac{\frac{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
    13. add-sqr-sqrt31.0%

      \[\leadsto \frac{\frac{\color{blue}{t1}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
    14. sub-neg31.0%

      \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \]
    15. +-commutative31.0%

      \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\left(-t1\right) + \left(-u\right)}} \]
    16. add-sqr-sqrt16.4%

      \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}} + \left(-u\right)} \]
    17. sqrt-unprod41.9%

      \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}} + \left(-u\right)} \]
    18. sqr-neg41.9%

      \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{\color{blue}{t1 \cdot t1}} + \left(-u\right)} \]
    19. sqrt-unprod33.9%

      \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}} + \left(-u\right)} \]
    20. add-sqr-sqrt16.2%

      \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{t1} \cdot \sqrt{t1} + \color{blue}{\sqrt{-u} \cdot \sqrt{-u}}} \]
    21. sqrt-unprod39.7%

      \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{t1} \cdot \sqrt{t1} + \color{blue}{\sqrt{\left(-u\right) \cdot \left(-u\right)}}} \]
    22. sqr-neg39.7%

      \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{t1} \cdot \sqrt{t1} + \sqrt{\color{blue}{u \cdot u}}} \]
  6. Applied egg-rr96.4%

    \[\leadsto \color{blue}{\frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{t1 + u}} \]
  7. Taylor expanded in t1 around inf 58.7%

    \[\leadsto \frac{\color{blue}{-1 \cdot v}}{t1 + u} \]
  8. Step-by-step derivation
    1. mul-1-neg58.7%

      \[\leadsto \frac{\color{blue}{-v}}{t1 + u} \]
  9. Simplified58.7%

    \[\leadsto \frac{\color{blue}{-v}}{t1 + u} \]
  10. Add Preprocessing

Alternative 17: 61.4% accurate, 2.4× speedup?

\[\begin{array}{l} \\ \frac{v}{u - t1} \end{array} \]
(FPCore (u v t1) :precision binary64 (/ v (- u t1)))
double code(double u, double v, double t1) {
	return v / (u - t1);
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    code = v / (u - t1)
end function
public static double code(double u, double v, double t1) {
	return v / (u - t1);
}
def code(u, v, t1):
	return v / (u - t1)
function code(u, v, t1)
	return Float64(v / Float64(u - t1))
end
function tmp = code(u, v, t1)
	tmp = v / (u - t1);
end
code[u_, v_, t1_] := N[(v / N[(u - t1), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{v}{u - t1}
\end{array}
Derivation
  1. Initial program 72.9%

    \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
  2. Step-by-step derivation
    1. associate-*l/74.2%

      \[\leadsto \color{blue}{\frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \cdot v} \]
    2. *-commutative74.2%

      \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
  3. Simplified74.2%

    \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
  4. Add Preprocessing
  5. Step-by-step derivation
    1. associate-*r/72.9%

      \[\leadsto \color{blue}{\frac{v \cdot \left(-t1\right)}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    2. *-commutative72.9%

      \[\leadsto \frac{\color{blue}{\left(-t1\right) \cdot v}}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    3. times-frac96.9%

      \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
    4. frac-2neg96.9%

      \[\leadsto \frac{-t1}{t1 + u} \cdot \color{blue}{\frac{-v}{-\left(t1 + u\right)}} \]
    5. +-commutative96.9%

      \[\leadsto \frac{-t1}{t1 + u} \cdot \frac{-v}{-\color{blue}{\left(u + t1\right)}} \]
    6. distribute-neg-in96.9%

      \[\leadsto \frac{-t1}{t1 + u} \cdot \frac{-v}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \]
    7. sub-neg96.9%

      \[\leadsto \frac{-t1}{t1 + u} \cdot \frac{-v}{\color{blue}{\left(-u\right) - t1}} \]
    8. associate-*r/96.4%

      \[\leadsto \color{blue}{\frac{\frac{-t1}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1}} \]
    9. add-sqr-sqrt47.3%

      \[\leadsto \frac{\frac{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
    10. sqrt-unprod42.1%

      \[\leadsto \frac{\frac{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
    11. sqr-neg42.1%

      \[\leadsto \frac{\frac{\sqrt{\color{blue}{t1 \cdot t1}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
    12. sqrt-unprod14.6%

      \[\leadsto \frac{\frac{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
    13. add-sqr-sqrt31.0%

      \[\leadsto \frac{\frac{\color{blue}{t1}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
    14. sub-neg31.0%

      \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \]
    15. +-commutative31.0%

      \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\left(-t1\right) + \left(-u\right)}} \]
    16. add-sqr-sqrt16.4%

      \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}} + \left(-u\right)} \]
    17. sqrt-unprod41.9%

      \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}} + \left(-u\right)} \]
    18. sqr-neg41.9%

      \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{\color{blue}{t1 \cdot t1}} + \left(-u\right)} \]
    19. sqrt-unprod33.9%

      \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}} + \left(-u\right)} \]
    20. add-sqr-sqrt16.2%

      \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{t1} \cdot \sqrt{t1} + \color{blue}{\sqrt{-u} \cdot \sqrt{-u}}} \]
    21. sqrt-unprod39.7%

      \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{t1} \cdot \sqrt{t1} + \color{blue}{\sqrt{\left(-u\right) \cdot \left(-u\right)}}} \]
    22. sqr-neg39.7%

      \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\sqrt{t1} \cdot \sqrt{t1} + \sqrt{\color{blue}{u \cdot u}}} \]
  6. Applied egg-rr96.4%

    \[\leadsto \color{blue}{\frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{t1 + u}} \]
  7. Taylor expanded in t1 around inf 58.7%

    \[\leadsto \frac{\color{blue}{-1 \cdot v}}{t1 + u} \]
  8. Step-by-step derivation
    1. mul-1-neg58.7%

      \[\leadsto \frac{\color{blue}{-v}}{t1 + u} \]
  9. Simplified58.7%

    \[\leadsto \frac{\color{blue}{-v}}{t1 + u} \]
  10. Step-by-step derivation
    1. frac-2neg58.7%

      \[\leadsto \color{blue}{\frac{-\left(-v\right)}{-\left(t1 + u\right)}} \]
    2. div-inv58.6%

      \[\leadsto \color{blue}{\left(-\left(-v\right)\right) \cdot \frac{1}{-\left(t1 + u\right)}} \]
    3. remove-double-neg58.6%

      \[\leadsto \color{blue}{v} \cdot \frac{1}{-\left(t1 + u\right)} \]
    4. +-commutative58.6%

      \[\leadsto v \cdot \frac{1}{-\color{blue}{\left(u + t1\right)}} \]
    5. distribute-neg-in58.6%

      \[\leadsto v \cdot \frac{1}{\color{blue}{\left(-u\right) + \left(-t1\right)}} \]
    6. add-sqr-sqrt29.7%

      \[\leadsto v \cdot \frac{1}{\color{blue}{\sqrt{-u} \cdot \sqrt{-u}} + \left(-t1\right)} \]
    7. sqrt-unprod62.1%

      \[\leadsto v \cdot \frac{1}{\color{blue}{\sqrt{\left(-u\right) \cdot \left(-u\right)}} + \left(-t1\right)} \]
    8. sqr-neg62.1%

      \[\leadsto v \cdot \frac{1}{\sqrt{\color{blue}{u \cdot u}} + \left(-t1\right)} \]
    9. sqrt-unprod28.0%

      \[\leadsto v \cdot \frac{1}{\color{blue}{\sqrt{u} \cdot \sqrt{u}} + \left(-t1\right)} \]
    10. add-sqr-sqrt58.1%

      \[\leadsto v \cdot \frac{1}{\color{blue}{u} + \left(-t1\right)} \]
  11. Applied egg-rr58.1%

    \[\leadsto \color{blue}{v \cdot \frac{1}{u + \left(-t1\right)}} \]
  12. Step-by-step derivation
    1. sub-neg58.1%

      \[\leadsto v \cdot \frac{1}{\color{blue}{u - t1}} \]
    2. associate-*r/58.2%

      \[\leadsto \color{blue}{\frac{v \cdot 1}{u - t1}} \]
    3. *-rgt-identity58.2%

      \[\leadsto \frac{\color{blue}{v}}{u - t1} \]
  13. Simplified58.2%

    \[\leadsto \color{blue}{\frac{v}{u - t1}} \]
  14. Add Preprocessing

Alternative 18: 14.1% accurate, 4.0× speedup?

\[\begin{array}{l} \\ \frac{v}{t1} \end{array} \]
(FPCore (u v t1) :precision binary64 (/ v t1))
double code(double u, double v, double t1) {
	return v / t1;
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    code = v / t1
end function
public static double code(double u, double v, double t1) {
	return v / t1;
}
def code(u, v, t1):
	return v / t1
function code(u, v, t1)
	return Float64(v / t1)
end
function tmp = code(u, v, t1)
	tmp = v / t1;
end
code[u_, v_, t1_] := N[(v / t1), $MachinePrecision]
\begin{array}{l}

\\
\frac{v}{t1}
\end{array}
Derivation
  1. Initial program 72.9%

    \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
  2. Step-by-step derivation
    1. associate-*l/74.2%

      \[\leadsto \color{blue}{\frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \cdot v} \]
    2. *-commutative74.2%

      \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
  3. Simplified74.2%

    \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
  4. Add Preprocessing
  5. Taylor expanded in t1 around inf 53.4%

    \[\leadsto \color{blue}{-1 \cdot \frac{v}{t1}} \]
  6. Step-by-step derivation
    1. associate-*r/53.4%

      \[\leadsto \color{blue}{\frac{-1 \cdot v}{t1}} \]
    2. neg-mul-153.4%

      \[\leadsto \frac{\color{blue}{-v}}{t1} \]
  7. Simplified53.4%

    \[\leadsto \color{blue}{\frac{-v}{t1}} \]
  8. Step-by-step derivation
    1. distribute-frac-neg53.4%

      \[\leadsto \color{blue}{-\frac{v}{t1}} \]
    2. div-inv53.2%

      \[\leadsto -\color{blue}{v \cdot \frac{1}{t1}} \]
    3. distribute-rgt-neg-in53.2%

      \[\leadsto \color{blue}{v \cdot \left(-\frac{1}{t1}\right)} \]
    4. frac-2neg53.2%

      \[\leadsto v \cdot \left(-\color{blue}{\frac{-1}{-t1}}\right) \]
    5. metadata-eval53.2%

      \[\leadsto v \cdot \left(-\frac{\color{blue}{-1}}{-t1}\right) \]
    6. add-sqr-sqrt28.5%

      \[\leadsto v \cdot \left(-\frac{-1}{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}}}\right) \]
    7. sqrt-unprod23.9%

      \[\leadsto v \cdot \left(-\frac{-1}{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}}}\right) \]
    8. sqr-neg23.9%

      \[\leadsto v \cdot \left(-\frac{-1}{\sqrt{\color{blue}{t1 \cdot t1}}}\right) \]
    9. sqrt-unprod3.3%

      \[\leadsto v \cdot \left(-\frac{-1}{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}}}\right) \]
    10. add-sqr-sqrt11.8%

      \[\leadsto v \cdot \left(-\frac{-1}{\color{blue}{t1}}\right) \]
  9. Applied egg-rr11.8%

    \[\leadsto \color{blue}{v \cdot \left(-\frac{-1}{t1}\right)} \]
  10. Step-by-step derivation
    1. distribute-rgt-neg-out11.8%

      \[\leadsto \color{blue}{-v \cdot \frac{-1}{t1}} \]
    2. *-commutative11.8%

      \[\leadsto -\color{blue}{\frac{-1}{t1} \cdot v} \]
    3. associate-*l/11.8%

      \[\leadsto -\color{blue}{\frac{-1 \cdot v}{t1}} \]
    4. mul-1-neg11.8%

      \[\leadsto -\frac{\color{blue}{-v}}{t1} \]
    5. distribute-neg-frac11.8%

      \[\leadsto -\color{blue}{\left(-\frac{v}{t1}\right)} \]
    6. remove-double-neg11.8%

      \[\leadsto \color{blue}{\frac{v}{t1}} \]
  11. Simplified11.8%

    \[\leadsto \color{blue}{\frac{v}{t1}} \]
  12. Add Preprocessing

Reproduce

?
herbie shell --seed 2024185 
(FPCore (u v t1)
  :name "Rosa's DopplerBench"
  :precision binary64
  (/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))