Details

Time bar (total: 8.9s)

analyze1.5s (16.9%)

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
0%99.8%0.2%8
0%99.8%0.2%9
0%99.8%0.2%10
9.4%90.4%0.2%11
9.4%90.4%0.2%12
10.1%89.6%0.2%13
20.8%78.9%0.2%14
Compiler

Compiled 19 to 14 computations (26.3% saved)

sample1.7s (18.7%)

Symmetry

(sort x y)

(sort z t)

Results
1.1s8256×body128valid
454.0ms3309×body128invalid
Compiler

Compiled 56 to 41 computations (26.8% saved)

simplify206.0ms (2.3%)

Algorithm
egg-herbie
Rules
2966×fma-def_binary64
757×fma-neg_binary64
541×cancel-sign-sub-inv_binary64
473×associate-/l/_binary64
472×times-frac_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01419
13117
210317
331817
479417
5152617
6205417
7228117
8297517
9354017
10395417
11415817
12409717
13410817
14411817
15446217
16453117
17453617
18453617
19647417

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
7.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
7.5b
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z 9) t)) (*.f64 a 2))
7.3b
(*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) (/.f64 1/2 a))
Compiler

Compiled 100 to 69 computations (31% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 -9 (*.f64 z t) (*.f64 x y))
6.8b
(*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) (/.f64 1/2 a))

series104.0ms (1.2%)

Counts
2 → 108
Calls

2 calls:

92.0ms
(*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) (/.f64 1/2 a))
12.0ms
(fma.f64 -9 (*.f64 z t) (*.f64 x y))

rewrite160.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
60×egg-rr
Counts
2 → 60
Calls

2 calls:

158.0ms
((*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) (/.f64 1/2 a)) (fma.f64 -9 (*.f64 z t) (*.f64 x y)))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01328
126728
2309128
3552428
000
100

simplify152.0ms (1.7%)

Algorithm
egg-herbie
Rules
1901×fma-def_binary64
641×fma-neg_binary64
512×cancel-sign-sub-inv_binary64
426×associate-/l*_binary64
420×distribute-rgt-neg-in_binary64
Counts
168 → 73
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0321566
1881398
22131398
35451398
411591398
521651398
628561398
734151398
834091398
934981398
1035341398
1151621398

prune72.0ms (0.8%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New611273
Fresh011
Picked101
Done000
Total621375
Error
6.9b
Counts
75 → 13
Alt Table
StatusErrorProgram
36.2b
(*.f64 (pow.f64 (sqrt.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y))) 2) (/.f64 1/2 a))
8.1b
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) (/.f64 1/2 a))) 3)
29.7b
(*.f64 (*.f64 y x) (/.f64 1/2 a))
8.1b
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y))) 3) (/.f64 1/2 a))
36.0b
(*.f64 -9/2 (/.f64 (*.f64 t z) a))
37.2b
(*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 -9 (*.f64 z t)) 3) (pow.f64 (*.f64 x y) 3)) (fma.f64 (*.f64 -9 (*.f64 z t)) (*.f64 -9 (*.f64 z t)) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 -9 (*.f64 z t)) (*.f64 x y))))) (/.f64 1/2 a))
29.8b
(*.f64 1/2 (/.f64 (*.f64 y x) a))
7.5b
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z 9) t)) (*.f64 a 2))
7.7b
(/.f64 1 (/.f64 a (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) 1/2)))
36.1b
(*.f64 (*.f64 -9 (*.f64 t z)) (/.f64 1/2 a))
7.2b
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 9/2 (/.f64 (*.f64 t z) a)))
36.0b
(/.f64 (/.f64 (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) 1/2) (sqrt.f64 a)) (sqrt.f64 a))
29.3b
(/.f64 (/.f64 (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) 1/2) (cbrt.f64 (*.f64 a a))) (cbrt.f64 a))
Compiler

Compiled 1717 to 980 computations (42.9% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 9/2 (/.f64 (*.f64 t z) a)))
0.2b
(*.f64 9/2 (/.f64 (*.f64 t z) a))
4.3b
(/.f64 (*.f64 t z) a)
5.1b
(/.f64 (*.f64 y x) a)

series87.0ms (1%)

Counts
4 → 24
Calls

4 calls:

43.0ms
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 9/2 (/.f64 (*.f64 t z) a)))
16.0ms
(*.f64 9/2 (/.f64 (*.f64 t z) a))
14.0ms
(/.f64 (*.f64 y x) a)
14.0ms
(/.f64 (*.f64 t z) a)

rewrite85.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
162×egg-rr
Counts
4 → 162
Calls

2 calls:

82.0ms
((/.f64 (*.f64 y x) a) (/.f64 (*.f64 t z) a) (*.f64 9/2 (/.f64 (*.f64 t z) a)) (-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 9/2 (/.f64 (*.f64 t z) a))))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01546
133543
2455243
3497543
000
100

simplify151.0ms (1.7%)

Algorithm
egg-herbie
Rules
1536×fma-neg_binary64
454×associate-/l*_binary64
309×div-sub_binary64
270×fma-def_binary64
250×associate-/r/_binary64
Counts
186 → 167
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
023348
159324
2147324
3368324
4764324
51405324
61667324
71970324
82253324
92415324
102451324
112470324
122485324
132404324
142392324
152392324
162231324

prune272.0ms (3.1%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1607167
Fresh10212
Picked101
Done000
Total1719180
Error
0.3b
Counts
180 → 9
Alt Table
StatusErrorProgram
9.6b
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 9/2 (*.f64 t (/.f64 1 (/.f64 a z)))))
7.7b
(/.f64 1 (/.f64 a (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) 1/2)))
33.3b
(*.f64 (-.f64 (*.f64 (pow.f64 (/.f64 (*.f64 y x) a) 2) 1/4) (*.f64 (pow.f64 (/.f64 (*.f64 t z) a) 2) 81/4)) (/.f64 1 (fma.f64 (/.f64 (*.f64 y x) a) 1/2 (*.f64 (/.f64 (*.f64 t z) a) 9/2))))
31.0b
(-.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 (/.f64 (*.f64 y x) a)) 2)) (*.f64 9/2 (/.f64 (*.f64 t z) a)))
6.5b
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 9/2 (*.f64 (/.f64 t a) z)))
8.7b
(-.f64 (*.f64 1/2 (*.f64 (/.f64 y a) x)) (*.f64 9/2 (/.f64 (*.f64 t z) a)))
37.2b
(*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 -9 (*.f64 z t)) 3) (pow.f64 (*.f64 x y) 3)) (fma.f64 (*.f64 -9 (*.f64 z t)) (*.f64 -9 (*.f64 z t)) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 -9 (*.f64 z t)) (*.f64 x y))))) (/.f64 1/2 a))
9.8b
(-.f64 (*.f64 1/2 (*.f64 y (/.f64 1 (/.f64 a x)))) (*.f64 9/2 (/.f64 (*.f64 t z) a)))
8.4b
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (/.f64 (*.f64 t 9/2) (/.f64 a z)))
Compiler

Compiled 4235 to 1938 computations (54.2% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 9/2 (*.f64 (/.f64 t a) z)))
0.2b
(*.f64 9/2 (*.f64 (/.f64 t a) z))
4.1b
(*.f64 (/.f64 t a) z)
5.1b
(/.f64 (*.f64 y x) a)

series73.0ms (0.8%)

Counts
3 → 132
Calls

3 calls:

43.0ms
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 9/2 (*.f64 (/.f64 t a) z)))
16.0ms
(*.f64 9/2 (*.f64 (/.f64 t a) z))
14.0ms
(*.f64 (/.f64 t a) z)

rewrite82.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
91×egg-rr
Counts
3 → 91
Calls

2 calls:

80.0ms
((*.f64 (/.f64 t a) z) (*.f64 9/2 (*.f64 (/.f64 t a) z)) (-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 9/2 (*.f64 (/.f64 t a) z))))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01539
133537
2447837
3490237
000
100

simplify285.0ms (3.2%)

Algorithm
egg-herbie
Rules
1468×fma-neg_binary64
456×associate-/l*_binary64
307×div-sub_binary64
295×fma-def_binary64
245×distribute-rgt-neg-in_binary64
Counts
223 → 100
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0251644
1651548
21571548
33931548
48031548
514101548
616671548
719761548
822551548
924151548
1024511548
1124701548
1224851548
1324041548
1423921548
1523921548
1622311548

prune238.0ms (2.7%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1412143
Fresh268
Picked101
Done000
Total1448152
Error
0.0b
Counts
152 → 8
Alt Table
StatusErrorProgram
33.3b
(*.f64 (-.f64 (*.f64 (pow.f64 (/.f64 (*.f64 y x) a) 2) 1/4) (*.f64 (pow.f64 (/.f64 (*.f64 t z) a) 2) 81/4)) (/.f64 1 (fma.f64 (/.f64 (*.f64 y x) a) 1/2 (*.f64 (/.f64 (*.f64 t z) a) 9/2))))
7.7b
(/.f64 1 (/.f64 a (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) 1/2)))
31.0b
(-.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 (/.f64 (*.f64 y x) a)) 2)) (*.f64 9/2 (/.f64 (*.f64 t z) a)))
6.3b
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 9/2 (/.f64 z (/.f64 a t))))
37.2b
(*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 -9 (*.f64 z t)) 3) (pow.f64 (*.f64 x y) 3)) (fma.f64 (*.f64 -9 (*.f64 z t)) (*.f64 -9 (*.f64 z t)) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 -9 (*.f64 z t)) (*.f64 x y))))) (/.f64 1/2 a))
7.5b
(-.f64 (*.f64 1/2 (*.f64 (/.f64 y a) x)) (*.f64 9/2 (*.f64 (/.f64 t a) z)))
9.8b
(-.f64 (*.f64 1/2 (*.f64 y (/.f64 1 (/.f64 a x)))) (*.f64 9/2 (/.f64 (*.f64 t z) a)))
8.4b
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (/.f64 (*.f64 t 9/2) (/.f64 a z)))
Compiler

Compiled 3718 to 1625 computations (56.3% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 9/2 (/.f64 z (/.f64 a t))))
0.2b
(*.f64 9/2 (/.f64 z (/.f64 a t)))
4.0b
(/.f64 z (/.f64 a t))
5.1b
(/.f64 (*.f64 y x) a)

series78.0ms (0.9%)

Counts
3 → 132
Calls

3 calls:

45.0ms
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 9/2 (/.f64 z (/.f64 a t))))
16.0ms
(/.f64 z (/.f64 a t))
16.0ms
(*.f64 9/2 (/.f64 z (/.f64 a t)))

rewrite95.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
117×egg-rr
Counts
3 → 117
Calls

2 calls:

92.0ms
((/.f64 z (/.f64 a t)) (*.f64 9/2 (/.f64 z (/.f64 a t))) (-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 9/2 (/.f64 z (/.f64 a t)))))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01539
134237
2474337
3518037
000
100

simplify220.0ms (2.5%)

Algorithm
egg-herbie
Rules
1468×fma-neg_binary64
456×associate-/l*_binary64
307×div-sub_binary64
295×fma-def_binary64
245×distribute-rgt-neg-in_binary64
Counts
249 → 127
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0251644
1651548
21571548
33931548
48031548
514101548
616671548
719761548
822551548
924151548
1024511548
1124701548
1224851548
1324041548
1423921548
1523921548
1622311548

prune379.0ms (4.3%)

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
33.3b
(*.f64 (-.f64 (*.f64 (pow.f64 (/.f64 (*.f64 y x) a) 2) 1/4) (*.f64 (pow.f64 (/.f64 (*.f64 t z) a) 2) 81/4)) (/.f64 1 (fma.f64 (/.f64 (*.f64 y x) a) 1/2 (*.f64 (/.f64 (*.f64 t z) a) 9/2))))
7.7b
(/.f64 1 (/.f64 a (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) 1/2)))
31.0b
(-.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 (/.f64 (*.f64 y x) a)) 2)) (*.f64 9/2 (/.f64 (*.f64 t z) a)))
6.3b
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 9/2 (/.f64 z (/.f64 a t))))
37.2b
(*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 -9 (*.f64 z t)) 3) (pow.f64 (*.f64 x y) 3)) (fma.f64 (*.f64 -9 (*.f64 z t)) (*.f64 -9 (*.f64 z t)) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 -9 (*.f64 z t)) (*.f64 x y))))) (/.f64 1/2 a))
7.5b
(-.f64 (*.f64 1/2 (*.f64 (/.f64 y a) x)) (*.f64 9/2 (*.f64 (/.f64 t a) z)))
9.8b
(-.f64 (*.f64 1/2 (*.f64 y (/.f64 1 (/.f64 a x)))) (*.f64 9/2 (/.f64 (*.f64 t z) a)))
8.4b
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (/.f64 (*.f64 t 9/2) (/.f64 a z)))
Compiler

Compiled 4054 to 1706 computations (57.9% saved)

regimes2.8s (31%)

Accuracy

Total 0.6b remaining (93.4%)

Threshold costs 0.6b (93.4%)

Counts
115 → 3
Compiler

Compiled 30306 to 20738 computations (31.6% saved)

bsearch4.0ms (0%)

Compiler

Compiled 14 to 10 computations (28.6% saved)

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
22×*-commutative_binary64
12×+-commutative_binary64
12×sub-neg_binary64
10×distribute-rgt-neg-in_binary64
distribute-lft-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043103
171103
299103
3121103
4136103
5142103
6143103
7140103

end161.0ms (1.8%)

Remove

(sort z t)

(sort x y)

Compiler

Compiled 664 to 425 computations (36% saved)

Profiling

Loading profile data...