Average Error: 0.1 → 0.1
Time: 20.5s
Precision: 64
\[0 \lt m \land 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(\frac{m - m \cdot m}{v} - 1\right)\]
\left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot \left(1 - m\right)
\left(1 - m\right) \cdot \left(\frac{m - m \cdot m}{v} - 1\right)
double f(double m, double v) {
        double r1173509 = m;
        double r1173510 = 1.0;
        double r1173511 = r1173510 - r1173509;
        double r1173512 = r1173509 * r1173511;
        double r1173513 = v;
        double r1173514 = r1173512 / r1173513;
        double r1173515 = r1173514 - r1173510;
        double r1173516 = r1173515 * r1173511;
        return r1173516;
}

double f(double m, double v) {
        double r1173517 = 1.0;
        double r1173518 = m;
        double r1173519 = r1173517 - r1173518;
        double r1173520 = r1173518 * r1173518;
        double r1173521 = r1173518 - r1173520;
        double r1173522 = v;
        double r1173523 = r1173521 / r1173522;
        double r1173524 = r1173523 - r1173517;
        double r1173525 = r1173519 * r1173524;
        return r1173525;
}

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. Taylor expanded around 0 0.1

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

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

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

Reproduce

herbie shell --seed 2019165 +o rules:numerics
(FPCore (m v)
  :name "b parameter of renormalized beta distribution"
  :pre (and (< 0 m) (< 0 v) (< v 0.25))
  (* (- (/ (* m (- 1 m)) v) 1) (- 1 m)))