Average Error: 0.1 → 0.1
Time: 36.1s
Precision: 64
Internal Precision: 128
\[\left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot \left(1 - m\right)\]
\[\left(\frac{\left(1 - m\right) \cdot m}{v} - 1\right) + \left(\frac{m - {m}^{3}}{\frac{v}{m} \cdot \left(-1 - m\right)} + m\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 flip-+0.1

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

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

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

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

Reproduce

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

start200.0ms

Algorithm
intervals

setup793.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0.0b

localize29.0ms

Local error

Found 4 expressions with local error:

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

rewrite41.0ms

Algorithm
rewrite-expression-head
Counts
4 → 72
Calls

4 calls. Slowest were:

18.0ms
(* (- (/ (* m (- 1 m)) v) 1) (- 1 m))
9.0ms
(/ (* m (- 1 m)) v)
7.0ms
(- (/ (* m (- 1 m)) v) 1)

series114.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

53.0ms
(/ (* m (- 1 m)) v)
23.0ms
(* (- (/ (* m (- 1 m)) v) 1) (- 1 m))
20.0ms
(* m (- 1 m))
18.0ms
(- (/ (* m (- 1 m)) v) 1)

simplify6.7s

Counts
49 → 84
Calls

49 calls. Slowest were:

654.0ms
(* (+ (* (/ (* m (- 1 m)) v) (/ (* m (- 1 m)) v)) (+ (* 1 1) (* (/ (* m (- 1 m)) v) 1))) (+ 1 m))
614.0ms
(* (* (* (- (/ (* m (- 1 m)) v) 1) (- (/ (* m (- 1 m)) v) 1)) (- (/ (* m (- 1 m)) v) 1)) (* (* (- 1 m) (- 1 m)) (- 1 m)))
511.0ms
(* (- m) (- (/ (* m (- 1 m)) v) 1))

prune787.0ms

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 0b

localize43.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:

11.0ms
(+ (* 1 (- (/ (* m (- 1 m)) v) 1)) (+ (* (+ -1 m) (/ m (/ v m))) m))
6.0ms
(/ (* m (- 1 m)) v)
5.0ms
(* (+ -1 m) (/ m (/ v m)))

series80.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

34.0ms
(+ (* 1 (- (/ (* m (- 1 m)) v) 1)) (+ (* (+ -1 m) (/ m (/ v m))) m))
20.0ms
(* (+ -1 m) (/ m (/ v m)))
16.0ms
(/ (* m (- 1 m)) v)
10.0ms
(/ m (/ v m))

simplify5.5s

Counts
48 → 85
Calls

48 calls. Slowest were:

596.0ms
(* (+ (* (/ (* m (- 1 m)) v) (/ (* m (- 1 m)) v)) (+ (* 1 1) (* (/ (* m (- 1 m)) v) 1))) (- (* (+ -1 m) (/ m (/ v m))) m))
507.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))))
340.0ms
(* (- (* -1 -1) (* m m)) m)

prune1.2s

Pruning

5 alts after pruning (4 fresh and 1 done)

Merged error: 0b

localize43.0ms

Local error

Found 4 expressions with local error:

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

rewrite81.0ms

Algorithm
rewrite-expression-head
Counts
4 → 87
Calls

4 calls. Slowest were:

57.0ms
(+ (* 1 (- (/ (* m (- 1 m)) v) 1)) (+ (/ (- m (pow m 3)) (* (- -1 m) (/ v m))) m))
9.0ms
(/ (- m (pow m 3)) (* (- -1 m) (/ v m)))
7.0ms
(* (- -1 m) (/ v m))

series159.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

64.0ms
(/ (- m (pow m 3)) (* (- -1 m) (/ v m)))
34.0ms
(+ (* 1 (- (/ (* m (- 1 m)) v) 1)) (+ (/ (- m (pow m 3)) (* (- -1 m) (/ v m))) m))
33.0ms
(* (- -1 m) (/ v m))
28.0ms
(/ (* m (- 1 m)) v)

simplify6.8s

Counts
64 → 99
Calls

64 calls. Slowest were:

505.0ms
(* (* (* (- -1 m) (- -1 m)) (- -1 m)) (* (* (/ v m) (/ v m)) (/ v m)))
449.0ms
(+ (* (* 1 (- (pow (/ (* m (- 1 m)) v) 3) (pow 1 3))) (+ (* (/ (- m (pow m 3)) (* (- -1 m) (/ v m))) (/ (- m (pow m 3)) (* (- -1 m) (/ v m)))) (- (* m m) (* (/ (- m (pow m 3)) (* (- -1 m) (/ v m))) m)))) (* (+ (* (/ (* m (- 1 m)) v) (/ (* m (- 1 m)) v)) (+ (* 1 1) (* (/ (* m (- 1 m)) v) 1))) (+ (pow (/ (- m (pow m 3)) (* (- -1 m) (/ v m))) 3) (pow m 3))))
409.0ms
(+ (* (* 1 (- (* (/ (* m (- 1 m)) v) (/ (* m (- 1 m)) v)) (* 1 1))) (+ (* (/ (- m (pow m 3)) (* (- -1 m) (/ v m))) (/ (- m (pow m 3)) (* (- -1 m) (/ v m)))) (- (* m m) (* (/ (- m (pow m 3)) (* (- -1 m) (/ v m))) m)))) (* (+ (/ (* m (- 1 m)) v) 1) (+ (pow (/ (- m (pow m 3)) (* (- -1 m) (/ v m))) 3) (pow m 3))))

prune1.3s

Pruning

5 alts after pruning (3 fresh and 2 done)

Merged error: 0b

localize13.0ms

Local error

Found 4 expressions with local error:

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

rewrite33.0ms

Algorithm
rewrite-expression-head
Counts
4 → 71
Calls

4 calls. Slowest were:

19.0ms
(+ (* 1 (- (/ (* m (- 1 m)) v) 1)) (+ (* (* (+ -1 m) (/ m v)) m) m))
7.0ms
(* (* (+ -1 m) (/ m v)) m)
3.0ms
(* (+ -1 m) (/ m v))

series89.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

26.0ms
(* (+ -1 m) (/ m v))
24.0ms
(* (* (+ -1 m) (/ m v)) m)
23.0ms
(+ (* 1 (- (/ (* m (- 1 m)) v) 1)) (+ (* (* (+ -1 m) (/ m v)) m) m))
17.0ms
(/ (* m (- 1 m)) v)

simplify6.5s

Counts
49 → 83
Calls

49 calls. Slowest were:

809.0ms
(* (* (- (* -1 -1) (* m m)) m) m)
605.0ms
(* (+ (* (/ (* m (- 1 m)) v) (/ (* m (- 1 m)) v)) (+ (* 1 1) (* (/ (* m (- 1 m)) v) 1))) (- (* (* (+ -1 m) (/ m v)) m) m))
429.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))))

prune1.2s

Pruning

5 alts after pruning (2 fresh and 3 done)

Merged error: 0b

regimes173.0ms

Accuracy

0% (0.1b remaining)

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

bsearch4.0ms