Average Error: 34.8 → 29.7
Time: 44.8s
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 5.612004155267623984403490398572000761877 \cdot 10^{59}:\\ \;\;\;\;\sqrt{\left(t - \mathsf{fma}\left(2, \ell \cdot \frac{\ell}{Om}, \left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{t - \mathsf{fma}\left(2, \ell \cdot \frac{\ell}{Om}, \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 5.612004155267623984403490398572000761877 \cdot 10^{59}:\\
\;\;\;\;\sqrt{\left(t - \mathsf{fma}\left(2, \ell \cdot \frac{\ell}{Om}, \left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\

\mathbf{else}:\\
\;\;\;\;\sqrt{t - \mathsf{fma}\left(2, \ell \cdot \frac{\ell}{Om}, \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 r98757 = 2.0;
        double r98758 = n;
        double r98759 = r98757 * r98758;
        double r98760 = U;
        double r98761 = r98759 * r98760;
        double r98762 = t;
        double r98763 = l;
        double r98764 = r98763 * r98763;
        double r98765 = Om;
        double r98766 = r98764 / r98765;
        double r98767 = r98757 * r98766;
        double r98768 = r98762 - r98767;
        double r98769 = r98763 / r98765;
        double r98770 = pow(r98769, r98757);
        double r98771 = r98758 * r98770;
        double r98772 = U_;
        double r98773 = r98760 - r98772;
        double r98774 = r98771 * r98773;
        double r98775 = r98768 - r98774;
        double r98776 = r98761 * r98775;
        double r98777 = sqrt(r98776);
        return r98777;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r98778 = t;
        double r98779 = 5.612004155267624e+59;
        bool r98780 = r98778 <= r98779;
        double r98781 = 2.0;
        double r98782 = l;
        double r98783 = Om;
        double r98784 = r98782 / r98783;
        double r98785 = r98782 * r98784;
        double r98786 = n;
        double r98787 = 2.0;
        double r98788 = r98781 / r98787;
        double r98789 = pow(r98784, r98788);
        double r98790 = r98786 * r98789;
        double r98791 = r98790 * r98789;
        double r98792 = U;
        double r98793 = U_;
        double r98794 = r98792 - r98793;
        double r98795 = r98791 * r98794;
        double r98796 = fma(r98781, r98785, r98795);
        double r98797 = r98778 - r98796;
        double r98798 = r98781 * r98786;
        double r98799 = r98798 * r98792;
        double r98800 = r98797 * r98799;
        double r98801 = sqrt(r98800);
        double r98802 = pow(r98784, r98781);
        double r98803 = r98786 * r98802;
        double r98804 = r98803 * r98794;
        double r98805 = fma(r98781, r98785, r98804);
        double r98806 = r98778 - r98805;
        double r98807 = sqrt(r98806);
        double r98808 = sqrt(r98799);
        double r98809 = r98807 * r98808;
        double r98810 = r98780 ? r98801 : r98809;
        return r98810;
}

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 < 5.612004155267624e+59

    1. Initial program 34.9

      \[\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.9

      \[\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 *-un-lft-identity34.9

      \[\leadsto \sqrt{\left(t - \mathsf{fma}\left(2, \frac{\ell \cdot \ell}{\color{blue}{1 \cdot 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)}\]
    5. Applied times-frac32.1

      \[\leadsto \sqrt{\left(t - \mathsf{fma}\left(2, \color{blue}{\frac{\ell}{1} \cdot \frac{\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)}\]
    6. Simplified32.1

      \[\leadsto \sqrt{\left(t - \mathsf{fma}\left(2, \color{blue}{\ell} \cdot \frac{\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)}\]
    7. Using strategy rm
    8. Applied sqr-pow32.1

      \[\leadsto \sqrt{\left(t - \mathsf{fma}\left(2, \ell \cdot \frac{\ell}{Om}, \left(n \cdot \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)}\right) \cdot \left(U - U*\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\]
    9. Applied associate-*r*31.1

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

    if 5.612004155267624e+59 < t

    1. Initial program 34.6

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

      \[\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 *-un-lft-identity34.6

      \[\leadsto \sqrt{\left(t - \mathsf{fma}\left(2, \frac{\ell \cdot \ell}{\color{blue}{1 \cdot 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)}\]
    5. Applied times-frac32.4

      \[\leadsto \sqrt{\left(t - \mathsf{fma}\left(2, \color{blue}{\frac{\ell}{1} \cdot \frac{\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)}\]
    6. Simplified32.4

      \[\leadsto \sqrt{\left(t - \mathsf{fma}\left(2, \color{blue}{\ell} \cdot \frac{\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)}\]
    7. Using strategy rm
    8. Applied sqrt-prod24.5

      \[\leadsto \color{blue}{\sqrt{t - \mathsf{fma}\left(2, \ell \cdot \frac{\ell}{Om}, \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 simplification29.7

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le 5.612004155267623984403490398572000761877 \cdot 10^{59}:\\ \;\;\;\;\sqrt{\left(t - \mathsf{fma}\left(2, \ell \cdot \frac{\ell}{Om}, \left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{t - \mathsf{fma}\left(2, \ell \cdot \frac{\ell}{Om}, \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 2019305 +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*))))))