Details

Time bar (total: 7.4s)

analyze1.2s (16.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
0%100%0%3
0%100%0%4
0%100%0%5
0%100%0%6
0%100%0%7
0%100%0%8
0%100%0%9
0%100%0%10
0%100%0%11
0%100%0%12
3%46.9%50%13
3.1%46.8%50%14
Compiler

Compiled 16 to 11 computations (31.3% saved)

sample3.8s (50.8%)

Results
2.4s4161×body2048valid
863.0ms2065×body1024valid
314.0ms1038×body512valid
116.0ms472×body256valid
63.0ms520×body128valid
1.0ms13×body128invalid
Compiler

Compiled 47 to 32 computations (31.9% saved)

simplify28.0ms (0.4%)

Algorithm
egg-herbie
Rules
685×div-sub_binary64
303×associate-/r*_binary64
302×fma-def_binary64
296×fma-neg_binary64
220×associate-/l/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01019
13119
27617
321517
464017
5182817
6439417
Stop Event
node limit
Counts
1 → 2

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.9b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.9b
(acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1)))
Compiler

Compiled 53 to 36 computations (32.1% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))
0.9b
(acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1)))

series4.0ms (0.1%)

Counts
2 → 24
Calls

2 calls:

3.0ms
(/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))
2.0ms
(acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1)))

rewrite52.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
891×log1p-expm1-u_binary64
891×expm1-log1p-u_binary64
98×add-sqr-sqrt_binary64
91×add-cbrt-cube_binary64
90×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01032
119932
2234532
Stop Event
node limit
Counts
2 → 67
Calls

2 calls:

50.0ms
(/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))
50.0ms
(acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1)))

simplify32.0ms (0.4%)

Algorithm
egg-herbie
Rules
649×cancel-sign-sub-inv_binary64
494×fma-def_binary64
285×unswap-sqr_binary64
207×distribute-neg-frac_binary64
189×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
040380
1114362
2326359
3976359
43116359
Stop Event
node limit
Counts
91 → 83

prune77.0ms (1%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New79483
Fresh000
Picked011
Done000
Total79584
Error
0.9b
Counts
84 → 5
Alt Table
StatusErrorProgram
2.4b
(+.f64 (fma.f64 (*.f64 (cbrt.f64 (*.f64 (PI.f64) 1/2)) (cbrt.f64 (*.f64 (PI.f64) 1/2))) (cbrt.f64 (*.f64 (PI.f64) 1/2)) (neg.f64 (*.f64 (asin.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))) 1))) (fma.f64 (neg.f64 (asin.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1)))) 1 (*.f64 (asin.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))) 1)))
1.1b
(acos.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1))
0.9b
(acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1)))
1.8b
(pow.f64 (cbrt.f64 (acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1)))) 3)
2.7b
(+.f64 (fma.f64 (*.f64 (cbrt.f64 (*.f64 (PI.f64) 1/2)) (cbrt.f64 (*.f64 (PI.f64) 1/2))) (cbrt.f64 (*.f64 (PI.f64) 1/2)) (neg.f64 (*.f64 (cbrt.f64 (asin.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1)))) (*.f64 (cbrt.f64 (asin.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1)))) (cbrt.f64 (asin.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1)))))))) (fma.f64 (neg.f64 (cbrt.f64 (asin.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))))) (*.f64 (cbrt.f64 (asin.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1)))) (cbrt.f64 (asin.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))))) (*.f64 (cbrt.f64 (asin.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1)))) (*.f64 (cbrt.f64 (asin.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1)))) (cbrt.f64 (asin.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))))))))
Compiler

Compiled 2748 to 2013 computations (26.7% saved)

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.9b
(acos.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1))

series2.0ms (0%)

Counts
1 → 0
Calls

1 calls:

2.0ms
(acos.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1))

rewrite37.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
667×log1p-expm1-u_binary64
667×expm1-log1p-u_binary64
152×prod-diff_binary64
138×expm1-udef_binary64
138×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0814
116414
2180514
Stop Event
node limit
Counts
1 → 35
Calls

1 calls:

36.0ms
(acos.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1))

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
35 → 35

prune46.0ms (0.6%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New31435
Fresh213
Picked101
Done011
Total34640
Error
0.9b
Counts
40 → 6
Alt Table
StatusErrorProgram
2.6b
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (PI.f64) 1/2)) (cbrt.f64 (*.f64 (PI.f64) 1/2))) (cbrt.f64 (*.f64 (PI.f64) 1/2)) (neg.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1))))
0.9b
(acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1)))
2.0b
(pow.f64 (cbrt.f64 (acos.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1))) 3)
62.3b
(/.f64 (-.f64 (*.f64 (*.f64 (PI.f64) 1/2) (*.f64 (PI.f64) 1/2)) (*.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1)) (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1)))) (fma.f64 (PI.f64) 1/2 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1))))
1.8b
(pow.f64 (cbrt.f64 (acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1)))) 3)
2.9b
(+.f64 (fma.f64 (*.f64 (cbrt.f64 (*.f64 (PI.f64) 1/2)) (cbrt.f64 (*.f64 (PI.f64) 1/2))) (cbrt.f64 (*.f64 (PI.f64) 1/2)) (neg.f64 (*.f64 (cbrt.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1))) (*.f64 (cbrt.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1))) (cbrt.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1))))))) (fma.f64 (neg.f64 (cbrt.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1)))) (*.f64 (cbrt.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1))) (cbrt.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1)))) (*.f64 (cbrt.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1))) (*.f64 (cbrt.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1))) (cbrt.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1)))))))
Compiler

Compiled 1628 to 1233 computations (24.3% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))
0.9b
(acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1)))
1.0b
(cbrt.f64 (acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))))
1.5b
(pow.f64 (cbrt.f64 (acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1)))) 3)

series613.0ms (8.3%)

Counts
2 → 24
Calls

2 calls:

327.0ms
(pow.f64 (cbrt.f64 (acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1)))) 3)
285.0ms
(cbrt.f64 (acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))))

rewrite53.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
502×log-prod_binary64
202×expm1-udef_binary64
202×log1p-udef_binary64
184×pow3_binary64
172×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01336
125936
2282536
Stop Event
node limit
Counts
2 → 66
Calls

2 calls:

51.0ms
(cbrt.f64 (acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))))
51.0ms
(pow.f64 (cbrt.f64 (acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1)))) 3)

simplify44.0ms (0.6%)

Algorithm
egg-herbie
Rules
853×fma-neg_binary64
362×unswap-sqr_binary64
323×fma-def_binary64
246×sub-neg_binary64
196×associate-+l+_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
012432
125432
237432
355432
495432
5219432
6649432
71512432
81978432
93799432
Stop Event
node limit
Counts
90 → 69

prune136.0ms (1.8%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1484152
Fresh224
Picked101
Done011
Total1517158
Error
0.9b
Counts
158 → 7
Alt Table
StatusErrorProgram
1.8b
(pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))) 3))) 3)
2.4b
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))))) 3) 3)
0.9b
(acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1)))
62.3b
(/.f64 (-.f64 (*.f64 (*.f64 (PI.f64) 1/2) (*.f64 (PI.f64) 1/2)) (*.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1)) (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1)))) (fma.f64 (PI.f64) 1/2 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1))))
2.9b
(+.f64 (fma.f64 (*.f64 (cbrt.f64 (*.f64 (PI.f64) 1/2)) (cbrt.f64 (*.f64 (PI.f64) 1/2))) (cbrt.f64 (*.f64 (PI.f64) 1/2)) (neg.f64 (*.f64 (cbrt.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1))) (*.f64 (cbrt.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1))) (cbrt.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1))))))) (fma.f64 (neg.f64 (cbrt.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1)))) (*.f64 (cbrt.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1))) (cbrt.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1)))) (*.f64 (cbrt.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1))) (*.f64 (cbrt.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1))) (cbrt.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1)))))))
2.1b
(pow.f64 (cbrt.f64 (acos.f64 (fma.f64 v (*.f64 v 4) -1))) 3)
2.4b
(pow.f64 (cbrt.f64 (+.f64 (fma.f64 (sqrt.f64 (*.f64 (PI.f64) 1/2)) (sqrt.f64 (*.f64 (PI.f64) 1/2)) (neg.f64 (*.f64 (asin.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))) 1))) (fma.f64 (neg.f64 (asin.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1)))) 1 (*.f64 (asin.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))) 1)))) 3)
Compiler

Compiled 5329 to 3991 computations (25.1% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(cbrt.f64 (pow.f64 (acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))) 3))
1.0b
(cbrt.f64 (cbrt.f64 (pow.f64 (acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))) 3)))
1.0b
(pow.f64 (acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))) 3)
1.5b
(pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))) 3))) 3)

series632.0ms (8.5%)

Counts
4 → 48
Calls

4 calls:

327.0ms
(pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))) 3))) 3)
293.0ms
(cbrt.f64 (cbrt.f64 (pow.f64 (acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))) 3)))
11.0ms
(pow.f64 (acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))) 3)
2.0ms
(cbrt.f64 (pow.f64 (acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))) 3))

rewrite73.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
549×log-prod_binary64
214×expm1-udef_binary64
214×log1p-udef_binary64
193×log-pow_binary64
147×egg-rr
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01573
129673
2308273
Stop Event
node limit
Counts
4 → 147
Calls

4 calls:

68.0ms
(cbrt.f64 (pow.f64 (acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))) 3))
68.0ms
(cbrt.f64 (cbrt.f64 (pow.f64 (acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))) 3)))
68.0ms
(pow.f64 (acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))) 3)
68.0ms
(pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))) 3))) 3)

simplify53.0ms (0.7%)

Algorithm
egg-herbie
Rules
724×unswap-sqr_binary64
323×fma-def_binary64
307×associate-*l*_binary64
205×associate-+l+_binary64
202×associate-*r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
014876
134876
251876
378876
4138876
5331876
61151876
72662876
83187876
Stop Event
node limit
Counts
195 → 107

prune86.0ms (1.2%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1070107
Fresh055
Picked011
Done011
Total1077114
Error
0.9b
Counts
114 → 7
Alt Table
StatusErrorProgram
1.8b
(pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))) 3))) 3)
2.4b
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))))) 3) 3)
0.9b
(acos.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1)))
62.3b
(/.f64 (-.f64 (*.f64 (*.f64 (PI.f64) 1/2) (*.f64 (PI.f64) 1/2)) (*.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1)) (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1)))) (fma.f64 (PI.f64) 1/2 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1))))
2.9b
(+.f64 (fma.f64 (*.f64 (cbrt.f64 (*.f64 (PI.f64) 1/2)) (cbrt.f64 (*.f64 (PI.f64) 1/2))) (cbrt.f64 (*.f64 (PI.f64) 1/2)) (neg.f64 (*.f64 (cbrt.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1))) (*.f64 (cbrt.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1))) (cbrt.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1))))))) (fma.f64 (neg.f64 (cbrt.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1)))) (*.f64 (cbrt.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1))) (cbrt.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1)))) (*.f64 (cbrt.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1))) (*.f64 (cbrt.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1))) (cbrt.f64 (asin.f64 (fma.f64 4 (fma.f64 v v (pow.f64 v 4)) -1)))))))
2.1b
(pow.f64 (cbrt.f64 (acos.f64 (fma.f64 v (*.f64 v 4) -1))) 3)
2.4b
(pow.f64 (cbrt.f64 (+.f64 (fma.f64 (sqrt.f64 (*.f64 (PI.f64) 1/2)) (sqrt.f64 (*.f64 (PI.f64) 1/2)) (neg.f64 (*.f64 (asin.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))) 1))) (fma.f64 (neg.f64 (asin.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1)))) 1 (*.f64 (asin.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (fma.f64 v v -1))) 1)))) 3)
Compiler

Compiled 3594 to 2689 computations (25.2% saved)

regimes223.0ms (3%)

Accuracy

Total 0.0b remaining (2.6%)

Threshold costs 0.0b (2.6%)

Counts
35 → 1
Compiler

Compiled 5794 to 4349 computations (24.9% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0144294967295
1174294967295
Stop Event
saturated

end213.0ms (2.9%)

Compiler

Compiled 321 to 246 computations (23.4% saved)

Profiling

Loading profile data...