Average Error: 0.1 → 0.1
Time: 1.6m
Precision: 64
\[\left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot \left(1 - m\right)\]
\[\left(\frac{\left(1 - m\right) \cdot m}{v} - 1\right) + \left(\frac{1}{\frac{v}{\left(1 - m\right) \cdot m}} - 1\right) \cdot \left(-m\right)\]
double f(double m, double v) {
        double r2988502 = m;
        double r2988503 = 1.0;
        double r2988504 = r2988503 - r2988502;
        double r2988505 = r2988502 * r2988504;
        double r2988506 = v;
        double r2988507 = r2988505 / r2988506;
        double r2988508 = r2988507 - r2988503;
        double r2988509 = r2988508 * r2988504;
        return r2988509;
}

double f(double m, double v) {
        double r2988510 = 1.0;
        double r2988511 = m;
        double r2988512 = r2988510 - r2988511;
        double r2988513 = r2988512 * r2988511;
        double r2988514 = v;
        double r2988515 = r2988513 / r2988514;
        double r2988516 = r2988515 - r2988510;
        double r2988517 = r2988514 / r2988513;
        double r2988518 = r2988510 / r2988517;
        double r2988519 = r2988518 - r2988510;
        double r2988520 = -r2988511;
        double r2988521 = r2988519 * r2988520;
        double r2988522 = r2988516 + r2988521;
        return r2988522;
}

\left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot \left(1 - m\right)
\left(\frac{\left(1 - m\right) \cdot m}{v} - 1\right) + \left(\frac{1}{\frac{v}{\left(1 - m\right) \cdot m}} - 1\right) \cdot \left(-m\right)

Error

Bits error versus m

Bits error versus v

Derivation

  1. Initial program 0.1

    \[\left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot \left(1 - m\right)\]
  2. Using strategy rm
  3. Applied sub-neg0.1

    \[\leadsto \left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot \color{blue}{\left(1 + \left(-m\right)\right)}\]
  4. Applied distribute-rgt-in0.1

    \[\leadsto \color{blue}{1 \cdot \left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) + \left(-m\right) \cdot \left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right)}\]
  5. Using strategy rm
  6. Applied clear-num0.1

    \[\leadsto 1 \cdot \left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) + \left(-m\right) \cdot \left(\color{blue}{\frac{1}{\frac{v}{m \cdot \left(1 - m\right)}}} - 1\right)\]
  7. Final simplification0.1

    \[\leadsto \left(\frac{\left(1 - m\right) \cdot m}{v} - 1\right) + \left(\frac{1}{\frac{v}{\left(1 - m\right) \cdot m}} - 1\right) \cdot \left(-m\right)\]

Reproduce

herbie shell --seed 2019101 +o rules:numerics
(FPCore (m v)
  :name "b parameter of renormalized beta distribution"
  :pre (and (< 0 m) (< 0 v) (< v 0.25))
  (* (- (/ (* m (- 1 m)) v) 1) (- 1 m)))