Average Error: 0.1 → 0.1
Time: 17.6s
Precision: 64
\[0.0 \lt m \land 0.0 \lt v \land v \lt 0.25\]
\[\left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot \left(1 - m\right)\]
\[\left(\left(1 \cdot m + \frac{m}{\frac{v}{m \cdot m}}\right) - \frac{\left(m \cdot m\right) \cdot 1}{v}\right) + 1 \cdot \left(\frac{\left(1 - m\right) \cdot m}{v} - 1\right)\]
\left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot \left(1 - m\right)
\left(\left(1 \cdot m + \frac{m}{\frac{v}{m \cdot m}}\right) - \frac{\left(m \cdot m\right) \cdot 1}{v}\right) + 1 \cdot \left(\frac{\left(1 - m\right) \cdot m}{v} - 1\right)
double f(double m, double v) {
        double r1270618 = m;
        double r1270619 = 1.0;
        double r1270620 = r1270619 - r1270618;
        double r1270621 = r1270618 * r1270620;
        double r1270622 = v;
        double r1270623 = r1270621 / r1270622;
        double r1270624 = r1270623 - r1270619;
        double r1270625 = r1270624 * r1270620;
        return r1270625;
}

double f(double m, double v) {
        double r1270626 = 1.0;
        double r1270627 = m;
        double r1270628 = r1270626 * r1270627;
        double r1270629 = v;
        double r1270630 = r1270627 * r1270627;
        double r1270631 = r1270629 / r1270630;
        double r1270632 = r1270627 / r1270631;
        double r1270633 = r1270628 + r1270632;
        double r1270634 = r1270630 * r1270626;
        double r1270635 = r1270634 / r1270629;
        double r1270636 = r1270633 - r1270635;
        double r1270637 = r1270626 - r1270627;
        double r1270638 = r1270637 * r1270627;
        double r1270639 = r1270638 / r1270629;
        double r1270640 = r1270639 - r1270626;
        double r1270641 = r1270626 * r1270640;
        double r1270642 = r1270636 + r1270641;
        return r1270642;
}

Error

Bits error versus m

Bits error versus v

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

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. Taylor expanded around 0 0.1

    \[\leadsto 1 \cdot \left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) + \color{blue}{\left(\left(1 \cdot m + \frac{{m}^{3}}{v}\right) - 1 \cdot \frac{{m}^{2}}{v}\right)}\]
  6. Simplified0.1

    \[\leadsto 1 \cdot \left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) + \color{blue}{\left(\left(1 \cdot m + \frac{m \cdot \left(m \cdot m\right)}{v}\right) - \frac{\left(m \cdot m\right) \cdot 1}{v}\right)}\]
  7. Using strategy rm
  8. Applied associate-/l*0.1

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

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

Reproduce

herbie shell --seed 2019169 
(FPCore (m v)
  :name "b parameter of renormalized beta distribution"
  :pre (and (< 0.0 m) (< 0.0 v) (< v 0.25))
  (* (- (/ (* m (- 1.0 m)) v) 1.0) (- 1.0 m)))