Details

Time bar (total: 7.4s)

analyze1.5s (20.8%)

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.5s (20.8%)

Symmetry

(sort x y)

(sort z t)

Results
1.1s8256×body128valid
401.0ms3112×body128invalid
Compiler

Compiled 56 to 41 computations (26.8% saved)

simplify206.0ms (2.8%)

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.1%)

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.3b
(*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) (/.f64 1/2 a))
7.2b
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z 9) t)) (*.f64 a 2))
Compiler

Compiled 100 to 69 computations (31% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series53.0ms (0.7%)

Counts
3 → 132
Calls

3 calls:

37.0ms
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z 9) t)) (*.f64 a 2))
10.0ms
(-.f64 (*.f64 x y) (*.f64 (*.f64 z 9) t))
6.0ms
(*.f64 (*.f64 z 9) t)

rewrite90.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
282×expm1-udef_binary64
282×log1p-udef_binary64
155×add-sqr-sqrt_binary64
148×log1p-expm1-u_binary64
148×expm1-log1p-u_binary64
Counts
3 → 107
Calls

3 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01439
130935
2417035
3493235
000
100

simplify161.0ms (2.2%)

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
239 → 121
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0321734
1881566
22131566
35451566
411591566
521651566
628561566
734151566
834091566
934981566
1035341566
1151621566

prune125.0ms (1.7%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1129121
Fresh011
Picked101
Done000
Total11310123
Error
6.8b
Counts
123 → 10
Alt Table
StatusErrorProgram
34.2b
(/.f64 (pow.f64 (sqrt.f64 (fma.f64 x y (*.f64 t (*.f64 z -9)))) 2) (*.f64 a 2))
32.4b
(/.f64 (*.f64 -9 (*.f64 t z)) (*.f64 a 2))
32.4b
(*.f64 -9/2 (/.f64 (*.f64 t z) a))
7.3b
(*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) (/.f64 1/2 a))
33.8b
(*.f64 (/.f64 1 (sqrt.f64 (*.f64 a 2))) (/.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (sqrt.f64 (*.f64 a 2))))
35.3b
(*.f64 1/2 (/.f64 (*.f64 y x) a))
33.0b
(/.f64 (/.f64 (-.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 (*.f64 z 9) t) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z 9) t) (fma.f64 x y (*.f64 (*.f64 z 9) t))))) (*.f64 a 2))
7.2b
(/.f64 (+.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (+.f64 (fma.f64 (neg.f64 t) (*.f64 z 9) (*.f64 (*.f64 z 9) t)) (fma.f64 (neg.f64 t) (*.f64 z 9) (*.f64 (*.f64 z 9) t)))) (*.f64 a 2))
7.6b
(pow.f64 (/.f64 (*.f64 a 2) (fma.f64 x y (*.f64 t (*.f64 z -9)))) -1)
35.3b
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (/.f64 1/2 a))) 2)
Compiler

Compiled 2901 to 1837 computations (36.7% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (*.f64 z 9) t)
0.2b
(*.f64 t (*.f64 z -9))
6.7b
(/.f64 (+.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (+.f64 (fma.f64 (neg.f64 t) (*.f64 z 9) (*.f64 (*.f64 z 9) t)) (fma.f64 (neg.f64 t) (*.f64 z 9) (*.f64 (*.f64 z 9) t)))) (*.f64 a 2))
51.7b
(fma.f64 (neg.f64 t) (*.f64 z 9) (*.f64 (*.f64 z 9) t))

series67.0ms (0.9%)

Counts
3 → 108
Calls

3 calls:

52.0ms
(/.f64 (+.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (+.f64 (fma.f64 (neg.f64 t) (*.f64 z 9) (*.f64 (*.f64 z 9) t)) (fma.f64 (neg.f64 t) (*.f64 z 9) (*.f64 (*.f64 z 9) t)))) (*.f64 a 2))
11.0ms
(fma.f64 (neg.f64 t) (*.f64 z 9) (*.f64 (*.f64 z 9) t))
4.0ms
(*.f64 t (*.f64 z -9))

rewrite77.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
647×prod-diff_binary64
216×add-sqr-sqrt_binary64
205×log1p-expm1-u_binary64
205×expm1-log1p-u_binary64
201×add-cbrt-cube_binary64
Counts
3 → 71
Calls

3 calls:

75.0ms
(*.f64 t (*.f64 z -9))
75.0ms
(/.f64 (+.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (+.f64 (fma.f64 (neg.f64 t) (*.f64 z 9) (*.f64 (*.f64 z 9) t)) (fma.f64 (neg.f64 t) (*.f64 z 9) (*.f64 (*.f64 z 9) t)))) (*.f64 a 2))
75.0ms
(fma.f64 (neg.f64 t) (*.f64 z 9) (*.f64 (*.f64 z 9) t))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02061
143444
2413644
3523044
000
100

simplify138.0ms (1.9%)

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
179 → 81
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0331224
1891128
22131128
35451128
411591128
521651128
628561128
734151128
834091128
934981128
1035341128
1151621128

prune136.0ms (1.8%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1340134
Fresh099
Picked011
Done000
Total13410144
Error
6.8b
Counts
144 → 10
Alt Table
StatusErrorProgram
34.2b
(/.f64 (pow.f64 (sqrt.f64 (fma.f64 x y (*.f64 t (*.f64 z -9)))) 2) (*.f64 a 2))
32.4b
(/.f64 (*.f64 -9 (*.f64 t z)) (*.f64 a 2))
32.4b
(*.f64 -9/2 (/.f64 (*.f64 t z) a))
7.3b
(*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) (/.f64 1/2 a))
33.8b
(*.f64 (/.f64 1 (sqrt.f64 (*.f64 a 2))) (/.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (sqrt.f64 (*.f64 a 2))))
35.3b
(*.f64 1/2 (/.f64 (*.f64 y x) a))
33.0b
(/.f64 (/.f64 (-.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 (*.f64 z 9) t) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z 9) t) (fma.f64 x y (*.f64 (*.f64 z 9) t))))) (*.f64 a 2))
7.2b
(/.f64 (+.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (+.f64 (fma.f64 (neg.f64 t) (*.f64 z 9) (*.f64 (*.f64 z 9) t)) (fma.f64 (neg.f64 t) (*.f64 z 9) (*.f64 (*.f64 z 9) t)))) (*.f64 a 2))
7.6b
(pow.f64 (/.f64 (*.f64 a 2) (fma.f64 x y (*.f64 t (*.f64 z -9)))) -1)
35.3b
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (/.f64 1/2 a))) 2)
Compiler

Compiled 4940 to 3186 computations (35.5% saved)

localize8.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))

series50.0ms (0.7%)

Counts
2 → 108
Calls

2 calls:

38.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))

rewrite62.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
633×log-prod_binary64
240×expm1-udef_binary64
240×log1p-udef_binary64
212×log-pow_binary64
170×prod-diff_binary64
Counts
2 → 62
Calls

2 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01328
126728
2309128
3552428
000
100

simplify150.0ms (2%)

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
170 → 75
Iterations

Useful iterations: 1 (0.0ms)

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

prune65.0ms (0.9%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New73275
Fresh178
Picked011
Done011
Total741185
Error
6.8b
Counts
85 → 11
Alt Table
StatusErrorProgram
34.2b
(/.f64 (pow.f64 (sqrt.f64 (fma.f64 x y (*.f64 t (*.f64 z -9)))) 2) (*.f64 a 2))
32.4b
(/.f64 (*.f64 -9 (*.f64 t z)) (*.f64 a 2))
32.4b
(*.f64 -9/2 (/.f64 (*.f64 t z) a))
7.3b
(*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) (/.f64 1/2 a))
33.8b
(*.f64 (/.f64 1 (sqrt.f64 (*.f64 a 2))) (/.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (sqrt.f64 (*.f64 a 2))))
35.4b
(*.f64 (*.f64 y x) (/.f64 1/2 a))
33.0b
(/.f64 (/.f64 (-.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 (*.f64 z 9) t) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z 9) t) (fma.f64 x y (*.f64 (*.f64 z 9) t))))) (*.f64 a 2))
7.2b
(/.f64 (+.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (+.f64 (fma.f64 (neg.f64 t) (*.f64 z 9) (*.f64 (*.f64 z 9) t)) (fma.f64 (neg.f64 t) (*.f64 z 9) (*.f64 (*.f64 z 9) t)))) (*.f64 a 2))
33.7b
(/.f64 (/.f64 (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) 1/2) (sqrt.f64 a)) (sqrt.f64 a))
7.6b
(pow.f64 (/.f64 (*.f64 a 2) (fma.f64 x y (*.f64 t (*.f64 z -9)))) -1)
35.3b
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (/.f64 1/2 a))) 2)
Compiler

Compiled 1651 to 933 computations (43.5% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(*.f64 t (*.f64 z -9))
0.6b
(pow.f64 (/.f64 (*.f64 a 2) (fma.f64 x y (*.f64 t (*.f64 z -9)))) -1)
6.7b
(/.f64 (*.f64 a 2) (fma.f64 x y (*.f64 t (*.f64 z -9))))

series459.0ms (6.2%)

Counts
2 → 120
Calls

2 calls:

391.0ms
(pow.f64 (/.f64 (*.f64 a 2) (fma.f64 x y (*.f64 t (*.f64 z -9)))) -1)
68.0ms
(/.f64 (*.f64 a 2) (fma.f64 x y (*.f64 t (*.f64 z -9))))

rewrite121.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
269×expm1-udef_binary64
269×log1p-udef_binary64
240×prod-diff_binary64
211×fma-neg_binary64
205×fma-udef_binary64
Counts
2 → 95
Calls

2 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01537
130934
2359534
3492934
4494934
5494934
000
100

simplify80.0ms (1.1%)

Algorithm
egg-herbie
Rules
571×associate-*r/_binary64
541×associate-*l/_binary64
405×fma-def_binary64
305×associate-/r/_binary64
223×times-frac_binary64
Counts
215 → 125
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01264036
14693932
217553564
350143564

prune133.0ms (1.8%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New1385143
Fresh358
Picked011
Done112
Total14212154
Error
6.8b
Counts
154 → 12
Alt Table
StatusErrorProgram
7.2b
(/.f64 (+.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (+.f64 (fma.f64 (neg.f64 t) (*.f64 z 9) (*.f64 (*.f64 z 9) t)) (fma.f64 (neg.f64 t) (*.f64 z 9) (*.f64 (*.f64 z 9) t)))) (*.f64 a 2))
7.3b
(*.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (/.f64 1 (*.f64 a 2)))
8.5b
(pow.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 a 2) (fma.f64 x y (*.f64 t (*.f64 z -9))))) 3) -1)
33.7b
(/.f64 (/.f64 (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) 1/2) (sqrt.f64 a)) (sqrt.f64 a))
32.4b
(/.f64 (*.f64 -9 (*.f64 t z)) (*.f64 a 2))
39.1b
(pow.f64 (fma.f64 2 (/.f64 a (*.f64 y x)) (*.f64 18 (/.f64 (*.f64 a (*.f64 t z)) (*.f64 (*.f64 y x) (*.f64 y x))))) -1)
35.4b
(*.f64 (*.f64 y x) (/.f64 1/2 a))
32.4b
(*.f64 -9/2 (/.f64 (*.f64 t z) a))
37.3b
(pow.f64 (fma.f64 (/.f64 (*.f64 a (*.f64 y x)) (*.f64 (*.f64 t z) (*.f64 t z))) -2/81 (*.f64 -2/9 (/.f64 a (*.f64 t z)))) -1)
33.0b
(/.f64 (/.f64 (-.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 (*.f64 z 9) t) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 (*.f64 z 9) t) (fma.f64 x y (*.f64 (*.f64 z 9) t))))) (*.f64 a 2))
7.6b
(pow.f64 (/.f64 (*.f64 a 2) (fma.f64 x y (*.f64 t (*.f64 z -9)))) -1)
7.7b
(pow.f64 (*.f64 a (/.f64 1 (/.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) 2))) -1)
Compiler

Compiled 3507 to 2239 computations (36.2% saved)

regimes1.9s (25.8%)

Accuracy

Total 0.4b remaining (5.4%)

Threshold costs 0.4b (5.4%)

Counts
109 → 1
Compiler

Compiled 29636 to 21311 computations (28.1% 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
01419
12119
22319
32419
42419

end202.0ms (2.7%)

Remove

(sort z t)

(sort x y)

Compiler

Compiled 390 to 272 computations (30.3% saved)

Profiling

Loading profile data...