Average Error: 0.2 → 0.2
Time: 22.6s
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 m\]
\[m \cdot \left(\mathsf{fma}\left(1, -1, 1\right) + \left(\frac{\frac{m}{m + 1}}{\frac{v}{\left(m + 1\right) \cdot \left(1 - m\right)}} - 1\right)\right)\]
\left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot m
m \cdot \left(\mathsf{fma}\left(1, -1, 1\right) + \left(\frac{\frac{m}{m + 1}}{\frac{v}{\left(m + 1\right) \cdot \left(1 - m\right)}} - 1\right)\right)
double f(double m, double v) {
        double r1156233 = m;
        double r1156234 = 1.0;
        double r1156235 = r1156234 - r1156233;
        double r1156236 = r1156233 * r1156235;
        double r1156237 = v;
        double r1156238 = r1156236 / r1156237;
        double r1156239 = r1156238 - r1156234;
        double r1156240 = r1156239 * r1156233;
        return r1156240;
}

double f(double m, double v) {
        double r1156241 = m;
        double r1156242 = 1.0;
        double r1156243 = -1.0;
        double r1156244 = fma(r1156242, r1156243, r1156242);
        double r1156245 = r1156241 + r1156242;
        double r1156246 = r1156241 / r1156245;
        double r1156247 = v;
        double r1156248 = r1156242 - r1156241;
        double r1156249 = r1156245 * r1156248;
        double r1156250 = r1156247 / r1156249;
        double r1156251 = r1156246 / r1156250;
        double r1156252 = r1156251 - r1156242;
        double r1156253 = r1156244 + r1156252;
        double r1156254 = r1156241 * r1156253;
        return r1156254;
}

Error

Bits error versus m

Bits error versus v

Derivation

  1. Initial program 0.2

    \[\left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot m\]
  2. Using strategy rm
  3. Applied associate-/l*0.2

    \[\leadsto \left(\color{blue}{\frac{m}{\frac{v}{1 - m}}} - 1\right) \cdot m\]
  4. Using strategy rm
  5. Applied add-cube-cbrt0.2

    \[\leadsto \left(\frac{m}{\frac{v}{1 - m}} - \color{blue}{\left(\sqrt[3]{1} \cdot \sqrt[3]{1}\right) \cdot \sqrt[3]{1}}\right) \cdot m\]
  6. Applied flip--0.2

    \[\leadsto \left(\frac{m}{\frac{v}{\color{blue}{\frac{1 \cdot 1 - m \cdot m}{1 + m}}}} - \left(\sqrt[3]{1} \cdot \sqrt[3]{1}\right) \cdot \sqrt[3]{1}\right) \cdot m\]
  7. Applied associate-/r/0.2

    \[\leadsto \left(\frac{m}{\color{blue}{\frac{v}{1 \cdot 1 - m \cdot m} \cdot \left(1 + m\right)}} - \left(\sqrt[3]{1} \cdot \sqrt[3]{1}\right) \cdot \sqrt[3]{1}\right) \cdot m\]
  8. Applied *-un-lft-identity0.2

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

    \[\leadsto \left(\color{blue}{\frac{1}{\frac{v}{1 \cdot 1 - m \cdot m}} \cdot \frac{m}{1 + m}} - \left(\sqrt[3]{1} \cdot \sqrt[3]{1}\right) \cdot \sqrt[3]{1}\right) \cdot m\]
  10. Applied prod-diff0.2

    \[\leadsto \color{blue}{\left(\mathsf{fma}\left(\frac{1}{\frac{v}{1 \cdot 1 - m \cdot m}}, \frac{m}{1 + m}, -\sqrt[3]{1} \cdot \left(\sqrt[3]{1} \cdot \sqrt[3]{1}\right)\right) + \mathsf{fma}\left(-\sqrt[3]{1}, \sqrt[3]{1} \cdot \sqrt[3]{1}, \sqrt[3]{1} \cdot \left(\sqrt[3]{1} \cdot \sqrt[3]{1}\right)\right)\right)} \cdot m\]
  11. Simplified0.2

    \[\leadsto \left(\color{blue}{\left(\frac{1 \cdot \frac{m}{1 + m}}{\frac{v}{\left(1 + m\right) \cdot \left(1 - m\right)}} - 1\right)} + \mathsf{fma}\left(-\sqrt[3]{1}, \sqrt[3]{1} \cdot \sqrt[3]{1}, \sqrt[3]{1} \cdot \left(\sqrt[3]{1} \cdot \sqrt[3]{1}\right)\right)\right) \cdot m\]
  12. Simplified0.2

    \[\leadsto \left(\left(\frac{1 \cdot \frac{m}{1 + m}}{\frac{v}{\left(1 + m\right) \cdot \left(1 - m\right)}} - 1\right) + \color{blue}{\mathsf{fma}\left(1, -1, 1\right)}\right) \cdot m\]
  13. Final simplification0.2

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

Reproduce

herbie shell --seed 2019192 +o rules:numerics
(FPCore (m v)
  :name "a parameter of renormalized beta distribution"
  :pre (and (< 0.0 m) (< 0.0 v) (< v 0.25))
  (* (- (/ (* m (- 1.0 m)) v) 1.0) m))