Average Error: 0.1 → 0.1
Time: 9.7s
Precision: 64
\[\left(x \cdot y\right) \cdot \left(1 - y\right)\]
\[\left(x \cdot y\right) \cdot 1 + \left(-\left(x \cdot y\right) \cdot y\right)\]
\left(x \cdot y\right) \cdot \left(1 - y\right)
\left(x \cdot y\right) \cdot 1 + \left(-\left(x \cdot y\right) \cdot y\right)
double f(double x, double y) {
        double r26064 = x;
        double r26065 = y;
        double r26066 = r26064 * r26065;
        double r26067 = 1.0;
        double r26068 = r26067 - r26065;
        double r26069 = r26066 * r26068;
        return r26069;
}

double f(double x, double y) {
        double r26070 = x;
        double r26071 = y;
        double r26072 = r26070 * r26071;
        double r26073 = 1.0;
        double r26074 = r26072 * r26073;
        double r26075 = r26072 * r26071;
        double r26076 = -r26075;
        double r26077 = r26074 + r26076;
        return r26077;
}

Error

Bits error versus x

Bits error versus y

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.1

    \[\left(x \cdot y\right) \cdot \left(1 - y\right)\]
  2. Using strategy rm
  3. Applied sub-neg0.1

    \[\leadsto \left(x \cdot y\right) \cdot \color{blue}{\left(1 + \left(-y\right)\right)}\]
  4. Applied distribute-lft-in0.1

    \[\leadsto \color{blue}{\left(x \cdot y\right) \cdot 1 + \left(x \cdot y\right) \cdot \left(-y\right)}\]
  5. Simplified5.3

    \[\leadsto \left(x \cdot y\right) \cdot 1 + \color{blue}{\left(-x \cdot {y}^{2}\right)}\]
  6. Using strategy rm
  7. Applied *-un-lft-identity5.3

    \[\leadsto \left(x \cdot y\right) \cdot 1 + \left(-\color{blue}{\left(1 \cdot x\right)} \cdot {y}^{2}\right)\]
  8. Applied associate-*l*5.3

    \[\leadsto \left(x \cdot y\right) \cdot 1 + \left(-\color{blue}{1 \cdot \left(x \cdot {y}^{2}\right)}\right)\]
  9. Simplified0.1

    \[\leadsto \left(x \cdot y\right) \cdot 1 + \left(-1 \cdot \color{blue}{\left(\left(x \cdot y\right) \cdot y\right)}\right)\]
  10. Final simplification0.1

    \[\leadsto \left(x \cdot y\right) \cdot 1 + \left(-\left(x \cdot y\right) \cdot y\right)\]

Reproduce

herbie shell --seed 2020042 
(FPCore (x y)
  :name "Statistics.Distribution.Binomial:$cvariance from math-functions-0.1.5.2"
  :precision binary64
  (* (* x y) (- 1 y)))