?

Average Error: 18.4 → 6.7
Time: 21.7s
Precision: binary64
Cost: 7364

?

\[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
\[\begin{array}{l} \mathbf{if}\;t1 \leq -5.5 \cdot 10^{+170}:\\ \;\;\;\;-\frac{v}{t1}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{u \cdot -2 + \left(\left(-t1\right) - \frac{{u}^{2}}{t1}\right)}\\ \end{array} \]
(FPCore (u v t1) :precision binary64 (/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))
(FPCore (u v t1)
 :precision binary64
 (if (<= t1 -5.5e+170)
   (- (/ v t1))
   (/ v (+ (* u -2.0) (- (- t1) (/ (pow u 2.0) t1))))))
double code(double u, double v, double t1) {
	return (-t1 * v) / ((t1 + u) * (t1 + u));
}
double code(double u, double v, double t1) {
	double tmp;
	if (t1 <= -5.5e+170) {
		tmp = -(v / t1);
	} else {
		tmp = v / ((u * -2.0) + (-t1 - (pow(u, 2.0) / 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
    code = (-t1 * v) / ((t1 + u) * (t1 + u))
end function
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+170)) then
        tmp = -(v / t1)
    else
        tmp = v / ((u * (-2.0d0)) + (-t1 - ((u ** 2.0d0) / t1)))
    end if
    code = tmp
end function
public static double code(double u, double v, double t1) {
	return (-t1 * v) / ((t1 + u) * (t1 + u));
}
public static double code(double u, double v, double t1) {
	double tmp;
	if (t1 <= -5.5e+170) {
		tmp = -(v / t1);
	} else {
		tmp = v / ((u * -2.0) + (-t1 - (Math.pow(u, 2.0) / t1)));
	}
	return tmp;
}
def code(u, v, t1):
	return (-t1 * v) / ((t1 + u) * (t1 + u))
def code(u, v, t1):
	tmp = 0
	if t1 <= -5.5e+170:
		tmp = -(v / t1)
	else:
		tmp = v / ((u * -2.0) + (-t1 - (math.pow(u, 2.0) / t1)))
	return tmp
function code(u, v, t1)
	return Float64(Float64(Float64(-t1) * v) / Float64(Float64(t1 + u) * Float64(t1 + u)))
end
function code(u, v, t1)
	tmp = 0.0
	if (t1 <= -5.5e+170)
		tmp = Float64(-Float64(v / t1));
	else
		tmp = Float64(v / Float64(Float64(u * -2.0) + Float64(Float64(-t1) - Float64((u ^ 2.0) / t1))));
	end
	return tmp
end
function tmp = code(u, v, t1)
	tmp = (-t1 * v) / ((t1 + u) * (t1 + u));
end
function tmp_2 = code(u, v, t1)
	tmp = 0.0;
	if (t1 <= -5.5e+170)
		tmp = -(v / t1);
	else
		tmp = v / ((u * -2.0) + (-t1 - ((u ^ 2.0) / t1)));
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := N[(N[((-t1) * v), $MachinePrecision] / N[(N[(t1 + u), $MachinePrecision] * N[(t1 + u), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
code[u_, v_, t1_] := If[LessEqual[t1, -5.5e+170], (-N[(v / t1), $MachinePrecision]), N[(v / N[(N[(u * -2.0), $MachinePrecision] + N[((-t1) - N[(N[Power[u, 2.0], $MachinePrecision] / t1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}
\begin{array}{l}
\mathbf{if}\;t1 \leq -5.5 \cdot 10^{+170}:\\
\;\;\;\;-\frac{v}{t1}\\

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


\end{array}

Error?

Try it out?

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation?

  1. Split input into 2 regimes
  2. if t1 < -5.4999999999999999e170

    1. Initial program 39.9

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Taylor expanded in t1 around inf 5.5

      \[\leadsto \color{blue}{-1 \cdot \frac{v}{t1}} \]
    3. Simplified5.5

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

      [Start]5.5

      \[ -1 \cdot \frac{v}{t1} \]

      rational.json-simplify-2 [=>]5.5

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

      rational.json-simplify-9 [=>]5.5

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

    if -5.4999999999999999e170 < t1

    1. Initial program 15.6

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Applied egg-rr48.9

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

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

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

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

      [Start]48.5

      \[ \frac{1}{\frac{t1 \cdot \left(-v\right)}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \cdot \left(\frac{t1 \cdot \left(-v\right)}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \cdot \left(-1 \cdot \frac{{u}^{2}}{t1 \cdot v} + \left(-2 \cdot \frac{u}{v} + -1 \cdot \frac{t1}{v}\right)\right)\right)} \cdot \left(\frac{t1 \cdot \left(-v\right)}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \cdot \frac{t1 \cdot \left(-v\right)}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\right) \]

      rational.json-simplify-41 [=>]48.5

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

      rational.json-simplify-2 [=>]48.5

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

      rational.json-simplify-47 [=>]48.5

      \[ \frac{1}{\frac{t1 \cdot \left(-v\right)}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \cdot \left(\frac{t1 \cdot \left(-v\right)}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \cdot \left(-2 \cdot \frac{u}{v} + \color{blue}{-1 \cdot \left(\frac{{u}^{2}}{t1 \cdot v} + \frac{t1}{v}\right)}\right)\right)} \cdot \left(\frac{t1 \cdot \left(-v\right)}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \cdot \frac{t1 \cdot \left(-v\right)}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\right) \]
    6. Taylor expanded in v around 0 6.9

      \[\leadsto \color{blue}{\frac{v}{-2 \cdot u + -1 \cdot \left(t1 + \frac{{u}^{2}}{t1}\right)}} \]
    7. Simplified6.9

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

      [Start]6.9

      \[ \frac{v}{-2 \cdot u + -1 \cdot \left(t1 + \frac{{u}^{2}}{t1}\right)} \]

      rational.json-simplify-2 [=>]6.9

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

      rational.json-simplify-2 [=>]6.9

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

      rational.json-simplify-9 [=>]6.9

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

      rational.json-simplify-12 [=>]6.9

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

      rational.json-simplify-46 [=>]6.9

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

      rational.json-simplify-12 [<=]6.9

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;t1 \leq -5.5 \cdot 10^{+170}:\\ \;\;\;\;-\frac{v}{t1}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{u \cdot -2 + \left(\left(-t1\right) - \frac{{u}^{2}}{t1}\right)}\\ \end{array} \]

Alternatives

Alternative 1
Error9.6
Cost1032
\[\begin{array}{l} t_1 := -\frac{v}{t1}\\ \mathbf{if}\;t1 \leq -6.8 \cdot 10^{+140}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;t1 \leq 3 \cdot 10^{+92}:\\ \;\;\;\;\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 2
Error28.3
Cost968
\[\begin{array}{l} t_1 := \left(0 - \left(-1 - v \cdot \frac{-1}{t1}\right)\right) - 1\\ \mathbf{if}\;u \leq -5.5 \cdot 10^{+123}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;u \leq 8.5 \cdot 10^{+56}:\\ \;\;\;\;-\frac{v}{t1}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 3
Error31.0
Cost256
\[-\frac{v}{t1} \]

Error

Reproduce?

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