Average Error: 33.4 → 26.8
Time: 3.3m
Precision: 64
Internal Precision: 384
\[\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}\;\left(U + U\right) \cdot \left(t - \frac{\ell + \ell}{\frac{Om}{\ell}}\right) \le -1.2957983155408528 \cdot 10^{+268}:\\ \;\;\;\;\sqrt{\left(t + t\right) \cdot \left(U \cdot n\right) - \left(\left(\frac{4}{Om} \cdot \left(n \cdot \ell\right)\right) \cdot \ell\right) \cdot U}\\ \mathbf{if}\;\left(U + U\right) \cdot \left(t - \frac{\ell + \ell}{\frac{Om}{\ell}}\right) \le -1.0026389104891047 \cdot 10^{-186}:\\ \;\;\;\;{\left(n \cdot \left(\left(U + U\right) \cdot \left(t - \frac{\ell + \ell}{\frac{Om}{\ell}}\right)\right)\right)}^{\frac{1}{2}}\\ \mathbf{if}\;\left(U + U\right) \cdot \left(t - \frac{\ell + \ell}{\frac{Om}{\ell}}\right) \le 8.639091583402157 \cdot 10^{-81}:\\ \;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(\sqrt[3]{U - U*} \cdot \sqrt[3]{U - U*}\right)\right) \cdot \sqrt[3]{U - U*}\right)}\\ \mathbf{if}\;\left(U + U\right) \cdot \left(t - \frac{\ell + \ell}{\frac{Om}{\ell}}\right) \le 1.618184842449678 \cdot 10^{+253}:\\ \;\;\;\;{\left(n \cdot \left(\left(U + U\right) \cdot \left(t - \frac{\ell + \ell}{\frac{Om}{\ell}}\right)\right)\right)}^{\frac{1}{2}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(t + t\right) \cdot \left(U \cdot n\right) - \left(\left(\frac{4}{Om} \cdot \left(n \cdot \ell\right)\right) \cdot \ell\right) \cdot U}\\ \end{array}\]

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 3 regimes
  2. if (* (+ U U) (- t (/ (+ l l) (/ Om l)))) < -1.2957983155408528e+268 or 1.618184842449678e+253 < (* (+ U U) (- t (/ (+ l l) (/ Om l))))

    1. Initial program 48.3

      \[\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. Taylor expanded around 0 48.4

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \color{blue}{0}\right)}\]
    3. Applied simplify45.4

      \[\leadsto \color{blue}{\sqrt{\left(n \cdot \left(U + U\right)\right) \cdot \left(t - \frac{\ell + \ell}{\frac{Om}{\ell}}\right)}}\]
    4. Using strategy rm
    5. Applied pow1/245.4

      \[\leadsto \color{blue}{{\left(\left(n \cdot \left(U + U\right)\right) \cdot \left(t - \frac{\ell + \ell}{\frac{Om}{\ell}}\right)\right)}^{\frac{1}{2}}}\]
    6. Taylor expanded around inf 54.5

      \[\leadsto {\color{blue}{\left(2 \cdot \left(n \cdot \left(t \cdot U\right)\right) - 4 \cdot \frac{n \cdot \left({\ell}^{2} \cdot U\right)}{Om}\right)}}^{\frac{1}{2}}\]
    7. Applied simplify37.2

      \[\leadsto \color{blue}{\sqrt{\left(t + t\right) \cdot \left(U \cdot n\right) - \left(\frac{4}{Om} \cdot \left(n \cdot \ell\right)\right) \cdot \left(\ell \cdot U\right)}}\]
    8. Using strategy rm
    9. Applied associate-*r*37.7

      \[\leadsto \sqrt{\left(t + t\right) \cdot \left(U \cdot n\right) - \color{blue}{\left(\left(\frac{4}{Om} \cdot \left(n \cdot \ell\right)\right) \cdot \ell\right) \cdot U}}\]

    if -1.2957983155408528e+268 < (* (+ U U) (- t (/ (+ l l) (/ Om l)))) < -1.0026389104891047e-186 or 8.639091583402157e-81 < (* (+ U U) (- t (/ (+ l l) (/ Om l)))) < 1.618184842449678e+253

    1. Initial program 26.0

      \[\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. Taylor expanded around 0 28.6

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \color{blue}{0}\right)}\]
    3. Applied simplify25.5

      \[\leadsto \color{blue}{\sqrt{\left(n \cdot \left(U + U\right)\right) \cdot \left(t - \frac{\ell + \ell}{\frac{Om}{\ell}}\right)}}\]
    4. Using strategy rm
    5. Applied pow1/225.5

      \[\leadsto \color{blue}{{\left(\left(n \cdot \left(U + U\right)\right) \cdot \left(t - \frac{\ell + \ell}{\frac{Om}{\ell}}\right)\right)}^{\frac{1}{2}}}\]
    6. Using strategy rm
    7. Applied associate-*l*18.8

      \[\leadsto {\color{blue}{\left(n \cdot \left(\left(U + U\right) \cdot \left(t - \frac{\ell + \ell}{\frac{Om}{\ell}}\right)\right)\right)}}^{\frac{1}{2}}\]

    if -1.0026389104891047e-186 < (* (+ U U) (- t (/ (+ l l) (/ Om l)))) < 8.639091583402157e-81

    1. Initial program 30.1

      \[\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. Using strategy rm
    3. Applied add-cube-cbrt30.2

      \[\leadsto \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 \color{blue}{\left(\left(\sqrt[3]{U - U*} \cdot \sqrt[3]{U - U*}\right) \cdot \sqrt[3]{U - U*}\right)}\right)}\]
    4. Applied associate-*r*30.2

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

Runtime

Time bar (total: 3.3m)Debug logProfile

herbie shell --seed '#(1070355188 2193211668 3977393919 3454156579 3755371326 1656365382)' +o rules:numerics
(FPCore (n U t l Om U*)
  :name "Toniolo and Linder, Equation (13)"
  (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))))