Average Error: 0.2 → 0.2
Time: 24.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 m\]
\[\left(\frac{m \cdot \left(1 \cdot 1 - m \cdot m\right)}{v \cdot \left(1 + m\right)} - 1\right) \cdot m\]
\left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot m
\left(\frac{m \cdot \left(1 \cdot 1 - m \cdot m\right)}{v \cdot \left(1 + m\right)} - 1\right) \cdot m
double f(double m, double v) {
        double r21383 = m;
        double r21384 = 1.0;
        double r21385 = r21384 - r21383;
        double r21386 = r21383 * r21385;
        double r21387 = v;
        double r21388 = r21386 / r21387;
        double r21389 = r21388 - r21384;
        double r21390 = r21389 * r21383;
        return r21390;
}

double f(double m, double v) {
        double r21391 = m;
        double r21392 = 1.0;
        double r21393 = r21392 * r21392;
        double r21394 = r21391 * r21391;
        double r21395 = r21393 - r21394;
        double r21396 = r21391 * r21395;
        double r21397 = v;
        double r21398 = r21392 + r21391;
        double r21399 = r21397 * r21398;
        double r21400 = r21396 / r21399;
        double r21401 = r21400 - r21392;
        double r21402 = r21401 * r21391;
        return r21402;
}

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.2

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

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

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

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

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

Reproduce

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