Average Error: 33.3 → 26.7
Time: 3.1m
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(n + n\right) \cdot \left(U \cdot \left(t - \frac{\ell + \ell}{\frac{Om}{\ell}}\right)\right) \le 0.0:\\ \;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\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)}\\ \mathbf{if}\;\left(n + n\right) \cdot \left(U \cdot \left(t - \frac{\ell + \ell}{\frac{Om}{\ell}}\right)\right) \le 1.5884791245037 \cdot 10^{+244}:\\ \;\;\;\;{\left(\left(n + n\right) \cdot \left(U \cdot \left(t - \frac{\ell + \ell}{\frac{Om}{\ell}}\right)\right)\right)}^{\frac{1}{2}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(U \cdot n\right) \cdot \left(t + t\right) - \frac{\ell \cdot 4}{\frac{1}{n} \cdot \frac{\frac{Om}{U}}{\ell}}}\\ \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 (* (+ n n) (* U (- t (/ (+ l l) (/ Om l))))) < 0.0

    1. Initial program 46.8

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

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\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)}}\]

    if 0.0 < (* (+ n n) (* U (- t (/ (+ l l) (/ Om l))))) < 1.5884791245037e+244

    1. Initial program 17.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. Taylor expanded around 0 19.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 simplify16.3

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

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

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

    if 1.5884791245037e+244 < (* (+ n n) (* U (- t (/ (+ l l) (/ Om l)))))

    1. Initial program 48.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. Taylor expanded around 0 48.7

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

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

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

      \[\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 simplify38.0

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

      \[\leadsto \sqrt{\left(U \cdot n\right) \cdot \left(t + t\right) - \frac{\ell \cdot 4}{\frac{\color{blue}{1 \cdot \frac{Om}{U}}}{n \cdot \ell}}}\]
    10. Applied times-frac38.1

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

Runtime

Time bar (total: 3.1m)Debug logProfile

herbie shell --seed '#(1064173506 2580572819 2847706409 4129882574 1125180799 1845288547)' +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*))))))