Average Error: 33.1 → 20.8
Time: 1.3m
Precision: 64
Internal Precision: 576
\[\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}\;\sqrt{\left(n \cdot U\right) \cdot 2} \cdot \sqrt{t - (\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right) \cdot \left(n \cdot \left(U - U*\right)\right) + \left(\left(\ell \cdot 2\right) \cdot \frac{\ell}{Om}\right))_*} \le 1.7922553581745162 \cdot 10^{-234}:\\ \;\;\;\;{\left((\left((\left(U - U*\right) \cdot \left(n \cdot \frac{\ell}{Om}\right) + \left(\ell \cdot 2\right))_*\right) \cdot \left(\left(-2 \cdot U\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right) + \left(\left(t \cdot U\right) \cdot \left(2 \cdot n\right)\right))_*\right)}^{\frac{1}{2}}\\ \mathbf{elif}\;\sqrt{\left(n \cdot U\right) \cdot 2} \cdot \sqrt{t - (\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right) \cdot \left(n \cdot \left(U - U*\right)\right) + \left(\left(\ell \cdot 2\right) \cdot \frac{\ell}{Om}\right))_*} \le 3.345971184085273 \cdot 10^{+259}:\\ \;\;\;\;\sqrt{\left(n \cdot U\right) \cdot 2} \cdot \sqrt{t - (\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right) \cdot \left(n \cdot \left(U - U*\right)\right) + \left(\left(\ell \cdot 2\right) \cdot \frac{\ell}{Om}\right))_*}\\ \mathbf{else}:\\ \;\;\;\;{\left((\left((\left(U - U*\right) \cdot \left(n \cdot \frac{\ell}{Om}\right) + \left(\ell \cdot 2\right))_*\right) \cdot \left(\left(-2 \cdot U\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right) + \left(\left(t \cdot U\right) \cdot \left(2 \cdot n\right)\right))_*\right)}^{\frac{1}{2}}\\ \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 2 regimes
  2. if (* (sqrt (* 2 (* U n))) (sqrt (- t (fma (* (/ l Om) (/ l Om)) (* (- U U*) n) (* (/ l Om) (* 2 l)))))) < 1.7922553581745162e-234 or 3.345971184085273e+259 < (* (sqrt (* 2 (* U n))) (sqrt (- t (fma (* (/ l Om) (/ l Om)) (* (- U U*) n) (* (/ l Om) (* 2 l))))))

    1. Initial program 39.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. Initial simplification40.4

      \[\leadsto \sqrt{\left(2 \cdot \left(U \cdot n\right)\right) \cdot \left(t - (\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right) \cdot \left(\left(U - U*\right) \cdot n\right) + \left(\frac{\ell}{Om} \cdot \left(2 \cdot \ell\right)\right))_*\right)}\]
    3. Using strategy rm
    4. Applied sub-neg40.4

      \[\leadsto \sqrt{\left(2 \cdot \left(U \cdot n\right)\right) \cdot \color{blue}{\left(t + \left(-(\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right) \cdot \left(\left(U - U*\right) \cdot n\right) + \left(\frac{\ell}{Om} \cdot \left(2 \cdot \ell\right)\right))_*\right)\right)}}\]
    5. Applied distribute-rgt-in40.4

      \[\leadsto \sqrt{\color{blue}{t \cdot \left(2 \cdot \left(U \cdot n\right)\right) + \left(-(\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right) \cdot \left(\left(U - U*\right) \cdot n\right) + \left(\frac{\ell}{Om} \cdot \left(2 \cdot \ell\right)\right))_*\right) \cdot \left(2 \cdot \left(U \cdot n\right)\right)}}\]
    6. Simplified36.2

      \[\leadsto \sqrt{t \cdot \left(2 \cdot \left(U \cdot n\right)\right) + \color{blue}{\left(\left(\left(-U\right) \cdot \left(2 \cdot n\right)\right) \cdot \frac{\ell}{Om}\right) \cdot (\left(n \cdot \left(U - U*\right)\right) \cdot \left(\frac{\ell}{Om}\right) + \left(2 \cdot \ell\right))_*}}\]
    7. Using strategy rm
    8. Applied associate-*l*33.4

      \[\leadsto \sqrt{t \cdot \left(2 \cdot \left(U \cdot n\right)\right) + \color{blue}{\left(\left(-U\right) \cdot \left(\left(2 \cdot n\right) \cdot \frac{\ell}{Om}\right)\right)} \cdot (\left(n \cdot \left(U - U*\right)\right) \cdot \left(\frac{\ell}{Om}\right) + \left(2 \cdot \ell\right))_*}\]
    9. Using strategy rm
    10. Applied pow1/233.4

      \[\leadsto \color{blue}{{\left(t \cdot \left(2 \cdot \left(U \cdot n\right)\right) + \left(\left(-U\right) \cdot \left(\left(2 \cdot n\right) \cdot \frac{\ell}{Om}\right)\right) \cdot (\left(n \cdot \left(U - U*\right)\right) \cdot \left(\frac{\ell}{Om}\right) + \left(2 \cdot \ell\right))_*\right)}^{\frac{1}{2}}}\]
    11. Using strategy rm
    12. Applied pow133.4

      \[\leadsto {\color{blue}{\left({\left(t \cdot \left(2 \cdot \left(U \cdot n\right)\right) + \left(\left(-U\right) \cdot \left(\left(2 \cdot n\right) \cdot \frac{\ell}{Om}\right)\right) \cdot (\left(n \cdot \left(U - U*\right)\right) \cdot \left(\frac{\ell}{Om}\right) + \left(2 \cdot \ell\right))_*\right)}^{1}\right)}}^{\frac{1}{2}}\]
    13. Applied pow-pow33.4

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

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

    if 1.7922553581745162e-234 < (* (sqrt (* 2 (* U n))) (sqrt (- t (fma (* (/ l Om) (/ l Om)) (* (- U U*) n) (* (/ l Om) (* 2 l)))))) < 3.345971184085273e+259

    1. Initial program 16.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. Initial simplification11.0

      \[\leadsto \sqrt{\left(2 \cdot \left(U \cdot n\right)\right) \cdot \left(t - (\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right) \cdot \left(\left(U - U*\right) \cdot n\right) + \left(\frac{\ell}{Om} \cdot \left(2 \cdot \ell\right)\right))_*\right)}\]
    3. Using strategy rm
    4. Applied sqrt-prod1.0

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\sqrt{\left(n \cdot U\right) \cdot 2} \cdot \sqrt{t - (\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right) \cdot \left(n \cdot \left(U - U*\right)\right) + \left(\left(\ell \cdot 2\right) \cdot \frac{\ell}{Om}\right))_*} \le 1.7922553581745162 \cdot 10^{-234}:\\ \;\;\;\;{\left((\left((\left(U - U*\right) \cdot \left(n \cdot \frac{\ell}{Om}\right) + \left(\ell \cdot 2\right))_*\right) \cdot \left(\left(-2 \cdot U\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right) + \left(\left(t \cdot U\right) \cdot \left(2 \cdot n\right)\right))_*\right)}^{\frac{1}{2}}\\ \mathbf{elif}\;\sqrt{\left(n \cdot U\right) \cdot 2} \cdot \sqrt{t - (\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right) \cdot \left(n \cdot \left(U - U*\right)\right) + \left(\left(\ell \cdot 2\right) \cdot \frac{\ell}{Om}\right))_*} \le 3.345971184085273 \cdot 10^{+259}:\\ \;\;\;\;\sqrt{\left(n \cdot U\right) \cdot 2} \cdot \sqrt{t - (\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right) \cdot \left(n \cdot \left(U - U*\right)\right) + \left(\left(\ell \cdot 2\right) \cdot \frac{\ell}{Om}\right))_*}\\ \mathbf{else}:\\ \;\;\;\;{\left((\left((\left(U - U*\right) \cdot \left(n \cdot \frac{\ell}{Om}\right) + \left(\ell \cdot 2\right))_*\right) \cdot \left(\left(-2 \cdot U\right) \cdot \left(n \cdot \frac{\ell}{Om}\right)\right) + \left(\left(t \cdot U\right) \cdot \left(2 \cdot n\right)\right))_*\right)}^{\frac{1}{2}}\\ \end{array}\]

Runtime

Time bar (total: 1.3m)Debug logProfile

herbie shell --seed 2018216 +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*))))))