Average Error: 33.1 → 24.4
Time: 1.2m
Precision: 64
Internal Precision: 128
\[\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(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \le 0.0:\\ \;\;\;\;\left|\sqrt{(\left((\left(\frac{\ell}{Om}\right) \cdot \left(\left(U - U*\right) \cdot n\right) + \left(2 \cdot \ell\right))_*\right) \cdot \left(\frac{\left(U \cdot -2\right) \cdot \ell}{\frac{Om}{n}}\right) + \left(\left(U \cdot 2\right) \cdot \left(t \cdot n\right)\right))_*}\right|\\ \mathbf{elif}\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \le 1.87847047248921 \cdot 10^{+138}:\\ \;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\left|\sqrt{(\left((\left(U - U*\right) \cdot \left(n \cdot \frac{\ell}{Om}\right) + \left(2 \cdot \ell\right))_*\right) \cdot \left(\frac{\left(\ell \cdot n\right) \cdot \left(U \cdot -2\right)}{Om}\right) + \left(\left(2 \cdot n\right) \cdot \left(U \cdot t\right)\right))_*}\right|\\ \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 (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))) < 0.0

    1. Initial program 56.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. Initial simplification56.6

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

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

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

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

      \[\leadsto \sqrt{t \cdot \left(2 \cdot \left(U \cdot n\right)\right) + \color{blue}{\left(n \cdot \left(\left(U \cdot -2\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 add-sqr-sqrt54.1

      \[\leadsto \sqrt{\color{blue}{\sqrt{t \cdot \left(2 \cdot \left(U \cdot n\right)\right) + \left(n \cdot \left(\left(U \cdot -2\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))_*} \cdot \sqrt{t \cdot \left(2 \cdot \left(U \cdot n\right)\right) + \left(n \cdot \left(\left(U \cdot -2\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))_*}}}\]
    11. Applied rem-sqrt-square54.1

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

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

    if 0.0 < (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))) < 1.87847047248921e+138

    1. Initial program 1.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)}\]

    if 1.87847047248921e+138 < (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))))

    1. Initial program 58.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. Initial simplification51.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 sub-neg51.0

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

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

      \[\leadsto \sqrt{t \cdot \left(2 \cdot \left(U \cdot n\right)\right) + \color{blue}{\left(\left(n \cdot \left(U \cdot -2\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 add-sqr-sqrt43.9

      \[\leadsto \sqrt{\color{blue}{\sqrt{t \cdot \left(2 \cdot \left(U \cdot n\right)\right) + \left(\left(n \cdot \left(U \cdot -2\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))_*} \cdot \sqrt{t \cdot \left(2 \cdot \left(U \cdot n\right)\right) + \left(\left(n \cdot \left(U \cdot -2\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))_*}}}\]
    9. Applied rem-sqrt-square43.9

      \[\leadsto \color{blue}{\left|\sqrt{t \cdot \left(2 \cdot \left(U \cdot n\right)\right) + \left(\left(n \cdot \left(U \cdot -2\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))_*}\right|}\]
    10. Simplified43.1

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

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

Runtime

Time bar (total: 1.2m)Debug logProfile

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