Average Error: 0.2 → 0.2
Time: 16.1s
Precision: 64
Internal Precision: 128
\[\left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot m\]
\[\left(\frac{m + \left(-m\right) \cdot m}{v} - 1\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.2

    \[\left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot m\]
  2. Using strategy rm
  3. Applied sub-neg0.2

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

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

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

Reproduce

herbie shell --seed 2019010 
(FPCore (m v)
  :name "a parameter of renormalized beta distribution"
  :pre (and (< 0 m) (< 0 v) (< v 0.25))
  (* (- (/ (* m (- 1 m)) v) 1) m))

Details

Time bar (total: 15.4s)Debug log

sample443.0ms

Algorithm
intervals

simplify569.0ms

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

prune12.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.2b

localize42.0ms

Local error

Found 4 expressions with local error:

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

rewrite39.0ms

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt
add-cube-cbrt
*-un-lft-identity
add-log-exp
flip--
add-exp-log
associate-*r/
associate-*l*
add-cbrt-cube
flip3--
pow1
associate-*r*
sub-neg
associate-/l/
*-commutative
associate-*l/
difference-of-sqr-1
distribute-lft-in
distribute-rgt-in
associate-/l*
div-inv
frac-2neg
clear-num
Counts
4 → 56
Calls
4 calls:
Slowest
19.0ms
(* (- (/ (* m (- 1 m)) v) 1) m)
8.0ms
(- (/ (* m (- 1 m)) v) 1)
7.0ms
(/ (* m (- 1 m)) v)
2.0ms
(* m (- 1 m))

series107.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
43.0ms
(* (- (/ (* m (- 1 m)) v) 1) m)
27.0ms
(/ (* m (- 1 m)) v)
23.0ms
(* m (- 1 m))
11.0ms
(- (/ (* m (- 1 m)) v) 1)

simplify1.4s

Counts
29 → 68
Calls
29 calls:
Slowest
284.0ms
(* (- (pow (/ (* m (- 1 m)) v) 3) (pow 1 3)) m)
126.0ms
(- (/ (pow m 2) v) (+ m (/ (pow m 3) v)))
117.0ms
(- (/ (pow m 2) v) (+ m (/ (pow m 3) v)))
116.0ms
(* (- (* (/ (* m (- 1 m)) v) (/ (* m (- 1 m)) v)) (* 1 1)) m)
92.0ms
(sqrt (- (/ (* m (- 1 m)) v) 1))

prune584.0ms

Pruning

8 alts after pruning (8 fresh and 0 done)

Merged error: 0.0b

localize32.0ms

Local error

Found 4 expressions with local error:

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

rewrite95.0ms

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt
add-log-exp
add-cube-cbrt
*-un-lft-identity
distribute-lft-neg-out
associate-/l*
add-exp-log
associate-*l*
div-sub
add-cbrt-cube
pow1
unsub-neg
associate-/l/
flip--
flip-+
associate-*l/
difference-of-sqr-1
flip3--
distribute-rgt-out
flip3-+
associate--l-
div-inv
*-commutative
frac-2neg
sub-neg
sum-log
clear-num
+-commutative
Counts
4 → 60
Calls
4 calls:
Slowest
49.0ms
(* (- (/ (+ (* 1 m) (* (- m) m)) v) 1) m)
24.0ms
(- (/ (+ (* 1 m) (* (- m) m)) v) 1)
16.0ms
(/ (+ (* 1 m) (* (- m) m)) v)
5.0ms
(+ (* 1 m) (* (- m) m))

series520.0ms

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

simplify2.1s

Counts
30 → 72
Calls
30 calls:
Slowest
528.0ms
(+ (pow (* 1 m) 3) (pow (* (- m) m) 3))
319.0ms
(- (* (* 1 m) (* 1 m)) (* (* (- m) m) (* (- m) m)))
254.0ms
(* (- (* (/ (+ (* 1 m) (* (- m) m)) v) (/ (+ (* 1 m) (* (- m) m)) v)) (* 1 1)) m)
184.0ms
(* (- (pow (/ (+ (* 1 m) (* (- m) m)) v) 3) (pow 1 3)) m)
120.0ms
(- (/ (pow m 2) v) (+ m (/ (pow m 3) v)))

prune542.0ms

Pruning

9 alts after pruning (8 fresh and 1 done)

Merged error: 0.0b

localize37.0ms

Local error

Found 4 expressions with local error:

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

rewrite26.0ms

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

series128.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
42.0ms
(- m (pow m 3))
36.0ms
(/ (- m (pow m 3)) (* v (+ 1 m)))
32.0ms
(* (- (/ (- m (pow m 3)) (* v (+ 1 m))) 1) m)
19.0ms
(* v (+ 1 m))

simplify2.8s

Counts
40 → 76
Calls
40 calls:
Slowest
458.0ms
(* (- (pow (/ (- m (pow m 3)) (* v (+ 1 m))) 3) (pow 1 3)) m)
310.0ms
(sqrt (- (/ (- m (pow m 3)) (* v (+ 1 m))) 1))
279.0ms
(* (cbrt (- (/ (- m (pow m 3)) (* v (+ 1 m))) 1)) (cbrt (- (/ (- m (pow m 3)) (* v (+ 1 m))) 1)))
265.0ms
(+ (sqrt (/ (- m (pow m 3)) (* v (+ 1 m)))) 1)
262.0ms
(* (- (* (/ (- m (pow m 3)) (* v (+ 1 m))) (/ (- m (pow m 3)) (* v (+ 1 m)))) (* 1 1)) m)

prune742.0ms

Pruning

10 alts after pruning (8 fresh and 2 done)

Merged error: 0.0b

localize16.0ms

Local error

Found 4 expressions with local error:

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

rewrite10.0ms

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

series95.0ms

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

simplify2.3s

Counts
37 → 76
Calls
37 calls:
Slowest
819.0ms
(* (- (* (/ 1 (/ v (* m (- 1 m)))) (/ 1 (/ v (* m (- 1 m))))) (* 1 1)) m)
307.0ms
(* (- (pow (/ 1 (/ v (* m (- 1 m)))) 3) (pow 1 3)) m)
183.0ms
(sqrt (- (/ 1 (/ v (* m (- 1 m)))) 1))
180.0ms
(+ (sqrt (/ 1 (/ v (* m (- 1 m))))) 1)
157.0ms
(* (cbrt (- (/ 1 (/ v (* m (- 1 m)))) 1)) (cbrt (- (/ 1 (/ v (* m (- 1 m)))) 1)))

prune695.0ms

Pruning

9 alts after pruning (6 fresh and 3 done)

Merged error: 0.0b

regimes169.0ms

Accuracy

0% (0.1b remaining)

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

bsearch2.0ms

end0.0ms

sample1.9s

Algorithm
intervals