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

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 sub-neg0.1

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

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

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

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

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

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

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

Reproduce

herbie shell --seed 2019004 
(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: 32.1s)Debug log

sample124.0ms

Algorithm
intervals

simplify393.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

392.0ms
(* (- (/ (* m (- 1 m)) v) 1) (- 1 m))

prune6.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.1b

localize22.0ms

Local error

Found 3 expressions with local error:

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

rewrite32.0ms

Algorithm
rewrite-expression-head
Counts
3 → 60
Calls

3 calls. Slowest were:

19.0ms
(* (- (/ (* m (- 1 m)) v) 1) (- 1 m))
10.0ms
(/ (* m (- 1 m)) v)
1.0ms
(* m (- 1 m))

series72.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

28.0ms
(* (- (/ (* m (- 1 m)) v) 1) (- 1 m))
25.0ms
(/ (* m (- 1 m)) v)
19.0ms
(* m (- 1 m))

simplify5.7s

Counts
45 → 69
Calls

45 calls. Slowest were:

549.0ms
(* (- m) (- (/ (* m (- 1 m)) v) 1))
484.0ms
(* (* (* (- (/ (* m (- 1 m)) v) 1) (- (/ (* m (- 1 m)) v) 1)) (- (/ (* m (- 1 m)) v) 1)) (* (* (- 1 m) (- 1 m)) (- 1 m)))
481.0ms
(* (+ (* (/ (* m (- 1 m)) v) (/ (* m (- 1 m)) v)) (+ (* 1 1) (* (/ (* m (- 1 m)) v) 1))) (+ 1 m))

prune620.0ms

Pruning

4 alts after pruning (4 fresh and 0 done)

Merged error: 0b

localize23.0ms

Local error

Found 4 expressions with local error:

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

rewrite24.0ms

Algorithm
rewrite-expression-head
Counts
4 → 73
Calls

4 calls. Slowest were:

16.0ms
(+ (* 1 (- (/ (* m (- 1 m)) v) 1)) (+ (* (+ -1 m) (/ m (/ v m))) m))
3.0ms
(* (+ -1 m) (/ m (/ v m)))
3.0ms
(/ (* m (- 1 m)) v)

series91.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

35.0ms
(+ (* 1 (- (/ (* m (- 1 m)) v) 1)) (+ (* (+ -1 m) (/ m (/ v m))) m))
29.0ms
(* (+ -1 m) (/ m (/ v m)))
17.0ms
(/ (* m (- 1 m)) v)
11.0ms
(/ m (/ v m))

simplify5.5s

Counts
48 → 85
Calls

48 calls. Slowest were:

557.0ms
(* (+ (* (/ (* m (- 1 m)) v) (/ (* m (- 1 m)) v)) (+ (* 1 1) (* (/ (* m (- 1 m)) v) 1))) (- (* (+ -1 m) (/ m (/ v m))) m))
459.0ms
(+ (* (* 1 (- (pow (/ (* m (- 1 m)) v) 3) (pow 1 3))) (+ (* (* (+ -1 m) (/ m (/ v m))) (* (+ -1 m) (/ m (/ v m)))) (- (* m m) (* (* (+ -1 m) (/ m (/ v m))) m)))) (* (+ (* (/ (* m (- 1 m)) v) (/ (* m (- 1 m)) v)) (+ (* 1 1) (* (/ (* m (- 1 m)) v) 1))) (+ (pow (* (+ -1 m) (/ m (/ v m))) 3) (pow m 3))))
439.0ms
(* (- (* -1 -1) (* m m)) m)

prune880.0ms

Pruning

3 alts after pruning (3 fresh and 0 done)

Merged error: 0b

localize16.0ms

Local error

Found 4 expressions with local error:

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

rewrite47.0ms

Algorithm
rewrite-expression-head
Counts
4 → 65
Calls

4 calls. Slowest were:

29.0ms
(+ (* 1 (- (/ (* m (- 1 m)) v) 1)) (+ (* (* (+ -1 m) m) (/ m v)) m))
7.0ms
(* (* (+ -1 m) m) (/ m v))
7.0ms
(+ (* (* (+ -1 m) m) (/ m v)) m)

series83.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

28.0ms
(/ (* m (- 1 m)) v)
22.0ms
(+ (* 1 (- (/ (* m (- 1 m)) v) 1)) (+ (* (* (+ -1 m) m) (/ m v)) m))
19.0ms
(* (* (+ -1 m) m) (/ m v))
14.0ms
(+ (* (* (+ -1 m) m) (/ m v)) m)

simplify5.1s

Counts
42 → 77
Calls

42 calls. Slowest were:

843.0ms
(+ (* (* 1 (- (pow (/ (* m (- 1 m)) v) 3) (pow 1 3))) (+ (* (* (* (+ -1 m) m) (/ m v)) (* (* (+ -1 m) m) (/ m v))) (- (* m m) (* (* (* (+ -1 m) m) (/ m v)) m)))) (* (+ (* (/ (* m (- 1 m)) v) (/ (* m (- 1 m)) v)) (+ (* 1 1) (* (/ (* m (- 1 m)) v) 1))) (+ (pow (* (* (+ -1 m) m) (/ m v)) 3) (pow m 3))))
382.0ms
(* (* (- (* -1 -1) (* m m)) m) m)
291.0ms
(* (+ (/ (* m (- 1 m)) v) 1) (- (* (* (+ -1 m) m) (/ m v)) m))

prune776.0ms

Pruning

3 alts after pruning (2 fresh and 1 done)

Merged error: 0b

localize12.0ms

Local error

Found 4 expressions with local error:

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

rewrite41.0ms

Algorithm
rewrite-expression-head
Counts
4 → 93
Calls

4 calls. Slowest were:

31.0ms
(+ (* (/ m v) (- 1 m)) (+ (* 1 (- 1)) (+ (* (+ -1 m) (/ m (/ v m))) m)))
4.0ms
(* (/ m v) (- 1 m))
3.0ms
(* (+ -1 m) (/ m (/ v m)))

series85.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

28.0ms
(* (+ -1 m) (/ m (/ v m)))
26.0ms
(+ (* (/ m v) (- 1 m)) (+ (* 1 (- 1)) (+ (* (+ -1 m) (/ m (/ v m))) m)))
20.0ms
(* (/ m v) (- 1 m))
10.0ms
(/ m (/ v m))

simplify8.7s

Counts
78 → 105
Calls

78 calls. Slowest were:

645.0ms
(+ (* (* (/ m v) (- (pow 1 3) (pow m 3))) (+ (* (* 1 (- 1)) (* 1 (- 1))) (- (* (+ (* (+ -1 m) (/ m (/ v m))) m) (+ (* (+ -1 m) (/ m (/ v m))) m)) (* (* 1 (- 1)) (+ (* (+ -1 m) (/ m (/ v m))) m))))) (* (+ (* 1 1) (+ (* m m) (* 1 m))) (+ (pow (* 1 (- 1)) 3) (pow (+ (* (+ -1 m) (/ m (/ v m))) m) 3))))
583.0ms
(+ (* (* (/ m v) (- (* 1 1) (* m m))) (+ (* (* 1 (- 1)) (* 1 (- 1))) (- (* (+ (* (+ -1 m) (/ m (/ v m))) m) (+ (* (+ -1 m) (/ m (/ v m))) m)) (* (* 1 (- 1)) (+ (* (+ -1 m) (/ m (/ v m))) m))))) (* (+ 1 m) (+ (pow (* 1 (- 1)) 3) (pow (+ (* (+ -1 m) (/ m (/ v m))) m) 3))))
510.0ms
(+ (* (* m (- (pow 1 3) (pow m 3))) (+ (* (* 1 (- 1)) (* 1 (- 1))) (- (* (+ (* (+ -1 m) (/ m (/ v m))) m) (+ (* (+ -1 m) (/ m (/ v m))) m)) (* (* 1 (- 1)) (+ (* (+ -1 m) (/ m (/ v m))) m))))) (* (* v (+ (* 1 1) (+ (* m m) (* 1 m)))) (+ (pow (* 1 (- 1)) 3) (pow (+ (* (+ -1 m) (/ m (/ v m))) m) 3))))

prune1.2s

Pruning

3 alts after pruning (1 fresh and 2 done)

Merged error: 0b

regimes89.0ms

Accuracy

0% (0.1b remaining)

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

bsearch2.0ms

end0.0ms

sample2.4s

Algorithm
intervals