Average Error: 0.1 → 0.1
Time: 19.2s
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(-m\right) \cdot \left(\left(\frac{1}{\frac{v}{m}} - \frac{m}{\frac{v}{m}}\right) - 1\right) + \left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot 1\]
\left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot \left(1 - m\right)
\left(-m\right) \cdot \left(\left(\frac{1}{\frac{v}{m}} - \frac{m}{\frac{v}{m}}\right) - 1\right) + \left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot 1
double f(double m, double v) {
        double r1314893 = m;
        double r1314894 = 1.0;
        double r1314895 = r1314894 - r1314893;
        double r1314896 = r1314893 * r1314895;
        double r1314897 = v;
        double r1314898 = r1314896 / r1314897;
        double r1314899 = r1314898 - r1314894;
        double r1314900 = r1314899 * r1314895;
        return r1314900;
}

double f(double m, double v) {
        double r1314901 = m;
        double r1314902 = -r1314901;
        double r1314903 = 1.0;
        double r1314904 = v;
        double r1314905 = r1314904 / r1314901;
        double r1314906 = r1314903 / r1314905;
        double r1314907 = r1314901 / r1314905;
        double r1314908 = r1314906 - r1314907;
        double r1314909 = r1314908 - r1314903;
        double r1314910 = r1314902 * r1314909;
        double r1314911 = r1314903 - r1314901;
        double r1314912 = r1314901 * r1314911;
        double r1314913 = r1314912 / r1314904;
        double r1314914 = r1314913 - r1314903;
        double r1314915 = r1314914 * r1314903;
        double r1314916 = r1314910 + r1314915;
        return r1314916;
}

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-lft-in0.1

    \[\leadsto \color{blue}{\left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot 1 + \left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot \left(-m\right)}\]
  5. Taylor expanded around 0 0.1

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

    \[\leadsto \left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot 1 + \left(\color{blue}{\left(\frac{m}{v} \cdot 1 - \frac{m \cdot m}{v}\right)} - 1\right) \cdot \left(-m\right)\]
  7. Using strategy rm
  8. Applied *-un-lft-identity0.1

    \[\leadsto \left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot 1 + \left(\left(\frac{m}{v} \cdot 1 - \frac{m \cdot m}{v}\right) - 1\right) \cdot \color{blue}{\left(1 \cdot \left(-m\right)\right)}\]
  9. Applied associate-*r*0.1

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

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

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

Reproduce

herbie shell --seed 2019172 
(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)))