Details

Time bar (total: 6.4s)

analyze1.5s (23%)

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 (24.2%)

Symmetry

(sort x y)

(sort z t)

Results
1.0s8256×body128valid
419.0ms3265×body128invalid
Compiler

Compiled 56 to 41 computations (26.8% saved)

simplify208.0ms (3.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.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 100 to 69 computations (31% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series52.0ms (0.8%)

Counts
3 → 132
Calls

3 calls:

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

rewrite96.0ms (1.5%)

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:

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01439
130935
2417035
3493235

simplify170.0ms (2.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
239 → 121
Iterations

Useful iterations: 1 (0.0ms)

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

prune125.0ms (2%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New10912121
Fresh101
Picked101
Done000
Total11112123
Error
5.6b
Counts
123 → 12
Alt Table
StatusErrorProgram
35.9b
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (/.f64 1/2 a)) 3))
6.8b
(*.f64 (cbrt.f64 (*.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (/.f64 1/2 a))) (pow.f64 (cbrt.f64 (*.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (/.f64 1/2 a))) 2))
6.1b
(pow.f64 (/.f64 (*.f64 a 2) (fma.f64 x y (*.f64 t (*.f64 z -9)))) -1)
6.0b
(*.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (/.f64 1/2 a))
33.2b
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (/.f64 1/2 a))) 2)
34.3b
(/.f64 (*.f64 y x) (*.f64 a 2))
36.0b
(*.f64 (sqrt.f64 (fma.f64 x y (*.f64 t (*.f64 z -9)))) (*.f64 (sqrt.f64 (fma.f64 x y (*.f64 t (*.f64 z -9)))) (/.f64 1/2 a)))
30.9b
(/.f64 (*.f64 -9 (*.f64 t z)) (*.f64 a 2))
36.0b
(/.f64 (pow.f64 (sqrt.f64 (fma.f64 x y (*.f64 t (*.f64 z -9)))) 2) (*.f64 a 2))
30.9b
(*.f64 -9/2 (/.f64 (*.f64 t z) a))
6.9b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 t (*.f64 z -9)))) 2) a) (/.f64 (cbrt.f64 (fma.f64 x y (*.f64 t (*.f64 z -9)))) 2))
6.0b
(/.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (*.f64 a 2))
Compiler

Compiled 2941 to 1869 computations (36.5% saved)

localize13.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

series51.0ms (0.8%)

Counts
3 → 132
Calls

3 calls:

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

rewrite67.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
249×prod-diff_binary64
243×expm1-udef_binary64
243×log1p-udef_binary64
214×log-pow_binary64
135×add-sqr-sqrt_binary64
Counts
3 → 84
Calls

3 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01335
126835
2324935
3491235

simplify160.0ms (2.5%)

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
216 → 96
Iterations

Useful iterations: 1 (0.0ms)

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

prune74.0ms (1.2%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New96096
Fresh01111
Picked011
Done000
Total9612108
Error
5.6b
Counts
108 → 12
Alt Table
StatusErrorProgram
35.9b
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (/.f64 1/2 a)) 3))
6.8b
(*.f64 (cbrt.f64 (*.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (/.f64 1/2 a))) (pow.f64 (cbrt.f64 (*.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (/.f64 1/2 a))) 2))
6.1b
(pow.f64 (/.f64 (*.f64 a 2) (fma.f64 x y (*.f64 t (*.f64 z -9)))) -1)
6.0b
(*.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (/.f64 1/2 a))
33.2b
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (/.f64 1/2 a))) 2)
34.3b
(/.f64 (*.f64 y x) (*.f64 a 2))
36.0b
(*.f64 (sqrt.f64 (fma.f64 x y (*.f64 t (*.f64 z -9)))) (*.f64 (sqrt.f64 (fma.f64 x y (*.f64 t (*.f64 z -9)))) (/.f64 1/2 a)))
30.9b
(/.f64 (*.f64 -9 (*.f64 t z)) (*.f64 a 2))
36.0b
(/.f64 (pow.f64 (sqrt.f64 (fma.f64 x y (*.f64 t (*.f64 z -9)))) 2) (*.f64 a 2))
30.9b
(*.f64 -9/2 (/.f64 (*.f64 t z) a))
6.9b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 t (*.f64 z -9)))) 2) a) (/.f64 (cbrt.f64 (fma.f64 x y (*.f64 t (*.f64 z -9)))) 2))
6.0b
(/.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (*.f64 a 2))
Compiler

Compiled 2094 to 1365 computations (34.8% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series42.0ms (0.7%)

Counts
1 → 60
Calls

1 calls:

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

rewrite59.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
648×log-prod_binary64
242×expm1-udef_binary64
242×log1p-udef_binary64
231×prod-diff_binary64
213×log-pow_binary64
Counts
1 → 32
Calls

1 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01317
126917
2313617
3570917

simplify132.0ms (2.1%)

Algorithm
egg-herbie
Rules
1880×fma-def_binary64
637×fma-neg_binary64
506×cancel-sign-sub-inv_binary64
421×distribute-rgt-neg-in_binary64
414×associate-/l*_binary64
Counts
92 → 39
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0301032
185936
2209936
3535936
41152936
52159936
62838936
73335936
83381936
93468936
103505936
115102936

prune82.0ms (1.3%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New83487
Fresh5510
Picked011
Done011
Total881199
Error
5.6b
Counts
99 → 11
Alt Table
StatusErrorProgram
35.9b
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (/.f64 1/2 a)) 3))
6.8b
(*.f64 (cbrt.f64 (*.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (/.f64 1/2 a))) (pow.f64 (cbrt.f64 (*.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (/.f64 1/2 a))) 2))
6.1b
(pow.f64 (/.f64 (*.f64 a 2) (fma.f64 x y (*.f64 t (*.f64 z -9)))) -1)
6.0b
(*.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (/.f64 1/2 a))
30.9b
(/.f64 (*.f64 -9 (*.f64 t z)) (*.f64 a 2))
28.1b
(/.f64 (/.f64 (*.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) 1/2) (cbrt.f64 (*.f64 a a))) (cbrt.f64 a))
6.0b
(/.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (*.f64 a 2))
34.3b
(*.f64 (*.f64 y x) (/.f64 1/2 a))
36.0b
(*.f64 (pow.f64 (sqrt.f64 (fma.f64 x y (*.f64 t (*.f64 z -9)))) 2) (/.f64 1/2 a))
30.9b
(*.f64 -9/2 (/.f64 (*.f64 t z) a))
6.9b
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 t (*.f64 z -9)))) 2) (cbrt.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))))) (/.f64 1/2 a))
Compiler

Compiled 1779 to 1149 computations (35.4% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series451.0ms (7.1%)

Counts
2 → 120
Calls

2 calls:

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

rewrite123.0ms (1.9%)

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:

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01537
130934
2359534
3492934
4494934
5494934

simplify87.0ms (1.4%)

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

prune145.0ms (2.3%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New1712173
Fresh268
Picked101
Done022
Total17410184
Error
5.6b
Counts
184 → 10
Alt Table
StatusErrorProgram
6.0b
(*.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (/.f64 1/2 a))
6.1b
(/.f64 (/.f64 1 (*.f64 a 2)) (/.f64 1 (fma.f64 x y (*.f64 t (*.f64 z -9)))))
30.9b
(/.f64 (*.f64 -9 (*.f64 t z)) (*.f64 a 2))
28.1b
(/.f64 (/.f64 (*.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) 1/2) (cbrt.f64 (*.f64 a a))) (cbrt.f64 a))
6.0b
(/.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))) (*.f64 a 2))
34.3b
(*.f64 (*.f64 y x) (/.f64 1/2 a))
6.1b
(pow.f64 (*.f64 2 (/.f64 a (fma.f64 (*.f64 t z) -9 (*.f64 y x)))) -1)
36.0b
(*.f64 (pow.f64 (sqrt.f64 (fma.f64 x y (*.f64 t (*.f64 z -9)))) 2) (/.f64 1/2 a))
30.9b
(*.f64 -9/2 (/.f64 (*.f64 t z) a))
6.9b
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 t (*.f64 z -9)))) 2) (cbrt.f64 (fma.f64 x y (*.f64 t (*.f64 z -9))))) (/.f64 1/2 a))
Compiler

Compiled 3973 to 2548 computations (35.9% saved)

regimes903.0ms (14.2%)

Accuracy

Total 0.5b remaining (6.4%)

Threshold costs 0.5b (6.4%)

Counts
71 → 1
Compiler

Compiled 17351 to 12722 computations (26.7% saved)

simplify5.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02033
13533
24133
34433
44533
54433

end291.0ms (4.6%)

Remove

(sort x y)

Compiler

Compiled 409 to 287 computations (29.8% saved)

Profiling

Loading profile data...