Details

Time bar (total: 10.8s)

analyze721.0ms (6.7%)

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
12.5%87.3%0.2%5
12.5%87.3%0.2%6
12.5%81.1%6.4%7
18.7%68.6%12.7%8
28.1%51.5%20.5%9
28.1%51.5%20.5%10
28.1%47.6%24.4%11
32.7%38.6%28.7%12
38.2%28.3%33.5%13
38.2%28.3%33.5%14
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample1.7s (15.8%)

Symmetry

(sort V l)

Results
1.3s8256×body128valid
395.0ms2673×body128invalid
Compiler

Compiled 38 to 26 computations (31.6% saved)

simplify7.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
14.5b
Counts
2 → 1
Alt Table
StatusErrorProgram
14.5b
(*.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
1.3b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
4.6b
(/.f64 A (*.f64 V l))
15.3b
(sqrt.f64 (/.f64 A (*.f64 V l)))

series215.0ms (2%)

Counts
3 → 12
Calls

3 calls:

115.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
62.0ms
(sqrt.f64 (/.f64 A (*.f64 V l)))
38.0ms
(/.f64 A (*.f64 V l))

rewrite26.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:

12.0ms
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
4.0ms
(/.f64 A (*.f64 V l))
4.0ms
(sqrt.f64 (/.f64 A (*.f64 V l)))

simplify157.0ms (1.4%)

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

prune152.0ms (1.4%)

Pruning

15 alts after pruning (14 fresh and 1 done)

PrunedKeptTotal
New721486
Fresh000
Picked011
Done000
Total721587
Error
7.1b
Counts
87 → 15
Alt Table
StatusErrorProgram
47.8b
(*.f64 (*.f64 c0 (sqrt.f64 (/.f64 (*.f64 (cbrt.f64 A) (cbrt.f64 A)) V))) (sqrt.f64 (/.f64 (cbrt.f64 A) l)))
32.1b
(*.f64 c0 (sqrt.f64 (cbrt.f64 (pow.f64 (/.f64 A (*.f64 V l)) 3))))
38.8b
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 V l)))
47.3b
(*.f64 c0 (*.f64 (sqrt.f64 (/.f64 (sqrt.f64 A) V)) (sqrt.f64 (/.f64 (sqrt.f64 A) l))))
13.7b
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
38.0b
(*.f64 c0 (/.f64 (sqrt.f64 A) (sqrt.f64 (*.f64 V l))))
48.0b
(*.f64 (*.f64 c0 (sqrt.f64 (/.f64 1 V))) (sqrt.f64 (/.f64 A l)))
14.8b
(*.f64 (*.f64 c0 (fabs.f64 (cbrt.f64 (/.f64 A (*.f64 V l))))) (sqrt.f64 (cbrt.f64 (/.f64 A (*.f64 V l)))))
14.6b
(*.f64 (*.f64 c0 (sqrt.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) (sqrt.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))))
35.4b
(*.f64 (sqrt.f64 c0) (*.f64 (sqrt.f64 c0) (sqrt.f64 (/.f64 A (*.f64 V l)))))
35.5b
(*.f64 (*.f64 (sqrt.f64 c0) (sqrt.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))) (*.f64 (sqrt.f64 c0) (sqrt.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))
14.5b
(*.f64 c0 (sqrt.f64 (/.f64 A (*.f64 V l))))
15.1b
(*.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))))))
14.7b
(*.f64 c0 (*.f64 (sqrt.f64 (sqrt.f64 (/.f64 A (*.f64 V l)))) (sqrt.f64 (sqrt.f64 (/.f64 A (*.f64 V l))))))
14.9b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 1 V) (/.f64 A l))))
Compiler

Compiled 1708 to 603 computations (64.7% saved)

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
1.3b
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
4.0b
(/.f64 (/.f64 A V) l)
15.3b
(sqrt.f64 (/.f64 (/.f64 A V) l))

series161.0ms (1.5%)

Counts
3 → 48
Calls

3 calls:

96.0ms
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
44.0ms
(sqrt.f64 (/.f64 (/.f64 A V) l))
21.0ms
(/.f64 (/.f64 A V) l)

rewrite92.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
213×times-frac_binary64
134×add-sqr-sqrt_binary64
117×*-un-lft-identity_binary64
117×add-cube-cbrt_binary64
89×sqrt-prod_binary64
Counts
3 → 197
Calls

3 calls:

26.0ms
(*.f64 c0 (sqrt.f64 (/.f64 (/.f64 A V) l)))
11.0ms
(/.f64 (/.f64 A V) l)
10.0ms
(sqrt.f64 (/.f64 (/.f64 A V) l))

simplify387.0ms (3.6%)

Algorithm
egg-herbie
Rules
637×fma-neg_binary64
558×fma-def_binary64
379×associate-/l/_binary64
291×div-sub_binary64
290×associate-*l*_binary64
Counts
245 → 280
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03004078
15373931
212973881
325843881
426953881
529143881
634243881
749973881
849493881

prune648.0ms (6%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New26911280
Fresh12113
Picked101
Done101
Total28312295
Error
0.0b
Counts
295 → 12
Alt Table
StatusErrorProgram
18.0b
(*.f64 c0 (*.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 (/.f64 1 l))))
37.4b
(*.f64 c0 (*.f64 (sqrt.f64 (/.f64 (/.f64 (sqrt.f64 A) 1) 1)) (sqrt.f64 (/.f64 (/.f64 (sqrt.f64 A) V) l))))
9.6b
(*.f64 c0 (*.f64 (fabs.f64 (cbrt.f64 (/.f64 A V))) (sqrt.f64 (/.f64 (cbrt.f64 (/.f64 A V)) l))))
19.5b
(/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l))
6.2b
(*.f64 (*.f64 c0 (sqrt.f64 (/.f64 (/.f64 (*.f64 (cbrt.f64 A) (cbrt.f64 A)) 1) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))) (sqrt.f64 (/.f64 (/.f64 (cbrt.f64 A) V) (cbrt.f64 l))))
1.0b
(*.f64 (*.f64 c0 (fabs.f64 (/.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) (cbrt.f64 l)))) (sqrt.f64 (/.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) (cbrt.f64 l))))
38.8b
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 V l)))
14.9b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 A 1) (/.f64 (/.f64 1 V) l))))
12.6b
(*.f64 (*.f64 c0 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 V) (cbrt.f64 V))))) (sqrt.f64 (/.f64 (/.f64 A (cbrt.f64 V)) l)))
5.3b
(*.f64 c0 (*.f64 (sqrt.f64 (/.f64 (/.f64 (*.f64 (cbrt.f64 A) (cbrt.f64 A)) (*.f64 (cbrt.f64 V) (cbrt.f64 V))) 1)) (sqrt.f64 (/.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) l))))
2.1b
(*.f64 c0 (*.f64 (fabs.f64 (/.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) (cbrt.f64 l))) (sqrt.f64 (/.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) (cbrt.f64 l)))))
45.6b
(*.f64 c0 (fabs.f64 (/.f64 (/.f64 (sqrt.f64 A) (sqrt.f64 V)) (sqrt.f64 l))))
Compiler

Compiled 5351 to 1552 computations (71% saved)

localize24.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f64 (cbrt.f64 A) (cbrt.f64 V))
0.6b
(cbrt.f64 A)
0.6b
(cbrt.f64 l)
0.6b
(cbrt.f64 V)

series957.0ms (8.8%)

Counts
4 → 60
Calls

4 calls:

815.0ms
(/.f64 (cbrt.f64 A) (cbrt.f64 V))
53.0ms
(cbrt.f64 V)
45.0ms
(cbrt.f64 A)
43.0ms
(cbrt.f64 l)

rewrite11.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
51×cbrt-prod_binary64
36×times-frac_binary64
35×*-un-lft-identity_binary64
35×add-sqr-sqrt_binary64
35×add-cube-cbrt_binary64
Counts
4 → 101
Calls

4 calls:

3.0ms
(/.f64 (cbrt.f64 A) (cbrt.f64 V))
1.0ms
(cbrt.f64 V)
1.0ms
(cbrt.f64 A)
1.0ms
(cbrt.f64 l)

simplify172.0ms (1.6%)

Algorithm
egg-herbie
Rules
400×log-prod_binary64
296×unswap-sqr_binary64
280×fma-neg_binary64
226×fma-def_binary64
213×log-div_binary64
Counts
161 → 152
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01451955
12401829
25911687
320591585
445811585
553741585

prune485.0ms (4.5%)

Pruning

15 alts after pruning (14 fresh and 1 done)

PrunedKeptTotal
New2995304
Fresh2911
Picked011
Done000
Total30115316
Error
0.0b
Counts
316 → 15
Alt Table
StatusErrorProgram
18.0b
(*.f64 c0 (*.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 (/.f64 1 l))))
37.4b
(*.f64 c0 (*.f64 (sqrt.f64 (/.f64 (/.f64 (sqrt.f64 A) 1) 1)) (sqrt.f64 (/.f64 (/.f64 (sqrt.f64 A) V) l))))
9.6b
(*.f64 c0 (*.f64 (fabs.f64 (cbrt.f64 (/.f64 A V))) (sqrt.f64 (/.f64 (cbrt.f64 (/.f64 A V)) l))))
1.0b
(*.f64 (*.f64 c0 (fabs.f64 (/.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) (cbrt.f64 l)))) (sqrt.f64 (/.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) (cbrt.f64 l))))
13.9b
(*.f64 (*.f64 c0 (fabs.f64 (/.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) (cbrt.f64 l)))) (sqrt.f64 (/.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) (*.f64 (cbrt.f64 (pow.f64 l 2/3)) (cbrt.f64 (cbrt.f64 l))))))
14.9b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 A 1) (/.f64 (/.f64 1 V) l))))
1.1b
(*.f64 (*.f64 c0 (fabs.f64 (/.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) (cbrt.f64 l)))) (sqrt.f64 (/.f64 (/.f64 (cbrt.f64 A) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 V)) (cbrt.f64 (cbrt.f64 V))) (cbrt.f64 (cbrt.f64 V)))) (cbrt.f64 l))))
12.6b
(*.f64 (*.f64 c0 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 V) (cbrt.f64 V))))) (sqrt.f64 (/.f64 (/.f64 A (cbrt.f64 V)) l)))
1.2b
(*.f64 (*.f64 c0 (fabs.f64 (/.f64 (*.f64 (/.f64 (cbrt.f64 (*.f64 (cbrt.f64 A) (cbrt.f64 A))) (cbrt.f64 (*.f64 (cbrt.f64 V) (cbrt.f64 V)))) (/.f64 (cbrt.f64 (cbrt.f64 A)) (cbrt.f64 (cbrt.f64 V)))) (cbrt.f64 l)))) (sqrt.f64 (/.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) (cbrt.f64 l))))
26.6b
(*.f64 (*.f64 c0 (fabs.f64 (/.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) (cbrt.f64 l)))) (sqrt.f64 (/.f64 (/.f64 (cbrt.f64 A) (expm1.f64 (log1p.f64 (cbrt.f64 V)))) (cbrt.f64 l))))
19.5b
(/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l))
45.5b
(*.f64 (*.f64 c0 (fabs.f64 (/.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) (cbrt.f64 l)))) (sqrt.f64 (/.f64 (/.f64 (cbrt.f64 A) (*.f64 (cbrt.f64 (sqrt.f64 V)) (cbrt.f64 (sqrt.f64 V)))) (cbrt.f64 l))))
38.8b
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 V l)))
5.3b
(*.f64 c0 (*.f64 (sqrt.f64 (/.f64 (/.f64 (*.f64 (cbrt.f64 A) (cbrt.f64 A)) (*.f64 (cbrt.f64 V) (cbrt.f64 V))) 1)) (sqrt.f64 (/.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) l))))
2.1b
(*.f64 c0 (*.f64 (fabs.f64 (/.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) (cbrt.f64 l))) (sqrt.f64 (/.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) (cbrt.f64 l)))))
Compiler

Compiled 9033 to 2334 computations (74.2% saved)

localize32.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(cbrt.f64 (cbrt.f64 V))
0.6b
(cbrt.f64 A)
0.6b
(cbrt.f64 l)
0.6b
(cbrt.f64 V)

series442.0ms (4.1%)

Counts
1 → 12
Calls

1 calls:

441.0ms
(cbrt.f64 (cbrt.f64 V))

rewrite4.0ms (0%)

Algorithm
rewrite-expression-head
Rules
cbrt-prod_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
Counts
1 → 16
Calls

1 calls:

2.0ms
(cbrt.f64 (cbrt.f64 V))

simplify152.0ms (1.4%)

Algorithm
egg-herbie
Rules
952×unswap-sqr_binary64
687×sqr-pow_binary64
466×*-commutative_binary64
325×cube-prod_binary64
311×associate-/l/_binary64
Counts
28 → 21
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
033238
150234
288234
3159230
4408226
5648226
61363226
71503226
81713226
91972226
102408226
113558226
123799226
134679226
144777226

prune270.0ms (2.5%)

Pruning

15 alts after pruning (13 fresh and 2 done)

PrunedKeptTotal
New2070207
Fresh01313
Picked011
Done011
Total20715222
Error
0.0b
Counts
222 → 15
Alt Table
StatusErrorProgram
18.0b
(*.f64 c0 (*.f64 (sqrt.f64 (/.f64 A V)) (sqrt.f64 (/.f64 1 l))))
37.4b
(*.f64 c0 (*.f64 (sqrt.f64 (/.f64 (/.f64 (sqrt.f64 A) 1) 1)) (sqrt.f64 (/.f64 (/.f64 (sqrt.f64 A) V) l))))
9.6b
(*.f64 c0 (*.f64 (fabs.f64 (cbrt.f64 (/.f64 A V))) (sqrt.f64 (/.f64 (cbrt.f64 (/.f64 A V)) l))))
1.0b
(*.f64 (*.f64 c0 (fabs.f64 (/.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) (cbrt.f64 l)))) (sqrt.f64 (/.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) (cbrt.f64 l))))
13.9b
(*.f64 (*.f64 c0 (fabs.f64 (/.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) (cbrt.f64 l)))) (sqrt.f64 (/.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) (*.f64 (cbrt.f64 (pow.f64 l 2/3)) (cbrt.f64 (cbrt.f64 l))))))
14.9b
(*.f64 c0 (sqrt.f64 (*.f64 (/.f64 A 1) (/.f64 (/.f64 1 V) l))))
1.1b
(*.f64 (*.f64 c0 (fabs.f64 (/.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) (cbrt.f64 l)))) (sqrt.f64 (/.f64 (/.f64 (cbrt.f64 A) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 V)) (cbrt.f64 (cbrt.f64 V))) (cbrt.f64 (cbrt.f64 V)))) (cbrt.f64 l))))
12.6b
(*.f64 (*.f64 c0 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 V) (cbrt.f64 V))))) (sqrt.f64 (/.f64 (/.f64 A (cbrt.f64 V)) l)))
1.2b
(*.f64 (*.f64 c0 (fabs.f64 (/.f64 (*.f64 (/.f64 (cbrt.f64 (*.f64 (cbrt.f64 A) (cbrt.f64 A))) (cbrt.f64 (*.f64 (cbrt.f64 V) (cbrt.f64 V)))) (/.f64 (cbrt.f64 (cbrt.f64 A)) (cbrt.f64 (cbrt.f64 V)))) (cbrt.f64 l)))) (sqrt.f64 (/.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) (cbrt.f64 l))))
26.6b
(*.f64 (*.f64 c0 (fabs.f64 (/.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) (cbrt.f64 l)))) (sqrt.f64 (/.f64 (/.f64 (cbrt.f64 A) (expm1.f64 (log1p.f64 (cbrt.f64 V)))) (cbrt.f64 l))))
19.5b
(/.f64 (*.f64 c0 (sqrt.f64 (/.f64 A V))) (sqrt.f64 l))
45.5b
(*.f64 (*.f64 c0 (fabs.f64 (/.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) (cbrt.f64 l)))) (sqrt.f64 (/.f64 (/.f64 (cbrt.f64 A) (*.f64 (cbrt.f64 (sqrt.f64 V)) (cbrt.f64 (sqrt.f64 V)))) (cbrt.f64 l))))
38.8b
(/.f64 (*.f64 c0 (sqrt.f64 A)) (sqrt.f64 (*.f64 V l)))
5.3b
(*.f64 c0 (*.f64 (sqrt.f64 (/.f64 (/.f64 (*.f64 (cbrt.f64 A) (cbrt.f64 A)) (*.f64 (cbrt.f64 V) (cbrt.f64 V))) 1)) (sqrt.f64 (/.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) l))))
2.1b
(*.f64 c0 (*.f64 (fabs.f64 (/.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) (cbrt.f64 l))) (sqrt.f64 (/.f64 (/.f64 (cbrt.f64 A) (cbrt.f64 V)) (cbrt.f64 l)))))
Compiler

Compiled 7434 to 1650 computations (77.8% saved)

regimes3.6s (32.8%)

Accuracy

Total 0.9b remaining (86.5%)

Threshold costs 0.9b (86.5%)

Counts
180 → 1
Compiler

Compiled 32399 to 19657 computations (39.3% saved)

simplify5.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
fabs-div_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01435
11935
22235
32235

end429.0ms (4%)

Remove

(sort V l)

Compiler

Compiled 461 to 271 computations (41.2% saved)

Profiling

Loading profile data...