Rosa's DopplerBench

Percentage Accurate: 73.4% → 98.2%
Time: 9.5s
Alternatives: 12
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 12 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: 73.4% 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.2% accurate, 1.0× speedup?

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

\\
\frac{\frac{t1}{t1 + u} \cdot v}{\left(-u\right) - t1}
\end{array}
Derivation
  1. Initial program 70.5%

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

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

      \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
  3. Simplified75.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/70.5%

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

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

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

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

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

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

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

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

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

      \[\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-neg38.0%

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

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

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

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

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

      \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}} + \left(-u\right)} \]
    17. sqrt-unprod50.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-neg50.4%

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

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

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

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

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

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

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

Alternative 2: 89.8% accurate, 0.4× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \left(-u\right) - t1\\ t_2 := v \cdot \frac{t1}{\left(t1 + u\right) \cdot t\_1}\\ \mathbf{if}\;t1 \leq -2.5 \cdot 10^{+157}:\\ \;\;\;\;\frac{v}{t1 + u} \cdot \left(\frac{u}{t1} + -1\right)\\ \mathbf{elif}\;t1 \leq -6.2 \cdot 10^{-160}:\\ \;\;\;\;t\_2\\ \mathbf{elif}\;t1 \leq 8.3 \cdot 10^{-187}:\\ \;\;\;\;\left(-v\right) \cdot \frac{\frac{t1}{u}}{t1 + u}\\ \mathbf{elif}\;t1 \leq 1.36 \cdot 10^{+104}:\\ \;\;\;\;t\_2\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{t\_1}\\ \end{array} \end{array} \]
(FPCore (u v t1)
 :precision binary64
 (let* ((t_1 (- (- u) t1)) (t_2 (* v (/ t1 (* (+ t1 u) t_1)))))
   (if (<= t1 -2.5e+157)
     (* (/ v (+ t1 u)) (+ (/ u t1) -1.0))
     (if (<= t1 -6.2e-160)
       t_2
       (if (<= t1 8.3e-187)
         (* (- v) (/ (/ t1 u) (+ t1 u)))
         (if (<= t1 1.36e+104) t_2 (/ v t_1)))))))
double code(double u, double v, double t1) {
	double t_1 = -u - t1;
	double t_2 = v * (t1 / ((t1 + u) * t_1));
	double tmp;
	if (t1 <= -2.5e+157) {
		tmp = (v / (t1 + u)) * ((u / t1) + -1.0);
	} else if (t1 <= -6.2e-160) {
		tmp = t_2;
	} else if (t1 <= 8.3e-187) {
		tmp = -v * ((t1 / u) / (t1 + u));
	} else if (t1 <= 1.36e+104) {
		tmp = t_2;
	} else {
		tmp = v / t_1;
	}
	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) :: t_1
    real(8) :: t_2
    real(8) :: tmp
    t_1 = -u - t1
    t_2 = v * (t1 / ((t1 + u) * t_1))
    if (t1 <= (-2.5d+157)) then
        tmp = (v / (t1 + u)) * ((u / t1) + (-1.0d0))
    else if (t1 <= (-6.2d-160)) then
        tmp = t_2
    else if (t1 <= 8.3d-187) then
        tmp = -v * ((t1 / u) / (t1 + u))
    else if (t1 <= 1.36d+104) then
        tmp = t_2
    else
        tmp = v / t_1
    end if
    code = tmp
end function
public static double code(double u, double v, double t1) {
	double t_1 = -u - t1;
	double t_2 = v * (t1 / ((t1 + u) * t_1));
	double tmp;
	if (t1 <= -2.5e+157) {
		tmp = (v / (t1 + u)) * ((u / t1) + -1.0);
	} else if (t1 <= -6.2e-160) {
		tmp = t_2;
	} else if (t1 <= 8.3e-187) {
		tmp = -v * ((t1 / u) / (t1 + u));
	} else if (t1 <= 1.36e+104) {
		tmp = t_2;
	} else {
		tmp = v / t_1;
	}
	return tmp;
}
def code(u, v, t1):
	t_1 = -u - t1
	t_2 = v * (t1 / ((t1 + u) * t_1))
	tmp = 0
	if t1 <= -2.5e+157:
		tmp = (v / (t1 + u)) * ((u / t1) + -1.0)
	elif t1 <= -6.2e-160:
		tmp = t_2
	elif t1 <= 8.3e-187:
		tmp = -v * ((t1 / u) / (t1 + u))
	elif t1 <= 1.36e+104:
		tmp = t_2
	else:
		tmp = v / t_1
	return tmp
function code(u, v, t1)
	t_1 = Float64(Float64(-u) - t1)
	t_2 = Float64(v * Float64(t1 / Float64(Float64(t1 + u) * t_1)))
	tmp = 0.0
	if (t1 <= -2.5e+157)
		tmp = Float64(Float64(v / Float64(t1 + u)) * Float64(Float64(u / t1) + -1.0));
	elseif (t1 <= -6.2e-160)
		tmp = t_2;
	elseif (t1 <= 8.3e-187)
		tmp = Float64(Float64(-v) * Float64(Float64(t1 / u) / Float64(t1 + u)));
	elseif (t1 <= 1.36e+104)
		tmp = t_2;
	else
		tmp = Float64(v / t_1);
	end
	return tmp
end
function tmp_2 = code(u, v, t1)
	t_1 = -u - t1;
	t_2 = v * (t1 / ((t1 + u) * t_1));
	tmp = 0.0;
	if (t1 <= -2.5e+157)
		tmp = (v / (t1 + u)) * ((u / t1) + -1.0);
	elseif (t1 <= -6.2e-160)
		tmp = t_2;
	elseif (t1 <= 8.3e-187)
		tmp = -v * ((t1 / u) / (t1 + u));
	elseif (t1 <= 1.36e+104)
		tmp = t_2;
	else
		tmp = v / t_1;
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := Block[{t$95$1 = N[((-u) - t1), $MachinePrecision]}, Block[{t$95$2 = N[(v * N[(t1 / N[(N[(t1 + u), $MachinePrecision] * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t1, -2.5e+157], N[(N[(v / N[(t1 + u), $MachinePrecision]), $MachinePrecision] * N[(N[(u / t1), $MachinePrecision] + -1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[t1, -6.2e-160], t$95$2, If[LessEqual[t1, 8.3e-187], N[((-v) * N[(N[(t1 / u), $MachinePrecision] / N[(t1 + u), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t1, 1.36e+104], t$95$2, N[(v / t$95$1), $MachinePrecision]]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := \left(-u\right) - t1\\
t_2 := v \cdot \frac{t1}{\left(t1 + u\right) \cdot t\_1}\\
\mathbf{if}\;t1 \leq -2.5 \cdot 10^{+157}:\\
\;\;\;\;\frac{v}{t1 + u} \cdot \left(\frac{u}{t1} + -1\right)\\

\mathbf{elif}\;t1 \leq -6.2 \cdot 10^{-160}:\\
\;\;\;\;t\_2\\

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

\mathbf{elif}\;t1 \leq 1.36 \cdot 10^{+104}:\\
\;\;\;\;t\_2\\

\mathbf{else}:\\
\;\;\;\;\frac{v}{t\_1}\\


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if t1 < -2.49999999999999988e157

    1. Initial program 41.0%

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

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

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

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

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

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

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

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

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

    if -2.49999999999999988e157 < t1 < -6.2000000000000001e-160 or 8.2999999999999995e-187 < t1 < 1.3599999999999999e104

    1. Initial program 88.2%

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

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

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

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

    if -6.2000000000000001e-160 < t1 < 8.2999999999999995e-187

    1. Initial program 67.8%

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

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

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

      \[\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/67.8%

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

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

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

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

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

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

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

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

        \[\leadsto \frac{\frac{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      10. sqrt-unprod47.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-neg47.4%

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

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

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

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

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

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}} + \left(-u\right)} \]
      17. sqrt-unprod46.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-neg46.9%

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

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

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

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

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

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

      \[\leadsto \frac{\color{blue}{\frac{t1}{u}} \cdot \left(-v\right)}{t1 + u} \]
    8. Step-by-step derivation
      1. frac-2neg84.7%

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

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

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

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

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

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

        \[\leadsto -\frac{\frac{t1}{u} \cdot \color{blue}{v}}{-\left(t1 + u\right)} \]
      8. remove-double-neg46.9%

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

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

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

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

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

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

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

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

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

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

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

    if 1.3599999999999999e104 < t1

    1. Initial program 46.7%

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

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

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

      \[\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/46.7%

        \[\leadsto \color{blue}{\frac{v \cdot \left(-t1\right)}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
      2. *-commutative46.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-sqrt0.0%

        \[\leadsto \frac{\frac{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}}}{t1 + u} \cdot \left(-v\right)}{\left(-u\right) - t1} \]
      10. sqrt-unprod5.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-neg5.9%

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

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

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

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

        \[\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-unprod50.2%

        \[\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-neg50.2%

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

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

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

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

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{t1 + \color{blue}{\sqrt{\left(-u\right) \cdot \left(-u\right)}}} \]
    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 92.0%

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;t1 \leq -2.5 \cdot 10^{+157}:\\ \;\;\;\;\frac{v}{t1 + u} \cdot \left(\frac{u}{t1} + -1\right)\\ \mathbf{elif}\;t1 \leq -6.2 \cdot 10^{-160}:\\ \;\;\;\;v \cdot \frac{t1}{\left(t1 + u\right) \cdot \left(\left(-u\right) - t1\right)}\\ \mathbf{elif}\;t1 \leq 8.3 \cdot 10^{-187}:\\ \;\;\;\;\left(-v\right) \cdot \frac{\frac{t1}{u}}{t1 + u}\\ \mathbf{elif}\;t1 \leq 1.36 \cdot 10^{+104}:\\ \;\;\;\;v \cdot \frac{t1}{\left(t1 + u\right) \cdot \left(\left(-u\right) - t1\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{\left(-u\right) - t1}\\ \end{array} \]
  5. Add Preprocessing

Alternative 3: 78.5% accurate, 0.4× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{v}{\left(-u\right) - t1}\\ \mathbf{if}\;t1 \leq -3.3 \cdot 10^{-31}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;t1 \leq -3.8 \cdot 10^{-118}:\\ \;\;\;\;\frac{\frac{v}{u}}{1 - \frac{u}{t1}}\\ \mathbf{elif}\;t1 \leq -6.4 \cdot 10^{-170}:\\ \;\;\;\;\frac{t1}{t1 + u} \cdot \frac{v}{-t1}\\ \mathbf{elif}\;t1 \leq 1.3 \cdot 10^{-15}:\\ \;\;\;\;\frac{t1}{-u} \cdot \frac{v}{u}\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
(FPCore (u v t1)
 :precision binary64
 (let* ((t_1 (/ v (- (- u) t1))))
   (if (<= t1 -3.3e-31)
     t_1
     (if (<= t1 -3.8e-118)
       (/ (/ v u) (- 1.0 (/ u t1)))
       (if (<= t1 -6.4e-170)
         (* (/ t1 (+ t1 u)) (/ v (- t1)))
         (if (<= t1 1.3e-15) (* (/ t1 (- u)) (/ v u)) t_1))))))
double code(double u, double v, double t1) {
	double t_1 = v / (-u - t1);
	double tmp;
	if (t1 <= -3.3e-31) {
		tmp = t_1;
	} else if (t1 <= -3.8e-118) {
		tmp = (v / u) / (1.0 - (u / t1));
	} else if (t1 <= -6.4e-170) {
		tmp = (t1 / (t1 + u)) * (v / -t1);
	} else if (t1 <= 1.3e-15) {
		tmp = (t1 / -u) * (v / u);
	} else {
		tmp = t_1;
	}
	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) :: t_1
    real(8) :: tmp
    t_1 = v / (-u - t1)
    if (t1 <= (-3.3d-31)) then
        tmp = t_1
    else if (t1 <= (-3.8d-118)) then
        tmp = (v / u) / (1.0d0 - (u / t1))
    else if (t1 <= (-6.4d-170)) then
        tmp = (t1 / (t1 + u)) * (v / -t1)
    else if (t1 <= 1.3d-15) then
        tmp = (t1 / -u) * (v / u)
    else
        tmp = t_1
    end if
    code = tmp
end function
public static double code(double u, double v, double t1) {
	double t_1 = v / (-u - t1);
	double tmp;
	if (t1 <= -3.3e-31) {
		tmp = t_1;
	} else if (t1 <= -3.8e-118) {
		tmp = (v / u) / (1.0 - (u / t1));
	} else if (t1 <= -6.4e-170) {
		tmp = (t1 / (t1 + u)) * (v / -t1);
	} else if (t1 <= 1.3e-15) {
		tmp = (t1 / -u) * (v / u);
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(u, v, t1):
	t_1 = v / (-u - t1)
	tmp = 0
	if t1 <= -3.3e-31:
		tmp = t_1
	elif t1 <= -3.8e-118:
		tmp = (v / u) / (1.0 - (u / t1))
	elif t1 <= -6.4e-170:
		tmp = (t1 / (t1 + u)) * (v / -t1)
	elif t1 <= 1.3e-15:
		tmp = (t1 / -u) * (v / u)
	else:
		tmp = t_1
	return tmp
function code(u, v, t1)
	t_1 = Float64(v / Float64(Float64(-u) - t1))
	tmp = 0.0
	if (t1 <= -3.3e-31)
		tmp = t_1;
	elseif (t1 <= -3.8e-118)
		tmp = Float64(Float64(v / u) / Float64(1.0 - Float64(u / t1)));
	elseif (t1 <= -6.4e-170)
		tmp = Float64(Float64(t1 / Float64(t1 + u)) * Float64(v / Float64(-t1)));
	elseif (t1 <= 1.3e-15)
		tmp = Float64(Float64(t1 / Float64(-u)) * Float64(v / u));
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(u, v, t1)
	t_1 = v / (-u - t1);
	tmp = 0.0;
	if (t1 <= -3.3e-31)
		tmp = t_1;
	elseif (t1 <= -3.8e-118)
		tmp = (v / u) / (1.0 - (u / t1));
	elseif (t1 <= -6.4e-170)
		tmp = (t1 / (t1 + u)) * (v / -t1);
	elseif (t1 <= 1.3e-15)
		tmp = (t1 / -u) * (v / u);
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := Block[{t$95$1 = N[(v / N[((-u) - t1), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t1, -3.3e-31], t$95$1, If[LessEqual[t1, -3.8e-118], N[(N[(v / u), $MachinePrecision] / N[(1.0 - N[(u / t1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t1, -6.4e-170], N[(N[(t1 / N[(t1 + u), $MachinePrecision]), $MachinePrecision] * N[(v / (-t1)), $MachinePrecision]), $MachinePrecision], If[LessEqual[t1, 1.3e-15], N[(N[(t1 / (-u)), $MachinePrecision] * N[(v / u), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := \frac{v}{\left(-u\right) - t1}\\
\mathbf{if}\;t1 \leq -3.3 \cdot 10^{-31}:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;t1 \leq -3.8 \cdot 10^{-118}:\\
\;\;\;\;\frac{\frac{v}{u}}{1 - \frac{u}{t1}}\\

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

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

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


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if t1 < -3.2999999999999999e-31 or 1.30000000000000002e-15 < t1

    1. Initial program 60.9%

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

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

        \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    3. Simplified64.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/60.9%

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

        \[\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-sqrt44.0%

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

        \[\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-neg23.7%

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

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

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

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

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

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}} + \left(-u\right)} \]
      17. sqrt-unprod49.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-neg49.4%

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

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

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

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

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{t1 + \color{blue}{\sqrt{\left(-u\right) \cdot \left(-u\right)}}} \]
    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 81.2%

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

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

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

    if -3.2999999999999999e-31 < t1 < -3.8000000000000001e-118

    1. Initial program 84.4%

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

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

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

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

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

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

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) - t1}} \cdot \frac{v}{t1 + u} \]
    3. Simplified99.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 82.5%

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{t1 \cdot v}{-u \cdot \left(u - t1\right)}} \]
    8. Step-by-step derivation
      1. distribute-frac-neg267.9%

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

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

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

        \[\leadsto -\color{blue}{t1 \cdot \frac{\frac{v}{u}}{u - t1}} \]
      5. *-commutative83.5%

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

        \[\leadsto -\color{blue}{\frac{\frac{v}{u}}{\frac{u - t1}{t1}}} \]
      7. distribute-neg-frac283.3%

        \[\leadsto \color{blue}{\frac{\frac{v}{u}}{-\frac{u - t1}{t1}}} \]
      8. div-sub83.3%

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

        \[\leadsto \frac{\frac{v}{u}}{-\color{blue}{\left(\frac{u}{t1} + \left(-\frac{t1}{t1}\right)\right)}} \]
      10. *-inverses83.3%

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

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

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

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

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

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

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

    if -3.8000000000000001e-118 < t1 < -6.3999999999999999e-170

    1. Initial program 69.1%

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

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

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

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

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

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

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) - t1}} \cdot \frac{v}{t1 + u} \]
    3. Simplified100.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 88.5%

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

    if -6.3999999999999999e-170 < t1 < 1.30000000000000002e-15

    1. Initial program 81.2%

      \[\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 77.4%

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

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;t1 \leq -3.3 \cdot 10^{-31}:\\ \;\;\;\;\frac{v}{\left(-u\right) - t1}\\ \mathbf{elif}\;t1 \leq -3.8 \cdot 10^{-118}:\\ \;\;\;\;\frac{\frac{v}{u}}{1 - \frac{u}{t1}}\\ \mathbf{elif}\;t1 \leq -6.4 \cdot 10^{-170}:\\ \;\;\;\;\frac{t1}{t1 + u} \cdot \frac{v}{-t1}\\ \mathbf{elif}\;t1 \leq 1.3 \cdot 10^{-15}:\\ \;\;\;\;\frac{t1}{-u} \cdot \frac{v}{u}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{\left(-u\right) - t1}\\ \end{array} \]
  5. Add Preprocessing

Alternative 4: 78.5% accurate, 0.4× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{t1}{-u} \cdot \frac{v}{u}\\ \mathbf{if}\;t1 \leq -68000:\\ \;\;\;\;\frac{v}{t1 + u} \cdot \left(\frac{u}{t1} + -1\right)\\ \mathbf{elif}\;t1 \leq -7.6 \cdot 10^{-118}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;t1 \leq -7.2 \cdot 10^{-170}:\\ \;\;\;\;\frac{t1}{t1 + u} \cdot \frac{v}{-t1}\\ \mathbf{elif}\;t1 \leq 3.9 \cdot 10^{-16}:\\ \;\;\;\;t\_1\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{\left(-u\right) - t1}\\ \end{array} \end{array} \]
(FPCore (u v t1)
 :precision binary64
 (let* ((t_1 (* (/ t1 (- u)) (/ v u))))
   (if (<= t1 -68000.0)
     (* (/ v (+ t1 u)) (+ (/ u t1) -1.0))
     (if (<= t1 -7.6e-118)
       t_1
       (if (<= t1 -7.2e-170)
         (* (/ t1 (+ t1 u)) (/ v (- t1)))
         (if (<= t1 3.9e-16) t_1 (/ v (- (- u) t1))))))))
double code(double u, double v, double t1) {
	double t_1 = (t1 / -u) * (v / u);
	double tmp;
	if (t1 <= -68000.0) {
		tmp = (v / (t1 + u)) * ((u / t1) + -1.0);
	} else if (t1 <= -7.6e-118) {
		tmp = t_1;
	} else if (t1 <= -7.2e-170) {
		tmp = (t1 / (t1 + u)) * (v / -t1);
	} else if (t1 <= 3.9e-16) {
		tmp = t_1;
	} else {
		tmp = v / (-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) :: t_1
    real(8) :: tmp
    t_1 = (t1 / -u) * (v / u)
    if (t1 <= (-68000.0d0)) then
        tmp = (v / (t1 + u)) * ((u / t1) + (-1.0d0))
    else if (t1 <= (-7.6d-118)) then
        tmp = t_1
    else if (t1 <= (-7.2d-170)) then
        tmp = (t1 / (t1 + u)) * (v / -t1)
    else if (t1 <= 3.9d-16) then
        tmp = t_1
    else
        tmp = v / (-u - t1)
    end if
    code = tmp
end function
public static double code(double u, double v, double t1) {
	double t_1 = (t1 / -u) * (v / u);
	double tmp;
	if (t1 <= -68000.0) {
		tmp = (v / (t1 + u)) * ((u / t1) + -1.0);
	} else if (t1 <= -7.6e-118) {
		tmp = t_1;
	} else if (t1 <= -7.2e-170) {
		tmp = (t1 / (t1 + u)) * (v / -t1);
	} else if (t1 <= 3.9e-16) {
		tmp = t_1;
	} else {
		tmp = v / (-u - t1);
	}
	return tmp;
}
def code(u, v, t1):
	t_1 = (t1 / -u) * (v / u)
	tmp = 0
	if t1 <= -68000.0:
		tmp = (v / (t1 + u)) * ((u / t1) + -1.0)
	elif t1 <= -7.6e-118:
		tmp = t_1
	elif t1 <= -7.2e-170:
		tmp = (t1 / (t1 + u)) * (v / -t1)
	elif t1 <= 3.9e-16:
		tmp = t_1
	else:
		tmp = v / (-u - t1)
	return tmp
function code(u, v, t1)
	t_1 = Float64(Float64(t1 / Float64(-u)) * Float64(v / u))
	tmp = 0.0
	if (t1 <= -68000.0)
		tmp = Float64(Float64(v / Float64(t1 + u)) * Float64(Float64(u / t1) + -1.0));
	elseif (t1 <= -7.6e-118)
		tmp = t_1;
	elseif (t1 <= -7.2e-170)
		tmp = Float64(Float64(t1 / Float64(t1 + u)) * Float64(v / Float64(-t1)));
	elseif (t1 <= 3.9e-16)
		tmp = t_1;
	else
		tmp = Float64(v / Float64(Float64(-u) - t1));
	end
	return tmp
end
function tmp_2 = code(u, v, t1)
	t_1 = (t1 / -u) * (v / u);
	tmp = 0.0;
	if (t1 <= -68000.0)
		tmp = (v / (t1 + u)) * ((u / t1) + -1.0);
	elseif (t1 <= -7.6e-118)
		tmp = t_1;
	elseif (t1 <= -7.2e-170)
		tmp = (t1 / (t1 + u)) * (v / -t1);
	elseif (t1 <= 3.9e-16)
		tmp = t_1;
	else
		tmp = v / (-u - t1);
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := Block[{t$95$1 = N[(N[(t1 / (-u)), $MachinePrecision] * N[(v / u), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t1, -68000.0], N[(N[(v / N[(t1 + u), $MachinePrecision]), $MachinePrecision] * N[(N[(u / t1), $MachinePrecision] + -1.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[t1, -7.6e-118], t$95$1, If[LessEqual[t1, -7.2e-170], N[(N[(t1 / N[(t1 + u), $MachinePrecision]), $MachinePrecision] * N[(v / (-t1)), $MachinePrecision]), $MachinePrecision], If[LessEqual[t1, 3.9e-16], t$95$1, N[(v / N[((-u) - t1), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := \frac{t1}{-u} \cdot \frac{v}{u}\\
\mathbf{if}\;t1 \leq -68000:\\
\;\;\;\;\frac{v}{t1 + u} \cdot \left(\frac{u}{t1} + -1\right)\\

\mathbf{elif}\;t1 \leq -7.6 \cdot 10^{-118}:\\
\;\;\;\;t\_1\\

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

\mathbf{elif}\;t1 \leq 3.9 \cdot 10^{-16}:\\
\;\;\;\;t\_1\\

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


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

    1. Initial program 55.5%

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

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

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

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

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

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

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

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

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

    if -68000 < t1 < -7.6000000000000002e-118 or -7.2000000000000006e-170 < t1 < 3.89999999999999977e-16

    1. Initial program 82.4%

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

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

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

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

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

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

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

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

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

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

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

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

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

    if -7.6000000000000002e-118 < t1 < -7.2000000000000006e-170

    1. Initial program 69.1%

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

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

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

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

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

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

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) - t1}} \cdot \frac{v}{t1 + u} \]
    3. Simplified100.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 88.5%

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

    if 3.89999999999999977e-16 < t1

    1. Initial program 60.3%

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

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

        \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    3. Simplified64.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/60.3%

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

        \[\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-sqrt0.0%

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

        \[\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-neg7.5%

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

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

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

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

        \[\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-unprod59.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-neg59.8%

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

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

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

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

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{t1 + \color{blue}{\sqrt{\left(-u\right) \cdot \left(-u\right)}}} \]
    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.7%

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;t1 \leq -68000:\\ \;\;\;\;\frac{v}{t1 + u} \cdot \left(\frac{u}{t1} + -1\right)\\ \mathbf{elif}\;t1 \leq -7.6 \cdot 10^{-118}:\\ \;\;\;\;\frac{t1}{-u} \cdot \frac{v}{u}\\ \mathbf{elif}\;t1 \leq -7.2 \cdot 10^{-170}:\\ \;\;\;\;\frac{t1}{t1 + u} \cdot \frac{v}{-t1}\\ \mathbf{elif}\;t1 \leq 3.9 \cdot 10^{-16}:\\ \;\;\;\;\frac{t1}{-u} \cdot \frac{v}{u}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{\left(-u\right) - t1}\\ \end{array} \]
  5. Add Preprocessing

Alternative 5: 79.9% accurate, 0.7× speedup?

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

\\
\begin{array}{l}
\mathbf{if}\;t1 \leq -5.5 \cdot 10^{-32} \lor \neg \left(t1 \leq 2.15 \cdot 10^{-15}\right):\\
\;\;\;\;\frac{v}{\left(-u\right) - t1}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if t1 < -5.50000000000000024e-32 or 2.1499999999999998e-15 < t1

    1. Initial program 60.9%

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

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

        \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    3. Simplified64.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/60.9%

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

        \[\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-sqrt44.0%

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

        \[\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-neg23.7%

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

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

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

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

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

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}} + \left(-u\right)} \]
      17. sqrt-unprod49.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-neg49.4%

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

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

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

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

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{t1 + \color{blue}{\sqrt{\left(-u\right) \cdot \left(-u\right)}}} \]
    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 81.2%

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

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

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

    if -5.50000000000000024e-32 < t1 < 2.1499999999999998e-15

    1. Initial program 80.6%

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{\color{blue}{-t1}}{u} \cdot \frac{v}{u} \]
    8. Simplified77.4%

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

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

Alternative 6: 59.6% accurate, 0.8× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;u \leq -3.2 \cdot 10^{+170}:\\ \;\;\;\;\frac{v}{-u}\\ \mathbf{elif}\;u \leq 2.2 \cdot 10^{+171}:\\ \;\;\;\;\frac{v}{-t1}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\frac{u}{v}}\\ \end{array} \end{array} \]
(FPCore (u v t1)
 :precision binary64
 (if (<= u -3.2e+170)
   (/ v (- u))
   (if (<= u 2.2e+171) (/ v (- t1)) (/ 1.0 (/ u v)))))
double code(double u, double v, double t1) {
	double tmp;
	if (u <= -3.2e+170) {
		tmp = v / -u;
	} else if (u <= 2.2e+171) {
		tmp = v / -t1;
	} else {
		tmp = 1.0 / (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.2d+170)) then
        tmp = v / -u
    else if (u <= 2.2d+171) then
        tmp = v / -t1
    else
        tmp = 1.0d0 / (u / v)
    end if
    code = tmp
end function
public static double code(double u, double v, double t1) {
	double tmp;
	if (u <= -3.2e+170) {
		tmp = v / -u;
	} else if (u <= 2.2e+171) {
		tmp = v / -t1;
	} else {
		tmp = 1.0 / (u / v);
	}
	return tmp;
}
def code(u, v, t1):
	tmp = 0
	if u <= -3.2e+170:
		tmp = v / -u
	elif u <= 2.2e+171:
		tmp = v / -t1
	else:
		tmp = 1.0 / (u / v)
	return tmp
function code(u, v, t1)
	tmp = 0.0
	if (u <= -3.2e+170)
		tmp = Float64(v / Float64(-u));
	elseif (u <= 2.2e+171)
		tmp = Float64(v / Float64(-t1));
	else
		tmp = Float64(1.0 / Float64(u / v));
	end
	return tmp
end
function tmp_2 = code(u, v, t1)
	tmp = 0.0;
	if (u <= -3.2e+170)
		tmp = v / -u;
	elseif (u <= 2.2e+171)
		tmp = v / -t1;
	else
		tmp = 1.0 / (u / v);
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := If[LessEqual[u, -3.2e+170], N[(v / (-u)), $MachinePrecision], If[LessEqual[u, 2.2e+171], N[(v / (-t1)), $MachinePrecision], N[(1.0 / N[(u / v), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

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

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

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


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

    1. Initial program 64.7%

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

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

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

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

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

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

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) - t1}} \cdot \frac{v}{t1 + u} \]
    3. Simplified99.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 95.9%

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

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

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

        \[\leadsto \frac{\color{blue}{-v}}{u} \]
    8. Simplified35.2%

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

    if -3.19999999999999979e170 < u < 2.1999999999999999e171

    1. Initial program 71.3%

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

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

        \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    3. Simplified77.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 64.0%

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

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

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

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

    if 2.1999999999999999e171 < u

    1. Initial program 70.1%

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

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

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

      \[\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/70.1%

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

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

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

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

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

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

        \[\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-sqrt43.3%

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

        \[\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-neg61.2%

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

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

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

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

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

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}} + \left(-u\right)} \]
      17. sqrt-unprod70.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-neg70.4%

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

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

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

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

        \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{t1 + \color{blue}{\sqrt{\left(-u\right) \cdot \left(-u\right)}}} \]
    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 47.5%

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

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

      \[\leadsto \frac{\color{blue}{-v}}{t1 + u} \]
    10. Step-by-step derivation
      1. clear-num51.2%

        \[\leadsto \color{blue}{\frac{1}{\frac{t1 + u}{-v}}} \]
      2. inv-pow51.2%

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

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

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

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

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

        \[\leadsto {\left(\frac{t1 + u}{\color{blue}{v}}\right)}^{-1} \]
    11. Applied egg-rr40.0%

      \[\leadsto \color{blue}{{\left(\frac{t1 + u}{v}\right)}^{-1}} \]
    12. Step-by-step derivation
      1. unpow-140.0%

        \[\leadsto \color{blue}{\frac{1}{\frac{t1 + u}{v}}} \]
    13. Simplified40.0%

      \[\leadsto \color{blue}{\frac{1}{\frac{t1 + u}{v}}} \]
    14. Taylor expanded in t1 around 0 40.3%

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;u \leq -3.2 \cdot 10^{+170}:\\ \;\;\;\;\frac{v}{-u}\\ \mathbf{elif}\;u \leq 2.2 \cdot 10^{+171}:\\ \;\;\;\;\frac{v}{-t1}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\frac{u}{v}}\\ \end{array} \]
  5. Add Preprocessing

Alternative 7: 23.6% accurate, 0.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t1 \leq -9.5 \cdot 10^{+157} \lor \neg \left(t1 \leq 1.05 \cdot 10^{+73}\right):\\ \;\;\;\;\frac{v}{t1}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{u}\\ \end{array} \end{array} \]
(FPCore (u v t1)
 :precision binary64
 (if (or (<= t1 -9.5e+157) (not (<= t1 1.05e+73))) (/ v t1) (/ v u)))
double code(double u, double v, double t1) {
	double tmp;
	if ((t1 <= -9.5e+157) || !(t1 <= 1.05e+73)) {
		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 <= (-9.5d+157)) .or. (.not. (t1 <= 1.05d+73))) 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 <= -9.5e+157) || !(t1 <= 1.05e+73)) {
		tmp = v / t1;
	} else {
		tmp = v / u;
	}
	return tmp;
}
def code(u, v, t1):
	tmp = 0
	if (t1 <= -9.5e+157) or not (t1 <= 1.05e+73):
		tmp = v / t1
	else:
		tmp = v / u
	return tmp
function code(u, v, t1)
	tmp = 0.0
	if ((t1 <= -9.5e+157) || !(t1 <= 1.05e+73))
		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 <= -9.5e+157) || ~((t1 <= 1.05e+73)))
		tmp = v / t1;
	else
		tmp = v / u;
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := If[Or[LessEqual[t1, -9.5e+157], N[Not[LessEqual[t1, 1.05e+73]], $MachinePrecision]], N[(v / t1), $MachinePrecision], N[(v / u), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;t1 \leq -9.5 \cdot 10^{+157} \lor \neg \left(t1 \leq 1.05 \cdot 10^{+73}\right):\\
\;\;\;\;\frac{v}{t1}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if t1 < -9.4999999999999996e157 or 1.0500000000000001e73 < t1

    1. Initial program 47.3%

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

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

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

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

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

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

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

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

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

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

    if -9.4999999999999996e157 < t1 < 1.0500000000000001e73

    1. Initial program 82.2%

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

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

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

      \[\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/82.2%

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

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

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

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

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

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

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

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

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

        \[\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-neg54.5%

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

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

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

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

        \[\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-unprod51.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-neg51.3%

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

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

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

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

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

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

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

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

      \[\leadsto \frac{\color{blue}{-v}}{t1 + u} \]
    10. Step-by-step derivation
      1. clear-num49.3%

        \[\leadsto \color{blue}{\frac{1}{\frac{t1 + u}{-v}}} \]
      2. inv-pow49.3%

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

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

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

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

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

        \[\leadsto {\left(\frac{t1 + u}{\color{blue}{v}}\right)}^{-1} \]
    11. Applied egg-rr17.1%

      \[\leadsto \color{blue}{{\left(\frac{t1 + u}{v}\right)}^{-1}} \]
    12. Step-by-step derivation
      1. unpow-117.1%

        \[\leadsto \color{blue}{\frac{1}{\frac{t1 + u}{v}}} \]
    13. Simplified17.1%

      \[\leadsto \color{blue}{\frac{1}{\frac{t1 + u}{v}}} \]
    14. Taylor expanded in t1 around 0 17.1%

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

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

Alternative 8: 98.2% accurate, 1.0× speedup?

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

\\
\frac{t1}{t1 + u} \cdot \frac{v}{\left(-u\right) - t1}
\end{array}
Derivation
  1. Initial program 70.5%

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

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

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

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

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

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

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

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

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

Alternative 9: 57.4% accurate, 1.3× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;u \leq -9 \cdot 10^{+170}:\\ \;\;\;\;\frac{v}{u}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{-t1}\\ \end{array} \end{array} \]
(FPCore (u v t1) :precision binary64 (if (<= u -9e+170) (/ v u) (/ v (- t1))))
double code(double u, double v, double t1) {
	double tmp;
	if (u <= -9e+170) {
		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 <= (-9d+170)) 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 <= -9e+170) {
		tmp = v / u;
	} else {
		tmp = v / -t1;
	}
	return tmp;
}
def code(u, v, t1):
	tmp = 0
	if u <= -9e+170:
		tmp = v / u
	else:
		tmp = v / -t1
	return tmp
function code(u, v, t1)
	tmp = 0.0
	if (u <= -9e+170)
		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 <= -9e+170)
		tmp = v / u;
	else
		tmp = v / -t1;
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := If[LessEqual[u, -9e+170], N[(v / u), $MachinePrecision], N[(v / (-t1)), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;u \leq -9 \cdot 10^{+170}:\\
\;\;\;\;\frac{v}{u}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if u < -9.00000000000000044e170

    1. Initial program 64.7%

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

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

        \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    3. Simplified65.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/64.7%

        \[\leadsto \color{blue}{\frac{v \cdot \left(-t1\right)}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
      2. *-commutative64.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.8%

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

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

        \[\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-neg72.6%

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

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

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

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

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

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

        \[\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-neg65.6%

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

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

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

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

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

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

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

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

      \[\leadsto \frac{\color{blue}{-v}}{t1 + u} \]
    10. Step-by-step derivation
      1. clear-num39.1%

        \[\leadsto \color{blue}{\frac{1}{\frac{t1 + u}{-v}}} \]
      2. inv-pow39.1%

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

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

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

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

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

        \[\leadsto {\left(\frac{t1 + u}{\color{blue}{v}}\right)}^{-1} \]
    11. Applied egg-rr34.9%

      \[\leadsto \color{blue}{{\left(\frac{t1 + u}{v}\right)}^{-1}} \]
    12. Step-by-step derivation
      1. unpow-134.9%

        \[\leadsto \color{blue}{\frac{1}{\frac{t1 + u}{v}}} \]
    13. Simplified34.9%

      \[\leadsto \color{blue}{\frac{1}{\frac{t1 + u}{v}}} \]
    14. Taylor expanded in t1 around 0 35.2%

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

    if -9.00000000000000044e170 < u

    1. Initial program 71.1%

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

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

        \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    3. Simplified76.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 58.9%

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

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

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

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

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

Alternative 10: 57.4% accurate, 1.3× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;u \leq -8 \cdot 10^{+169}:\\ \;\;\;\;\frac{v}{-u}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{-t1}\\ \end{array} \end{array} \]
(FPCore (u v t1)
 :precision binary64
 (if (<= u -8e+169) (/ v (- u)) (/ v (- t1))))
double code(double u, double v, double t1) {
	double tmp;
	if (u <= -8e+169) {
		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 <= (-8d+169)) 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 <= -8e+169) {
		tmp = v / -u;
	} else {
		tmp = v / -t1;
	}
	return tmp;
}
def code(u, v, t1):
	tmp = 0
	if u <= -8e+169:
		tmp = v / -u
	else:
		tmp = v / -t1
	return tmp
function code(u, v, t1)
	tmp = 0.0
	if (u <= -8e+169)
		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 <= -8e+169)
		tmp = v / -u;
	else
		tmp = v / -t1;
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := If[LessEqual[u, -8e+169], N[(v / (-u)), $MachinePrecision], N[(v / (-t1)), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;u \leq -8 \cdot 10^{+169}:\\
\;\;\;\;\frac{v}{-u}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if u < -7.99999999999999947e169

    1. Initial program 64.7%

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

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

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

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

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

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

        \[\leadsto \frac{t1}{\color{blue}{\left(-u\right) - t1}} \cdot \frac{v}{t1 + u} \]
    3. Simplified99.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 95.9%

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

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

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

        \[\leadsto \frac{\color{blue}{-v}}{u} \]
    8. Simplified35.2%

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

    if -7.99999999999999947e169 < u

    1. Initial program 71.1%

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

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

        \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
    3. Simplified76.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 58.9%

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

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

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

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

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

Alternative 11: 62.7% accurate, 2.0× speedup?

\[\begin{array}{l} \\ \frac{v}{\left(-u\right) - 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(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}{\left(-u\right) - t1}
\end{array}
Derivation
  1. Initial program 70.5%

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

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

      \[\leadsto \color{blue}{v \cdot \frac{-t1}{\left(t1 + u\right) \cdot \left(t1 + u\right)}} \]
  3. Simplified75.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/70.5%

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

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

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

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

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

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

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

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

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

      \[\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-neg38.0%

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

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

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

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

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

      \[\leadsto \frac{\frac{t1}{t1 + u} \cdot \left(-v\right)}{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}} + \left(-u\right)} \]
    17. sqrt-unprod50.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-neg50.4%

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

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

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

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

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

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

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

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

    \[\leadsto \frac{\color{blue}{-v}}{t1 + u} \]
  10. Final simplification61.8%

    \[\leadsto \frac{v}{\left(-u\right) - t1} \]
  11. Add Preprocessing

Alternative 12: 15.2% 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 70.5%

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

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

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

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

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

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

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

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

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

    \[\leadsto \color{blue}{\frac{v}{t1}} \]
  7. Final simplification11.3%

    \[\leadsto \frac{v}{t1} \]
  8. Add Preprocessing

Reproduce

?
herbie shell --seed 2024079 
(FPCore (u v t1)
  :name "Rosa's DopplerBench"
  :precision binary64
  (/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))