Average Error: 34.5 → 27.8
Time: 1.4m
Precision: 64
\[\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}\;U \le -2.747196773397988555579189242829971406162 \cdot 10^{-277}:\\ \;\;\;\;\sqrt{\sqrt{\left(\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot 2\right) \cdot U}} \cdot \sqrt{\sqrt{\left(\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot 2\right) \cdot U}}\\ \mathbf{elif}\;U \le 4.23622323501100973617753573159479706023 \cdot 10^{-287}:\\ \;\;\;\;\sqrt{\left(U \cdot \left(2 \cdot n\right)\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(U - U*\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot n\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{U} \cdot \sqrt{\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot 2}\\ \end{array}\]
\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}\;U \le -2.747196773397988555579189242829971406162 \cdot 10^{-277}:\\
\;\;\;\;\sqrt{\sqrt{\left(\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot 2\right) \cdot U}} \cdot \sqrt{\sqrt{\left(\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot 2\right) \cdot U}}\\

\mathbf{elif}\;U \le 4.23622323501100973617753573159479706023 \cdot 10^{-287}:\\
\;\;\;\;\sqrt{\left(U \cdot \left(2 \cdot n\right)\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(U - U*\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot n\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;\sqrt{U} \cdot \sqrt{\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot 2}\\

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r2909175 = 2.0;
        double r2909176 = n;
        double r2909177 = r2909175 * r2909176;
        double r2909178 = U;
        double r2909179 = r2909177 * r2909178;
        double r2909180 = t;
        double r2909181 = l;
        double r2909182 = r2909181 * r2909181;
        double r2909183 = Om;
        double r2909184 = r2909182 / r2909183;
        double r2909185 = r2909175 * r2909184;
        double r2909186 = r2909180 - r2909185;
        double r2909187 = r2909181 / r2909183;
        double r2909188 = pow(r2909187, r2909175);
        double r2909189 = r2909176 * r2909188;
        double r2909190 = U_;
        double r2909191 = r2909178 - r2909190;
        double r2909192 = r2909189 * r2909191;
        double r2909193 = r2909186 - r2909192;
        double r2909194 = r2909179 * r2909193;
        double r2909195 = sqrt(r2909194);
        return r2909195;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r2909196 = U;
        double r2909197 = -2.7471967733979886e-277;
        bool r2909198 = r2909196 <= r2909197;
        double r2909199 = n;
        double r2909200 = t;
        double r2909201 = l;
        double r2909202 = Om;
        double r2909203 = r2909201 / r2909202;
        double r2909204 = 2.0;
        double r2909205 = r2909204 * r2909201;
        double r2909206 = 2.0;
        double r2909207 = r2909204 / r2909206;
        double r2909208 = pow(r2909203, r2909207);
        double r2909209 = r2909208 * r2909199;
        double r2909210 = r2909209 * r2909208;
        double r2909211 = U_;
        double r2909212 = r2909196 - r2909211;
        double r2909213 = r2909210 * r2909212;
        double r2909214 = fma(r2909203, r2909205, r2909213);
        double r2909215 = r2909200 - r2909214;
        double r2909216 = r2909199 * r2909215;
        double r2909217 = r2909216 * r2909204;
        double r2909218 = r2909217 * r2909196;
        double r2909219 = sqrt(r2909218);
        double r2909220 = sqrt(r2909219);
        double r2909221 = r2909220 * r2909220;
        double r2909222 = 4.23622323501101e-287;
        bool r2909223 = r2909196 <= r2909222;
        double r2909224 = r2909204 * r2909199;
        double r2909225 = r2909196 * r2909224;
        double r2909226 = r2909201 * r2909201;
        double r2909227 = r2909226 / r2909202;
        double r2909228 = r2909204 * r2909227;
        double r2909229 = r2909200 - r2909228;
        double r2909230 = pow(r2909203, r2909204);
        double r2909231 = r2909230 * r2909199;
        double r2909232 = r2909212 * r2909231;
        double r2909233 = r2909229 - r2909232;
        double r2909234 = r2909225 * r2909233;
        double r2909235 = sqrt(r2909234);
        double r2909236 = sqrt(r2909196);
        double r2909237 = sqrt(r2909217);
        double r2909238 = r2909236 * r2909237;
        double r2909239 = r2909223 ? r2909235 : r2909238;
        double r2909240 = r2909198 ? r2909221 : r2909239;
        return r2909240;
}

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 < -2.7471967733979886e-277

    1. Initial program 33.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. Simplified30.8

      \[\leadsto \color{blue}{\sqrt{U \cdot \left(\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot 2\right)}}\]
    3. Using strategy rm
    4. Applied sqr-pow30.8

      \[\leadsto \sqrt{U \cdot \left(\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(n \cdot \color{blue}{\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)}\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot 2\right)}\]
    5. Applied associate-*r*29.6

      \[\leadsto \sqrt{U \cdot \left(\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \color{blue}{\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)} \cdot \left(U - U*\right)\right)\right)\right) \cdot 2\right)}\]
    6. Using strategy rm
    7. Applied add-sqr-sqrt29.8

      \[\leadsto \color{blue}{\sqrt{\sqrt{U \cdot \left(\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot 2\right)}} \cdot \sqrt{\sqrt{U \cdot \left(\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot 2\right)}}}\]

    if -2.7471967733979886e-277 < U < 4.23622323501101e-287

    1. Initial program 42.2

      \[\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 4.23622323501101e-287 < U

    1. Initial program 34.4

      \[\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. Simplified31.8

      \[\leadsto \color{blue}{\sqrt{U \cdot \left(\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot 2\right)}}\]
    3. Using strategy rm
    4. Applied sqr-pow31.8

      \[\leadsto \sqrt{U \cdot \left(\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(n \cdot \color{blue}{\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)}\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot 2\right)}\]
    5. Applied associate-*r*30.7

      \[\leadsto \sqrt{U \cdot \left(\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \color{blue}{\left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)} \cdot \left(U - U*\right)\right)\right)\right) \cdot 2\right)}\]
    6. Using strategy rm
    7. Applied sqrt-prod24.1

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;U \le -2.747196773397988555579189242829971406162 \cdot 10^{-277}:\\ \;\;\;\;\sqrt{\sqrt{\left(\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot 2\right) \cdot U}} \cdot \sqrt{\sqrt{\left(\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot 2\right) \cdot U}}\\ \mathbf{elif}\;U \le 4.23622323501100973617753573159479706023 \cdot 10^{-287}:\\ \;\;\;\;\sqrt{\left(U \cdot \left(2 \cdot n\right)\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(U - U*\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot n\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{U} \cdot \sqrt{\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot 2}\\ \end{array}\]

Reproduce

herbie shell --seed 2019169 +o rules:numerics
(FPCore (n U t l Om U*)
  :name "Toniolo and Linder, Equation (13)"
  (sqrt (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*))))))