Details

Time bar (total: 13.8s)

analyze651.0ms (4.7%)

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)

sample3.1s (22.6%)

Results
2.7s7795×body256valid
249.0ms1268×body128invalid
87.0ms461×body128valid
Compiler

Compiled 122 to 71 computations (41.8% saved)

simplify192.0ms (1.4%)

Algorithm
egg-herbie
Rules
729×fma-neg_binary64
636×times-frac_binary64
620×div-sub_binary64
565×unsub-neg_binary64
481×sub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02052
15450
214450
340648
482648
5152348
6191148
7263248
8258948
9297148
10362548
11419348
12437548
13448548
14453348
15455748
16460748
17488248
18484848
Stop Event
node limit
Counts
1 → 2

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
36.8b
Counts
3 → 2
Alt Table
StatusErrorProgram
36.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)))
36.8b
(+.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 219 to 116 computations (47% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.8b
(-.f64 (*.f64 g g) (*.f64 h h))
8.1b
(cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))
8.8b
(cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))
30.6b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

series1.3s (9.3%)

Counts
4 → 120
Calls

4 calls:

645.0ms
(cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))
616.0ms
(cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))
12.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
9.0ms
(-.f64 (*.f64 g g) (*.f64 h h))

rewrite84.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
671×prod-diff_binary64
204×add-sqr-sqrt_binary64
196×log1p-expm1-u_binary64
196×expm1-log1p-u_binary64
193×add-cube-cbrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01868
140968
2484368
3603068
Stop Event
node limit
Counts
4 → 117

simplify130.0ms (0.9%)

Algorithm
egg-herbie
Rules
350×associate-*r*_binary64
325×times-frac_binary64
273×fma-neg_binary64
247×*-commutative_binary64
243×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04055670
112605468
245315278
350545278
Stop Event
node limit
Counts
237 → 268

prune908.0ms (6.6%)

Pruning

19 alts after pruning (19 fresh and 0 done)

PrunedKeptTotal
New36319382
Fresh101
Picked101
Done000
Total36519384
Error
31.7b
Counts
384 → 19
Alt Table
StatusErrorProgram
36.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) 3))
48.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) g)) a) -1/2)))
42.5b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
55.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (pow.f64 (/.f64 (*.f64 2 g) a) 1/3)))
34.7b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
40.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 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) 2)) a) -1/2)))
55.8b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (/.f64 2 a)) (log.f64 (/.f64 1 g)))))))
36.8b
(+.f64 (/.f64 1 (cbrt.f64 (/.f64 (*.f64 2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
43.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 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)) a) -1/2)))
34.7b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1 (*.f64 2 a)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
41.4b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) a) -1/2)))
53.5b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (*.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g 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 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
52.3b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (fma.f64 (cbrt.f64 -1/2) (cbrt.f64 (*.f64 (/.f64 2 a) g)) (*.f64 (*.f64 (*.f64 (*.f64 h h) (cbrt.f64 -1/2)) (cbrt.f64 (/.f64 2 (*.f64 (pow.f64 g 5) a)))) -1/12)))
34.7b
(+.f64 (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
42.2b
(+.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 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))) a) -1/2)))
49.4b
(+.f64 (*.f64 (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (-.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g)) (log.f64 a)))) (cbrt.f64 1/2)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
52.4b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 1/2) (exp.f64 (*.f64 1/3 (+.f64 (log.f64 (+.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g)) (log.f64 (/.f64 -1 a)))))))
53.4b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (exp.f64 (-.f64 (log.f64 (*.f64 -1/2 (/.f64 (*.f64 h h) a))) (log.f64 g))))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
Compiler

Compiled 19110 to 9952 computations (47.9% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.2b
(-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)
2.8b
(-.f64 (*.f64 g g) (*.f64 h h))
8.1b
(cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))
30.6b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

series13.0ms (0.1%)

Counts
1 → 24
Calls

1 calls:

13.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)

rewrite63.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
747×fma-def_binary64
443×log-prod_binary64
325×fma-neg_binary64
166×expm1-udef_binary64
166×log1p-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0815
118815
2246614
3533214
Stop Event
node limit
Counts
1 → 99

simplify67.0ms (0.5%)

Algorithm
egg-herbie
Rules
447×distribute-neg-frac_binary64
443×times-frac_binary64
253×div-sub_binary64
232×associate-/l*_binary64
229×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
083618
1249598
2787584
33540584
44802584
55086584
Stop Event
node limit
Counts
123 → 139

prune1.5s (10.5%)

Pruning

24 alts after pruning (24 fresh and 0 done)

PrunedKeptTotal
New43111442
Fresh51318
Picked101
Done000
Total43724461
Error
31.2b
Counts
461 → 24
Alt Table
StatusErrorProgram
36.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) 3))
48.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) g)) a) -1/2)))
42.5b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
46.9b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (neg.f64 g)) a) -1/2)))
34.7b
(+.f64 (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
49.8b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (pow.f64 (sqrt.f64 (-.f64 (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h)))) g)) 2) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
40.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 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) 2)) a) -1/2)))
55.8b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (/.f64 2 a)) (log.f64 (/.f64 1 g)))))))
36.8b
(+.f64 (/.f64 1 (cbrt.f64 (/.f64 (*.f64 2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
43.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 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)) a) -1/2)))
34.7b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1 (*.f64 2 a)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
48.4b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) 1/3) g) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
42.2b
(+.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 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))) a) -1/2)))
60.6b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (fma.f64 (sqrt.f64 g) (neg.f64 (sqrt.f64 g)) (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h))))) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
43.6b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (*.f64 -2 g) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
41.4b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) a) -1/2)))
53.5b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (*.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
49.8b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h)))) g)) 3) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
34.7b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 2)) (cbrt.f64 a)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))
33.2b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 2)) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
48.9b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
57.0b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) (neg.f64 g)) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
49.4b
(+.f64 (*.f64 (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (-.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g)) (log.f64 a)))) (cbrt.f64 1/2)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
52.8b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (fma.f64 (pow.f64 (cbrt.f64 g) 2) (neg.f64 (cbrt.f64 g)) (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h))))) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
Compiler

Compiled 20967 to 9582 computations (54.3% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.3b
(+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))
2.2b
(-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)
2.8b
(-.f64 (*.f64 g g) (*.f64 h h))
30.6b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

series12.0ms (0.1%)

Counts
1 → 24
Calls

1 calls:

12.0ms
(+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))

rewrite64.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
693×fma-def_binary64
435×log-prod_binary64
336×fma-neg_binary64
164×expm1-udef_binary64
164×log1p-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0815
118715
2245414
3528014
Stop Event
node limit
Counts
1 → 51

simplify61.0ms (0.4%)

Algorithm
egg-herbie
Rules
539×fma-neg_binary64
463×times-frac_binary64
439×distribute-neg-frac_binary64
284×div-sub_binary64
235×associate-/r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
073575
1223557
2661547
33225543
44904543
55238543
Stop Event
node limit
Counts
75 → 90

prune1.8s (13.3%)

Pruning

26 alts after pruning (26 fresh and 0 done)

PrunedKeptTotal
New4525457
Fresh22123
Picked101
Done000
Total45526481
Error
31.0b
Counts
481 → 26
Alt Table
StatusErrorProgram
49.8b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h)))) g)) 3) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
45.5b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 2)) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (*.f64 2 g) -1/2)) (cbrt.f64 a)))
36.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) 3))
48.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) g)) a) -1/2)))
42.5b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
46.9b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (*.f64 -1/2 (/.f64 (*.f64 h h) g)) 2)) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
48.9b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
49.8b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (pow.f64 (sqrt.f64 (-.f64 (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h)))) g)) 2) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
60.0b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h))))) 2)) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
40.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 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) 2)) a) -1/2)))
55.8b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (/.f64 2 a)) (log.f64 (/.f64 1 g)))))))
36.8b
(+.f64 (/.f64 1 (cbrt.f64 (/.f64 (*.f64 2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
43.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 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)) a) -1/2)))
34.7b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1 (*.f64 2 a)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
48.4b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) 1/3) g) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
42.2b
(+.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 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))) a) -1/2)))
43.6b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (*.f64 -2 g) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
52.9b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 2)) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (fma.f64 (cbrt.f64 g) (pow.f64 (cbrt.f64 g) 2) (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h))))) -1/2)) (cbrt.f64 a)))
41.4b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) a) -1/2)))
53.5b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (*.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
34.7b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 2)) (cbrt.f64 a)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))
34.7b
(+.f64 (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
57.0b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) (neg.f64 g)) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
49.4b
(+.f64 (*.f64 (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (-.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g)) (log.f64 a)))) (cbrt.f64 1/2)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
52.8b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (fma.f64 (pow.f64 (cbrt.f64 g) 2) (neg.f64 (cbrt.f64 g)) (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h))))) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
46.4b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 2)) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) -1/2)) (cbrt.f64 a)))
Compiler

Compiled 20838 to 8881 computations (57.4% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.2b
(-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)
2.8b
(-.f64 (*.f64 g g) (*.f64 h h))
8.1b
(cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))
30.6b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

prune1.8s (13.1%)

Pruning

27 alts after pruning (27 fresh and 0 done)

PrunedKeptTotal
New4393442
Fresh12425
Picked101
Done000
Total44127468
Error
31.0b
Counts
468 → 27
Alt Table
StatusErrorProgram
49.8b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h)))) g)) 3) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
45.5b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 2)) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (*.f64 2 g) -1/2)) (cbrt.f64 a)))
36.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) 3))
48.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) g)) a) -1/2)))
42.5b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
46.9b
(+.f64 (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (neg.f64 g)) a) -1/2)))
46.9b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (*.f64 -1/2 (/.f64 (*.f64 h h) g)) 2)) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
48.9b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
49.8b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (pow.f64 (sqrt.f64 (-.f64 (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h)))) g)) 2) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
60.0b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (fma.f64 (neg.f64 (sqrt.f64 g)) (sqrt.f64 g) (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h))))) 2)) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
40.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 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) 2)) a) -1/2)))
55.8b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (/.f64 2 a)) (log.f64 (/.f64 1 g)))))))
36.8b
(+.f64 (/.f64 1 (cbrt.f64 (/.f64 (*.f64 2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
43.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 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)) a) -1/2)))
34.7b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1 (*.f64 2 a)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
48.4b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) 1/3) g) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
42.2b
(+.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 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))) a) -1/2)))
57.0b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) (neg.f64 g)) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
40.3b
(+.f64 (/.f64 (cbrt.f64 (-.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) g)) (cbrt.f64 (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
43.6b
(+.f64 (/.f64 (cbrt.f64 (*.f64 g -2)) (cbrt.f64 (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
43.6b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (*.f64 -2 g) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
52.9b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 2)) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (fma.f64 (cbrt.f64 g) (pow.f64 (cbrt.f64 g) 2) (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h))))) -1/2)) (cbrt.f64 a)))
41.4b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) a) -1/2)))
53.5b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (*.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
34.7b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 2)) (cbrt.f64 a)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))
52.8b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (fma.f64 (pow.f64 (cbrt.f64 g) 2) (neg.f64 (cbrt.f64 g)) (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h))))) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
46.4b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 2)) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) -1/2)) (cbrt.f64 a)))
Compiler

Compiled 20200 to 9359 computations (53.7% saved)

regimes1.4s (10%)

Accuracy

Total 0.9b remaining (2.7%)

Threshold costs 0.9b (2.7%)

Counts
142 → 2
Compiler

Compiled 34836 to 22027 computations (36.8% saved)

bsearch116.0ms (0.8%)

Steps
ItersRangePoint
10
1.4474771549517493e-158
1.2544036835929579e-142
1.4710116353411875e-158
Compiler

Compiled 4 to 3 computations (25% saved)

simplify5.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
037104
153104
264104
370104
473104
573104
Stop Event
saturated

end477.0ms (3.5%)

Compiler

Compiled 1091 to 678 computations (37.9% saved)

Profiling

Loading profile data...