Average Error: 0.5 → 0.7
Time: 15.5s
Precision: 64
\[\sqrt{x - 1} \cdot \sqrt{x}\]
\[\sqrt{\sqrt{x}} \cdot \left(\sqrt{x - 1} \cdot \sqrt{\sqrt{x}}\right)\]
\sqrt{x - 1} \cdot \sqrt{x}
\sqrt{\sqrt{x}} \cdot \left(\sqrt{x - 1} \cdot \sqrt{\sqrt{x}}\right)
double f(double x) {
        double r458471 = x;
        double r458472 = 1.0;
        double r458473 = r458471 - r458472;
        double r458474 = sqrt(r458473);
        double r458475 = sqrt(r458471);
        double r458476 = r458474 * r458475;
        return r458476;
}

double f(double x) {
        double r458477 = x;
        double r458478 = sqrt(r458477);
        double r458479 = sqrt(r458478);
        double r458480 = 1.0;
        double r458481 = r458477 - r458480;
        double r458482 = sqrt(r458481);
        double r458483 = r458482 * r458479;
        double r458484 = r458479 * r458483;
        return r458484;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.5

    \[\sqrt{x - 1} \cdot \sqrt{x}\]
  2. Using strategy rm
  3. Applied add-sqr-sqrt0.7

    \[\leadsto \sqrt{x - 1} \cdot \color{blue}{\left(\sqrt{\sqrt{x}} \cdot \sqrt{\sqrt{x}}\right)}\]
  4. Applied associate-*r*0.7

    \[\leadsto \color{blue}{\left(\sqrt{x - 1} \cdot \sqrt{\sqrt{x}}\right) \cdot \sqrt{\sqrt{x}}}\]
  5. Final simplification0.7

    \[\leadsto \sqrt{\sqrt{x}} \cdot \left(\sqrt{x - 1} \cdot \sqrt{\sqrt{x}}\right)\]

Reproduce

herbie shell --seed 2019139 
(FPCore (x)
  :name "sqrt times"
  (* (sqrt (- x 1)) (sqrt x)))