Details

Time bar (total: 5.7s)

analyze168.0ms (2.9%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
25%74.9%0.1%5
25%68.7%6.3%6
25%53.1%22%7
25%46.8%28.2%8
25%33.6%41.5%9
28.1%18%54%10
31.6%12.1%56.3%11
33.4%5.9%60.8%12
35.2%3.8%61%13
36.1%2.9%61%14
Compiler

Compiled 32 to 20 computations (37.5% saved)

sample1.4s (23.8%)

Results
1.3s8256×body128valid
1.0msbody128invalid
Compiler

Compiled 95 to 59 computations (37.9% saved)

simplify53.0ms (0.9%)

Algorithm
egg-herbie
Rules
620×fma-def_binary64
556×cancel-sign-sub-inv_binary64
552×unswap-sqr_binary64
357×unsub-neg_binary64
344×+-commutative_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01939
15737
216837
349237
4160433
5289133
6430933
7521433
Stop Event
node limit
Counts
1 → 2

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.0b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.2b
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (+.f64 (*.f64 (*.f64 a a) (-.f64 1 a)) (*.f64 (*.f64 b b) (+.f64 3 a))))) 1)
0.0b
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 4 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))) -1))
Compiler

Compiled 166 to 104 computations (37.3% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 4 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))) -1))
0.0b
(pow.f64 (hypot.f64 a b) 4)
0.1b
(fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3)))
0.5b
(*.f64 (*.f64 b b) (+.f64 a 3))

series72.0ms (1.3%)

Counts
4 → 96
Calls

4 calls:

28.0ms
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 4 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))) -1))
27.0ms
(pow.f64 (hypot.f64 a b) 4)
9.0ms
(fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3)))
8.0ms
(*.f64 (*.f64 b b) (+.f64 a 3))

rewrite78.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
307×expm1-udef_binary64
306×log1p-udef_binary64
176×add-sqr-sqrt_binary64
173×log1p-expm1-u_binary64
173×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01770
137170
2430570
3509670
Stop Event
node limit
Counts
4 → 101
Calls

4 calls:

72.0ms
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 4 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))) -1))
72.0ms
(pow.f64 (hypot.f64 a b) 4)
72.0ms
(fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3)))
72.0ms
(*.f64 (*.f64 b b) (+.f64 a 3))

simplify80.0ms (1.4%)

Algorithm
egg-herbie
Rules
730×associate-*l*_binary64
719×fma-def_binary64
624×fma-neg_binary64
505×associate-+l+_binary64
341×distribute-lft-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0631855
12071761
27101597
329671573
451161573
Stop Event
node limit
Counts
197 → 149

prune225.0ms (3.9%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1436149
Fresh101
Picked101
Done000
Total1456151
Error
0b
Counts
151 → 6
Alt Table
StatusErrorProgram
0.1b
(+.f64 (fma.f64 (*.f64 b b) (fma.f64 b b (*.f64 2 (*.f64 a a))) (pow.f64 a 4)) (fma.f64 4 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))) -1))
10.6b
(/.f64 (-.f64 (pow.f64 (hypot.f64 a b) 8) (pow.f64 (fma.f64 4 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))) -1) 2)) (-.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 4 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))) -1)))
0.1b
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 4 (*.f64 (cbrt.f64 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3)))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3)))) 2)) -1))
11.1b
(-.f64 (+.f64 (*.f64 4 (pow.f64 a 2)) (pow.f64 a 4)) (+.f64 (*.f64 4 (pow.f64 a 3)) 1))
51.2b
(*.f64 (*.f64 a a) (+.f64 (fma.f64 a a 4) (fma.f64 2 (*.f64 b b) (*.f64 a -4))))
11.9b
(fma.f64 a (*.f64 a 4) (fma.f64 (*.f64 b b) (+.f64 (fma.f64 b b 12) (*.f64 a (+.f64 4 (*.f64 a 2)))) -1))
Compiler

Compiled 4885 to 2854 computations (41.6% saved)

localize16.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (cbrt.f64 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3)))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3)))) 2))
0.5b
(pow.f64 (cbrt.f64 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3)))) 2)
0.5b
(*.f64 (*.f64 b b) (+.f64 a 3))
9.1b
(cbrt.f64 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))))

series225.0ms (3.9%)

Counts
3 → 72
Calls

3 calls:

89.0ms
(pow.f64 (cbrt.f64 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3)))) 2)
83.0ms
(*.f64 (cbrt.f64 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3)))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3)))) 2))
53.0ms
(cbrt.f64 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))))

rewrite64.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
657×prod-diff_binary64
235×log1p-udef_binary64
141×add-sqr-sqrt_binary64
137×log1p-expm1-u_binary64
137×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01567
130167
2329267
3488467
Stop Event
node limit
Counts
3 → 61
Calls

3 calls:

60.0ms
(*.f64 (cbrt.f64 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3)))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3)))) 2))
60.0ms
(pow.f64 (cbrt.f64 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3)))) 2)
60.0ms
(cbrt.f64 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))))

simplify98.0ms (1.7%)

Algorithm
egg-herbie
Rules
528×fma-def_binary64
411×times-frac_binary64
318×associate-/r*_binary64
298×associate-*l*_binary64
297×associate-/l*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
04606192
116545851
251925851
Stop Event
node limit
Counts
133 → 169

prune577.0ms (10.1%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New3031304
Fresh145
Picked101
Done000
Total3055310
Error
0b
Counts
310 → 5
Alt Table
StatusErrorProgram
0.1b
(+.f64 (fma.f64 (*.f64 b b) (fma.f64 b b (*.f64 2 (*.f64 a a))) (pow.f64 a 4)) (fma.f64 4 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))) -1))
10.6b
(/.f64 (-.f64 (pow.f64 (hypot.f64 a b) 8) (pow.f64 (fma.f64 4 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))) -1) 2)) (-.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 4 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))) -1)))
51.2b
(*.f64 (*.f64 a a) (+.f64 (fma.f64 a a 4) (fma.f64 2 (*.f64 b b) (*.f64 a -4))))
4.6b
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 4 (*.f64 (cbrt.f64 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3)))) (pow.f64 (pow.f64 (-.f64 (pow.f64 a 2) (pow.f64 a 3)) 2) 1/3)) -1))
11.9b
(fma.f64 a (*.f64 a 4) (fma.f64 (*.f64 b b) (+.f64 (fma.f64 b b 12) (*.f64 a (+.f64 4 (*.f64 a 2)))) -1))
Compiler

Compiled 22234 to 15144 computations (31.9% saved)

localize17.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (fma.f64 (*.f64 b b) (fma.f64 b b (*.f64 2 (*.f64 a a))) (pow.f64 a 4)) (fma.f64 4 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))) -1))
0.1b
(fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3)))
0.2b
(fma.f64 (*.f64 b b) (fma.f64 b b (*.f64 2 (*.f64 a a))) (pow.f64 a 4))
0.5b
(*.f64 (*.f64 b b) (+.f64 a 3))

series35.0ms (0.6%)

Counts
2 → 48
Calls

2 calls:

21.0ms
(+.f64 (fma.f64 (*.f64 b b) (fma.f64 b b (*.f64 2 (*.f64 a a))) (pow.f64 a 4)) (fma.f64 4 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))) -1))
13.0ms
(fma.f64 (*.f64 b b) (fma.f64 b b (*.f64 2 (*.f64 a a))) (pow.f64 a 4))

rewrite71.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
789×prod-diff_binary64
201×add-sqr-sqrt_binary64
197×log1p-expm1-u_binary64
197×expm1-log1p-u_binary64
193×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02068
142968
2474168
3635368
Stop Event
node limit
Counts
2 → 55
Calls

2 calls:

68.0ms
(+.f64 (fma.f64 (*.f64 b b) (fma.f64 b b (*.f64 2 (*.f64 a a))) (pow.f64 a 4)) (fma.f64 4 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))) -1))
68.0ms
(fma.f64 (*.f64 b b) (fma.f64 b b (*.f64 2 (*.f64 a a))) (pow.f64 a 4))

simplify93.0ms (1.6%)

Algorithm
egg-herbie
Rules
625×associate-*l*_binary64
609×fma-def_binary64
558×fma-neg_binary64
528×cancel-sign-sub-inv_binary64
496×associate-+l+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0521227
11801183
26071008
32680990
44858990
54993990
64963990
Stop Event
node limit
Counts
103 → 86

prune218.0ms (3.8%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1530153
Fresh044
Picked011
Done000
Total1535158
Error
0b
Counts
158 → 5
Alt Table
StatusErrorProgram
0.1b
(+.f64 (fma.f64 (*.f64 b b) (fma.f64 b b (*.f64 2 (*.f64 a a))) (pow.f64 a 4)) (fma.f64 4 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))) -1))
10.6b
(/.f64 (-.f64 (pow.f64 (hypot.f64 a b) 8) (pow.f64 (fma.f64 4 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))) -1) 2)) (-.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 4 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))) -1)))
51.2b
(*.f64 (*.f64 a a) (+.f64 (fma.f64 a a 4) (fma.f64 2 (*.f64 b b) (*.f64 a -4))))
4.6b
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 4 (*.f64 (cbrt.f64 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3)))) (pow.f64 (pow.f64 (-.f64 (pow.f64 a 2) (pow.f64 a 3)) 2) 1/3)) -1))
11.9b
(fma.f64 a (*.f64 a 4) (fma.f64 (*.f64 b b) (+.f64 (fma.f64 b b 12) (*.f64 a (+.f64 4 (*.f64 a 2)))) -1))
Compiler

Compiled 6487 to 3538 computations (45.5% saved)

localize23.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f64 (cbrt.f64 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3)))) (pow.f64 (pow.f64 (-.f64 (pow.f64 a 2) (pow.f64 a 3)) 2) 1/3))
0.5b
(*.f64 (*.f64 b b) (+.f64 a 3))
9.1b
(cbrt.f64 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))))
30.5b
(pow.f64 (pow.f64 (-.f64 (pow.f64 a 2) (pow.f64 a 3)) 2) 1/3)

series192.0ms (3.4%)

Counts
2 → 36
Calls

2 calls:

186.0ms
(*.f64 (cbrt.f64 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3)))) (pow.f64 (pow.f64 (-.f64 (pow.f64 a 2) (pow.f64 a 3)) 2) 1/3))
5.0ms
(pow.f64 (pow.f64 (-.f64 (pow.f64 a 2) (pow.f64 a 3)) 2) 1/3)

rewrite64.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
326×log1p-udef_binary64
192×add-sqr-sqrt_binary64
191×log1p-expm1-u_binary64
191×expm1-log1p-u_binary64
183×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02054
141852
2467852
3504452
Stop Event
node limit
Counts
2 → 36
Calls

2 calls:

63.0ms
(*.f64 (cbrt.f64 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3)))) (pow.f64 (pow.f64 (-.f64 (pow.f64 a 2) (pow.f64 a 3)) 2) 1/3))
63.0ms
(pow.f64 (pow.f64 (-.f64 (pow.f64 a 2) (pow.f64 a 3)) 2) 1/3)

simplify109.0ms (1.9%)

Algorithm
egg-herbie
Rules
685×times-frac_binary64
529×associate-/r*_binary64
458×associate-/l*_binary64
434×fma-def_binary64
156×*-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
04817630
117127439
251837439
Stop Event
node limit
Counts
72 → 98

prune529.0ms (9.2%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New2000200
Fresh033
Picked011
Done011
Total2005205
Error
0b
Counts
205 → 5
Alt Table
StatusErrorProgram
0.1b
(+.f64 (fma.f64 (*.f64 b b) (fma.f64 b b (*.f64 2 (*.f64 a a))) (pow.f64 a 4)) (fma.f64 4 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))) -1))
10.6b
(/.f64 (-.f64 (pow.f64 (hypot.f64 a b) 8) (pow.f64 (fma.f64 4 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))) -1) 2)) (-.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 4 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3))) -1)))
51.2b
(*.f64 (*.f64 a a) (+.f64 (fma.f64 a a 4) (fma.f64 2 (*.f64 b b) (*.f64 a -4))))
4.6b
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 4 (*.f64 (cbrt.f64 (fma.f64 (*.f64 a a) (-.f64 1 a) (*.f64 (*.f64 b b) (+.f64 a 3)))) (pow.f64 (pow.f64 (-.f64 (pow.f64 a 2) (pow.f64 a 3)) 2) 1/3)) -1))
11.9b
(fma.f64 a (*.f64 a 4) (fma.f64 (*.f64 b b) (+.f64 (fma.f64 b b 12) (*.f64 a (+.f64 4 (*.f64 a 2)))) -1))
Compiler

Compiled 19230 to 14031 computations (27% saved)

regimes1.2s (20.8%)

Accuracy

Total 0.0b remaining (47.9%)

Threshold costs 0.0b (47.9%)

Counts
183 → 1
Compiler

Compiled 27641 to 19595 computations (29.1% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02451
13551
23851
34051
44151
54051
Stop Event
saturated

end142.0ms (2.5%)

Compiler

Compiled 241 to 162 computations (32.8% saved)

Profiling

Loading profile data...