Average Error: 0.1 → 0.7
Time: 5.5s
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(\frac{m \cdot \left({1}^{3} - {m}^{3}\right)}{\left(m \cdot \left(m + 1\right) + 1 \cdot 1\right) \cdot v} - 1\right) \cdot 1 + \left(\frac{m \cdot \left({1}^{3} - {m}^{3}\right)}{\left(m \cdot \left(m + 1\right) + 1 \cdot 1\right) \cdot v} - 1\right) \cdot \left(-m\right)\]
\left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot \left(1 - m\right)
\left(\frac{m \cdot \left({1}^{3} - {m}^{3}\right)}{\left(m \cdot \left(m + 1\right) + 1 \cdot 1\right) \cdot v} - 1\right) \cdot 1 + \left(\frac{m \cdot \left({1}^{3} - {m}^{3}\right)}{\left(m \cdot \left(m + 1\right) + 1 \cdot 1\right) \cdot v} - 1\right) \cdot \left(-m\right)
double f(double m, double v) {
        double r15670 = m;
        double r15671 = 1.0;
        double r15672 = r15671 - r15670;
        double r15673 = r15670 * r15672;
        double r15674 = v;
        double r15675 = r15673 / r15674;
        double r15676 = r15675 - r15671;
        double r15677 = r15676 * r15672;
        return r15677;
}

double f(double m, double v) {
        double r15678 = m;
        double r15679 = 1.0;
        double r15680 = 3.0;
        double r15681 = pow(r15679, r15680);
        double r15682 = pow(r15678, r15680);
        double r15683 = r15681 - r15682;
        double r15684 = r15678 * r15683;
        double r15685 = r15678 + r15679;
        double r15686 = r15678 * r15685;
        double r15687 = r15679 * r15679;
        double r15688 = r15686 + r15687;
        double r15689 = v;
        double r15690 = r15688 * r15689;
        double r15691 = r15684 / r15690;
        double r15692 = r15691 - r15679;
        double r15693 = r15692 * r15679;
        double r15694 = -r15678;
        double r15695 = r15692 * r15694;
        double r15696 = r15693 + r15695;
        return r15696;
}

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 flip3--0.1

    \[\leadsto \left(\frac{m \cdot \color{blue}{\frac{{1}^{3} - {m}^{3}}{1 \cdot 1 + \left(m \cdot m + 1 \cdot m\right)}}}{v} - 1\right) \cdot \left(1 - m\right)\]
  4. Applied associate-*r/0.7

    \[\leadsto \left(\frac{\color{blue}{\frac{m \cdot \left({1}^{3} - {m}^{3}\right)}{1 \cdot 1 + \left(m \cdot m + 1 \cdot m\right)}}}{v} - 1\right) \cdot \left(1 - m\right)\]
  5. Applied associate-/l/0.7

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

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

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

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

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

Reproduce

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