Average Error: 0.1 → 0.7
Time: 6.3s
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)}{\mathsf{fma}\left(1, 1, \mathsf{fma}\left(m, m, 1 \cdot m\right)\right) \cdot v} - 1\right) \cdot 1 + \left(\frac{m \cdot \left({1}^{3} - {m}^{3}\right)}{\mathsf{fma}\left(1, 1, \mathsf{fma}\left(m, m, 1 \cdot m\right)\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)}{\mathsf{fma}\left(1, 1, \mathsf{fma}\left(m, m, 1 \cdot m\right)\right) \cdot v} - 1\right) \cdot 1 + \left(\frac{m \cdot \left({1}^{3} - {m}^{3}\right)}{\mathsf{fma}\left(1, 1, \mathsf{fma}\left(m, m, 1 \cdot m\right)\right) \cdot v} - 1\right) \cdot \left(-m\right)
double f(double m, double v) {
        double r16600 = m;
        double r16601 = 1.0;
        double r16602 = r16601 - r16600;
        double r16603 = r16600 * r16602;
        double r16604 = v;
        double r16605 = r16603 / r16604;
        double r16606 = r16605 - r16601;
        double r16607 = r16606 * r16602;
        return r16607;
}

double f(double m, double v) {
        double r16608 = m;
        double r16609 = 1.0;
        double r16610 = 3.0;
        double r16611 = pow(r16609, r16610);
        double r16612 = pow(r16608, r16610);
        double r16613 = r16611 - r16612;
        double r16614 = r16608 * r16613;
        double r16615 = r16609 * r16608;
        double r16616 = fma(r16608, r16608, r16615);
        double r16617 = fma(r16609, r16609, r16616);
        double r16618 = v;
        double r16619 = r16617 * r16618;
        double r16620 = r16614 / r16619;
        double r16621 = r16620 - r16609;
        double r16622 = r16621 * r16609;
        double r16623 = -r16608;
        double r16624 = r16621 * r16623;
        double r16625 = r16622 + r16624;
        return r16625;
}

Error

Bits error versus m

Bits error versus v

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

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

Reproduce

herbie shell --seed 2019356 +o rules:numerics
(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)))