Details

Time bar (total: 14.7s)

analyze2.4s (16.1%)

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)

sample4.0s (26.9%)

Symmetry

(sort x y)

(sort z t)

Results
2.2s7318×body128invalid
1.7s8256×body128valid
Compiler

Compiled 83 to 56 computations (32.5% saved)

simplify220.0ms (1.5%)

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

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
5.8b
Counts
3 → 1
Alt Table
StatusErrorProgram
5.8b
(*.f64 2 (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
Compiler

Compiled 98 to 61 computations (37.8% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series101.0ms (0.7%)

Counts
4 → 228
Calls

4 calls:

64.0ms
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i))
19.0ms
(*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)
10.0ms
(+.f64 (*.f64 x y) (*.f64 z t))
8.0ms
(*.f64 (+.f64 a (*.f64 b c)) c)

rewrite60.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
194×add-sqr-sqrt_binary64
184×log1p-expm1-u_binary64
184×expm1-log1p-u_binary64
178×associate-*r*_binary64
178×add-log-exp_binary64
Counts
4 → 130
Calls

4 calls:

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01754
137248
2502748

simplify390.0ms (2.6%)

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
358 → 168
Iterations

Useful iterations: 10 (0.0ms)

IterNodesCost
0473604
11132908
22772827
35742827
417792827
526702827
632672827
737032827
841612827
942492827
1043442675
1133482675
1234902675
1341212675
1444132675
1545692675
1648462675
1749122675

prune194.0ms (1.3%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1608168
Fresh000
Picked101
Done000
Total1618169
Error
0.0b
Counts
169 → 8
Alt Table
StatusErrorProgram
27.4b
(*.f64 2 (-.f64 (/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z t) 2)) (-.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
11.8b
(*.f64 2 (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 c (*.f64 a i)) (*.f64 (pow.f64 c 2) (*.f64 i b)))))
8.7b
(*.f64 2 (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 (pow.f64 c 2) b) (*.f64 c a)) i)))
4.9b
(*.f64 2 (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 c (*.f64 i (fma.f64 c b a)))))
34.2b
(*.f64 2 (pow.f64 (sqrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i))) 2))
22.0b
(*.f64 2 (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (cbrt.f64 (pow.f64 (*.f64 (*.f64 c (fma.f64 b c a)) i) 3))))
29.1b
(*.f64 2 (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (pow.f64 (sqrt.f64 (*.f64 (*.f64 c (fma.f64 b c a)) i)) 2)))
1.5b
(*.f64 2 (+.f64 (fma.f64 1 (fma.f64 x y (*.f64 z t)) (neg.f64 (*.f64 (*.f64 c i) (fma.f64 b c a)))) (fma.f64 (neg.f64 (*.f64 c i)) (fma.f64 b c a) (*.f64 (*.f64 c i) (fma.f64 b c a)))))
Compiler

Compiled 4810 to 1454 computations (69.8% saved)

localize21.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 1 (fma.f64 x y (*.f64 z t)) (neg.f64 (*.f64 (*.f64 c i) (fma.f64 b c a))))
0.0b
(fma.f64 x y (*.f64 z t))
4.9b
(*.f64 (*.f64 c i) (fma.f64 b c a))
50.7b
(fma.f64 (neg.f64 (*.f64 c i)) (fma.f64 b c a) (*.f64 (*.f64 c i) (fma.f64 b c a)))

series126.0ms (0.9%)

Counts
4 → 240
Calls

4 calls:

57.0ms
(fma.f64 1 (fma.f64 x y (*.f64 z t)) (neg.f64 (*.f64 (*.f64 c i) (fma.f64 b c a))))
41.0ms
(fma.f64 (neg.f64 (*.f64 c i)) (fma.f64 b c a) (*.f64 (*.f64 c i) (fma.f64 b c a)))
18.0ms
(*.f64 (*.f64 c i) (fma.f64 b c a))
9.0ms
(fma.f64 x y (*.f64 z t))

rewrite111.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
333×fma-neg_binary64
311×expm1-udef_binary64
311×log1p-udef_binary64
191×add-sqr-sqrt_binary64
173×associate-*r*_binary64
Counts
4 → 99
Calls

4 calls:

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01966
137954
2406454
3497654
4526054

simplify347.0ms (2.4%)

Algorithm
egg-herbie
Rules
953×distribute-rgt-in_binary64
691×unswap-sqr_binary64
566×unsub-neg_binary64
547×distribute-lft-in_binary64
526×distribute-rgt-neg-in_binary64
Counts
339 → 137
Iterations

Useful iterations: 9 (0.0ms)

IterNodesCost
0553880
11372608
23362608
36922608
420192608
526442608
630892608
737562608
838252608
940002456
1031142456
1139532456
1235832456
1347272456
1447562456
1550002456
1645492456

prune217.0ms (1.5%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1700170
Fresh077
Picked011
Done000
Total1708178
Error
0.0b
Counts
178 → 8
Alt Table
StatusErrorProgram
27.4b
(*.f64 2 (-.f64 (/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z t) 2)) (-.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
11.8b
(*.f64 2 (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 c (*.f64 a i)) (*.f64 (pow.f64 c 2) (*.f64 i b)))))
8.7b
(*.f64 2 (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 (pow.f64 c 2) b) (*.f64 c a)) i)))
4.9b
(*.f64 2 (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 c (*.f64 i (fma.f64 c b a)))))
34.2b
(*.f64 2 (pow.f64 (sqrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i))) 2))
22.0b
(*.f64 2 (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (cbrt.f64 (pow.f64 (*.f64 (*.f64 c (fma.f64 b c a)) i) 3))))
29.1b
(*.f64 2 (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (pow.f64 (sqrt.f64 (*.f64 (*.f64 c (fma.f64 b c a)) i)) 2)))
1.5b
(*.f64 2 (+.f64 (fma.f64 1 (fma.f64 x y (*.f64 z t)) (neg.f64 (*.f64 (*.f64 c i) (fma.f64 b c a)))) (fma.f64 (neg.f64 (*.f64 c i)) (fma.f64 b c a) (*.f64 (*.f64 c i) (fma.f64 b c a)))))
Compiler

Compiled 7105 to 1689 computations (76.2% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 c (*.f64 i (fma.f64 c b a))))
0.0b
(+.f64 (*.f64 x y) (*.f64 z t))
1.1b
(*.f64 i (fma.f64 c b a))
3.9b
(*.f64 c (*.f64 i (fma.f64 c b a)))

series82.0ms (0.6%)

Counts
3 → 192
Calls

3 calls:

52.0ms
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 c (*.f64 i (fma.f64 c b a))))
19.0ms
(*.f64 c (*.f64 i (fma.f64 c b a)))
10.0ms
(*.f64 i (fma.f64 c b a))

rewrite81.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
324×log1p-udef_binary64
179×add-sqr-sqrt_binary64
168×log1p-expm1-u_binary64
168×expm1-log1p-u_binary64
165×associate-*r*_binary64
Counts
3 → 87
Calls

3 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01640
134340
2448640
3502440

simplify384.0ms (2.6%)

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

Useful iterations: 10 (0.0ms)

IterNodesCost
0513283
11212587
22792587
35682587
417762587
526702587
632672587
737032587
841612587
942492587
1043442435
1133482435
1234902435
1341212435
1444132435
1545692435
1648462435
1749122435

prune197.0ms (1.3%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1642166
Fresh156
Picked101
Done011
Total1668174
Error
0.0b
Counts
174 → 8
Alt Table
StatusErrorProgram
8.7b
(*.f64 2 (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 (pow.f64 c 2) b) (*.f64 c a)) i)))
33.7b
(*.f64 2 (pow.f64 (sqrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 c (*.f64 i (fma.f64 c b a))))) 2))
27.4b
(*.f64 2 (-.f64 (/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z t) 2)) (-.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
11.8b
(*.f64 2 (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 c (*.f64 a i)) (*.f64 (pow.f64 c 2) (*.f64 i b)))))
8.4b
(*.f64 2 (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 c (+.f64 (*.f64 c (*.f64 i b)) (*.f64 a i)))))
22.0b
(*.f64 2 (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (cbrt.f64 (pow.f64 (*.f64 (*.f64 c (fma.f64 b c a)) i) 3))))
29.1b
(*.f64 2 (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (pow.f64 (sqrt.f64 (*.f64 (*.f64 c (fma.f64 b c a)) i)) 2)))
1.5b
(*.f64 2 (+.f64 (fma.f64 1 (fma.f64 x y (*.f64 z t)) (neg.f64 (*.f64 (*.f64 c i) (fma.f64 b c a)))) (fma.f64 (neg.f64 (*.f64 c i)) (fma.f64 b c a) (*.f64 (*.f64 c i) (fma.f64 b c a)))))
Compiler

Compiled 4440 to 1328 computations (70.1% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 c (*.f64 i b)) (*.f64 a i))
0.0b
(+.f64 (*.f64 x y) (*.f64 z t))
3.9b
(*.f64 c (+.f64 (*.f64 c (*.f64 i b)) (*.f64 a i)))
6.8b
(*.f64 c (*.f64 i b))

series41.0ms (0.3%)

Counts
3 → 84
Calls

3 calls:

20.0ms
(*.f64 c (+.f64 (*.f64 c (*.f64 i b)) (*.f64 a i)))
13.0ms
(+.f64 (*.f64 c (*.f64 i b)) (*.f64 a i))
8.0ms
(*.f64 c (*.f64 i b))

rewrite73.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
630×log-prod_binary64
451×fma-def_binary64
200×expm1-udef_binary64
200×log1p-udef_binary64
195×fma-neg_binary64
Counts
3 → 157
Calls

3 calls:

69.0ms
(+.f64 (*.f64 c (*.f64 i b)) (*.f64 a i))
69.0ms
(*.f64 c (+.f64 (*.f64 c (*.f64 i b)) (*.f64 a i)))
69.0ms
(*.f64 c (*.f64 i b))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01032
121632
2284032
3548332

simplify193.0ms (1.3%)

Algorithm
egg-herbie
Rules
775×sqr-pow_binary64
630×fabs-mul_binary64
585×cube-prod_binary64
420×associate-*l*_binary64
381×pow-sqr_binary64
Counts
241 → 171
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0261089
158774
2102774
3158774
4326774
5856774
61159774
71428774
81453774
91563774
101681774
111848774
122012774
132240774
142574774
152969774
163527774
174211774
184436774
194701774
204988774
214799774

prune244.0ms (1.7%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New2112213
Fresh426
Picked011
Done011
Total2156221
Error
0.0b
Counts
221 → 6
Alt Table
StatusErrorProgram
8.4b
(*.f64 2 (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 c (+.f64 (*.f64 c (*.f64 i b)) (*.f64 a i)))))
27.4b
(*.f64 2 (-.f64 (/.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z t) 2)) (-.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (*.f64 (+.f64 a (*.f64 b c)) c) i)))
8.5b
(*.f64 2 (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (fma.f64 (*.f64 c a) i (*.f64 c (*.f64 c (*.f64 i b))))))
6.6b
(*.f64 2 (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (fma.f64 (*.f64 c (*.f64 c i)) b (*.f64 c (*.f64 i a)))))
29.1b
(*.f64 2 (-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (pow.f64 (sqrt.f64 (*.f64 (*.f64 c (fma.f64 b c a)) i)) 2)))
1.5b
(*.f64 2 (+.f64 (fma.f64 1 (fma.f64 x y (*.f64 z t)) (neg.f64 (*.f64 (*.f64 c i) (fma.f64 b c a)))) (fma.f64 (neg.f64 (*.f64 c i)) (fma.f64 b c a) (*.f64 (*.f64 c i) (fma.f64 b c a)))))
Compiler

Compiled 5937 to 1595 computations (73.1% saved)

regimes5.0s (34.2%)

Accuracy

Total 0.6b remaining (94.4%)

Threshold costs 0.6b (94.4%)

Counts
220 → 3
Compiler

Compiled 102387 to 64945 computations (36.6% saved)

bsearch71.0ms (0.5%)

Steps
ItersRangePoint
4
784785841338991700.0
9.627634839416162e+33
9.250348944498564e+30
4
-1.6565745236325962e+64
-9.719884273545077e+63
-1.052379155071738e+64
Compiler

Compiled 9 to 8 computations (11.1% saved)

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Rules
27×*-commutative_binary64
18×+-commutative_binary64
16×distribute-rgt-neg-in_binary64
16×sub-neg_binary64
14×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041102
173102
2101102
3133102
4165102
5176102
6181102
7182102
8180102

end147.0ms (1%)

Remove

(sort z t)

(sort x y)

Compiler

Compiled 670 to 362 computations (46% saved)

Profiling

Loading profile data...