Details

Time bar (total: 4.1s)

analyze846.0ms (20.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
18.7%81.1%0.2%9
21.8%78%0.2%10
25%74.9%0.2%11
34.7%64.9%0.4%12
47.2%51.9%0.9%13
49%49.2%1.8%14
Compiler

Compiled 12 to 8 computations (33.3% saved)

sample1.1s (27.5%)

Symmetry

(sort a1 a2)

(sort b1 b2)

Results
888.0ms8256×body128valid
202.0ms1832×body128invalid
Compiler

Compiled 35 to 23 computations (34.3% saved)

simplify8.0ms (0.2%)

Algorithm
egg-herbie
Rules
14×associate-/l*_binary64
associate-*r/_binary64
associate-/r/_binary64
*-commutative_binary64
associate-/r*_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
11710
23810
36310
46910
56810
66810

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
10.5b
Counts
2 → 1
Alt Table
StatusErrorProgram
10.5b
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Compiler

Compiled 33 to 21 computations (36.4% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
10.2b
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))

series30.0ms (0.7%)

Counts
1 → 48
Calls

1 calls:

30.0ms
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))

rewrite6.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
13×add-cbrt-cube_binary64
13×add-exp-log_binary64
cbrt-unprod_binary64
cbrt-undiv_binary64
div-exp_binary64
Counts
1 → 23
Calls

1 calls:

4.0ms
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))

simplify84.0ms (2%)

Algorithm
egg-herbie
Rules
579×associate-/r*_binary64
476×associate-*l*_binary64
457×associate-*l/_binary64
355×associate-*r/_binary64
344×associate-*r*_binary64
Counts
71 → 36
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
058859
1161754
2820754
33799754
44127754
54478754
64861754
75308754

prune30.0ms (0.7%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New29736
Fresh000
Picked011
Done000
Total29837
Error
0.0b
Counts
37 → 8
Alt Table
StatusErrorProgram
12.7b
(/.f64 a1 (/.f64 b1 (/.f64 a2 b2)))
11.8b
(/.f64 a1 (/.f64 (*.f64 b1 b2) a2))
10.7b
(*.f64 (*.f64 a1 a2) (/.f64 1 (*.f64 b1 b2)))
10.6b
(/.f64 1 (/.f64 (*.f64 b1 b2) (*.f64 a1 a2)))
14.0b
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
10.5b
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
12.5b
(/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)
12.0b
(/.f64 (/.f64 (*.f64 a1 a2) b1) b2)
Compiler

Compiled 623 to 224 computations (64% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.5b
(/.f64 1 (/.f64 (*.f64 b1 b2) (*.f64 a1 a2)))
9.9b
(/.f64 (*.f64 b1 b2) (*.f64 a1 a2))

series62.0ms (1.5%)

Counts
2 → 96
Calls

2 calls:

31.0ms
(/.f64 (*.f64 b1 b2) (*.f64 a1 a2))
30.0ms
(/.f64 1 (/.f64 (*.f64 b1 b2) (*.f64 a1 a2)))

rewrite16.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
58×add-exp-log_binary64
32×add-cbrt-cube_binary64
26×div-exp_binary64
20×times-frac_binary64
16×prod-exp_binary64
Counts
2 → 81
Calls

2 calls:

6.0ms
(/.f64 1 (/.f64 (*.f64 b1 b2) (*.f64 a1 a2)))
4.0ms
(/.f64 (*.f64 b1 b2) (*.f64 a1 a2))

simplify94.0ms (2.3%)

Algorithm
egg-herbie
Rules
659×associate-*l/_binary64
648×associate-*l*_binary64
526×associate-*r/_binary64
496×associate-/l/_binary64
461×associate-/r/_binary64
Counts
177 → 113
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01012403
12262062
211332041
345792041
449372041
550302041

prune76.0ms (1.8%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New1103113
Fresh156
Picked011
Done011
Total11110121
Error
0.0b
Counts
121 → 10
Alt Table
StatusErrorProgram
11.8b
(/.f64 a1 (/.f64 (*.f64 b1 b2) a2))
14.8b
(*.f64 (/.f64 1 (/.f64 b1 a1)) (/.f64 1 (/.f64 b2 a2)))
12.7b
(/.f64 a1 (/.f64 b1 (/.f64 a2 b2)))
10.7b
(*.f64 (*.f64 a1 a2) (/.f64 1 (*.f64 b1 b2)))
10.6b
(/.f64 1 (/.f64 (*.f64 b1 b2) (*.f64 a1 a2)))
9.8b
(/.f64 1 (/.f64 (/.f64 (*.f64 b1 b2) a1) a2))
12.2b
(/.f64 1 (/.f64 b1 (/.f64 (*.f64 a1 a2) b2)))
10.5b
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
12.5b
(/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)
12.0b
(/.f64 (/.f64 (*.f64 a1 a2) b1) b2)
Compiler

Compiled 1963 to 687 computations (65% saved)

localize6.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.5b
(/.f64 1 (/.f64 (/.f64 (*.f64 b1 b2) a1) a2))
5.0b
(/.f64 (/.f64 (*.f64 b1 b2) a1) a2)
6.4b
(/.f64 (*.f64 b1 b2) a1)

series72.0ms (1.7%)

Counts
3 → 132
Calls

3 calls:

30.0ms
(/.f64 (/.f64 (*.f64 b1 b2) a1) a2)
28.0ms
(/.f64 1 (/.f64 (/.f64 (*.f64 b1 b2) a1) a2))
13.0ms
(/.f64 (*.f64 b1 b2) a1)

rewrite38.0ms (0.9%)

Algorithm
rewrite-expression-head
Rules
231×times-frac_binary64
103×*-un-lft-identity_binary64
103×add-sqr-sqrt_binary64
103×add-cube-cbrt_binary64
51×add-exp-log_binary64
Counts
3 → 207
Calls

3 calls:

9.0ms
(/.f64 1 (/.f64 (/.f64 (*.f64 b1 b2) a1) a2))
5.0ms
(/.f64 (/.f64 (*.f64 b1 b2) a1) a2)
3.0ms
(/.f64 (*.f64 b1 b2) a1)

simplify218.0ms (5.3%)

Algorithm
egg-herbie
Rules
977×fma-neg_binary64
407×fma-def_binary64
377×*-commutative_binary64
306×sqr-pow_binary64
248×unswap-sqr_binary64
Counts
339 → 311
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02065323
14454751
214894706
321624706
428954706
536354706
647284706
752424706

prune184.0ms (4.4%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New3074311
Fresh347
Picked101
Done112
Total3129321
Error
0b
Counts
321 → 9
Alt Table
StatusErrorProgram
14.8b
(*.f64 (/.f64 1 (/.f64 b1 a1)) (/.f64 1 (/.f64 b2 a2)))
9.6b
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1))
10.5b
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
9.9b
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2)
12.7b
(/.f64 a1 (/.f64 b1 (/.f64 a2 b2)))
12.2b
(/.f64 1 (/.f64 b1 (/.f64 (*.f64 a1 a2) b2)))
10.3b
(*.f64 (/.f64 1 b1) (/.f64 a2 (/.f64 b2 a1)))
10.1b
(*.f64 (/.f64 (*.f64 (cbrt.f64 a2) (cbrt.f64 a2)) (/.f64 b1 (*.f64 (cbrt.f64 a1) (cbrt.f64 a1)))) (/.f64 (cbrt.f64 a2) (/.f64 b2 (cbrt.f64 a1))))
12.5b
(/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)
Compiler

Compiled 5717 to 1838 computations (67.9% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
5.1b
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1))
6.4b
(/.f64 (*.f64 b2 b1) a1)

series41.0ms (1%)

Counts
2 → 48
Calls

2 calls:

28.0ms
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1))
13.0ms
(/.f64 (*.f64 b2 b1) a1)

rewrite13.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
36×times-frac_binary64
20×*-un-lft-identity_binary64
20×add-sqr-sqrt_binary64
20×add-cube-cbrt_binary64
16×add-cbrt-cube_binary64
Counts
2 → 73
Calls

2 calls:

5.0ms
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1))
3.0ms
(/.f64 (*.f64 b2 b1) a1)

simplify103.0ms (2.5%)

Algorithm
egg-herbie
Rules
830×times-frac_binary64
634×associate-/l*_binary64
465×associate-/l/_binary64
446×associate-/r/_binary64
428×associate-/r*_binary64
Counts
121 → 103
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01281656
12921524
210191518
344171518
448121518
549701518
649761518

prune58.0ms (1.4%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New1021103
Fresh167
Picked011
Done011
Total1039112
Error
0b
Counts
112 → 9
Alt Table
StatusErrorProgram
14.8b
(*.f64 (/.f64 1 (/.f64 b1 a1)) (/.f64 1 (/.f64 b2 a2)))
9.6b
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1))
10.5b
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
9.9b
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2)
11.8b
(/.f64 a2 (*.f64 b2 (/.f64 b1 a1)))
10.3b
(*.f64 (/.f64 1 b1) (/.f64 a2 (/.f64 b2 a1)))
12.7b
(/.f64 a1 (/.f64 b1 (/.f64 a2 b2)))
12.2b
(/.f64 1 (/.f64 b1 (/.f64 (*.f64 a1 a2) b2)))
12.5b
(/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)
Compiler

Compiled 1453 to 395 computations (72.8% saved)

regimes748.0ms (18%)

Accuracy

Total 2.1b remaining (99.5%)

Threshold costs 0b (0%)

Counts
40 → 5
Compiler

Compiled 4871 to 2971 computations (39% saved)

bsearch1.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

simplify4.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
038140
143140
242140

end256.0ms (6.2%)

Remove

(sort a1 a2)

Compiler

Compiled 883 to 367 computations (58.4% saved)

Profiling

Loading profile data...