Average Error: 0.2 → 0.2
Time: 5.8s
Precision: 64
\[\left(x \cdot 3\right) \cdot x\]
\[\left(x \cdot x\right) \cdot 3\]
\left(x \cdot 3\right) \cdot x
\left(x \cdot x\right) \cdot 3
double f(double x) {
        double r159398 = x;
        double r159399 = 3.0;
        double r159400 = r159398 * r159399;
        double r159401 = r159400 * r159398;
        return r159401;
}

double f(double x) {
        double r159402 = x;
        double r159403 = r159402 * r159402;
        double r159404 = 3.0;
        double r159405 = r159403 * r159404;
        return r159405;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.2

    \[\left(x \cdot 3\right) \cdot x\]
  2. Using strategy rm
  3. Applied add-sqr-sqrt0.4

    \[\leadsto \color{blue}{\sqrt{\left(x \cdot 3\right) \cdot x} \cdot \sqrt{\left(x \cdot 3\right) \cdot x}}\]
  4. Simplified0.4

    \[\leadsto \color{blue}{\sqrt{x \cdot \left(x \cdot 3\right)}} \cdot \sqrt{\left(x \cdot 3\right) \cdot x}\]
  5. Simplified0.4

    \[\leadsto \sqrt{x \cdot \left(x \cdot 3\right)} \cdot \color{blue}{\sqrt{x \cdot \left(x \cdot 3\right)}}\]
  6. Using strategy rm
  7. Applied *-un-lft-identity0.4

    \[\leadsto \sqrt{x \cdot \left(x \cdot 3\right)} \cdot \color{blue}{\left(1 \cdot \sqrt{x \cdot \left(x \cdot 3\right)}\right)}\]
  8. Applied *-un-lft-identity0.4

    \[\leadsto \color{blue}{\left(1 \cdot \sqrt{x \cdot \left(x \cdot 3\right)}\right)} \cdot \left(1 \cdot \sqrt{x \cdot \left(x \cdot 3\right)}\right)\]
  9. Applied swap-sqr0.4

    \[\leadsto \color{blue}{\left(1 \cdot 1\right) \cdot \left(\sqrt{x \cdot \left(x \cdot 3\right)} \cdot \sqrt{x \cdot \left(x \cdot 3\right)}\right)}\]
  10. Simplified0.4

    \[\leadsto \color{blue}{1} \cdot \left(\sqrt{x \cdot \left(x \cdot 3\right)} \cdot \sqrt{x \cdot \left(x \cdot 3\right)}\right)\]
  11. Simplified0.2

    \[\leadsto 1 \cdot \color{blue}{\left(3 \cdot \left(x \cdot x\right)\right)}\]
  12. Final simplification0.2

    \[\leadsto \left(x \cdot x\right) \cdot 3\]

Reproduce

herbie shell --seed 2019194 
(FPCore (x)
  :name "Diagrams.Tangent:$catParam from diagrams-lib-1.3.0.3, F"
  (* (* x 3.0) x))