Average Error: 0.1 → 0.1
Time: 19.6s
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}{\frac{v}{m}}\right) + \frac{\left(m \cdot m\right) \cdot m}{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}{\frac{v}{m}}\right) + \frac{\left(m \cdot m\right) \cdot m}{v}\right) + \left(\frac{\left(1 - m\right) \cdot m}{v} - 1\right)
double f(double m, double v) {
        double r626879 = m;
        double r626880 = 1.0;
        double r626881 = r626880 - r626879;
        double r626882 = r626879 * r626881;
        double r626883 = v;
        double r626884 = r626882 / r626883;
        double r626885 = r626884 - r626880;
        double r626886 = r626885 * r626881;
        return r626886;
}

double f(double m, double v) {
        double r626887 = m;
        double r626888 = v;
        double r626889 = r626888 / r626887;
        double r626890 = r626887 / r626889;
        double r626891 = r626887 - r626890;
        double r626892 = r626887 * r626887;
        double r626893 = r626892 * r626887;
        double r626894 = r626893 / r626888;
        double r626895 = r626891 + r626894;
        double r626896 = 1.0;
        double r626897 = r626896 - r626887;
        double r626898 = r626897 * r626887;
        double r626899 = r626898 / r626888;
        double r626900 = r626899 - r626896;
        double r626901 = r626895 + r626900;
        return r626901;
}

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{m \cdot \left(m \cdot m\right)}{v} + \left(m - \frac{m}{\frac{v}{m}}\right)\right)}\]
  7. Final simplification0.1

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

Reproduce

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