Average Error: 0.1 → 0.1
Time: 7.9s
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(1 - m\right) \cdot \left(1 \cdot \frac{m}{v} - 1\right) + \frac{{m}^{2}}{v} \cdot \left(m - 1\right)\]
\left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot \left(1 - m\right)
\left(1 - m\right) \cdot \left(1 \cdot \frac{m}{v} - 1\right) + \frac{{m}^{2}}{v} \cdot \left(m - 1\right)
double f(double m, double v) {
        double r19910 = m;
        double r19911 = 1.0;
        double r19912 = r19911 - r19910;
        double r19913 = r19910 * r19912;
        double r19914 = v;
        double r19915 = r19913 / r19914;
        double r19916 = r19915 - r19911;
        double r19917 = r19916 * r19912;
        return r19917;
}

double f(double m, double v) {
        double r19918 = 1.0;
        double r19919 = m;
        double r19920 = r19918 - r19919;
        double r19921 = v;
        double r19922 = r19919 / r19921;
        double r19923 = r19918 * r19922;
        double r19924 = r19923 - r19918;
        double r19925 = r19920 * r19924;
        double r19926 = 2.0;
        double r19927 = pow(r19919, r19926);
        double r19928 = r19927 / r19921;
        double r19929 = r19919 - r19918;
        double r19930 = r19928 * r19929;
        double r19931 = r19925 + r19930;
        return r19931;
}

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 *-un-lft-identity0.1

    \[\leadsto \left(\frac{m \cdot \left(1 - m\right)}{\color{blue}{1 \cdot v}} - 1\right) \cdot \left(1 - m\right)\]
  4. Applied times-frac0.2

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

    \[\leadsto \left(\color{blue}{m} \cdot \frac{1 - m}{v} - 1\right) \cdot \left(1 - m\right)\]
  6. Using strategy rm
  7. Applied sub-neg0.2

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

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

    \[\leadsto \left(m \cdot \frac{1 - m}{v} - 1\right) \cdot 1 + \color{blue}{\left(\left(1 \cdot m + \frac{{m}^{3}}{v}\right) - 1 \cdot \frac{{m}^{2}}{v}\right)}\]
  10. Using strategy rm
  11. Applied associate-*r/0.1

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

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

Reproduce

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