Average Error: 13.3 → 13.3
Time: 42.5s
Precision: 64
\[1.000000000000000006295358232172963997211 \cdot 10^{-150} \lt \left|x\right| \lt 9.999999999999999808355961724373745905731 \cdot 10^{149}\]
\[\sqrt{0.5 \cdot \left(1 + \frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}\right)}\]
\[\begin{array}{l} \mathbf{if}\;\frac{x}{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}} \le -0.9999999999999691357999154206481762230396:\\ \;\;\;\;\left(\log \left(\sqrt[3]{e^{\sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}}}\right)}} \cdot \sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}}}\right)}}}}\right) + \log \left(\sqrt[3]{e^{\sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}}}\right)}} \cdot \sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}}}\right)}}}} \cdot \sqrt[3]{e^{\sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}}}\right)}} \cdot \sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}}}\right)}}}}\right)\right) \cdot \sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}}}\right)}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{0.5 \cdot \left(\frac{x}{\sqrt{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}} \cdot \sqrt{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}}} + 1\right)}\\ \end{array}\]
\sqrt{0.5 \cdot \left(1 + \frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}\right)}
\begin{array}{l}
\mathbf{if}\;\frac{x}{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}} \le -0.9999999999999691357999154206481762230396:\\
\;\;\;\;\left(\log \left(\sqrt[3]{e^{\sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}}}\right)}} \cdot \sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}}}\right)}}}}\right) + \log \left(\sqrt[3]{e^{\sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}}}\right)}} \cdot \sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}}}\right)}}}} \cdot \sqrt[3]{e^{\sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}}}\right)}} \cdot \sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}}}\right)}}}}\right)\right) \cdot \sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}}}\right)}}\\

\mathbf{else}:\\
\;\;\;\;\sqrt{0.5 \cdot \left(\frac{x}{\sqrt{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}} \cdot \sqrt{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}}} + 1\right)}\\

\end{array}
double f(double p, double x) {
        double r11315542 = 0.5;
        double r11315543 = 1.0;
        double r11315544 = x;
        double r11315545 = 4.0;
        double r11315546 = p;
        double r11315547 = r11315545 * r11315546;
        double r11315548 = r11315547 * r11315546;
        double r11315549 = r11315544 * r11315544;
        double r11315550 = r11315548 + r11315549;
        double r11315551 = sqrt(r11315550);
        double r11315552 = r11315544 / r11315551;
        double r11315553 = r11315543 + r11315552;
        double r11315554 = r11315542 * r11315553;
        double r11315555 = sqrt(r11315554);
        return r11315555;
}

double f(double p, double x) {
        double r11315556 = x;
        double r11315557 = r11315556 * r11315556;
        double r11315558 = p;
        double r11315559 = 4.0;
        double r11315560 = r11315558 * r11315559;
        double r11315561 = r11315558 * r11315560;
        double r11315562 = r11315557 + r11315561;
        double r11315563 = sqrt(r11315562);
        double r11315564 = r11315556 / r11315563;
        double r11315565 = -0.9999999999999691;
        bool r11315566 = r11315564 <= r11315565;
        double r11315567 = 0.5;
        double r11315568 = 1.0;
        double r11315569 = r11315568 + r11315564;
        double r11315570 = exp(r11315569);
        double r11315571 = log(r11315570);
        double r11315572 = r11315567 * r11315571;
        double r11315573 = sqrt(r11315572);
        double r11315574 = cbrt(r11315573);
        double r11315575 = r11315574 * r11315574;
        double r11315576 = exp(r11315575);
        double r11315577 = cbrt(r11315576);
        double r11315578 = log(r11315577);
        double r11315579 = r11315577 * r11315577;
        double r11315580 = log(r11315579);
        double r11315581 = r11315578 + r11315580;
        double r11315582 = r11315581 * r11315574;
        double r11315583 = sqrt(r11315563);
        double r11315584 = r11315583 * r11315583;
        double r11315585 = r11315556 / r11315584;
        double r11315586 = r11315585 + r11315568;
        double r11315587 = r11315567 * r11315586;
        double r11315588 = sqrt(r11315587);
        double r11315589 = r11315566 ? r11315582 : r11315588;
        return r11315589;
}

Error

Bits error versus p

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original13.3
Target13.3
Herbie13.3
\[\sqrt{0.5 + \frac{\mathsf{copysign}\left(0.5, x\right)}{\mathsf{hypot}\left(1, \frac{2 \cdot p}{x}\right)}}\]

Derivation

  1. Split input into 2 regimes
  2. if (/ x (sqrt (+ (* (* 4.0 p) p) (* x x)))) < -0.9999999999999691

    1. Initial program 54.1

      \[\sqrt{0.5 \cdot \left(1 + \frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}\right)}\]
    2. Using strategy rm
    3. Applied add-log-exp54.1

      \[\leadsto \sqrt{0.5 \cdot \left(1 + \color{blue}{\log \left(e^{\frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}}\right)}\right)}\]
    4. Applied add-log-exp54.1

      \[\leadsto \sqrt{0.5 \cdot \left(\color{blue}{\log \left(e^{1}\right)} + \log \left(e^{\frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}}\right)\right)}\]
    5. Applied sum-log54.1

      \[\leadsto \sqrt{0.5 \cdot \color{blue}{\log \left(e^{1} \cdot e^{\frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}}\right)}}\]
    6. Simplified54.1

      \[\leadsto \sqrt{0.5 \cdot \log \color{blue}{\left(e^{1 + \frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}}\right)}}\]
    7. Using strategy rm
    8. Applied add-cube-cbrt54.1

      \[\leadsto \color{blue}{\left(\sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}}\right)}} \cdot \sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}}\right)}}\right) \cdot \sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}}\right)}}}\]
    9. Using strategy rm
    10. Applied add-log-exp54.1

      \[\leadsto \color{blue}{\log \left(e^{\sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}}\right)}} \cdot \sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}}\right)}}}\right)} \cdot \sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}}\right)}}\]
    11. Using strategy rm
    12. Applied add-cube-cbrt54.1

      \[\leadsto \log \color{blue}{\left(\left(\sqrt[3]{e^{\sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}}\right)}} \cdot \sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}}\right)}}}} \cdot \sqrt[3]{e^{\sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}}\right)}} \cdot \sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}}\right)}}}}\right) \cdot \sqrt[3]{e^{\sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}}\right)}} \cdot \sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}}\right)}}}}\right)} \cdot \sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}}\right)}}\]
    13. Applied log-prod54.1

      \[\leadsto \color{blue}{\left(\log \left(\sqrt[3]{e^{\sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}}\right)}} \cdot \sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}}\right)}}}} \cdot \sqrt[3]{e^{\sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}}\right)}} \cdot \sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}}\right)}}}}\right) + \log \left(\sqrt[3]{e^{\sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}}\right)}} \cdot \sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}}\right)}}}}\right)\right)} \cdot \sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}}\right)}}\]

    if -0.9999999999999691 < (/ x (sqrt (+ (* (* 4.0 p) p) (* x x))))

    1. Initial program 0.2

      \[\sqrt{0.5 \cdot \left(1 + \frac{x}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}\right)}\]
    2. Using strategy rm
    3. Applied add-sqr-sqrt0.2

      \[\leadsto \sqrt{0.5 \cdot \left(1 + \frac{x}{\sqrt{\color{blue}{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x} \cdot \sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}}}\right)}\]
    4. Applied sqrt-prod0.2

      \[\leadsto \sqrt{0.5 \cdot \left(1 + \frac{x}{\color{blue}{\sqrt{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}} \cdot \sqrt{\sqrt{\left(4 \cdot p\right) \cdot p + x \cdot x}}}}\right)}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification13.3

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{x}{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}} \le -0.9999999999999691357999154206481762230396:\\ \;\;\;\;\left(\log \left(\sqrt[3]{e^{\sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}}}\right)}} \cdot \sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}}}\right)}}}}\right) + \log \left(\sqrt[3]{e^{\sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}}}\right)}} \cdot \sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}}}\right)}}}} \cdot \sqrt[3]{e^{\sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}}}\right)}} \cdot \sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}}}\right)}}}}\right)\right) \cdot \sqrt[3]{\sqrt{0.5 \cdot \log \left(e^{1 + \frac{x}{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}}}\right)}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{0.5 \cdot \left(\frac{x}{\sqrt{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}} \cdot \sqrt{\sqrt{x \cdot x + p \cdot \left(p \cdot 4\right)}}} + 1\right)}\\ \end{array}\]

Reproduce

herbie shell --seed 2019168 
(FPCore (p x)
  :name "Given's Rotation SVD example"
  :pre (< 1e-150 (fabs x) 1e+150)

  :herbie-target
  (sqrt (+ 0.5 (/ (copysign 0.5 x) (hypot 1.0 (/ (* 2.0 p) x)))))

  (sqrt (* 0.5 (+ 1.0 (/ x (sqrt (+ (* (* 4.0 p) p) (* x x))))))))