Details

Time bar (total: 9.3s)

analyze705.0ms (7.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
6.2%93.6%0.2%8
25%74.9%0.2%9
28.1%71.7%0.2%10
29.6%70.2%0.2%11
53%46.8%0.2%12
71.3%28.5%0.2%13
71.7%28.1%0.2%14
Compiler

Compiled 20 to 12 computations (40% saved)

sample1.1s (12.1%)

Results
1.0s8256×body128valid
61.0ms479×body128invalid
Compiler

Compiled 59 to 35 computations (40.7% saved)

simplify38.0ms (0.4%)

Algorithm
egg-herbie
Rules
832×fma-def_binary64
768×times-frac_binary64
756×fma-neg_binary64
281×associate-/l*_binary64
228×div-sub_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01220
12520
25120
38220
416620
529720
648820
773820
8119920
9180020
10276920
11492820
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
24.6b
Counts
3 → 1
Alt Table
StatusErrorProgram
24.6b
(/.f64 (fma.f64 d (neg.f64 a) (*.f64 b c)) (fma.f64 c c (*.f64 d d)))
Compiler

Compiled 69 to 35 computations (49.3% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 c c (*.f64 d d))
0.5b
(fma.f64 d (neg.f64 a) (*.f64 b c))
24.1b
(/.f64 (fma.f64 d (neg.f64 a) (*.f64 b c)) (fma.f64 c c (*.f64 d d)))

series89.0ms (1%)

Counts
3 → 120
Calls

3 calls:

70.0ms
(/.f64 (fma.f64 d (neg.f64 a) (*.f64 b c)) (fma.f64 c c (*.f64 d d)))
12.0ms
(fma.f64 d (neg.f64 a) (*.f64 b c))
6.0ms
(fma.f64 c c (*.f64 d d))

rewrite49.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
527×log-prod_binary64
286×prod-diff_binary64
190×expm1-udef_binary64
190×log1p-udef_binary64
175×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01138
122632
2292132
Stop Event
node limit
Counts
3 → 94
Calls

3 calls:

47.0ms
(fma.f64 c c (*.f64 d d))
47.0ms
(fma.f64 d (neg.f64 a) (*.f64 b c))
47.0ms
(/.f64 (fma.f64 d (neg.f64 a) (*.f64 b c)) (fma.f64 c c (*.f64 d d)))

simplify51.0ms (0.5%)

Algorithm
egg-herbie
Rules
608×fma-def_binary64
483×associate-*l/_binary64
469×cancel-sign-sub-inv_binary64
382×fma-neg_binary64
359×associate-/r/_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0471926
11331806
23861767
317811722
Stop Event
node limit
Counts
214 → 127

prune83.0ms (0.9%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1207127
Fresh000
Picked011
Done000
Total1208128
Error
1.7b
Counts
128 → 8
Alt Table
StatusErrorProgram
37.1b
(/.f64 b c)
40.1b
(pow.f64 (cbrt.f64 (/.f64 (fma.f64 d a (*.f64 b c)) (pow.f64 (hypot.f64 d c) 2))) 3)
24.7b
(*.f64 (-.f64 (*.f64 d a) (*.f64 b c)) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 d c) 2))))
37.9b
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (fma.f64 d a (*.f64 b c)) (hypot.f64 d c)))
32.2b
(fma.f64 b (/.f64 (/.f64 c d) d) (/.f64 (neg.f64 a) d))
24.6b
(/.f64 (fma.f64 d (neg.f64 a) (*.f64 b c)) (fma.f64 c c (*.f64 d d)))
35.8b
(-.f64 (/.f64 b c) (*.f64 (/.f64 d (*.f64 c c)) (+.f64 a (/.f64 (*.f64 b d) c))))
34.5b
(fma.f64 (/.f64 (/.f64 a c) c) (neg.f64 d) (/.f64 b c))
Compiler

Compiled 2527 to 888 computations (64.9% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 d c)
0.5b
(/.f64 1 (neg.f64 (pow.f64 (hypot.f64 d c) 2)))
0.9b
(-.f64 (*.f64 d a) (*.f64 b c))
24.1b
(*.f64 (-.f64 (*.f64 d a) (*.f64 b c)) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 d c) 2))))

series145.0ms (1.6%)

Counts
4 → 144
Calls

4 calls:

106.0ms
(*.f64 (-.f64 (*.f64 d a) (*.f64 b c)) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 d c) 2))))
21.0ms
(/.f64 1 (neg.f64 (pow.f64 (hypot.f64 d c) 2)))
10.0ms
(hypot.f64 d c)
8.0ms
(-.f64 (*.f64 d a) (*.f64 b c))

rewrite62.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
253×expm1-udef_binary64
253×log1p-udef_binary64
157×add-sqr-sqrt_binary64
149×log1p-expm1-u_binary64
149×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01547
132643
2425043
Stop Event
node limit
Counts
4 → 143
Calls

4 calls:

57.0ms
(hypot.f64 d c)
57.0ms
(/.f64 1 (neg.f64 (pow.f64 (hypot.f64 d c) 2)))
57.0ms
(-.f64 (*.f64 d a) (*.f64 b c))
57.0ms
(*.f64 (-.f64 (*.f64 d a) (*.f64 b c)) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 d c) 2))))

simplify99.0ms (1.1%)

Algorithm
egg-herbie
Rules
498×times-frac_binary64
332×associate-/l*_binary64
307×sub-neg_binary64
235×associate-/r*_binary64
232×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01102816
13122714
29602653
346622653
Stop Event
node limit
Counts
287 → 215

prune208.0ms (2.2%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New2132215
Fresh066
Picked011
Done011
Total21310223
Error
1.7b
Counts
223 → 10
Alt Table
StatusErrorProgram
32.2b
(fma.f64 b (/.f64 (/.f64 c d) d) (/.f64 (neg.f64 a) d))
37.5b
(*.f64 (-.f64 (*.f64 d a) (*.f64 b c)) (/.f64 1 (neg.f64 (pow.f64 (fma.f64 1/2 (*.f64 (/.f64 c d) c) d) 2))))
37.1b
(/.f64 b c)
25.2b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 d a) (*.f64 b c))) 3) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 d c) 2))))
40.1b
(pow.f64 (cbrt.f64 (/.f64 (fma.f64 d a (*.f64 b c)) (pow.f64 (hypot.f64 d c) 2))) 3)
24.7b
(*.f64 (-.f64 (*.f64 d a) (*.f64 b c)) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 d c) 2))))
37.9b
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (fma.f64 d a (*.f64 b c)) (hypot.f64 d c)))
24.6b
(/.f64 (fma.f64 d (neg.f64 a) (*.f64 b c)) (fma.f64 c c (*.f64 d d)))
35.8b
(-.f64 (/.f64 b c) (*.f64 (/.f64 d (*.f64 c c)) (+.f64 a (/.f64 (*.f64 b d) c))))
34.5b
(fma.f64 (/.f64 (/.f64 a c) c) (neg.f64 d) (/.f64 b c))
Compiler

Compiled 5241 to 2352 computations (55.1% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(pow.f64 (cbrt.f64 (-.f64 (*.f64 d a) (*.f64 b c))) 3)
0.9b
(-.f64 (*.f64 d a) (*.f64 b c))
17.1b
(cbrt.f64 (-.f64 (*.f64 d a) (*.f64 b c)))
24.1b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 d a) (*.f64 b c))) 3) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 d c) 2))))

series3.6s (38.7%)

Counts
3 → 144
Calls

3 calls:

3.4s
(pow.f64 (cbrt.f64 (-.f64 (*.f64 d a) (*.f64 b c))) 3)
116.0ms
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 d a) (*.f64 b c))) 3) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 d c) 2))))
73.0ms
(cbrt.f64 (-.f64 (*.f64 d a) (*.f64 b c)))

rewrite95.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
279×log1p-udef_binary64
173×add-sqr-sqrt_binary64
168×log1p-expm1-u_binary64
168×expm1-log1p-u_binary64
164×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01843
138641
2472141
Stop Event
node limit
Counts
3 → 132
Calls

3 calls:

92.0ms
(pow.f64 (cbrt.f64 (-.f64 (*.f64 d a) (*.f64 b c))) 3)
92.0ms
(cbrt.f64 (-.f64 (*.f64 d a) (*.f64 b c)))
92.0ms
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 d a) (*.f64 b c))) 3) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 d c) 2))))

simplify85.0ms (0.9%)

Algorithm
egg-herbie
Rules
631×times-frac_binary64
450×associate-/l*_binary64
347×associate-*l*_binary64
344×associate-/r*_binary64
141×*-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03606102
113075878
Stop Event
node limit
Counts
276 → 272

prune247.0ms (2.7%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New3283331
Fresh347
Picked101
Done022
Total3329341
Error
0.1b
Counts
341 → 9
Alt Table
StatusErrorProgram
32.8b
(-.f64 (/.f64 b c) (*.f64 (/.f64 a c) (/.f64 d c)))
35.8b
(-.f64 (/.f64 b c) (*.f64 (/.f64 d (*.f64 c c)) (+.f64 a (/.f64 (*.f64 b d) c))))
40.1b
(pow.f64 (cbrt.f64 (/.f64 (fma.f64 d a (*.f64 b c)) (pow.f64 (hypot.f64 d c) 2))) 3)
24.7b
(*.f64 (-.f64 (*.f64 d a) (*.f64 b c)) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 d c) 2))))
32.2b
(fma.f64 b (/.f64 (/.f64 c d) d) (/.f64 (neg.f64 a) d))
24.6b
(/.f64 (fma.f64 d (neg.f64 a) (*.f64 b c)) (fma.f64 c c (*.f64 d d)))
37.8b
(/.f64 b (/.f64 (fma.f64 c c (*.f64 d d)) c))
31.1b
(-.f64 (*.f64 (/.f64 b d) (/.f64 c d)) (/.f64 a d))
34.5b
(fma.f64 (/.f64 (/.f64 a c) c) (neg.f64 d) (/.f64 b c))
Compiler

Compiled 11349 to 5964 computations (47.4% saved)

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
1.8b
(-.f64 (*.f64 (/.f64 b d) (/.f64 c d)) (/.f64 a d))
2.3b
(*.f64 (/.f64 b d) (/.f64 c d))

series101.0ms (1.1%)

Counts
2 → 84
Calls

2 calls:

55.0ms
(-.f64 (*.f64 (/.f64 b d) (/.f64 c d)) (/.f64 a d))
46.0ms
(*.f64 (/.f64 b d) (/.f64 c d))

rewrite70.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
314×fma-def_binary64
216×expm1-udef_binary64
216×log1p-udef_binary64
200×fma-neg_binary64
191×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01026
122923
2362123
Stop Event
node limit
Counts
2 → 190
Calls

2 calls:

66.0ms
(-.f64 (*.f64 (/.f64 b d) (/.f64 c d)) (/.f64 a d))
66.0ms
(*.f64 (/.f64 b d) (/.f64 c d))

simplify50.0ms (0.5%)

Algorithm
egg-herbie
Rules
789×times-frac_binary64
600×associate-/l/_binary64
402×associate-/l*_binary64
250×associate-*l*_binary64
203×associate-/r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0131032
1261032
2511032
31151032
43211032
511761032
Stop Event
node limit
Counts
274 → 195

prune135.0ms (1.4%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New1914195
Fresh336
Picked101
Done022
Total1959204
Error
0.1b
Counts
204 → 9
Alt Table
StatusErrorProgram
24.7b
(*.f64 (-.f64 (*.f64 d a) (*.f64 b c)) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 d c) 2))))
32.7b
(fma.f64 c (*.f64 (/.f64 1 d) (/.f64 b d)) (/.f64 (neg.f64 a) d))
24.6b
(/.f64 (fma.f64 d (neg.f64 a) (*.f64 b c)) (fma.f64 c c (*.f64 d d)))
32.3b
(-.f64 (/.f64 c (*.f64 (/.f64 d b) d)) (/.f64 a d))
32.8b
(-.f64 (/.f64 b c) (*.f64 (/.f64 a c) (/.f64 d c)))
35.8b
(-.f64 (/.f64 b c) (*.f64 (/.f64 d (*.f64 c c)) (+.f64 a (/.f64 (*.f64 b d) c))))
30.9b
(-.f64 (/.f64 (/.f64 (*.f64 b (/.f64 c d)) (pow.f64 (cbrt.f64 d) 2)) (cbrt.f64 d)) (/.f64 a d))
32.3b
(-.f64 (/.f64 b (/.f64 d (/.f64 c d))) (/.f64 a d))
34.5b
(fma.f64 (/.f64 (/.f64 a c) c) (neg.f64 d) (/.f64 b c))
Compiler

Compiled 3874 to 948 computations (75.5% saved)

regimes2.0s (21.5%)

Accuracy

Total 12.0b remaining (96.5%)

Threshold costs 0b (0%)

Counts
114 → 7
Compiler

Compiled 9913 to 6424 computations (35.2% saved)

bsearch96.0ms (1%)

Steps
ItersRangePoint
5
5.90120665875336e+62
2.0807438758843815e+63
6.489345394500517e+62
8
3.473157126990636e+23
2.1007970400142e+28
1.948418831344656e+28
7
5.1314403485896385e-111
1.7559298781140565e-109
1.700724934216277e-110
11
-1.2788452108889373e-88
-6.1878964206463e-110
-1.7029803518844395e-105
0
-1.7014204412768508e+24
-1.693526029288618e+24
-1.6974732352827345e+24
10
-1.447572801113306e+53
-2.3291054698633433e+41
-5.174874392946877e+44
Compiler

Compiled 5 to 4 computations (20% saved)

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Rules
35×neg-sub0_binary64
34×neg-mul-1_binary64
33×distribute-rgt-neg-in_binary64
30×cancel-sign-sub-inv_binary64
27×sub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
053159
181158
2114158
3144156
4185156
5216156
6242156
7281156
8323156
9369156
10391156
11392156
Stop Event
saturated

end115.0ms (1.2%)

Compiler

Compiled 377 to 194 computations (48.5% saved)

Profiling

Loading profile data...