Average Error: 18.4 → 0.6
Time: 10.6s
Precision: 64
\[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\]
\[\begin{array}{l} \mathbf{if}\;v \le -7.006044139584501918827799616430904568798 \cdot 10^{175} \lor \neg \left(v \le 3.148071444587039770004522793389817806585 \cdot 10^{252}\right):\\ \;\;\;\;\left(\frac{\sqrt[3]{-t1} \cdot \sqrt[3]{-t1}}{\sqrt[3]{t1 + u} \cdot \sqrt[3]{t1 + u}} \cdot \left(\frac{\sqrt[3]{-t1}}{\sqrt[3]{t1 + u}} \cdot v\right)\right) \cdot \frac{1}{t1 + u}\\ \mathbf{else}:\\ \;\;\;\;\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}\\ \end{array}\]
\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}
\begin{array}{l}
\mathbf{if}\;v \le -7.006044139584501918827799616430904568798 \cdot 10^{175} \lor \neg \left(v \le 3.148071444587039770004522793389817806585 \cdot 10^{252}\right):\\
\;\;\;\;\left(\frac{\sqrt[3]{-t1} \cdot \sqrt[3]{-t1}}{\sqrt[3]{t1 + u} \cdot \sqrt[3]{t1 + u}} \cdot \left(\frac{\sqrt[3]{-t1}}{\sqrt[3]{t1 + u}} \cdot v\right)\right) \cdot \frac{1}{t1 + u}\\

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

\end{array}
double f(double u, double v, double t1) {
        double r28973 = t1;
        double r28974 = -r28973;
        double r28975 = v;
        double r28976 = r28974 * r28975;
        double r28977 = u;
        double r28978 = r28973 + r28977;
        double r28979 = r28978 * r28978;
        double r28980 = r28976 / r28979;
        return r28980;
}

double f(double u, double v, double t1) {
        double r28981 = v;
        double r28982 = -7.006044139584502e+175;
        bool r28983 = r28981 <= r28982;
        double r28984 = 3.1480714445870398e+252;
        bool r28985 = r28981 <= r28984;
        double r28986 = !r28985;
        bool r28987 = r28983 || r28986;
        double r28988 = t1;
        double r28989 = -r28988;
        double r28990 = cbrt(r28989);
        double r28991 = r28990 * r28990;
        double r28992 = u;
        double r28993 = r28988 + r28992;
        double r28994 = cbrt(r28993);
        double r28995 = r28994 * r28994;
        double r28996 = r28991 / r28995;
        double r28997 = r28990 / r28994;
        double r28998 = r28997 * r28981;
        double r28999 = r28996 * r28998;
        double r29000 = 1.0;
        double r29001 = r29000 / r28993;
        double r29002 = r28999 * r29001;
        double r29003 = r28989 / r28993;
        double r29004 = r28981 / r28993;
        double r29005 = r29003 * r29004;
        double r29006 = r28987 ? r29002 : r29005;
        return r29006;
}

Error

Bits error versus u

Bits error versus v

Bits error versus t1

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if v < -7.006044139584502e+175 or 3.1480714445870398e+252 < v

    1. Initial program 34.5

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\]
    2. Using strategy rm
    3. Applied times-frac5.7

      \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}}\]
    4. Using strategy rm
    5. Applied div-inv5.8

      \[\leadsto \frac{-t1}{t1 + u} \cdot \color{blue}{\left(v \cdot \frac{1}{t1 + u}\right)}\]
    6. Applied associate-*r*3.4

      \[\leadsto \color{blue}{\left(\frac{-t1}{t1 + u} \cdot v\right) \cdot \frac{1}{t1 + u}}\]
    7. Using strategy rm
    8. Applied add-cube-cbrt4.3

      \[\leadsto \left(\frac{-t1}{\color{blue}{\left(\sqrt[3]{t1 + u} \cdot \sqrt[3]{t1 + u}\right) \cdot \sqrt[3]{t1 + u}}} \cdot v\right) \cdot \frac{1}{t1 + u}\]
    9. Applied add-cube-cbrt3.9

      \[\leadsto \left(\frac{\color{blue}{\left(\sqrt[3]{-t1} \cdot \sqrt[3]{-t1}\right) \cdot \sqrt[3]{-t1}}}{\left(\sqrt[3]{t1 + u} \cdot \sqrt[3]{t1 + u}\right) \cdot \sqrt[3]{t1 + u}} \cdot v\right) \cdot \frac{1}{t1 + u}\]
    10. Applied times-frac3.8

      \[\leadsto \left(\color{blue}{\left(\frac{\sqrt[3]{-t1} \cdot \sqrt[3]{-t1}}{\sqrt[3]{t1 + u} \cdot \sqrt[3]{t1 + u}} \cdot \frac{\sqrt[3]{-t1}}{\sqrt[3]{t1 + u}}\right)} \cdot v\right) \cdot \frac{1}{t1 + u}\]
    11. Applied associate-*l*0.8

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

    if -7.006044139584502e+175 < v < 3.1480714445870398e+252

    1. Initial program 15.9

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\]
    2. Using strategy rm
    3. Applied times-frac0.6

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;v \le -7.006044139584501918827799616430904568798 \cdot 10^{175} \lor \neg \left(v \le 3.148071444587039770004522793389817806585 \cdot 10^{252}\right):\\ \;\;\;\;\left(\frac{\sqrt[3]{-t1} \cdot \sqrt[3]{-t1}}{\sqrt[3]{t1 + u} \cdot \sqrt[3]{t1 + u}} \cdot \left(\frac{\sqrt[3]{-t1}}{\sqrt[3]{t1 + u}} \cdot v\right)\right) \cdot \frac{1}{t1 + u}\\ \mathbf{else}:\\ \;\;\;\;\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}\\ \end{array}\]

Reproduce

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