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

Error

Bits error versus m

Bits error versus v

Derivation

  1. Initial program 0.1

    \[\left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot \left(1 - m\right)\]
  2. Simplified0.1

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

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

Reproduce

herbie shell --seed 2019008 +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)))

Details

Time bar (total: 1.2m)Debug log

sample199.0ms

Algorithm
intervals

simplify483.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

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

prune12.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0.0b

localize14.0ms

Local error

Found 2 expressions with local error:

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

rewrite7.0ms

Algorithm
rewrite-expression-head
Counts
2 → 35
Calls

2 calls. Slowest were:

4.0ms
(* (fma (- 1 m) (/ m v) -1) (- 1 m))
2.0ms
(fma (- 1 m) (/ m v) -1)

series49.0ms

Counts
2 → 6
Calls

2 calls. Slowest were:

28.0ms
(* (fma (- 1 m) (/ m v) -1) (- 1 m))
21.0ms
(fma (- 1 m) (/ m v) -1)

simplify4.7s

Counts
20 → 41
Calls

20 calls. Slowest were:

933.0ms
(* (- m) (fma (- 1 m) (/ m v) -1))
910.0ms
(* (- m) (fma (- 1 m) (/ m v) -1))
662.0ms
(* (* (* (fma (- 1 m) (/ m v) -1) (fma (- 1 m) (/ m v) -1)) (fma (- 1 m) (/ m v) -1)) (* (* (- 1 m) (- 1 m)) (- 1 m)))

prune370.0ms

Pruning

5 alts after pruning (4 fresh and 1 done)

Merged error: 0.0b

localize10.0ms

Local error

Found 4 expressions with local error:

0.3b
(* (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m))) (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m))))
0.3b
(cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m)))
0.3b
(cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m)))
0.3b
(cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m)))

rewrite28.0ms

Algorithm
rewrite-expression-head
Counts
4 → 73
Calls

4 calls. Slowest were:

13.0ms
(* (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m))) (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m))))
4.0ms
(cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m)))
4.0ms
(cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m)))

series382.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

111.0ms
(* (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m))) (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m))))
105.0ms
(cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m)))
86.0ms
(cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m)))
80.0ms
(cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m)))

simplify12.9s

Counts
49 → 85
Calls

49 calls. Slowest were:

709.0ms
(* (cbrt (* (fma (- 1 m) (/ m v) -1) (- (* 1 1) (* m m)))) (cbrt (* (fma (- 1 m) (/ m v) -1) (- (* 1 1) (* m m)))))
683.0ms
(cbrt (* (fma (- 1 m) (/ m v) -1) (- (* 1 1) (* m m))))
645.0ms
(cbrt (* (fma (- 1 m) (/ m v) -1) (- (* 1 1) (* m m))))

prune1000.0ms

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 0.0b

localize14.0ms

Local error

Found 4 expressions with local error:

0.3b
(* (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m))) (cbrt (fma (- 1 m) (/ m v) -1)))
0.3b
(cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m)))
0.3b
(cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m)))
0.3b
(cbrt (fma (- 1 m) (/ m v) -1))

rewrite26.0ms

Algorithm
rewrite-expression-head
Counts
4 → 65
Calls

4 calls. Slowest were:

16.0ms
(* (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m))) (cbrt (fma (- 1 m) (/ m v) -1)))
4.0ms
(cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m)))
4.0ms
(cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m)))

series485.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

135.0ms
(* (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m))) (cbrt (fma (- 1 m) (/ m v) -1)))
124.0ms
(cbrt (fma (- 1 m) (/ m v) -1))
114.0ms
(cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m)))
113.0ms
(cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m)))

simplify7.3s

Counts
36 → 77
Calls

36 calls. Slowest were:

669.0ms
(* (cbrt (* (fma (- 1 m) (/ m v) -1) (- (* 1 1) (* m m)))) (cbrt (fma (- 1 m) (/ m v) -1)))
630.0ms
(cbrt (* (fma (- 1 m) (/ m v) -1) (- (* 1 1) (* m m))))
617.0ms
(cbrt (* (fma (- 1 m) (/ m v) -1) (- (* 1 1) (* m m))))

prune1.1s

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 0.0b

localize10.0ms

Local error

Found 4 expressions with local error:

0.3b
(* (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m))) (cbrt (* (* (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m))) (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m)))) (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m))))))
0.3b
(* (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m))) (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m))))
0.3b
(cbrt (* (* (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m))) (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m)))) (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m)))))
0.3b
(cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m)))

rewrite170.0ms

Algorithm
rewrite-expression-head
Counts
4 → 187
Calls

4 calls. Slowest were:

111.0ms
(* (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m))) (cbrt (* (* (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m))) (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m)))) (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m))))))
31.0ms
(cbrt (* (* (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m))) (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m)))) (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m)))))
10.0ms
(* (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m))) (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m))))

series415.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

116.0ms
(cbrt (* (* (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m))) (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m)))) (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m)))))
108.0ms
(* (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m))) (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m))))
100.0ms
(cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m)))
91.0ms
(* (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m))) (cbrt (* (* (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m))) (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m)))) (cbrt (* (fma (- 1 m) (/ m v) -1) (- 1 m))))))

simplify34.4s

Counts
214 → 199
Calls

214 calls. Slowest were:

726.0ms
(cbrt (* (* (cbrt (* (fma (- 1 m) (/ m v) -1) (- (* 1 1) (* m m)))) (cbrt (* (fma (- 1 m) (/ m v) -1) (- (* 1 1) (* m m))))) (cbrt (* (fma (- 1 m) (/ m v) -1) (- (* 1 1) (* m m))))))
720.0ms
(* (cbrt (* (fma (- 1 m) (/ m v) -1) (- (* 1 1) (* m m)))) (cbrt (* (* (cbrt (* (fma (- 1 m) (/ m v) -1) (- (* 1 1) (* m m)))) (cbrt (* (fma (- 1 m) (/ m v) -1) (- (* 1 1) (* m m))))) (cbrt (* (fma (- 1 m) (/ m v) -1) (- (* 1 1) (* m m)))))))
641.0ms
(* (cbrt (* (fma (- 1 m) (/ m v) -1) (- (* 1 1) (* m m)))) (cbrt (* (fma (- 1 m) (/ m v) -1) (- (* 1 1) (* m m)))))

prune3.7s

Pruning

7 alts after pruning (5 fresh and 2 done)

Merged error: 0.0b

regimes100.0ms

Accuracy

0% (0.0b remaining)

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

bsearch1.0ms

end0.0ms

sample2.1s

Algorithm
intervals