Details

Time bar (total: 6.9s)

analyze368.0ms (5.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
50%50%0%2
50%50%0%3
62.5%37.5%0%4
68.7%31.2%0%5
71.8%28.1%0%6
73.4%26.5%0%7
74.2%25.8%0%8
74.6%25.4%0%9
74.8%25.2%0%10
74.9%25.1%0%11
74.9%25%0%12
74.9%25%0%13
75%25%0%14
Compiler

Compiled 11 to 8 computations (27.3% saved)

sample3.5s (50.4%)

Results
1.7s2574×body1024valid
753.0ms1195×body2048valid
471.0ms1278×body512valid
280.0ms2484×body128valid
178.0ms681×body256valid
30.0ms44×body4096valid
Compiler

Compiled 32 to 23 computations (28.1% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
1-exp_binary64
hypot-1-def_binary64
fma-def_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0812
1139
2149
3139

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
45.0b
Counts
3 → 1
Alt Table
StatusErrorProgram
45.0b
(log.f64 (+.f64 x (hypot.f64 1 x)))
Compiler

Compiled 30 to 21 computations (30% saved)

localize4.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 1 x)
0.4b
(+.f64 x (hypot.f64 1 x))
3.3b
(log.f64 (+.f64 x (hypot.f64 1 x)))

series9.0ms (0.1%)

Counts
3 → 36
Calls

3 calls:

4.0ms
(log.f64 (+.f64 x (hypot.f64 1 x)))
3.0ms
(+.f64 x (hypot.f64 1 x))
2.0ms
(hypot.f64 1 x)

rewrite280.0ms (4%)

Algorithm
egg-rewrite
Rules
49×egg
38×egg
21×egg
Counts
3 → 108
Calls

3 calls:

154.0ms
(log.f64 (+.f64 x (hypot.f64 1 x)))
87.0ms
(+.f64 x (hypot.f64 1 x))
37.0ms
(hypot.f64 1 x)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069
11209
214369
348319
448049
549769
057
11047
212657
349337
467247
044
1734
27224
350084

simplify72.0ms (1%)

Algorithm
egg-herbie
Rules
848×fma-neg_binary64
722×times-frac_binary64
447×cancel-sign-sub-inv_binary64
426×associate-/r*_binary64
340×sub-neg_binary64
Counts
144 → 172
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
098569
1305549
2805537
32329537
44446537
55590537

prune94.0ms (1.4%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1702172
Fresh000
Picked011
Done000
Total1703173
Error
0.0b
Counts
173 → 3
Alt Table
StatusErrorProgram
46.4b
(log.f64 (+.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 -1/2 x)))
45.0b
(log.f64 (+.f64 x (hypot.f64 1 x)))
33.7b
(-.f64 (fma.f64 3/40 (pow.f64 x 5) x) (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))))
Compiler

Compiled 2305 to 1735 computations (24.7% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 3/40 (pow.f64 x 5) x)
0.0b
(*.f64 5/112 (pow.f64 x 7))
0.1b
(fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7)))
26.6b
(-.f64 (fma.f64 3/40 (pow.f64 x 5) x) (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))))

series19.0ms (0.3%)

Counts
4 → 36
Calls

4 calls:

5.0ms
(fma.f64 3/40 (pow.f64 x 5) x)
5.0ms
(-.f64 (fma.f64 3/40 (pow.f64 x 5) x) (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))))
5.0ms
(fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7)))
4.0ms
(*.f64 5/112 (pow.f64 x 7))

rewrite286.0ms (4.1%)

Algorithm
egg-rewrite
Rules
55×egg
48×egg
43×egg
23×egg
Counts
4 → 169
Calls

4 calls:

81.0ms
(*.f64 5/112 (pow.f64 x 7))
76.0ms
(fma.f64 3/40 (pow.f64 x 5) x)
72.0ms
(-.f64 (fma.f64 3/40 (pow.f64 x 5) x) (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))))
52.0ms
(fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01524
133224
2355624
3493924
01014
121314
2213114
3500114
067
11277
213097
349447
464547
068
11288
213298
349288
449528

simplify189.0ms (2.7%)

Algorithm
egg-herbie
Rules
921×distribute-rgt-neg-in_binary64
534×sqr-pow_binary64
489×fma-neg_binary64
428×sub-neg_binary64
396×cancel-sign-sub-inv_binary64
Counts
205 → 186
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
023426
170422
2164414
3422408
41180408
51924408
62643408
73577408
83489408
93665408
103867408
114057408
123819408
134825408
144889408

prune165.0ms (2.4%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1851186
Fresh011
Picked011
Done011
Total1854189
Error
0b
Counts
189 → 4
Alt Table
StatusErrorProgram
47.4b
(-.f64 (/.f64 (pow.f64 (fma.f64 3/40 (pow.f64 x 5) x) 2) (+.f64 (fma.f64 3/40 (pow.f64 x 5) x) (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))))) (/.f64 (pow.f64 (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))) 2) (+.f64 (fma.f64 3/40 (pow.f64 x 5) x) (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))))))
46.4b
(log.f64 (+.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 -1/2 x)))
45.0b
(log.f64 (+.f64 x (hypot.f64 1 x)))
33.7b
(-.f64 (fma.f64 3/40 (pow.f64 x 5) x) (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))))
Compiler

Compiled 5115 to 4080 computations (20.2% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 -1/2 x))
0.1b
(/.f64 1/8 (pow.f64 x 3))
11.6b
(log.f64 (+.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 -1/2 x)))

series12.0ms (0.2%)

Counts
3 → 24
Calls

3 calls:

5.0ms
(+.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 -1/2 x))
4.0ms
(log.f64 (+.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 -1/2 x)))
3.0ms
(/.f64 1/8 (pow.f64 x 3))

rewrite168.0ms (2.4%)

Algorithm
egg-rewrite
Rules
60×egg
46×egg
25×egg
Counts
3 → 131
Calls

3 calls:

62.0ms
(log.f64 (+.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 -1/2 x)))
61.0ms
(+.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 -1/2 x))
42.0ms
(/.f64 1/8 (pow.f64 x 3))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01015
123013
2288613
3488413
067
11327
214177
349297
0913
121411
2271511
3492411

simplify61.0ms (0.9%)

Algorithm
egg-herbie
Rules
880×fma-neg_binary64
732×fma-def_binary64
685×times-frac_binary64
524×cancel-sign-sub-inv_binary64
387×associate-*l*_binary64
Counts
155 → 156
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
063410
1180402
2497400
31626396
44148396
55672396

prune83.0ms (1.2%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New1560156
Fresh011
Picked011
Done022
Total1564160
Error
0b
Counts
160 → 4
Alt Table
StatusErrorProgram
47.4b
(-.f64 (/.f64 (pow.f64 (fma.f64 3/40 (pow.f64 x 5) x) 2) (+.f64 (fma.f64 3/40 (pow.f64 x 5) x) (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))))) (/.f64 (pow.f64 (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))) 2) (+.f64 (fma.f64 3/40 (pow.f64 x 5) x) (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))))))
46.4b
(log.f64 (+.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 -1/2 x)))
45.0b
(log.f64 (+.f64 x (hypot.f64 1 x)))
33.7b
(-.f64 (fma.f64 3/40 (pow.f64 x 5) x) (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))))
Compiler

Compiled 2670 to 2136 computations (20% saved)

localize20.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(pow.f64 (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))) 2)
20.8b
(-.f64 (/.f64 (pow.f64 (fma.f64 3/40 (pow.f64 x 5) x) 2) (+.f64 (fma.f64 3/40 (pow.f64 x 5) x) (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))))) (/.f64 (pow.f64 (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))) 2) (+.f64 (fma.f64 3/40 (pow.f64 x 5) x) (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))))))
30.4b
(/.f64 (pow.f64 (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))) 2) (+.f64 (fma.f64 3/40 (pow.f64 x 5) x) (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7)))))
43.2b
(/.f64 (pow.f64 (fma.f64 3/40 (pow.f64 x 5) x) 2) (+.f64 (fma.f64 3/40 (pow.f64 x 5) x) (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7)))))

series22.0ms (0.3%)

Counts
4 → 48
Calls

4 calls:

7.0ms
(-.f64 (/.f64 (pow.f64 (fma.f64 3/40 (pow.f64 x 5) x) 2) (+.f64 (fma.f64 3/40 (pow.f64 x 5) x) (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))))) (/.f64 (pow.f64 (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))) 2) (+.f64 (fma.f64 3/40 (pow.f64 x 5) x) (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))))))
5.0ms
(pow.f64 (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))) 2)
5.0ms
(/.f64 (pow.f64 (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))) 2) (+.f64 (fma.f64 3/40 (pow.f64 x 5) x) (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7)))))
4.0ms
(/.f64 (pow.f64 (fma.f64 3/40 (pow.f64 x 5) x) 2) (+.f64 (fma.f64 3/40 (pow.f64 x 5) x) (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7)))))

rewrite329.0ms (4.8%)

Algorithm
egg-rewrite
Rules
51×egg
47×egg
45×egg
39×egg
Counts
4 → 182
Calls

4 calls:

97.0ms
(-.f64 (/.f64 (pow.f64 (fma.f64 3/40 (pow.f64 x 5) x) 2) (+.f64 (fma.f64 3/40 (pow.f64 x 5) x) (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))))) (/.f64 (pow.f64 (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))) 2) (+.f64 (fma.f64 3/40 (pow.f64 x 5) x) (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))))))
82.0ms
(/.f64 (pow.f64 (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))) 2) (+.f64 (fma.f64 3/40 (pow.f64 x 5) x) (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7)))))
81.0ms
(/.f64 (pow.f64 (fma.f64 3/40 (pow.f64 x 5) x) 2) (+.f64 (fma.f64 3/40 (pow.f64 x 5) x) (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7)))))
62.0ms
(pow.f64 (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))) 2)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01837
139937
2429837
3553637
01843
139943
2429643
3553843
02156
148056
2465656
3537156
01217
125517
2242017
3565417

simplify113.0ms (1.6%)

Algorithm
egg-herbie
Rules
593×associate-*l*_binary64
493×fma-neg_binary64
480×cancel-sign-sub-inv_binary64
464×sub-neg_binary64
457×associate-*r*_binary64
Counts
230 → 230
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
088789
1255757
2665735
31735735
44005735
54658735
64885735
74911735

prune414.0ms (6%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New2300230
Fresh000
Picked011
Done033
Total2304234
Error
0b
Counts
234 → 4
Alt Table
StatusErrorProgram
47.4b
(-.f64 (/.f64 (pow.f64 (fma.f64 3/40 (pow.f64 x 5) x) 2) (+.f64 (fma.f64 3/40 (pow.f64 x 5) x) (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))))) (/.f64 (pow.f64 (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))) 2) (+.f64 (fma.f64 3/40 (pow.f64 x 5) x) (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))))))
46.4b
(log.f64 (+.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 -1/2 x)))
45.0b
(log.f64 (+.f64 x (hypot.f64 1 x)))
33.7b
(-.f64 (fma.f64 3/40 (pow.f64 x 5) x) (fma.f64 1/6 (pow.f64 x 3) (*.f64 5/112 (pow.f64 x 7))))
Compiler

Compiled 15820 to 12648 computations (20.1% saved)

regimes530.0ms (7.7%)

Accuracy

Total 0.2b remaining (88.7%)

Threshold costs 0.2b (88.7%)

Counts
39 → 3
Compiler

Compiled 2880 to 2272 computations (21.1% saved)

bsearch43.0ms (0.6%)

Steps
ItersRangePoint
10
0.01710817362014471
4615241499492.261
1.2999681543863966
10
-118685.5196701979
-3.1843737634226373e-14
-1.1533316581136956
Compiler

Compiled 2 to 1 computations (50% saved)

simplify3.0ms (0%)

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
03157
13657
24157
34357
44457
54457

end121.0ms (1.7%)

Compiler

Compiled 174 to 136 computations (21.8% saved)

Profiling

Loading profile data...