Details

Time bar (total: 8.5s)

analyze2.1s (24.4%)

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)

sample2.0s (23.4%)

Symmetry

(sort x y)

(sort z t)

Results
1.3s8256×body128valid
567.0ms3307×body128invalid
Compiler

Compiled 56 to 41 computations (26.8% saved)

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

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 100 to 69 computations (31% saved)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series97.0ms (1.1%)

Counts
2 → 108
Calls

2 calls:

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

rewrite65.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 → 60
Calls

2 calls:

64.0ms
(fma.f64 -9 (*.f64 z t) (*.f64 x y))
64.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

simplify155.0ms (1.8%)

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

prune115.0ms (1.4%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New621173
Fresh011
Picked101
Done000
Total631275
Error
5.9b
Counts
75 → 12
Alt Table
StatusErrorProgram
35.7b
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) (/.f64 1/2 a))) 2)
29.8b
(*.f64 1/2 (/.f64 (*.f64 y x) a))
30.3b
(/.f64 (/.f64 (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) 1/2) (cbrt.f64 (*.f64 a a))) (cbrt.f64 a))
36.7b
(*.f64 (pow.f64 (sqrt.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y))) 2) (/.f64 1/2 a))
6.5b
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z 9) t)) (*.f64 a 2))
7.2b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y))) (pow.f64 (cbrt.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y))) 2)) (/.f64 1/2 a))
29.8b
(*.f64 (*.f64 y x) (/.f64 1/2 a))
34.1b
(*.f64 -9/2 (/.f64 (*.f64 t z) a))
7.1b
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) (/.f64 1/2 a))) 3)
36.0b
(/.f64 (/.f64 (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) 1/2) (sqrt.f64 a)) (sqrt.f64 a))
6.4b
(/.f64 1 (/.f64 a (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) 1/2)))
24.8b
(*.f64 (/.f64 (-.f64 (*.f64 (*.f64 -9 (*.f64 z t)) (*.f64 -9 (*.f64 z t))) (pow.f64 (*.f64 x y) 2)) (-.f64 (*.f64 -9 (*.f64 z t)) (*.f64 x y))) (/.f64 1/2 a))
Compiler

Compiled 1683 to 954 computations (43.3% saved)

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(fma.f64 -9 (*.f64 z t) (*.f64 x y))
0.4b
(/.f64 1 (/.f64 a (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) 1/2)))
5.8b
(/.f64 a (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) 1/2))

series253.0ms (3%)

Counts
2 → 120
Calls

2 calls:

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

rewrite126.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
267×expm1-udef_binary64
267×log1p-udef_binary64
210×fma-neg_binary64
188×prod-diff_binary64
173×fma-udef_binary64
Counts
2 → 89
Calls

2 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01537
130734
2362134
3496234
4499634
5500534
000
100

simplify99.0ms (1.2%)

Algorithm
egg-herbie
Rules
691×associate-*l*_binary64
493×associate-*r/_binary64
474×associate-*l/_binary64
376×fma-def_binary64
248×associate-/r/_binary64
Counts
209 → 118
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01233576
14463456
216463432
354833432

prune163.0ms (1.9%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New1457152
Fresh3811
Picked101
Done000
Total14915164
Error
5.8b
Counts
164 → 15
Alt Table
StatusErrorProgram
29.8b
(*.f64 (*.f64 y x) (/.f64 1/2 a))
35.8b
(/.f64 1 (fma.f64 2 (/.f64 a (*.f64 y x)) (*.f64 18 (/.f64 (*.f64 a (*.f64 t z)) (*.f64 (*.f64 y x) (*.f64 y x))))))
7.4b
(/.f64 1 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) 1/2))) 3))
30.3b
(/.f64 (/.f64 (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) 1/2) (cbrt.f64 (*.f64 a a))) (cbrt.f64 a))
29.9b
(/.f64 1 (*.f64 2 (/.f64 a (*.f64 y x))))
36.7b
(*.f64 (pow.f64 (sqrt.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y))) 2) (/.f64 1/2 a))
6.5b
(/.f64 1 (*.f64 a (/.f64 2 (fma.f64 -9 (*.f64 z t) (*.f64 x y)))))
36.0b
(*.f64 (/.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) (sqrt.f64 a)) (/.f64 1/2 (sqrt.f64 a)))
38.2b
(/.f64 1 (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)))))
6.5b
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z 9) t)) (*.f64 a 2))
7.2b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y))) (pow.f64 (cbrt.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y))) 2)) (/.f64 1/2 a))
34.1b
(*.f64 -9/2 (/.f64 (*.f64 t z) a))
35.7b
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) (/.f64 1/2 a))) 2)
7.1b
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) (/.f64 1/2 a))) 3)
34.2b
(/.f64 1 (*.f64 -2/9 (/.f64 a (*.f64 t z))))
Compiler

Compiled 3922 to 2200 computations (43.9% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(-.f64 (*.f64 x y) (*.f64 (*.f64 z 9) t))
0.5b
(*.f64 (*.f64 z 9) t)
5.8b
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z 9) t)) (*.f64 a 2))

series106.0ms (1.2%)

Counts
3 → 132
Calls

3 calls:

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

rewrite138.0ms (1.6%)

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 → 106
Calls

3 calls:

136.0ms
(-.f64 (*.f64 x y) (*.f64 (*.f64 z 9) t))
136.0ms
(*.f64 (*.f64 z 9) t)
136.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

simplify167.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
238 → 120
Iterations

Useful iterations: 1 (0.0ms)

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

prune155.0ms (1.8%)

Pruning

16 alts after pruning (15 fresh and 1 done)

PrunedKeptTotal
New1182120
Fresh11314
Picked011
Done000
Total11916135
Error
5.8b
Counts
135 → 16
Alt Table
StatusErrorProgram
35.8b
(/.f64 1 (fma.f64 2 (/.f64 a (*.f64 y x)) (*.f64 18 (/.f64 (*.f64 a (*.f64 t z)) (*.f64 (*.f64 y x) (*.f64 y x))))))
7.4b
(/.f64 1 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) 1/2))) 3))
30.3b
(/.f64 (/.f64 (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) 1/2) (cbrt.f64 (*.f64 a a))) (cbrt.f64 a))
29.9b
(/.f64 1 (*.f64 2 (/.f64 a (*.f64 y x))))
36.7b
(*.f64 (pow.f64 (sqrt.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y))) 2) (/.f64 1/2 a))
6.5b
(/.f64 1 (*.f64 a (/.f64 2 (fma.f64 -9 (*.f64 z t) (*.f64 x y)))))
36.0b
(*.f64 (/.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) (sqrt.f64 a)) (/.f64 1/2 (sqrt.f64 a)))
38.2b
(/.f64 1 (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)))))
6.5b
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z 9) t)) (*.f64 a 2))
7.2b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y))) (pow.f64 (cbrt.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y))) 2)) (/.f64 1/2 a))
34.1b
(*.f64 -9/2 (/.f64 (*.f64 t z) a))
35.7b
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) (/.f64 1/2 a))) 2)
7.1b
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) (/.f64 1/2 a))) 3)
34.2b
(/.f64 1 (*.f64 -2/9 (/.f64 a (*.f64 t z))))
7.4b
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 t (*.f64 z -9)))) 2) (*.f64 (cbrt.f64 (fma.f64 x y (*.f64 t (*.f64 z -9)))) (/.f64 1/2 a)))
29.8b
(/.f64 (*.f64 y x) (*.f64 a 2))
Compiler

Compiled 3090 to 1963 computations (36.5% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 2 (fma.f64 -9 (*.f64 z t) (*.f64 x y)))
0.3b
(fma.f64 -9 (*.f64 z t) (*.f64 x y))
0.4b
(/.f64 1 (*.f64 a (/.f64 2 (fma.f64 -9 (*.f64 z t) (*.f64 x y)))))
5.7b
(*.f64 a (/.f64 2 (fma.f64 -9 (*.f64 z t) (*.f64 x y))))

series187.0ms (2.2%)

Counts
3 → 168
Calls

3 calls:

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

rewrite70.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
266×expm1-udef_binary64
266×log1p-udef_binary64
237×log-pow_binary64
170×prod-diff_binary64
151×add-sqr-sqrt_binary64
Counts
3 → 82
Calls

3 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01551
130848
2351248
3493148
000
100

simplify126.0ms (1.5%)

Algorithm
egg-herbie
Rules
814×associate-*l/_binary64
594×fma-def_binary64
404×associate-/r/_binary64
308×associate-/l/_binary64
285×times-frac_binary64
Counts
250 → 127
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01565612
15945456
223215384
358925384

prune215.0ms (2.5%)

Pruning

16 alts after pruning (14 fresh and 2 done)

PrunedKeptTotal
New1592161
Fresh21214
Picked011
Done011
Total16116177
Error
5.8b
Counts
177 → 16
Alt Table
StatusErrorProgram
30.3b
(/.f64 (/.f64 (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) 1/2) (cbrt.f64 (*.f64 a a))) (cbrt.f64 a))
33.8b
(/.f64 1 (*.f64 a (fma.f64 18 (/.f64 (*.f64 t z) (*.f64 (*.f64 y x) (*.f64 y x))) (/.f64 2 (*.f64 y x)))))
36.7b
(*.f64 (pow.f64 (sqrt.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y))) 2) (/.f64 1/2 a))
6.5b
(/.f64 1 (*.f64 a (/.f64 2 (fma.f64 -9 (*.f64 z t) (*.f64 x y)))))
36.0b
(*.f64 (/.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) (sqrt.f64 a)) (/.f64 1/2 (sqrt.f64 a)))
38.2b
(/.f64 1 (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)))))
6.5b
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z 9) t)) (*.f64 a 2))
7.2b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y))) (pow.f64 (cbrt.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y))) 2)) (/.f64 1/2 a))
7.4b
(/.f64 1 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) 1/2))) 3))
34.1b
(*.f64 -9/2 (/.f64 (*.f64 t z) a))
35.7b
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) (/.f64 1/2 a))) 2)
7.1b
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 -9 (*.f64 z t) (*.f64 x y)) (/.f64 1/2 a))) 3)
34.2b
(/.f64 1 (*.f64 -2/9 (/.f64 a (*.f64 t z))))
29.9b
(/.f64 1 (*.f64 a (/.f64 2 (*.f64 y x))))
7.4b
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 t (*.f64 z -9)))) 2) (*.f64 (cbrt.f64 (fma.f64 x y (*.f64 t (*.f64 z -9)))) (/.f64 1/2 a)))
29.8b
(/.f64 (*.f64 y x) (*.f64 a 2))
Compiler

Compiled 3920 to 2236 computations (43% saved)

regimes1.6s (19.2%)

Accuracy

Total 0.4b remaining (5.5%)

Threshold costs 0.4b (5.5%)

Counts
111 → 1
Compiler

Compiled 24540 to 17761 computations (27.6% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
1-exp_binary64
unpow1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01517
11917
21817

end287.0ms (3.4%)

Remove

(sort z t)

(sort x y)

Compiler

Compiled 433 to 304 computations (29.8% saved)

Profiling

Loading profile data...