Details

Time bar (total: 8.6s)

analyze716.0ms (8.4%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
12.5%68.6%18.9%6
18.7%62.4%18.9%7
18.7%59.3%22%8
28.1%39%32.9%9
32.8%34.3%32.9%10
32.8%32%35.3%11
38.2%20.7%41.1%12
41%17.9%41.1%13
41%16.6%42.5%14
Compiler

Compiled 41 to 24 computations (41.5% saved)

sample55.0ms (0.6%)

Algorithm
intervals
Results
39.0ms245×body256valid
3.0ms37×body128nan
1.0ms11×body128valid
Compiler

Compiled 84 to 50 computations (40.5% saved)

simplify233.0ms (2.7%)

Algorithm
egg-herbie
Rules
637×associate-/l*_binary64
634×div-sub_binary64
582×unsub-neg_binary64
519×sub-neg_binary64
502×times-frac_binary64
Counts
1 → 1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02052
15350
213950
338148
473548
5118948
6140948
7189348
8185348
9223548
10288948
11345748
12363948
13374948
14379748
15382148
16387148
17485848
18479948
19498048
20483448

prune6.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
34.8b
Counts
2 → 2
Alt Table
StatusErrorProgram
34.8b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
34.9b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
Compiler

Compiled 182 to 100 computations (45.1% saved)

localize20.0ms (0.2%)

Local error

Found 4 expressions with local error:

7.6b
(cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))
10.1b
(cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))
28.3b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
28.3b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

rewrite155.0ms (1.8%)

Algorithm
rewrite-expression-head
Error
30.6b
Rules
14×add-sqr-sqrt_binary64
11×cbrt-prod_binary64
10×*-un-lft-identity_binary64
sqrt-prod_binary64
add-cube-cbrt_binary64
Counts
4 → 61
Calls

4 calls:

9.0ms
(cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))
8.0ms
(cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))
4.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
4.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 2348 to 702 computations (70.1% saved)

series330.0ms (3.9%)

Error
30.6b
Counts
4 → 43
Calls

4 calls:

112.0ms
(cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))
91.0ms
(cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))
29.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
27.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 4438 to 3079 computations (30.6% saved)

simplify79.0ms (0.9%)

Algorithm
egg-herbie
Rules
558×associate-/l*_binary64
462×associate-*r*_binary64
434×associate-/r*_binary64
345×associate-*l*_binary64
109×associate-*l/_binary64
Counts
104 → 63
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02452495
15252469
213652434
352562434

prune140.0ms (1.6%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New521163
Fresh011
Picked101
Done000
Total531265
Error
30.3b
Counts
65 → 12
Alt Table
StatusErrorProgram
32.5b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1/2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
47.3b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))) a) -1/2)))
34.9b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
33.3b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 a)))
34.9b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
35.0b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a)))) (cbrt.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))) (cbrt.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))))
46.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 1/2) (*.f64 (pow.f64 (/.f64 -1 a) 1/3) (pow.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 1/3))))
46.5b
(+.f64 (*.f64 (*.f64 (pow.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 1/3) (pow.f64 (/.f64 -1 a) 1/3)) (cbrt.f64 -1/2)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
48.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (*.f64 (/.f64 2 a) g))))
48.1b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (*.f64 (pow.f64 (*.f64 -1/2 (/.f64 (*.f64 h h) a)) 1/3) (pow.f64 (/.f64 -1 g) 1/3))))
58.1b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (exp.f64 (+.f64 (log.f64 (/.f64 2 a)) (log.f64 g))))))
51.4b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (-.f64 g (*.f64 1/2 (/.f64 (*.f64 h h) g))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
Compiler

Compiled 3057 to 1474 computations (51.8% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

2.8b
(-.f64 (*.f64 g g) (*.f64 h h))
7.6b
(cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))
28.3b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
28.3b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

rewrite206.0ms (2.4%)

Algorithm
rewrite-expression-head
Error
30.2b
Rules
add-sqr-sqrt_binary64 sqrt-prod_binary64
pow1_binary64 add-log-exp_binary64 add-cube-cbrt_binary64 *-un-lft-identity_binary64
add-exp-log_binary64 add-cbrt-cube_binary64 sqrt-div_binary64
flip3--_binary64 flip--_binary64 difference-of-squares_binary64
pow1/2_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64
Counts
4 → 55
Calls

4 calls:

8.0ms
(cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))
4.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
4.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
4.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 2167 to 675 computations (68.9% saved)

series280.0ms (3.3%)

Error
29.5b
Counts
4 → 43
Calls

4 calls:

92.0ms
(cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))
37.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
30.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
28.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 3650 to 2478 computations (32.1% saved)

simplify153.0ms (1.8%)

Algorithm
egg-herbie
Rules
329×exp-sum_binary64
280×unswap-sqr_binary64
222×associate-*r*_binary64
216×associate-*l*_binary64
182×cancel-sign-sub-inv_binary64
Counts
98 → 65
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01621615
13431543
28271531
329171487
446021483
549461483
649701483
749001483

prune184.0ms (2.1%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New63265
Fresh11011
Picked011
Done000
Total641377
Error
29.5b
Counts
77 → 13
Alt Table
StatusErrorProgram
32.5b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1/2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
47.3b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))) a) -1/2)))
41.4b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (neg.f64 g) g)) (cbrt.f64 (/.f64 1/2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
34.9b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
33.3b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 a)))
34.9b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
43.8b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1/2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (neg.f64 g)) a) -1/2)))
35.0b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a)))) (cbrt.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))) (cbrt.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))))
46.5b
(+.f64 (*.f64 (*.f64 (pow.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 1/3) (pow.f64 (/.f64 -1 a) 1/3)) (cbrt.f64 -1/2)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
48.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (*.f64 (/.f64 2 a) g))))
48.1b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (*.f64 (pow.f64 (*.f64 -1/2 (/.f64 (*.f64 h h) a)) 1/3) (pow.f64 (/.f64 -1 g) 1/3))))
58.1b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (exp.f64 (+.f64 (log.f64 (/.f64 2 a)) (log.f64 g))))))
51.4b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (-.f64 g (*.f64 1/2 (/.f64 (*.f64 h h) g))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
Compiler

Compiled 2751 to 1283 computations (53.4% saved)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

2.8b
(-.f64 (*.f64 g g) (*.f64 h h))
10.1b
(cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))
28.3b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
28.3b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

rewrite230.0ms (2.7%)

Algorithm
rewrite-expression-head
Error
29.5b
Rules
14×add-sqr-sqrt_binary64
10×*-un-lft-identity_binary64 cbrt-prod_binary64
sqrt-prod_binary64
add-cube-cbrt_binary64
pow1_binary64 add-log-exp_binary64 times-frac_binary64
Counts
4 → 64
Calls

4 calls:

8.0ms
(cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))
4.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
4.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
4.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 2507 to 788 computations (68.6% saved)

series302.0ms (3.5%)

Error
29.5b
Counts
4 → 46
Calls

4 calls:

109.0ms
(cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))
33.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
31.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
28.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 4132 to 2850 computations (31% saved)

simplify106.0ms (1.2%)

Algorithm
egg-herbie
Rules
555×associate-/l*_binary64
434×associate-/r*_binary64
388×associate-*l*_binary64
172×exp-sum_binary64
122×distribute-rgt-in_binary64
Counts
110 → 66
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02122310
14582267
212682243
347502229
450972229

prune178.0ms (2.1%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New61566
Fresh11011
Picked101
Done101
Total641579
Error
29.5b
Counts
79 → 15
Alt Table
StatusErrorProgram
47.3b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))) a) -1/2)))
50.9b
(+.f64 (*.f64 (cbrt.f64 1/2) (/.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (*.f64 h h) a))) (pow.f64 g 1/3))) (/.f64 (cbrt.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 a)))
41.4b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (neg.f64 g) g)) (cbrt.f64 (/.f64 1/2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
34.9b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
34.9b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
45.8b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 -1/2 (+.f64 g (-.f64 g (*.f64 1/2 (/.f64 (*.f64 h h) g)))))) (cbrt.f64 a)))
43.8b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1/2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (neg.f64 g)) a) -1/2)))
35.0b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a)))) (cbrt.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))) (cbrt.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))))
38.3b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 -1/2 (+.f64 g (*.f64 (fabs.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (cbrt.f64 a)))
49.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (-.f64 g (*.f64 1/2 (/.f64 (*.f64 h h) g))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 a)))
46.5b
(+.f64 (*.f64 (*.f64 (pow.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 1/3) (pow.f64 (/.f64 -1 a) 1/3)) (cbrt.f64 -1/2)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
48.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (*.f64 (/.f64 2 a) g))))
48.1b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (*.f64 (pow.f64 (*.f64 -1/2 (/.f64 (*.f64 h h) a)) 1/3) (pow.f64 (/.f64 -1 g) 1/3))))
31.3b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 -1 a))) (cbrt.f64 -1/2)) (/.f64 (cbrt.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 a)))
51.4b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (-.f64 g (*.f64 1/2 (/.f64 (*.f64 h h) g))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
Compiler

Compiled 3074 to 1558 computations (49.3% saved)

localize26.0ms (0.3%)

Local error

Found 4 expressions with local error:

2.8b
(-.f64 (*.f64 g g) (*.f64 h h))
2.8b
(-.f64 (*.f64 g g) (*.f64 h h))
28.3b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
28.3b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

rewrite211.0ms (2.5%)

Algorithm
rewrite-expression-head
Error
29.5b
Rules
add-log-exp_binary64 add-sqr-sqrt_binary64 sqrt-prod_binary64
pow1_binary64 add-cube-cbrt_binary64 *-un-lft-identity_binary64
add-exp-log_binary64 add-cbrt-cube_binary64 flip3--_binary64 sqrt-div_binary64 flip--_binary64 difference-of-squares_binary64
pow1/2_binary64 sqrt-pow1_binary64 rem-sqrt-square_binary64 diff-log_binary64 sub-neg_binary64 cancel-sign-sub-inv_binary64
Counts
4 → 58
Calls

4 calls:

4.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
4.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
4.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
4.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
Compiler

Compiled 2493 to 896 computations (64.1% saved)

series224.0ms (2.6%)

Error
29.5b
Counts
4 → 46
Calls

4 calls:

36.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
34.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
32.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
32.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 3603 to 2513 computations (30.3% saved)

simplify131.0ms (1.5%)

Algorithm
egg-herbie
Rules
823×associate-/r*_binary64
276×unswap-sqr_binary64
197×associate-*r*_binary64
192×associate-*l*_binary64
182×associate-/r/_binary64
Counts
104 → 68
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0841430
11851334
25081334
319941334
449151334
549571334
649891334
749421334

prune184.0ms (2.1%)

Pruning

16 alts after pruning (15 fresh and 1 done)

PrunedKeptTotal
New67168
Fresh01414
Picked011
Done000
Total671683
Error
29.5b
Counts
83 → 16
Alt Table
StatusErrorProgram
43.8b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 -1 a))) (cbrt.f64 -1/2)) (/.f64 (cbrt.f64 (*.f64 -1/2 (+.f64 g (neg.f64 g)))) (cbrt.f64 a)))
47.3b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))) a) -1/2)))
50.9b
(+.f64 (*.f64 (cbrt.f64 1/2) (/.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (*.f64 h h) a))) (pow.f64 g 1/3))) (/.f64 (cbrt.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 a)))
41.4b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (neg.f64 g) g)) (cbrt.f64 (/.f64 1/2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
34.9b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
34.9b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
45.8b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 -1/2 (+.f64 g (-.f64 g (*.f64 1/2 (/.f64 (*.f64 h h) g)))))) (cbrt.f64 a)))
43.8b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1/2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (neg.f64 g)) a) -1/2)))
35.0b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a)))) (cbrt.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))) (cbrt.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))))
38.3b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 -1/2 (+.f64 g (*.f64 (fabs.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (cbrt.f64 a)))
49.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (-.f64 g (*.f64 1/2 (/.f64 (*.f64 h h) g))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 a)))
46.5b
(+.f64 (*.f64 (*.f64 (pow.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 1/3) (pow.f64 (/.f64 -1 a) 1/3)) (cbrt.f64 -1/2)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
48.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (*.f64 (/.f64 2 a) g))))
48.1b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (*.f64 (pow.f64 (*.f64 -1/2 (/.f64 (*.f64 h h) a)) 1/3) (pow.f64 (/.f64 -1 g) 1/3))))
31.3b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 -1 a))) (cbrt.f64 -1/2)) (/.f64 (cbrt.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 a)))
51.4b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (-.f64 g (*.f64 1/2 (/.f64 (*.f64 h h) g))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
Compiler

Compiled 2403 to 1195 computations (50.3% saved)

regimes2.2s (25.8%)

Accuracy

Total 1.4b remaining (4.4%)

Threshold costs 0b (0%)

Compiler

Compiled 51314 to 29041 computations (43.4% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
sub-neg_binary64 *-commutative_binary64
neg-mul-1_binary64 neg-sub0_binary64
cancel-sign-sub-inv_binary64 distribute-lft-neg-out_binary64 distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02152
13252
24252
34852
45152
55152

end1.0ms (0%)

Compiler

Compiled 36 to 20 computations (44.4% saved)

sample2.2s (25.3%)

Algorithm
intervals
Results
1.2s7571×body256valid
103.0ms1234×body128nan
35.0ms429×body128valid
Compiler

Compiled 684 to 411 computations (39.9% saved)

Profiling

Loading profile data...