Details

Time bar (total: 10.6s)

analyze2.6s (24.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.6%0.4%0
0%99.6%0.4%1
0%99.6%0.4%2
0%99.6%0.4%3
0%99.6%0.4%4
0%99.6%0.4%5
0%99.6%0.4%6
0%99.6%0.4%7
0%99.6%0.4%8
0%99.6%0.4%9
0%99.6%0.4%10
0%99.6%0.4%11
0%99.6%0.4%12
0%99.6%0.4%13
0%99.6%0.4%14
Compiler

Compiled 28 to 19 computations (32.1% saved)

sample3.2s (30%)

Symmetry

(sort x y)

(sort z t)

Results
1.7s8256×body128valid
1.4s7495×body128invalid
Compiler

Compiled 83 to 56 computations (32.5% saved)

simplify219.0ms (2.1%)

Algorithm
egg-herbie
Rules
1133×distribute-rgt-in_binary64
1066×distribute-lft-in_binary64
969×unsub-neg_binary64
583×fma-def_binary64
461×sub-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01926
13724
29724
327724
479724
5180924
6253224
7278324
8312824
9340924
10331924
11332724
12333124
13346124
14362024
15362124
16362324
17362324
18507124

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
6.6b
Counts
3 → 1
Alt Table
StatusErrorProgram
6.6b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i)))
Compiler

Compiled 94 to 57 computations (39.4% saved)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 x y (*.f64 z t))
0.0b
(-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i))
0.1b
(*.f64 c (fma.f64 b c a))
8.6b
(*.f64 (*.f64 c (fma.f64 b c a)) i)

series93.0ms (0.9%)

Counts
4 → 228
Calls

4 calls:

55.0ms
(-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i))
20.0ms
(*.f64 (*.f64 c (fma.f64 b c a)) i)
11.0ms
(*.f64 c (fma.f64 b c a))
8.0ms
(fma.f64 x y (*.f64 z t))

rewrite99.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
367×fma-def_binary64
294×expm1-udef_binary64
294×log1p-udef_binary64
174×fma-neg_binary64
163×add-sqr-sqrt_binary64
Counts
4 → 160
Calls

4 calls:

94.0ms
(fma.f64 x y (*.f64 z t))
94.0ms
(-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i))
94.0ms
(*.f64 c (fma.f64 b c a))
94.0ms
(*.f64 (*.f64 c (fma.f64 b c a)) i)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01548
131148
2387248
3528948
000
100

simplify451.0ms (4.2%)

Algorithm
egg-herbie
Rules
932×fma-neg_binary64
891×distribute-rgt-neg-in_binary64
739×cube-prod_binary64
707×distribute-lft-neg-in_binary64
670×fabs-mul_binary64
Counts
388 → 198
Iterations

Useful iterations: 10 (0.0ms)

IterNodesCost
0473604
11132908
22752827
35722827
417772827
526702827
632672827
737032827
841612827
942492827
1043442675
1133482675
1234902675
1341212675
1444132675
1545692675
1648462675
1749122675

prune181.0ms (1.7%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1935198
Fresh000
Picked011
Done000
Total1936199
Error
0.0b
Counts
199 → 6
Alt Table
StatusErrorProgram
29.4b
(*.f64 2 (-.f64 (*.f64 t z) (+.f64 (*.f64 (pow.f64 c 2) (*.f64 i b)) (*.f64 c (*.f64 i a)))))
5.3b
(*.f64 2 (fma.f64 c (neg.f64 (*.f64 (fma.f64 c b a) i)) (fma.f64 x y (*.f64 z t))))
36.8b
(*.f64 2 (pow.f64 (sqrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 c b a)) i))) 2))
22.2b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (cbrt.f64 (pow.f64 (*.f64 c (fma.f64 c b a)) 3)) i)))
32.3b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (pow.f64 (sqrt.f64 (*.f64 c (fma.f64 c b a))) 2) i)))
6.6b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i)))
Compiler

Compiled 5816 to 1398 computations (76% saved)

localize20.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 x y (*.f64 z t))
1.0b
(*.f64 (fma.f64 c b a) i)
4.1b
(fma.f64 c (neg.f64 (*.f64 (fma.f64 c b a) i)) (fma.f64 x y (*.f64 z t)))

series81.0ms (0.8%)

Counts
2 → 144
Calls

2 calls:

71.0ms
(fma.f64 c (neg.f64 (*.f64 (fma.f64 c b a) i)) (fma.f64 x y (*.f64 z t)))
10.0ms
(*.f64 (fma.f64 c b a) i)

rewrite147.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
319×prod-diff_binary64
267×expm1-udef_binary64
267×log1p-udef_binary64
215×fma-neg_binary64
210×fma-udef_binary64
Counts
2 → 48
Calls

2 calls:

146.0ms
(*.f64 (fma.f64 c b a) i)
146.0ms
(fma.f64 c (neg.f64 (*.f64 (fma.f64 c b a) i)) (fma.f64 x y (*.f64 z t)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01529
130227
2339427
3490827
4497827
5504127
000
100

simplify330.0ms (3.1%)

Algorithm
egg-herbie
Rules
1017×distribute-rgt-neg-in_binary64
913×fma-neg_binary64
702×fabs-mul_binary64
646×distribute-lft-neg-in_binary64
635×cube-prod_binary64
Counts
192 → 80
Iterations

Useful iterations: 10 (0.0ms)

IterNodesCost
0472679
11182331
22712100
35422100
416652100
525542100
631702100
736192100
840772100
941622100
1042591928
1133231928
1232421928
1337571928
1444861928
1548391928

prune97.0ms (0.9%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1021103
Fresh044
Picked011
Done011
Total1027109
Error
0.0b
Counts
109 → 7
Alt Table
StatusErrorProgram
29.4b
(*.f64 2 (-.f64 (*.f64 t z) (+.f64 (*.f64 (pow.f64 c 2) (*.f64 i b)) (*.f64 c (*.f64 i a)))))
6.8b
(*.f64 2 (fma.f64 c (neg.f64 (+.f64 (*.f64 c (*.f64 i b)) (*.f64 a i))) (fma.f64 x y (*.f64 z t))))
5.3b
(*.f64 2 (fma.f64 c (neg.f64 (*.f64 (fma.f64 c b a) i)) (fma.f64 x y (*.f64 z t))))
36.8b
(*.f64 2 (pow.f64 (sqrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 c b a)) i))) 2))
22.2b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (cbrt.f64 (pow.f64 (*.f64 c (fma.f64 c b a)) 3)) i)))
32.3b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (pow.f64 (sqrt.f64 (*.f64 c (fma.f64 c b a))) 2) i)))
6.6b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i)))
Compiler

Compiled 2382 to 823 computations (65.4% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 x y (*.f64 z t))
0.0b
(+.f64 (*.f64 c (*.f64 i b)) (*.f64 a i))
4.1b
(fma.f64 c (neg.f64 (+.f64 (*.f64 c (*.f64 i b)) (*.f64 a i))) (fma.f64 x y (*.f64 z t)))
5.4b
(*.f64 c (*.f64 i b))

series114.0ms (1.1%)

Counts
3 → 132
Calls

3 calls:

67.0ms
(fma.f64 c (neg.f64 (+.f64 (*.f64 c (*.f64 i b)) (*.f64 a i))) (fma.f64 x y (*.f64 z t)))
31.0ms
(*.f64 c (*.f64 i b))
16.0ms
(+.f64 (*.f64 c (*.f64 i b)) (*.f64 a i))

rewrite79.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
316×expm1-udef_binary64
316×log1p-udef_binary64
184×add-sqr-sqrt_binary64
170×log1p-expm1-u_binary64
170×expm1-log1p-u_binary64
Counts
3 → 97
Calls

3 calls:

74.0ms
(+.f64 (*.f64 c (*.f64 i b)) (*.f64 a i))
74.0ms
(fma.f64 c (neg.f64 (+.f64 (*.f64 c (*.f64 i b)) (*.f64 a i))) (fma.f64 x y (*.f64 z t)))
74.0ms
(*.f64 c (*.f64 i b))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01742
135440
2425140
3514640
000
100

simplify305.0ms (2.9%)

Algorithm
egg-herbie
Rules
1017×distribute-rgt-neg-in_binary64
913×fma-neg_binary64
702×fabs-mul_binary64
646×distribute-lft-neg-in_binary64
635×cube-prod_binary64
Counts
229 → 126
Iterations

Useful iterations: 10 (0.0ms)

IterNodesCost
0452547
11162235
22702004
35412004
416642004
525542004
631702004
736192004
840772004
941622004
1042591832
1133231832
1232421832
1337571832
1444861832
1548391832

prune152.0ms (1.4%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New1490149
Fresh044
Picked011
Done022
Total1497156
Error
0.0b
Counts
156 → 7
Alt Table
StatusErrorProgram
29.4b
(*.f64 2 (-.f64 (*.f64 t z) (+.f64 (*.f64 (pow.f64 c 2) (*.f64 i b)) (*.f64 c (*.f64 i a)))))
6.8b
(*.f64 2 (fma.f64 c (neg.f64 (+.f64 (*.f64 c (*.f64 i b)) (*.f64 a i))) (fma.f64 x y (*.f64 z t))))
5.3b
(*.f64 2 (fma.f64 c (neg.f64 (*.f64 (fma.f64 c b a) i)) (fma.f64 x y (*.f64 z t))))
36.8b
(*.f64 2 (pow.f64 (sqrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 c b a)) i))) 2))
22.2b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (cbrt.f64 (pow.f64 (*.f64 c (fma.f64 c b a)) 3)) i)))
32.3b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (pow.f64 (sqrt.f64 (*.f64 c (fma.f64 c b a))) 2) i)))
6.6b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i)))
Compiler

Compiled 4023 to 1222 computations (69.6% saved)

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 c (fma.f64 c b a))
0.2b
(pow.f64 (*.f64 c (fma.f64 c b a)) 3)
8.6b
(*.f64 (cbrt.f64 (pow.f64 (*.f64 c (fma.f64 c b a)) 3)) i)
26.1b
(cbrt.f64 (pow.f64 (*.f64 c (fma.f64 c b a)) 3))

series94.0ms (0.9%)

Counts
4 → 156
Calls

4 calls:

34.0ms
(*.f64 (cbrt.f64 (pow.f64 (*.f64 c (fma.f64 c b a)) 3)) i)
27.0ms
(pow.f64 (*.f64 c (fma.f64 c b a)) 3)
22.0ms
(cbrt.f64 (pow.f64 (*.f64 c (fma.f64 c b a)) 3))
11.0ms
(*.f64 c (fma.f64 c b a))

rewrite59.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
885×log1p-expm1-u_binary64
885×expm1-log1p-u_binary64
100×add-sqr-sqrt_binary64
94×add-cbrt-cube_binary64
93×add-log-exp_binary64
Counts
4 → 92
Calls

4 calls:

57.0ms
(*.f64 c (fma.f64 c b a))
57.0ms
(pow.f64 (*.f64 c (fma.f64 c b a)) 3)
57.0ms
(*.f64 (cbrt.f64 (pow.f64 (*.f64 c (fma.f64 c b a)) 3)) i)
57.0ms
(cbrt.f64 (pow.f64 (*.f64 c (fma.f64 c b a)) 3))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01138
120738
2232138
3546138
000
100

simplify135.0ms (1.3%)

Algorithm
egg-herbie
Rules
888×fma-neg_binary64
598×unswap-sqr_binary64
442×associate-*l*_binary64
410×fma-def_binary64
365×associate-*r*_binary64
Counts
248 → 112
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0682693
11962477
25682186
321302132
443142132
549682132
649602132

prune176.0ms (1.7%)

Pruning

7 alts after pruning (3 fresh and 4 done)

PrunedKeptTotal
New1120112
Fresh033
Picked011
Done033
Total1127119
Error
0.0b
Counts
119 → 7
Alt Table
StatusErrorProgram
29.4b
(*.f64 2 (-.f64 (*.f64 t z) (+.f64 (*.f64 (pow.f64 c 2) (*.f64 i b)) (*.f64 c (*.f64 i a)))))
6.8b
(*.f64 2 (fma.f64 c (neg.f64 (+.f64 (*.f64 c (*.f64 i b)) (*.f64 a i))) (fma.f64 x y (*.f64 z t))))
5.3b
(*.f64 2 (fma.f64 c (neg.f64 (*.f64 (fma.f64 c b a) i)) (fma.f64 x y (*.f64 z t))))
36.8b
(*.f64 2 (pow.f64 (sqrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 c b a)) i))) 2))
22.2b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (cbrt.f64 (pow.f64 (*.f64 c (fma.f64 c b a)) 3)) i)))
32.3b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (pow.f64 (sqrt.f64 (*.f64 c (fma.f64 c b a))) 2) i)))
6.6b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i)))
Compiler

Compiled 2856 to 1169 computations (59.1% saved)

regimes1.8s (16.8%)

Accuracy

Total 0.3b remaining (85.1%)

Threshold costs 0.3b (85.1%)

Counts
60 → 3
Compiler

Compiled 22612 to 15358 computations (32.1% saved)

bsearch2.0ms (0%)

Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify9.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
033108
152108
268108
379108
487108
590108
690108

end193.0ms (1.8%)

Remove

(sort z t)

(sort x y)

Compiler

Compiled 687 to 330 computations (52% saved)

Profiling

Loading profile data...