Average Error: 0.1 → 0.1
Time: 42.3s
Precision: 64
Internal Precision: 128
\[\left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot \left(1 - m\right)\]
\[\left(\frac{\frac{m}{v}}{\frac{1}{1 - m}} - 1\right) + \left(1 - \frac{m}{v} \cdot \left(1 - m\right)\right) \cdot m\]

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 associate-/l*0.1

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

    \[\leadsto \left(\frac{m}{\frac{v}{1 - m}} - 1\right) \cdot \color{blue}{\left(1 + \left(-m\right)\right)}\]
  6. Applied distribute-rgt-in0.1

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

    \[\leadsto 1 \cdot \left(\frac{m}{\frac{v}{1 - m}} - 1\right) + \color{blue}{m \cdot \left(1 - \left(1 - m\right) \cdot \frac{m}{v}\right)}\]
  8. Using strategy rm
  9. Applied div-inv0.1

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

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

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

Reproduce

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

Details

Time bar (total: 41.9s)Debug log

sample156.0ms

Algorithm
intervals

simplify486.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
485.0ms
(* (- (/ (* m (- 1 m)) v) 1) (- 1 m))

prune6.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.1b

localize16.0ms

Local error

Found 4 expressions with local error:

0.1b
(* (- (/ (* m (- 1 m)) v) 1) (- 1 m))
0.0b
(/ (* m (- 1 m)) v)
0.0b
(* m (- 1 m))
0.0b
(- (/ (* m (- 1 m)) v) 1)

rewrite22.0ms

Algorithm
rewrite-expression-head
Rules
flip--
flip3--
add-sqr-sqrt
add-cube-cbrt
*-un-lft-identity
add-exp-log
associate-*r/
associate-*r*
add-cbrt-cube
pow1
sub-neg
add-log-exp
associate-*l*
distribute-lft-in
frac-times
distribute-rgt-in
associate-/l/
*-commutative
associate-*l/
difference-of-sqr-1
associate-/l*
div-inv
cbrt-unprod
prod-exp
pow-prod-down
frac-2neg
clear-num
Counts
4 → 72
Calls
4 calls:
Slowest
11.0ms
(* (- (/ (* m (- 1 m)) v) 1) (- 1 m))
4.0ms
(- (/ (* m (- 1 m)) v) 1)
3.0ms
(/ (* m (- 1 m)) v)
1.0ms
(* m (- 1 m))

series86.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
36.0ms
(* (- (/ (* m (- 1 m)) v) 1) (- 1 m))
20.0ms
(* m (- 1 m))
18.0ms
(/ (* m (- 1 m)) v)
11.0ms
(- (/ (* m (- 1 m)) v) 1)

simplify6.5s

Counts
49 → 84
Calls
49 calls:
Slowest
738.0ms
(* (- (pow (/ (* m (- 1 m)) v) 3) (pow 1 3)) (- (pow 1 3) (pow m 3)))
545.0ms
(* (- m) (- (/ (* m (- 1 m)) v) 1))
470.0ms
(* (+ (* (/ (* m (- 1 m)) v) (/ (* m (- 1 m)) v)) (+ (* 1 1) (* (/ (* m (- 1 m)) v) 1))) (+ 1 m))
460.0ms
(* (- m) (- (/ (* m (- 1 m)) v) 1))
453.0ms
(* (- (/ (* m (- 1 m)) v) 1) (- 1 m))

prune721.0ms

Pruning

7 alts after pruning (7 fresh and 0 done)

Merged error: 0.0b

localize10.0ms

Local error

Found 4 expressions with local error:

0.1b
(* (- (/ m (/ v (- 1 m))) 1) (- 1 m))
0.0b
(/ m (/ v (- 1 m)))
0.0b
(- (/ m (/ v (- 1 m))) 1)
0.0b
(/ v (- 1 m))

rewrite17.0ms

Algorithm
rewrite-expression-head
Rules
10×add-sqr-sqrt
flip--
flip3--
associate-/r*
add-cube-cbrt
*-un-lft-identity
add-exp-log
add-cbrt-cube
pow1
associate-/r/
add-log-exp
associate-*l*
frac-times
div-inv
associate-*r*
sub-neg
associate-*r/
associate-*l/
difference-of-sqr-1
distribute-lft-in
frac-2neg
clear-num
distribute-rgt-in
cbrt-unprod
*-commutative
prod-exp
pow-prod-down
Counts
4 → 74
Calls
4 calls:
Slowest
8.0ms
(* (- (/ m (/ v (- 1 m))) 1) (- 1 m))
6.0ms
(- (/ m (/ v (- 1 m))) 1)
1.0ms
(/ m (/ v (- 1 m)))
1.0ms
(/ v (- 1 m))

series104.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
29.0ms
(* (- (/ m (/ v (- 1 m))) 1) (- 1 m))
29.0ms
(/ m (/ v (- 1 m)))
25.0ms
(/ v (- 1 m))
21.0ms
(- (/ m (/ v (- 1 m))) 1)

simplify7.0s

Counts
50 → 86
Calls
50 calls:
Slowest
712.0ms
(* (* (* (- (/ m (/ v (- 1 m))) 1) (- (/ m (/ v (- 1 m))) 1)) (- (/ m (/ v (- 1 m))) 1)) (* (* (- 1 m) (- 1 m)) (- 1 m)))
572.0ms
(* (- (pow (/ m (/ v (- 1 m))) 3) (pow 1 3)) (- (* 1 1) (* m m)))
550.0ms
(* (- m) (- (/ m (/ v (- 1 m))) 1))
537.0ms
(* (- (pow (/ m (/ v (- 1 m))) 3) (pow 1 3)) (- (pow 1 3) (pow m 3)))
487.0ms
(* (- m) (- (/ m (/ v (- 1 m))) 1))

prune723.0ms

Pruning

5 alts after pruning (5 fresh and 0 done)

Merged error: 0.0b

localize30.0ms

Local error

Found 4 expressions with local error:

0.1b
(* m (- 1 (* (- 1 m) (/ m v))))
0.1b
(* (- 1 m) (/ m v))
0.0b
(/ m (/ v (- 1 m)))
0.0b
(+ (* 1 (- (/ m (/ v (- 1 m))) 1)) (* m (- 1 (* (- 1 m) (/ m v)))))

rewrite26.0ms

Algorithm
rewrite-expression-head
Rules
11×associate-*r/
flip--
add-cube-cbrt
flip3--
*-un-lft-identity
add-sqr-sqrt
associate-*r*
add-log-exp
add-exp-log
add-cbrt-cube
distribute-lft-in
sub-neg
associate-/r*
pow1
distribute-rgt-in
frac-add
associate-+r+
associate-+l+
div-inv
associate-/r/
associate-*l*
*-commutative
associate-*l/
frac-times
flip-+
cbrt-unprod
prod-exp
pow-prod-down
flip3-+
frac-2neg
sum-log
clear-num
+-commutative
Counts
4 → 80
Calls
4 calls:
Slowest
12.0ms
(+ (* 1 (- (/ m (/ v (- 1 m))) 1)) (* m (- 1 (* (- 1 m) (/ m v)))))
7.0ms
(* (- 1 m) (/ m v))
4.0ms
(* m (- 1 (* (- 1 m) (/ m v))))
1.0ms
(/ m (/ v (- 1 m)))

series113.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
36.0ms
(+ (* 1 (- (/ m (/ v (- 1 m))) 1)) (* m (- 1 (* (- 1 m) (/ m v)))))
30.0ms
(* (- 1 m) (/ m v))
28.0ms
(* m (- 1 (* (- 1 m) (/ m v))))
19.0ms
(/ m (/ v (- 1 m)))

simplify7.9s

Counts
60 → 92
Calls
60 calls:
Slowest
505.0ms
(+ (* 1 1) (+ (* (* (- 1 m) (/ m v)) (* (- 1 m) (/ m v))) (* 1 (* (- 1 m) (/ m v)))))
448.0ms
(* (- (* (- 1 m) (/ m v))) m)
433.0ms
(* (- (* (- 1 m) (/ m v))) m)
432.0ms
(* (- (* (- 1 m) (/ m v))) m)
427.0ms
(* (- (* (- 1 m) (/ m v))) m)

prune865.0ms

Pruning

5 alts after pruning (5 fresh and 0 done)

Merged error: 0b

localize13.0ms

Local error

Found 4 expressions with local error:

0.1b
(* m (- 1 (* (- 1 m) (/ m v))))
0.1b
(/ (/ m v) (/ 1 (- 1 m)))
0.1b
(* (- 1 m) (/ m v))
0.0b
(+ (* 1 (- (/ (/ m v) (/ 1 (- 1 m))) 1)) (* m (- 1 (* (- 1 m) (/ m v)))))

rewrite21.0ms

Algorithm
rewrite-expression-head
Rules
24×times-frac
19×add-cube-cbrt
19×*-un-lft-identity
19×add-sqr-sqrt
14×div-inv
12×flip--
12×flip3--
11×associate-/r/
11×associate-*r/
10×add-exp-log
add-cbrt-cube
associate-*r*
add-log-exp
distribute-lft-in
sub-neg
associate-/r*
pow1
distribute-rgt-in
associate-/l*
frac-add
associate-+r+
associate-+l+
associate-*l*
*-commutative
associate-*l/
div-exp
frac-times
associate-/l/
flip-+
cbrt-unprod
prod-exp
pow-prod-down
flip3-+
frac-2neg
sum-log
clear-num
rec-exp
+-commutative
cbrt-undiv
Counts
4 → 112
Calls
4 calls:
Slowest
9.0ms
(+ (* 1 (- (/ (/ m v) (/ 1 (- 1 m))) 1)) (* m (- 1 (* (- 1 m) (/ m v)))))
4.0ms
(/ (/ m v) (/ 1 (- 1 m)))
3.0ms
(* (- 1 m) (/ m v))
2.0ms
(* m (- 1 (* (- 1 m) (/ m v))))

series95.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
25.0ms
(/ (/ m v) (/ 1 (- 1 m)))
24.0ms
(* (- 1 m) (/ m v))
24.0ms
(+ (* 1 (- (/ (/ m v) (/ 1 (- 1 m))) 1)) (* m (- 1 (* (- 1 m) (/ m v)))))
22.0ms
(* m (- 1 (* (- 1 m) (/ m v))))

simplify13.0s

Counts
113 → 124
Calls
113 calls:
Slowest
848.0ms
(* (- (* (- 1 m) (/ m v))) m)
808.0ms
(/ (* (* (/ m v) (/ m v)) (/ m v)) (* (* (/ 1 (- 1 m)) (/ 1 (- 1 m))) (/ 1 (- 1 m))))
523.0ms
(* (- (* (- 1 m) (/ m v))) m)
511.0ms
(* (- (* (- 1 m) (/ m v))) m)
482.0ms
(+ (* 1 1) (+ (* (* (- 1 m) (/ m v)) (* (- 1 m) (/ m v))) (* 1 (* (- 1 m) (/ m v)))))

prune1.3s

Pruning

5 alts after pruning (4 fresh and 1 done)

Merged error: 0b

regimes98.0ms

Accuracy

0% (0.1b remaining)

Error of 0.1b against oracle of 0.0b and baseline of 0.1b

bsearch4.0ms

end0.0ms

sample2.5s

Algorithm
intervals