Average Error: 0.1 → 0.1
Time: 37.1s
Precision: 64
\[0 \lt m \land 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(m - \frac{m \cdot m}{v}\right) + \frac{{m}^{3}}{v}\right) + \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(m - \frac{m \cdot m}{v}\right) + \frac{{m}^{3}}{v}\right) + \left(\frac{\left(1 - m\right) \cdot m}{v} - 1\right)
double f(double m, double v) {
        double r780925 = m;
        double r780926 = 1.0;
        double r780927 = r780926 - r780925;
        double r780928 = r780925 * r780927;
        double r780929 = v;
        double r780930 = r780928 / r780929;
        double r780931 = r780930 - r780926;
        double r780932 = r780931 * r780927;
        return r780932;
}

double f(double m, double v) {
        double r780933 = m;
        double r780934 = r780933 * r780933;
        double r780935 = v;
        double r780936 = r780934 / r780935;
        double r780937 = r780933 - r780936;
        double r780938 = 3.0;
        double r780939 = pow(r780933, r780938);
        double r780940 = r780939 / r780935;
        double r780941 = r780937 + r780940;
        double r780942 = 1.0;
        double r780943 = r780942 - r780933;
        double r780944 = r780943 * r780933;
        double r780945 = r780944 / r780935;
        double r780946 = r780945 - r780942;
        double r780947 = r780941 + r780946;
        return r780947;
}

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(m + \frac{{m}^{3}}{v}\right) - \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(\frac{\left(m \cdot m\right) \cdot m}{v} + \left(m - \frac{m \cdot m}{v}\right)\right)}\]
  7. Using strategy rm
  8. Applied pow10.1

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

    \[\leadsto 1 \cdot \left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) + \left(\frac{\left(m \cdot \color{blue}{{m}^{1}}\right) \cdot {m}^{1}}{v} + \left(m - \frac{m \cdot m}{v}\right)\right)\]
  10. Applied pow10.1

    \[\leadsto 1 \cdot \left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) + \left(\frac{\left(\color{blue}{{m}^{1}} \cdot {m}^{1}\right) \cdot {m}^{1}}{v} + \left(m - \frac{m \cdot m}{v}\right)\right)\]
  11. Applied pow-prod-up0.1

    \[\leadsto 1 \cdot \left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) + \left(\frac{\color{blue}{{m}^{\left(1 + 1\right)}} \cdot {m}^{1}}{v} + \left(m - \frac{m \cdot m}{v}\right)\right)\]
  12. Applied pow-prod-up0.1

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

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

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

Reproduce

herbie shell --seed 2019152 +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)))