Details

Time bar (total: 9.0s)

analyze651.0ms (7.2%)

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%93.6%6.4%7
3.1%84.2%12.7%8
12.5%67.1%20.5%9
16%63.5%20.5%10
17.9%57.7%24.4%11
22.6%48.7%28.7%12
28.7%37.8%33.6%13
30.4%35.9%33.7%14
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample1.3s (14.8%)

Symmetry

(sort V l)

Results
897.0ms8256×body128valid
398.0ms3859×body128invalid
Compiler

Compiled 38 to 26 computations (31.6% saved)

simplify6.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0912
11312
21512
31512

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
20.0b
Counts
2 → 1
Alt Table
StatusErrorProgram
20.0b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Compiler

Compiled 36 to 24 computations (33.3% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.7b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
4.4b
(/.f64 A (*.f64 V l))
18.4b
(sqrt.f64 (/.f64 A (*.f64 V l)))

series108.0ms (1.2%)

Counts
3 → 12
Calls

3 calls:

59.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
34.0ms
(sqrt.f64 (/.f64 A (*.f64 V l)))
15.0ms
(/.f64 A (*.f64 V l))

rewrite60.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
914×log1p-expm1-u_binary64
914×expm1-log1p-u_binary64
94×egg-rr
93×add-sqr-sqrt_binary64
86×add-log-exp_binary64
Counts
3 → 94
Calls

3 calls:

58.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
58.0ms
(/.f64 A (*.f64 V l))
58.0ms
(sqrt.f64 (/.f64 A (*.f64 V l)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0928
118428
2237228
3570928
000
100

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/r*_binary64
Counts
106 → 95
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09144
113144
215144
315144

prune72.0ms (0.8%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New841195
Fresh000
Picked011
Done000
Total841296
Error
2.8b
Counts
96 → 12
Alt Table
StatusErrorProgram
20.8b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l))))
38.0b
(*.f64 c0 (*.f64 (sqrt.f64 A) (sqrt.f64 (/.f64 1 (*.f64 V l)))))
20.0b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
20.2b
(*.f64 c0 (pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) 2))
38.1b
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 2)
37.9b
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
20.6b
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 3)
39.1b
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
41.2b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 (sqrt.f64 A) V) (/.f64 (sqrt.f64 A) l))))
20.4b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 V l)) 2)) (/.f64 A (cbrt.f64 (*.f64 V l))))))
23.3b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
36.9b
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 (*.f64 V l)))))
Compiler

Compiled 1539 to 667 computations (56.7% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) 2)
0.7b
(*.f64 c0 (pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) 2))
4.4b
(/.f64 A (*.f64 V l))
20.1b
(pow.f64 (/.f64 A (*.f64 V l)) 1/4)

series1.5s (16.9%)

Counts
3 → 84
Calls

3 calls:

746.0ms
(pow.f64 (/.f64 A (*.f64 V l)) 1/4)
714.0ms
(pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) 2)
60.0ms
(*.f64 c0 (pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) 2))

rewrite58.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
596×log-prod_binary64
209×expm1-udef_binary64
209×log1p-udef_binary64
192×log-pow_binary64
118×add-sqr-sqrt_binary64
Counts
3 → 73
Calls

3 calls:

56.0ms
(pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) 2)
56.0ms
(*.f64 c0 (pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) 2))
56.0ms
(pow.f64 (/.f64 A (*.f64 V l)) 1/4)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01233
125631
2287531
3488131
000
100

simplify69.0ms (0.8%)

Algorithm
egg-herbie
Rules
675×fma-neg_binary64
601×exp-sum_binary64
371×exp-diff_binary64
312×fma-def_binary64
229×associate-+l+_binary64
Counts
157 → 93
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0761548
11791404
23361296
31138828
43677828
55035828

prune104.0ms (1.2%)

Pruning

16 alts after pruning (14 fresh and 2 done)

PrunedKeptTotal
New1335138
Fresh1910
Picked011
Done011
Total13416150
Error
1.3b
Counts
150 → 16
Alt Table
StatusErrorProgram
28.7b
(*.f64 c0 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (/.f64 A l))) (log.f64 (/.f64 -1 V))))) 2))
41.2b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 (sqrt.f64 A) V) (/.f64 (sqrt.f64 A) l))))
20.8b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l))))
38.0b
(*.f64 c0 (*.f64 (sqrt.f64 A) (sqrt.f64 (/.f64 1 (*.f64 V l)))))
20.0b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
20.2b
(*.f64 c0 (pow.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) 2))
20.9b
(*.f64 c0 (pow.f64 (pow.f64 (*.f64 (/.f64 1 l) (/.f64 A V)) 1/4) 2))
23.3b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
55.6b
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))
38.1b
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 2)
37.9b
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
20.6b
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 3)
39.1b
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
53.3b
(*.f64 c0 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 -1 l)) (log.f64 (*.f64 -1 (/.f64 A V)))))) 2))
50.9b
(*.f64 c0 (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (/.f64 A l)) (log.f64 V)))) 2))
36.9b
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 (*.f64 V l)))))
Compiler

Compiled 2630 to 1320 computations (49.8% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.7b
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
4.4b
(/.f64 A (*.f64 V l))
7.0b
(cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))
18.4b
(sqrt.f64 (/.f64 A (*.f64 V l)))

series1.2s (13.3%)

Counts
2 → 36
Calls

2 calls:

1.1s
(cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))
65.0ms
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)

rewrite56.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
553×log-prod_binary64
261×pow2_binary64
185×pow1/3_binary64
181×expm1-udef_binary64
181×log1p-udef_binary64
Counts
2 → 46
Calls

2 calls:

54.0ms
(*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)
54.0ms
(cbrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01026
120226
2256726
3504326
000
100

simplify81.0ms (0.9%)

Algorithm
egg-herbie
Rules
685×unswap-sqr_binary64
561×div-sub_binary64
437×fma-neg_binary64
388×associate-*l*_binary64
334×associate-*r*_binary64
Counts
82 → 56
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
058824
1124760
2227760
3641568
41731568
54050568
64545568
75099568

prune92.0ms (1%)

Pruning

16 alts after pruning (15 fresh and 1 done)

PrunedKeptTotal
New1294133
Fresh21113
Picked101
Done112
Total13316149
Error
1.2b
Counts
149 → 16
Alt Table
StatusErrorProgram
20.8b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l))))
38.0b
(*.f64 c0 (*.f64 (sqrt.f64 A) (sqrt.f64 (/.f64 1 (*.f64 V l)))))
20.7b
(pow.f64 (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) (cbrt.f64 c0)) 3)
20.0b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
20.9b
(*.f64 c0 (pow.f64 (pow.f64 (*.f64 (/.f64 1 l) (/.f64 A V)) 1/4) 2))
23.3b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
55.6b
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))
38.1b
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) c0)) 2)
37.9b
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
39.1b
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
53.3b
(*.f64 c0 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 -1 l)) (log.f64 (*.f64 -1 (/.f64 A V)))))) 2))
28.7b
(*.f64 c0 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (/.f64 A l))) (log.f64 (/.f64 -1 V))))) 2))
23.9b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)) c0)) 3)
39.3b
(pow.f64 (cbrt.f64 (/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))) 3)
57.6b
(pow.f64 (*.f64 (exp.f64 (*.f64 1/6 (-.f64 (log.f64 (/.f64 A l)) (log.f64 V)))) (pow.f64 c0 1/3)) 3)
36.9b
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 (*.f64 V l)))))
Compiler

Compiled 2609 to 1338 computations (48.7% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(pow.f64 (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) (cbrt.f64 c0)) 3)
2.0b
(cbrt.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))
4.4b
(/.f64 A (*.f64 V l))
18.4b
(sqrt.f64 (/.f64 A (*.f64 V l)))

series1.7s (19.1%)

Counts
2 → 60
Calls

2 calls:

1.2s
(pow.f64 (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) (cbrt.f64 c0)) 3)
481.0ms
(cbrt.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))

rewrite67.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
665×log-prod_binary64
222×expm1-udef_binary64
222×log1p-udef_binary64
211×log-pow_binary64
127×add-sqr-sqrt_binary64
Counts
2 → 62
Calls

2 calls:

65.0ms
(pow.f64 (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) (cbrt.f64 c0)) 3)
65.0ms
(cbrt.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01328
126722
2315822
3536022
000
100

simplify78.0ms (0.9%)

Algorithm
egg-herbie
Rules
582×unswap-sqr_binary64
414×fma-neg_binary64
329×prod-exp_binary64
270×associate-*l*_binary64
267×unsub-neg_binary64
Counts
122 → 75
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0571296
11301176
22041176
3604816
42169708
54717672
65216672

prune106.0ms (1.2%)

Pruning

19 alts after pruning (17 fresh and 2 done)

PrunedKeptTotal
New1466152
Fresh31114
Picked011
Done011
Total14919168
Error
1.2b
Counts
168 → 19
Alt Table
StatusErrorProgram
20.8b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 A V) (/.f64 1 l))))
38.0b
(*.f64 c0 (*.f64 (sqrt.f64 A) (sqrt.f64 (/.f64 1 (*.f64 V l)))))
39.3b
(pow.f64 (cbrt.f64 (/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))) 3)
24.0b
(pow.f64 (*.f64 (cbrt.f64 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l))) (cbrt.f64 c0)) 3)
20.7b
(pow.f64 (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) (cbrt.f64 c0)) 3)
20.0b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
42.2b
(*.f64 (*.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) (sqrt.f64 c0)) (sqrt.f64 c0))
20.9b
(*.f64 c0 (pow.f64 (pow.f64 (*.f64 (/.f64 1 l) (/.f64 A V)) 1/4) 2))
38.5b
(pow.f64 (*.f64 (/.f64 (cbrt.f64 (sqrt.f64 A)) (cbrt.f64 (sqrt.f64 (*.f64 V l)))) (cbrt.f64 c0)) 3)
23.3b
(*.f64 c0 (/.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 l)))
51.0b
(*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (-.f64 (log.f64 (/.f64 A l)) (log.f64 V)))) 3) c0)
36.9b
(*.f64 c0 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 (*.f64 V l)))))
55.6b
(log.f64 (pow.f64 (exp.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))
37.9b
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
39.1b
(/.f64 (*.f64 (sqrt.f64 A) c0) (sqrt.f64 (*.f64 V l)))
53.3b
(*.f64 c0 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 -1 l)) (log.f64 (*.f64 -1 (/.f64 A V)))))) 2))
28.7b
(*.f64 c0 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 -1 (/.f64 A l))) (log.f64 (/.f64 -1 V))))) 2))
37.3b
(pow.f64 (*.f64 (cbrt.f64 (/.f64 (sqrt.f64 (neg.f64 A)) (sqrt.f64 (neg.f64 (*.f64 V l))))) (cbrt.f64 c0)) 3)
20.2b
(*.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) (*.f64 (pow.f64 (/.f64 A (*.f64 V l)) 1/4) c0))
Compiler

Compiled 2892 to 1270 computations (56.1% saved)

regimes1.2s (13.6%)

Accuracy

Total 3.0b remaining (56.7%)

Threshold costs 0b (0%)

Counts
50 → 5
Compiler

Compiled 8358 to 5665 computations (32.2% saved)

bsearch2.0ms (0%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Rules
10×*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
040111
156111
266111
372111
474111
573111

end351.0ms (3.9%)

Compiler

Compiled 615 to 380 computations (38.2% saved)

Profiling

Loading profile data...