Average Error: 0.5 → 0.5
Time: 2.6s
Precision: 64
\[\sqrt{x - 1} \cdot \sqrt{x}\]
\[\sqrt{1} \cdot \left(\sqrt{x - 1} \cdot \sqrt{x}\right)\]
\sqrt{x - 1} \cdot \sqrt{x}
\sqrt{1} \cdot \left(\sqrt{x - 1} \cdot \sqrt{x}\right)
double f(double x) {
        double r7504 = x;
        double r7505 = 1.0;
        double r7506 = r7504 - r7505;
        double r7507 = sqrt(r7506);
        double r7508 = sqrt(r7504);
        double r7509 = r7507 * r7508;
        return r7509;
}

double f(double x) {
        double r7510 = 1.0;
        double r7511 = sqrt(r7510);
        double r7512 = x;
        double r7513 = 1.0;
        double r7514 = r7512 - r7513;
        double r7515 = sqrt(r7514);
        double r7516 = sqrt(r7512);
        double r7517 = r7515 * r7516;
        double r7518 = r7511 * r7517;
        return r7518;
}

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 *-un-lft-identity0.5

    \[\leadsto \sqrt{\color{blue}{1 \cdot \left(x - 1\right)}} \cdot \sqrt{x}\]
  4. Applied sqrt-prod0.5

    \[\leadsto \color{blue}{\left(\sqrt{1} \cdot \sqrt{x - 1}\right)} \cdot \sqrt{x}\]
  5. Applied associate-*l*0.5

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

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

Reproduce

herbie shell --seed 2020060 
(FPCore (x)
  :name "sqrt times"
  :precision binary64
  (* (sqrt (- x 1)) (sqrt x)))