Details

Time bar (total: 8.6s)

analyze640.0ms (7.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%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.4s (16.6%)

Symmetry

(sort V l)

Results
955.0ms8256×body128valid
441.0ms3997×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.4b
Counts
2 → 1
Alt Table
StatusErrorProgram
20.4b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
Compiler

Compiled 36 to 24 computations (33.3% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
2.1b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
6.2b
(/.f64 A (*.f64 V l))
15.2b
(sqrt.f64 (/.f64 A (*.f64 V l)))

series113.0ms (1.3%)

Counts
3 → 12
Calls

3 calls:

61.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
35.0ms
(sqrt.f64 (/.f64 A (*.f64 V l)))
17.0ms
(/.f64 A (*.f64 V l))

rewrite16.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
16×add-sqr-sqrt_binary64
15×sqrt-prod_binary64
11×*-un-lft-identity_binary64
11×add-cube-cbrt_binary64
10×associate-*r*_binary64
Counts
3 → 72
Calls

3 calls:

6.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
3.0ms
(/.f64 A (*.f64 V l))
2.0ms
(sqrt.f64 (/.f64 A (*.f64 V l)))

simplify96.0ms (1.1%)

Algorithm
egg-herbie
Rules
893×fma-neg_binary64
679×associate-/r/_binary64
449×div-sub_binary64
262×times-frac_binary64
261×sub-neg_binary64
Counts
84 → 86
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01031084
11941009
25611009
316311009
421871009
524461009
631961009
743401009
846981009

prune93.0ms (1.1%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New691786
Fresh000
Picked101
Done000
Total701787
Error
9.3b
Counts
87 → 17
Alt Table
StatusErrorProgram
41.9b
(*.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (/.f64 1 (*.f64 V l))))
20.5b
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
41.0b
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
20.8b
(*.f64 (*.f64 c0 (fabs.f64 (cbrt.f64 (/.f64 A (*.f64 V l))))) (sqrt.f64 (cbrt.f64 (/.f64 A (*.f64 V l)))))
39.0b
(*.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))) (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))))
19.9b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
43.3b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 (sqrt.f64 A) V) (/.f64 (sqrt.f64 A) l))))
22.8b
(*.f64 c0 (exp.f64 (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))
20.6b
(*.f64 (*.f64 c0 (sqrt.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) (sqrt.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))
21.0b
(*.f64 (*.f64 (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))) (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l)))))) (cbrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))))
49.8b
(*.f64 c0 (*.f64 (sqrt.f64 (/.f64 (*.f64 (cbrt.f64 A) (cbrt.f64 A)) V)) (sqrt.f64 (/.f64 (cbrt.f64 A) l))))
20.8b
(*.f64 c0 (*.f64 (fabs.f64 (cbrt.f64 (/.f64 A (*.f64 V l)))) (sqrt.f64 (cbrt.f64 (/.f64 A (*.f64 V l))))))
41.7b
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 V l)))
50.6b
(*.f64 (*.f64 c0 (sqrt.f64 (/.f64 1 V))) (sqrt.f64 (/.f64 A l)))
28.6b
(*.f64 c0 (cbrt.f64 (pow.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 3)))
44.9b
(exp.f64 (+.f64 (log.f64 c0) (log.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))
50.1b
(*.f64 c0 (*.f64 (sqrt.f64 (/.f64 1 V)) (sqrt.f64 (/.f64 A l))))
Compiler

Compiled 1776 to 659 computations (62.9% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
2.1b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
5.7b
(*.f64 (/.f64 1 V) (/.f64 A l))
15.2b
(sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l)))

series125.0ms (1.4%)

Counts
3 → 48
Calls

3 calls:

64.0ms
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
35.0ms
(sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l)))
25.0ms
(*.f64 (/.f64 1 V) (/.f64 A l))

rewrite35.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
38×add-sqr-sqrt_binary64
27×add-exp-log_binary64
25×times-frac_binary64
21×*-un-lft-identity_binary64
19×add-cube-cbrt_binary64
Counts
3 → 98
Calls

3 calls:

10.0ms
(sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l)))
8.0ms
(*.f64 (/.f64 1 V) (/.f64 A l))
7.0ms
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))

simplify149.0ms (1.7%)

Algorithm
egg-herbie
Rules
474×sqr-pow_binary64
426×associate-*l/_binary64
402×fabs-mul_binary64
354×associate-/l*_binary64
346×associate-*r/_binary64
Counts
146 → 159
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01461670
13211517
29621517
325491517
426651517
530411517
634151517
740321517
848251517
951831517

prune144.0ms (1.7%)

Pruning

14 alts after pruning (13 fresh and 1 done)

PrunedKeptTotal
New1554159
Fresh7916
Picked011
Done000
Total16214176
Error
5.4b
Counts
176 → 14
Alt Table
StatusErrorProgram
24.3b
(*.f64 c0 (/.f64 (sqrt.f64 (*.f64 (/.f64 1 V) A)) (sqrt.f64 l)))
49.8b
(*.f64 c0 (*.f64 (sqrt.f64 (/.f64 (*.f64 (cbrt.f64 A) (cbrt.f64 A)) V)) (sqrt.f64 (/.f64 (cbrt.f64 A) l))))
41.9b
(*.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (/.f64 1 (*.f64 V l))))
20.5b
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
41.0b
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
20.8b
(*.f64 (*.f64 c0 (fabs.f64 (cbrt.f64 (/.f64 A (*.f64 V l))))) (sqrt.f64 (cbrt.f64 (/.f64 A (*.f64 V l)))))
39.0b
(*.f64 (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))) (sqrt.f64 (*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))))
19.9b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
22.3b
(*.f64 c0 (exp.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))))
41.7b
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 V l)))
50.6b
(*.f64 (*.f64 c0 (sqrt.f64 (/.f64 1 V))) (sqrt.f64 (/.f64 A l)))
20.1b
(*.f64 (*.f64 c0 (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))) (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l)))))
20.6b
(*.f64 (*.f64 c0 (sqrt.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) (sqrt.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))
25.8b
(/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l))
Compiler

Compiled 2986 to 1428 computations (52.2% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f64 (*.f64 c0 (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))) (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l)))))
2.4b
(sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
5.7b
(*.f64 (/.f64 1 V) (/.f64 A l))
15.2b
(sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l)))

series718.0ms (8.3%)

Counts
2 → 36
Calls

2 calls:

648.0ms
(sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
70.0ms
(*.f64 (*.f64 c0 (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))) (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l)))))

rewrite77.0ms (0.9%)

Algorithm
rewrite-expression-head
Rules
54×sqrt-div_binary64
24×associate-*r/_binary64
18×frac-times_binary64
12×associate-*l/_binary64
11×pow1_binary64
Counts
2 → 61
Calls

2 calls:

16.0ms
(*.f64 (*.f64 c0 (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))) (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l)))))
5.0ms
(sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))

simplify117.0ms (1.3%)

Algorithm
egg-herbie
Rules
509×unswap-sqr_binary64
460×fma-neg_binary64
389×fma-def_binary64
254×sqr-pow_binary64
241×div-sub_binary64
Counts
97 → 101
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01391689
12921573
26331573
39841429
414611429
528231429
646281429
749561429

prune369.0ms (4.3%)

Pruning

15 alts after pruning (13 fresh and 2 done)

PrunedKeptTotal
New3743377
Fresh21012
Picked011
Done011
Total37615391
Error
5.4b
Counts
391 → 15
Alt Table
StatusErrorProgram
24.3b
(*.f64 c0 (/.f64 (sqrt.f64 (*.f64 (/.f64 1 V) A)) (sqrt.f64 l)))
49.8b
(*.f64 c0 (*.f64 (sqrt.f64 (/.f64 (*.f64 (cbrt.f64 A) (cbrt.f64 A)) V)) (sqrt.f64 (/.f64 (cbrt.f64 A) l))))
22.3b
(*.f64 c0 (exp.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))))
20.5b
(*.f64 (*.f64 (*.f64 c0 (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))) (*.f64 (cbrt.f64 (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))) (cbrt.f64 (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))))) (cbrt.f64 (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))))
20.5b
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
41.0b
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
26.0b
(/.f64 (*.f64 (*.f64 c0 (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) A)))) (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) A)))) (*.f64 (sqrt.f64 (sqrt.f64 l)) (sqrt.f64 (sqrt.f64 l))))
41.7b
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 V l)))
20.8b
(*.f64 (*.f64 c0 (fabs.f64 (cbrt.f64 (/.f64 A (*.f64 V l))))) (sqrt.f64 (cbrt.f64 (/.f64 A (*.f64 V l)))))
19.9b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
50.6b
(*.f64 (*.f64 c0 (sqrt.f64 (/.f64 1 V))) (sqrt.f64 (/.f64 A l)))
31.3b
(*.f64 (*.f64 c0 (sqrt.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 3)))) (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l)))))
20.1b
(*.f64 (*.f64 c0 (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))) (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l)))))
20.6b
(*.f64 (*.f64 c0 (sqrt.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) (sqrt.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))
25.8b
(/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l))
Compiler

Compiled 10438 to 5376 computations (48.5% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(cbrt.f64 (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l)))))
2.4b
(sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
5.7b
(*.f64 (/.f64 1 V) (/.f64 A l))
15.2b
(sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l)))

series547.0ms (6.3%)

Counts
1 → 24
Calls

1 calls:

546.0ms
(cbrt.f64 (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l)))))

rewrite8.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
cbrt-prod_binary64
sqrt-div_binary64
sqrt-prod_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
Counts
1 → 20
Calls

1 calls:

5.0ms
(cbrt.f64 (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l)))))

simplify74.0ms (0.9%)

Algorithm
egg-herbie
Rules
685×times-frac_binary64
642×unswap-sqr_binary64
529×fma-neg_binary64
243×div-sub_binary64
235×fma-def_binary64
Counts
44 → 40
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
091766
1140766
2232766
3507622
4849622
51886622
64837622
75145622

prune892.0ms (10.3%)

Pruning

15 alts after pruning (12 fresh and 3 done)

PrunedKeptTotal
New7520752
Fresh01212
Picked011
Done022
Total75215767
Error
5.4b
Counts
767 → 15
Alt Table
StatusErrorProgram
24.3b
(*.f64 c0 (/.f64 (sqrt.f64 (*.f64 (/.f64 1 V) A)) (sqrt.f64 l)))
49.8b
(*.f64 c0 (*.f64 (sqrt.f64 (/.f64 (*.f64 (cbrt.f64 A) (cbrt.f64 A)) V)) (sqrt.f64 (/.f64 (cbrt.f64 A) l))))
22.3b
(*.f64 c0 (exp.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))))
20.5b
(*.f64 (*.f64 (*.f64 c0 (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))) (*.f64 (cbrt.f64 (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))) (cbrt.f64 (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))))) (cbrt.f64 (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))))
20.5b
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
41.0b
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
26.0b
(/.f64 (*.f64 (*.f64 c0 (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) A)))) (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) A)))) (*.f64 (sqrt.f64 (sqrt.f64 l)) (sqrt.f64 (sqrt.f64 l))))
41.7b
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 V l)))
20.8b
(*.f64 (*.f64 c0 (fabs.f64 (cbrt.f64 (/.f64 A (*.f64 V l))))) (sqrt.f64 (cbrt.f64 (/.f64 A (*.f64 V l)))))
19.9b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
50.6b
(*.f64 (*.f64 c0 (sqrt.f64 (/.f64 1 V))) (sqrt.f64 (/.f64 A l)))
31.3b
(*.f64 (*.f64 c0 (sqrt.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (/.f64 A (*.f64 V l))) 3)))) (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l)))))
20.1b
(*.f64 (*.f64 c0 (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))) (sqrt.f64 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l)))))
20.6b
(*.f64 (*.f64 c0 (sqrt.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) (sqrt.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))
25.8b
(/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l))
Compiler

Compiled 37520 to 21325 computations (43.2% saved)

regimes2.6s (30%)

Accuracy

Total 3.7b remaining (40.9%)

Threshold costs 0b (0%)

Counts
130 → 5
Compiler

Compiled 26398 to 17056 computations (35.4% saved)

bsearch4.0ms (0.1%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

simplify4.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
041122
150122
249122

end346.0ms (4%)

Compiler

Compiled 633 to 380 computations (40% saved)

Profiling

Loading profile data...