Average Error: 33.8 → 30.6
Time: 44.6s
Precision: 64
\[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\]
\[\begin{array}{l} \mathbf{if}\;t \le 1.045516202577843853923853185368686409598 \cdot 10^{-37}:\\ \;\;\;\;\sqrt{\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(n \cdot \left(U - U*\right)\right)\right) + n \cdot \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U* + \left(-U*\right)\right)\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \cdot \sqrt{\left(2 \cdot n\right) \cdot U}\\ \end{array}\]
\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}
\begin{array}{l}
\mathbf{if}\;t \le 1.045516202577843853923853185368686409598 \cdot 10^{-37}:\\
\;\;\;\;\sqrt{\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(n \cdot \left(U - U*\right)\right)\right) + n \cdot \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U* + \left(-U*\right)\right)\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\

\mathbf{else}:\\
\;\;\;\;\sqrt{t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \cdot \sqrt{\left(2 \cdot n\right) \cdot U}\\

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r108637 = 2.0;
        double r108638 = n;
        double r108639 = r108637 * r108638;
        double r108640 = U;
        double r108641 = r108639 * r108640;
        double r108642 = t;
        double r108643 = l;
        double r108644 = r108643 * r108643;
        double r108645 = Om;
        double r108646 = r108644 / r108645;
        double r108647 = r108637 * r108646;
        double r108648 = r108642 - r108647;
        double r108649 = r108643 / r108645;
        double r108650 = pow(r108649, r108637);
        double r108651 = r108638 * r108650;
        double r108652 = U_;
        double r108653 = r108640 - r108652;
        double r108654 = r108651 * r108653;
        double r108655 = r108648 - r108654;
        double r108656 = r108641 * r108655;
        double r108657 = sqrt(r108656);
        return r108657;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r108658 = t;
        double r108659 = 1.0455162025778439e-37;
        bool r108660 = r108658 <= r108659;
        double r108661 = 2.0;
        double r108662 = l;
        double r108663 = Om;
        double r108664 = r108663 / r108662;
        double r108665 = r108662 / r108664;
        double r108666 = r108662 / r108663;
        double r108667 = 2.0;
        double r108668 = r108661 / r108667;
        double r108669 = pow(r108666, r108668);
        double r108670 = n;
        double r108671 = U;
        double r108672 = U_;
        double r108673 = r108671 - r108672;
        double r108674 = r108670 * r108673;
        double r108675 = r108669 * r108674;
        double r108676 = r108669 * r108675;
        double r108677 = pow(r108666, r108661);
        double r108678 = -r108672;
        double r108679 = r108672 + r108678;
        double r108680 = r108677 * r108679;
        double r108681 = r108670 * r108680;
        double r108682 = r108676 + r108681;
        double r108683 = fma(r108661, r108665, r108682);
        double r108684 = r108658 - r108683;
        double r108685 = r108661 * r108670;
        double r108686 = r108685 * r108671;
        double r108687 = r108684 * r108686;
        double r108688 = sqrt(r108687);
        double r108689 = r108670 * r108677;
        double r108690 = r108689 * r108673;
        double r108691 = fma(r108661, r108665, r108690);
        double r108692 = r108658 - r108691;
        double r108693 = sqrt(r108692);
        double r108694 = sqrt(r108686);
        double r108695 = r108693 * r108694;
        double r108696 = r108660 ? r108688 : r108695;
        return r108696;
}

Error

Bits error versus n

Bits error versus U

Bits error versus t

Bits error versus l

Bits error versus Om

Bits error versus U*

Derivation

  1. Split input into 2 regimes
  2. if t < 1.0455162025778439e-37

    1. Initial program 34.2

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\]
    2. Simplified34.2

      \[\leadsto \color{blue}{\sqrt{\left(t - \mathsf{fma}\left(2, \frac{\ell \cdot \ell}{Om}, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}}\]
    3. Using strategy rm
    4. Applied associate-/l*31.3

      \[\leadsto \sqrt{\left(t - \mathsf{fma}\left(2, \color{blue}{\frac{\ell}{\frac{Om}{\ell}}}, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\]
    5. Using strategy rm
    6. Applied add-cube-cbrt31.3

      \[\leadsto \sqrt{\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - \color{blue}{\left(\sqrt[3]{U*} \cdot \sqrt[3]{U*}\right) \cdot \sqrt[3]{U*}}\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\]
    7. Applied add-sqr-sqrt47.9

      \[\leadsto \sqrt{\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(\color{blue}{\sqrt{U} \cdot \sqrt{U}} - \left(\sqrt[3]{U*} \cdot \sqrt[3]{U*}\right) \cdot \sqrt[3]{U*}\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\]
    8. Applied prod-diff47.9

      \[\leadsto \sqrt{\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \color{blue}{\left(\mathsf{fma}\left(\sqrt{U}, \sqrt{U}, -\sqrt[3]{U*} \cdot \left(\sqrt[3]{U*} \cdot \sqrt[3]{U*}\right)\right) + \mathsf{fma}\left(-\sqrt[3]{U*}, \sqrt[3]{U*} \cdot \sqrt[3]{U*}, \sqrt[3]{U*} \cdot \left(\sqrt[3]{U*} \cdot \sqrt[3]{U*}\right)\right)\right)}\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\]
    9. Applied distribute-lft-in47.9

      \[\leadsto \sqrt{\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \color{blue}{\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \mathsf{fma}\left(\sqrt{U}, \sqrt{U}, -\sqrt[3]{U*} \cdot \left(\sqrt[3]{U*} \cdot \sqrt[3]{U*}\right)\right) + \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \mathsf{fma}\left(-\sqrt[3]{U*}, \sqrt[3]{U*} \cdot \sqrt[3]{U*}, \sqrt[3]{U*} \cdot \left(\sqrt[3]{U*} \cdot \sqrt[3]{U*}\right)\right)}\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\]
    10. Simplified32.9

      \[\leadsto \sqrt{\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \color{blue}{{\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(n \cdot \left(U - U*\right)\right)} + \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \mathsf{fma}\left(-\sqrt[3]{U*}, \sqrt[3]{U*} \cdot \sqrt[3]{U*}, \sqrt[3]{U*} \cdot \left(\sqrt[3]{U*} \cdot \sqrt[3]{U*}\right)\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\]
    11. Simplified32.7

      \[\leadsto \sqrt{\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, {\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(n \cdot \left(U - U*\right)\right) + \color{blue}{n \cdot \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U* + \left(-U*\right)\right)\right)}\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\]
    12. Using strategy rm
    13. Applied sqr-pow32.7

      \[\leadsto \sqrt{\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \color{blue}{\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)} \cdot \left(n \cdot \left(U - U*\right)\right) + n \cdot \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U* + \left(-U*\right)\right)\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\]
    14. Applied associate-*l*32.5

      \[\leadsto \sqrt{\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \color{blue}{{\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(n \cdot \left(U - U*\right)\right)\right)} + n \cdot \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U* + \left(-U*\right)\right)\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\]

    if 1.0455162025778439e-37 < t

    1. Initial program 32.7

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\]
    2. Simplified32.7

      \[\leadsto \color{blue}{\sqrt{\left(t - \mathsf{fma}\left(2, \frac{\ell \cdot \ell}{Om}, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}}\]
    3. Using strategy rm
    4. Applied associate-/l*30.0

      \[\leadsto \sqrt{\left(t - \mathsf{fma}\left(2, \color{blue}{\frac{\ell}{\frac{Om}{\ell}}}, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\]
    5. Using strategy rm
    6. Applied sqrt-prod26.0

      \[\leadsto \color{blue}{\sqrt{t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \cdot \sqrt{\left(2 \cdot n\right) \cdot U}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification30.6

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le 1.045516202577843853923853185368686409598 \cdot 10^{-37}:\\ \;\;\;\;\sqrt{\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(n \cdot \left(U - U*\right)\right)\right) + n \cdot \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U* + \left(-U*\right)\right)\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \cdot \sqrt{\left(2 \cdot n\right) \cdot U}\\ \end{array}\]

Reproduce

herbie shell --seed 2019209 +o rules:numerics
(FPCore (n U t l Om U*)
  :name "Toniolo and Linder, Equation (13)"
  :precision binary64
  (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))))