Average Error: 33.1 → 25.3
Time: 3.6m
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}\;(\left(U* - U\right) \cdot \left(\frac{\ell}{Om} \cdot \left(n \cdot \frac{\ell}{Om}\right)\right) + \left(t - \frac{\ell}{Om} \cdot \left(\ell \cdot 2\right)\right))_* \cdot \left(\left(n \cdot 2\right) \cdot U\right) + \left(0 \cdot n\right) \cdot \left(U \cdot 2\right) \le 3.3596463917205 \cdot 10^{-322}:\\ \;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \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)\right)}\\ \mathbf{if}\;(\left(U* - U\right) \cdot \left(\frac{\ell}{Om} \cdot \left(n \cdot \frac{\ell}{Om}\right)\right) + \left(t - \frac{\ell}{Om} \cdot \left(\ell \cdot 2\right)\right))_* \cdot \left(\left(n \cdot 2\right) \cdot U\right) + \left(0 \cdot n\right) \cdot \left(U \cdot 2\right) \le 2.2226068463211918 \cdot 10^{+303}:\\ \;\;\;\;\sqrt{(\left(U* - U\right) \cdot \left(\frac{\ell}{Om} \cdot \left(n \cdot \frac{\ell}{Om}\right)\right) + \left(t - \frac{\ell}{Om} \cdot \left(\ell \cdot 2\right)\right))_* \cdot \left(\left(n \cdot 2\right) \cdot U\right) + \left(0 \cdot n\right) \cdot \left(U \cdot 2\right)}\\ \mathbf{else}:\\ \;\;\;\;\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)}\\ \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 (+ (* (fma (- U* U) (* (/ l Om) (* n (/ l Om))) (- t (* (/ l Om) (* l 2)))) (* (* n 2) U)) (* (* 0 n) (* U 2))) < 3.3596463917205e-322

    1. Initial program 57.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. Using strategy rm
    3. Applied associate-*l*43.0

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

    if 3.3596463917205e-322 < (+ (* (fma (- U* U) (* (/ l Om) (* n (/ l Om))) (- t (* (/ l Om) (* l 2)))) (* (* n 2) U)) (* (* 0 n) (* U 2))) < 2.2226068463211918e+303

    1. Initial program 7.5

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

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

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

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

      \[\leadsto \sqrt{\color{blue}{(\left(U* - U\right) \cdot \left(\frac{\ell}{Om} \cdot \left(n \cdot \frac{\ell}{Om}\right)\right) + \left(t - \frac{\ell}{Om} \cdot \left(\ell \cdot 2\right)\right))_* \cdot \left(\left(n \cdot 2\right) \cdot U\right)} + (\left(-\left(U - U*\right)\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) + \left(\left(U - U*\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right)\right))_* \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\]
    7. Applied simplify1.0

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

    if 2.2226068463211918e+303 < (+ (* (fma (- U* U) (* (/ l Om) (* n (/ l Om))) (- t (* (/ l Om) (* l 2)))) (* (* n 2) U)) (* (* 0 n) (* U 2)))

    1. Initial program 60.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 sqrt-prod53.9

      \[\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)}}\]
  3. Recombined 3 regimes into one program.

Runtime

Time bar (total: 3.6m)Debug logProfile

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