Details

Time bar (total: 39.6s)

analyze3.8s (9.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
0%99.8%0.2%5
0%99.8%0.2%6
0%98.2%1.8%7
0%92%8%8
0%91.2%8.8%9
0.4%89.3%10.3%10
7.1%79.2%13.6%11
11.9%70.2%17.9%12
13.8%67.4%18.7%13
16.6%63.3%20.1%14
Compiler

Compiled 45 to 33 computations (26.7% saved)

sample187.0ms (0.5%)

Algorithm
intervals
Results
35.0ms174×body128valid
25.0ms35×body1024valid
19.0ms19×body2048nan
18.0ms19×body2048valid
15.0ms21×body1024nan
13.0ms75×body128nan
11.0ms21×body512valid
10.0ms19×body512nan
4.0ms12×body256nan
3.0msbody256valid
Compiler

Compiled 93 to 69 computations (25.8% saved)

simplify59.0ms (0.1%)

Algorithm
egg-herbie
Rules
759×neg-mul-1_binary64
493×associate-*l*_binary64
463×associate-*r*_binary64
420×distribute-rgt-in_binary64
410×distribute-lft-in_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02361
16149
217649
364849
4272749
5486949
6551249

prune6.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
48.7b
Counts
3 → 2
Alt Table
StatusErrorProgram
52.7b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
49.0b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
Compiler

Compiled 239 to 156 computations (34.7% saved)

localize16.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.0b
(-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))
5.9b
(*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C))))))
13.0b
(sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))
21.7b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))

rewrite91.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
204×distribute-lft-in_binary64
204×distribute-rgt-in_binary64
164×*-un-lft-identity_binary64
108×prod-diff_binary64
105×add-sqr-sqrt_binary64
Counts
4 → 284
Calls

4 calls:

24.0ms
(sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))
20.0ms
(*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C))))))
6.0ms
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
5.0ms
(-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))

series16.6s (42%)

Counts
4 → 124
Calls

4 calls:

10.4s
(sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))
5.6s
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
491.0ms
(*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C))))))
95.0ms
(-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))

simplify1.5s (3.7%)

Algorithm
egg-herbie
Rules
721×times-frac_binary64
670×fma-def_binary64
277×associate-/l*_binary64
190×associate-/r*_binary64
93×sub-neg_binary64
Counts
408 → 701
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0276555201
1484249427
2591149427

prune2.5s (6.2%)

Pruning

18 alts after pruning (18 fresh and 0 done)

PrunedKeptTotal
New68318701
Fresh101
Picked101
Done000
Total68518703
Error
20.5b
Counts
703 → 18
Alt Table
StatusErrorProgram
50.1b
(/.f64 (neg.f64 (neg.f64 (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
54.5b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (hypot.f64 B C)))) (/.f64 (sqrt.f64 2) B)))
47.8b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (*.f64 2 A)))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
62.8b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 -16 (*.f64 A (*.f64 (pow.f64 C 2) F))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
60.6b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 -2 (*.f64 F (pow.f64 B 3))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
63.2b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))))
49.4b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (+.f64 (fma.f64 1 (+.f64 A C) (neg.f64 (*.f64 (sqrt.f64 (hypot.f64 B (-.f64 A C))) (sqrt.f64 (hypot.f64 B (-.f64 A C)))))) (fma.f64 (neg.f64 (sqrt.f64 (hypot.f64 B (-.f64 A C)))) (sqrt.f64 (hypot.f64 B (-.f64 A C))) (*.f64 (sqrt.f64 (hypot.f64 B (-.f64 A C))) (sqrt.f64 (hypot.f64 B (-.f64 A C))))))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
49.0b
(*.f64 (sqrt.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))) (/.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C))))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B))))
49.0b
(/.f64 -1 (/.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))))
47.3b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
47.3b
(*.f64 -1 (/.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))) (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)))))
59.9b
(/.f64 (neg.f64 (-.f64 (fma.f64 2 (*.f64 (/.f64 (*.f64 A (*.f64 C (sqrt.f64 2))) B) (sqrt.f64 (/.f64 (*.f64 (fma.f64 C C (*.f64 B B)) F) (-.f64 C (hypot.f64 C B))))) (fma.f64 1/2 (*.f64 (*.f64 A (*.f64 (sqrt.f64 2) B)) (sqrt.f64 (/.f64 F (-.f64 C (hypot.f64 C B))))) (fma.f64 1/2 (*.f64 (*.f64 A (*.f64 C (*.f64 (sqrt.f64 2) B))) (sqrt.f64 (/.f64 F (*.f64 (fma.f64 C C (*.f64 B B)) (-.f64 C (hypot.f64 C B)))))) (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (hypot.f64 C B)))) (*.f64 (sqrt.f64 2) B))))) (*.f64 2 (*.f64 (/.f64 (*.f64 A (*.f64 (*.f64 C C) (sqrt.f64 2))) B) (sqrt.f64 (/.f64 F (-.f64 C (hypot.f64 C B)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
60.4b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (pow.f64 B 3))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
55.1b
(/.f64 (neg.f64 (sqrt.f64 (-.f64 (fma.f64 4 (/.f64 (*.f64 (*.f64 A A) (*.f64 F (*.f64 B B))) C) (*.f64 8 (*.f64 A (*.f64 F (*.f64 B B))))) (fma.f64 16 (*.f64 (*.f64 A A) (*.f64 C F)) (/.f64 (*.f64 F (pow.f64 B 4)) C))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
48.5b
(/.f64 (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B))) (/.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))))
53.0b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 A (hypot.f64 A B)))) (/.f64 (sqrt.f64 2) B)))
58.9b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (neg.f64 B)))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
46.9b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (sqrt.f64 2)))
Compiler

Compiled 68951 to 36386 computations (47.2% saved)

localize15.0ms (0%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(*.f64 -1/2 (/.f64 F C))
0.4b
(*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (sqrt.f64 2))
12.5b
(sqrt.f64 (*.f64 -1/2 (/.f64 F C)))

rewrite43.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
23×add-sqr-sqrt_binary64
19×associate-*r*_binary64
15×pow1_binary64
14×*-un-lft-identity_binary64
14×add-cube-cbrt_binary64
Counts
3 → 78
Calls

3 calls:

16.0ms
(*.f64 -1/2 (/.f64 F C))
14.0ms
(*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (sqrt.f64 2))
5.0ms
(sqrt.f64 (*.f64 -1/2 (/.f64 F C)))

series137.0ms (0.3%)

Counts
3 → 0
Calls

3 calls:

53.0ms
(*.f64 -1/2 (/.f64 F C))
48.0ms
(*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (sqrt.f64 2))
35.0ms
(sqrt.f64 (*.f64 -1/2 (/.f64 F C)))

simplify177.0ms (0.4%)

Algorithm
egg-herbie
Rules
555×associate-/l*_binary64
453×fma-def_binary64
314×*-commutative_binary64
309×sqr-pow_binary64
295×associate-*l*_binary64
Counts
78 → 105
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01181017
1234945
2612941
31450941
42561941
52706941
63099941
73616941
84454941
94923941

prune197.0ms (0.5%)

Pruning

24 alts after pruning (24 fresh and 0 done)

PrunedKeptTotal
New969105
Fresh21517
Picked101
Done000
Total9924123
Error
18.7b
Counts
123 → 24
Alt Table
StatusErrorProgram
50.1b
(/.f64 (neg.f64 (neg.f64 (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
54.5b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (hypot.f64 B C)))) (/.f64 (sqrt.f64 2) B)))
42.1b
(neg.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 2)) (sqrt.f64 C)))
59.9b
(/.f64 (neg.f64 (-.f64 (fma.f64 2 (*.f64 (/.f64 (*.f64 A (*.f64 C (sqrt.f64 2))) B) (sqrt.f64 (/.f64 (*.f64 (fma.f64 C C (*.f64 B B)) F) (-.f64 C (hypot.f64 C B))))) (fma.f64 1/2 (*.f64 (*.f64 A (*.f64 (sqrt.f64 2) B)) (sqrt.f64 (/.f64 F (-.f64 C (hypot.f64 C B))))) (fma.f64 1/2 (*.f64 (*.f64 A (*.f64 C (*.f64 (sqrt.f64 2) B))) (sqrt.f64 (/.f64 F (*.f64 (fma.f64 C C (*.f64 B B)) (-.f64 C (hypot.f64 C B)))))) (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (hypot.f64 C B)))) (*.f64 (sqrt.f64 2) B))))) (*.f64 2 (*.f64 (/.f64 (*.f64 A (*.f64 (*.f64 C C) (sqrt.f64 2))) B) (sqrt.f64 (/.f64 F (-.f64 C (hypot.f64 C B)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
62.8b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 -16 (*.f64 A (*.f64 (pow.f64 C 2) F))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
60.6b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 -2 (*.f64 F (pow.f64 B 3))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
47.2b
(neg.f64 (expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (sqrt.f64 2)))))
63.2b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))))
47.0b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 F C))) (cbrt.f64 (*.f64 -1/2 (/.f64 F C)))) (cbrt.f64 (*.f64 -1/2 (/.f64 F C))))) (sqrt.f64 2)))
49.4b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (+.f64 (fma.f64 1 (+.f64 A C) (neg.f64 (*.f64 (sqrt.f64 (hypot.f64 B (-.f64 A C))) (sqrt.f64 (hypot.f64 B (-.f64 A C)))))) (fma.f64 (neg.f64 (sqrt.f64 (hypot.f64 B (-.f64 A C)))) (sqrt.f64 (hypot.f64 B (-.f64 A C))) (*.f64 (sqrt.f64 (hypot.f64 B (-.f64 A C))) (sqrt.f64 (hypot.f64 B (-.f64 A C))))))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
49.0b
(*.f64 (sqrt.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))) (/.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C))))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B))))
42.1b
(neg.f64 (*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) (sqrt.f64 2)))
48.5b
(/.f64 (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B))) (/.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))))
61.8b
(neg.f64 (*.f64 (sqrt.f64 (log.f64 (exp.f64 (*.f64 -1/2 (/.f64 F C))))) (sqrt.f64 2)))
53.0b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 A (hypot.f64 A B)))) (/.f64 (sqrt.f64 2) B)))
47.1b
(neg.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C)))) (cbrt.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))))) (cbrt.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))))) (sqrt.f64 2)))
58.9b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (neg.f64 B)))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
49.0b
(/.f64 -1 (/.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))))
47.3b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
47.3b
(*.f64 -1 (/.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))) (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)))))
47.0b
(neg.f64 (*.f64 (*.f64 (sqrt.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C)))) (sqrt.f64 (sqrt.f64 2))) (*.f64 (sqrt.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C)))) (sqrt.f64 (sqrt.f64 2)))))
59.7b
(neg.f64 (*.f64 (sqrt.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 -1/2 -1/2) -1/2) (/.f64 (*.f64 (*.f64 F F) F) (*.f64 (*.f64 C C) C))))) (sqrt.f64 2)))
55.1b
(/.f64 (neg.f64 (sqrt.f64 (-.f64 (fma.f64 4 (/.f64 (*.f64 (*.f64 A A) (*.f64 F (*.f64 B B))) C) (*.f64 8 (*.f64 A (*.f64 F (*.f64 B B))))) (fma.f64 16 (*.f64 (*.f64 A A) (*.f64 C F)) (/.f64 (*.f64 F (pow.f64 B 4)) C))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
47.9b
(neg.f64 (*.f64 (exp.f64 (log.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))))) (sqrt.f64 2)))
Compiler

Compiled 2927 to 1928 computations (34.1% saved)

localize16.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C))
0.3b
(*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) (sqrt.f64 2))

rewrite46.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
52×times-frac_binary64
52×add-sqr-sqrt_binary64
48×sqrt-prod_binary64
36×*-un-lft-identity_binary64
36×add-cube-cbrt_binary64
Counts
2 → 106
Calls

2 calls:

19.0ms
(*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) (sqrt.f64 2))
12.0ms
(/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C))

series115.0ms (0.3%)

Counts
2 → 0
Calls

2 calls:

66.0ms
(*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) (sqrt.f64 2))
49.0ms
(/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C))

simplify270.0ms (0.7%)

Algorithm
egg-herbie
Rules
772×fma-neg_binary64
385×*-commutative_binary64
328×div-sub_binary64
276×associate-*l*_binary64
266×associate-*l/_binary64
Counts
106 → 165
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01312195
12602065
26052065
319322064
421002064
524182064
633752064
749912064
849932064

prune291.0ms (0.7%)

Pruning

30 alts after pruning (29 fresh and 1 done)

PrunedKeptTotal
New15510165
Fresh41923
Picked011
Done000
Total15930189
Error
18.7b
Counts
189 → 30
Alt Table
StatusErrorProgram
50.1b
(/.f64 (neg.f64 (neg.f64 (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
54.5b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (hypot.f64 B C)))) (/.f64 (sqrt.f64 2) B)))
43.9b
(neg.f64 (exp.f64 (+.f64 (-.f64 (log.f64 (sqrt.f64 (*.f64 -1/2 F))) (log.f64 (sqrt.f64 C))) (log.f64 (sqrt.f64 2)))))
47.3b
(*.f64 -1 (/.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))) (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)))))
59.9b
(/.f64 (neg.f64 (-.f64 (fma.f64 2 (*.f64 (/.f64 (*.f64 A (*.f64 C (sqrt.f64 2))) B) (sqrt.f64 (/.f64 (*.f64 (fma.f64 C C (*.f64 B B)) F) (-.f64 C (hypot.f64 C B))))) (fma.f64 1/2 (*.f64 (*.f64 A (*.f64 (sqrt.f64 2) B)) (sqrt.f64 (/.f64 F (-.f64 C (hypot.f64 C B))))) (fma.f64 1/2 (*.f64 (*.f64 A (*.f64 C (*.f64 (sqrt.f64 2) B))) (sqrt.f64 (/.f64 F (*.f64 (fma.f64 C C (*.f64 B B)) (-.f64 C (hypot.f64 C B)))))) (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (hypot.f64 C B)))) (*.f64 (sqrt.f64 2) B))))) (*.f64 2 (*.f64 (/.f64 (*.f64 A (*.f64 (*.f64 C C) (sqrt.f64 2))) B) (sqrt.f64 (/.f64 F (-.f64 C (hypot.f64 C B)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
42.2b
(neg.f64 (*.f64 (*.f64 (/.f64 1 (sqrt.f64 (sqrt.f64 C))) (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 (sqrt.f64 C)))) (sqrt.f64 2)))
62.8b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 -16 (*.f64 A (*.f64 (pow.f64 C 2) F))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
60.6b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 -2 (*.f64 F (pow.f64 B 3))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
59.7b
(neg.f64 (*.f64 (sqrt.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 -1/2 -1/2) -1/2) (/.f64 (*.f64 (*.f64 F F) F) (*.f64 (*.f64 C C) C))))) (sqrt.f64 2)))
42.5b
(neg.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 -1/2 F))) (cbrt.f64 (sqrt.f64 (*.f64 -1/2 F)))) (*.f64 (cbrt.f64 (sqrt.f64 C)) (cbrt.f64 (sqrt.f64 C)))) (*.f64 (/.f64 (cbrt.f64 (sqrt.f64 (*.f64 -1/2 F))) (cbrt.f64 (sqrt.f64 C))) (sqrt.f64 2))))
63.2b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))))
42.4b
(neg.f64 (*.f64 (*.f64 (/.f64 (sqrt.f64 (sqrt.f64 (*.f64 -1/2 F))) (*.f64 (cbrt.f64 (sqrt.f64 C)) (cbrt.f64 (sqrt.f64 C)))) (/.f64 (sqrt.f64 (sqrt.f64 (*.f64 -1/2 F))) (cbrt.f64 (sqrt.f64 C)))) (sqrt.f64 2)))
49.4b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (+.f64 (fma.f64 1 (+.f64 A C) (neg.f64 (*.f64 (sqrt.f64 (hypot.f64 B (-.f64 A C))) (sqrt.f64 (hypot.f64 B (-.f64 A C)))))) (fma.f64 (neg.f64 (sqrt.f64 (hypot.f64 B (-.f64 A C)))) (sqrt.f64 (hypot.f64 B (-.f64 A C))) (*.f64 (sqrt.f64 (hypot.f64 B (-.f64 A C))) (sqrt.f64 (hypot.f64 B (-.f64 A C))))))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
42.2b
(neg.f64 (*.f64 (*.f64 (/.f64 (sqrt.f64 (sqrt.f64 (*.f64 -1/2 F))) (sqrt.f64 (sqrt.f64 C))) (sqrt.f64 (sqrt.f64 2))) (*.f64 (/.f64 (sqrt.f64 (sqrt.f64 (*.f64 -1/2 F))) (sqrt.f64 (sqrt.f64 C))) (sqrt.f64 (sqrt.f64 2)))))
49.0b
(*.f64 (sqrt.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))) (/.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C))))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B))))
42.1b
(neg.f64 (*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) (sqrt.f64 2)))
42.2b
(neg.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C))) (sqrt.f64 (sqrt.f64 2))) (*.f64 (sqrt.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C))) (sqrt.f64 (sqrt.f64 2)))))
48.5b
(/.f64 (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B))) (/.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))))
61.8b
(neg.f64 (*.f64 (sqrt.f64 (log.f64 (exp.f64 (*.f64 -1/2 (/.f64 F C))))) (sqrt.f64 2)))
53.0b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 A (hypot.f64 A B)))) (/.f64 (sqrt.f64 2) B)))
47.1b
(neg.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C)))) (cbrt.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))))) (cbrt.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))))) (sqrt.f64 2)))
43.9b
(neg.f64 (*.f64 (exp.f64 (-.f64 (log.f64 (sqrt.f64 (*.f64 -1/2 F))) (log.f64 (sqrt.f64 C)))) (sqrt.f64 2)))
58.9b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (neg.f64 B)))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
49.0b
(/.f64 -1 (/.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))))
47.3b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
47.9b
(neg.f64 (*.f64 (exp.f64 (log.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))))) (sqrt.f64 2)))
42.1b
(neg.f64 (*.f64 (*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) (sqrt.f64 (sqrt.f64 2))) (sqrt.f64 (sqrt.f64 2))))
42.2b
(neg.f64 (*.f64 (/.f64 1 (sqrt.f64 (sqrt.f64 C))) (*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 (sqrt.f64 C))) (sqrt.f64 2))))
55.1b
(/.f64 (neg.f64 (sqrt.f64 (-.f64 (fma.f64 4 (/.f64 (*.f64 (*.f64 A A) (*.f64 F (*.f64 B B))) C) (*.f64 8 (*.f64 A (*.f64 F (*.f64 B B))))) (fma.f64 16 (*.f64 (*.f64 A A) (*.f64 C F)) (/.f64 (*.f64 F (pow.f64 B 4)) C))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
43.6b
(neg.f64 (exp.f64 (+.f64 (log.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C))) (log.f64 (sqrt.f64 2)))))
Compiler

Compiled 4461 to 2997 computations (32.8% saved)

localize18.0ms (0%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) (sqrt.f64 (sqrt.f64 2)))
0.2b
(*.f64 (*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) (sqrt.f64 (sqrt.f64 2))) (sqrt.f64 (sqrt.f64 2)))
0.3b
(/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C))

rewrite60.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
48×sqrt-prod_binary64
47×add-sqr-sqrt_binary64
30×times-frac_binary64
29×associate-*l*_binary64
23×*-un-lft-identity_binary64
Counts
2 → 93
Calls

2 calls:

23.0ms
(*.f64 (*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) (sqrt.f64 (sqrt.f64 2))) (sqrt.f64 (sqrt.f64 2)))
23.0ms
(*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) (sqrt.f64 (sqrt.f64 2)))

series137.0ms (0.3%)

Counts
2 → 0
Calls

2 calls:

72.0ms
(*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) (sqrt.f64 (sqrt.f64 2)))
65.0ms
(*.f64 (*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) (sqrt.f64 (sqrt.f64 2))) (sqrt.f64 (sqrt.f64 2)))

simplify237.0ms (0.6%)

Algorithm
egg-herbie
Rules
615×associate-/r*_binary64
508×associate-/l/_binary64
499×associate-*l/_binary64
335×associate-*r/_binary64
250×associate-/l*_binary64
Counts
93 → 161
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01272249
12852020
27702020
323682020
439152020
543672020
649002020
750062020

prune366.0ms (0.9%)

Pruning

28 alts after pruning (27 fresh and 1 done)

PrunedKeptTotal
New22110231
Fresh111728
Picked101
Done011
Total23328261
Error
18.7b
Counts
261 → 28
Alt Table
StatusErrorProgram
44.1b
(neg.f64 (exp.f64 (+.f64 (+.f64 (-.f64 (log.f64 (sqrt.f64 (*.f64 -1/2 F))) (log.f64 (sqrt.f64 C))) (log.f64 (sqrt.f64 (sqrt.f64 2)))) (log.f64 (sqrt.f64 (sqrt.f64 2))))))
50.1b
(/.f64 (neg.f64 (neg.f64 (*.f64 A (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -8 (*.f64 C F))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
54.5b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (hypot.f64 B C)))) (/.f64 (sqrt.f64 2) B)))
59.9b
(/.f64 (neg.f64 (-.f64 (fma.f64 2 (*.f64 (/.f64 (*.f64 A (*.f64 C (sqrt.f64 2))) B) (sqrt.f64 (/.f64 (*.f64 (fma.f64 C C (*.f64 B B)) F) (-.f64 C (hypot.f64 C B))))) (fma.f64 1/2 (*.f64 (*.f64 A (*.f64 (sqrt.f64 2) B)) (sqrt.f64 (/.f64 F (-.f64 C (hypot.f64 C B))))) (fma.f64 1/2 (*.f64 (*.f64 A (*.f64 C (*.f64 (sqrt.f64 2) B))) (sqrt.f64 (/.f64 F (*.f64 (fma.f64 C C (*.f64 B B)) (-.f64 C (hypot.f64 C B)))))) (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (hypot.f64 C B)))) (*.f64 (sqrt.f64 2) B))))) (*.f64 2 (*.f64 (/.f64 (*.f64 A (*.f64 (*.f64 C C) (sqrt.f64 2))) B) (sqrt.f64 (/.f64 F (-.f64 C (hypot.f64 C B)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
42.5b
(neg.f64 (*.f64 (expm1.f64 (log1p.f64 (*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) (sqrt.f64 (sqrt.f64 2))))) (sqrt.f64 (sqrt.f64 2))))
42.2b
(neg.f64 (*.f64 (/.f64 1 (sqrt.f64 (sqrt.f64 C))) (*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 (sqrt.f64 C))) (sqrt.f64 2))))
42.1b
(neg.f64 (*.f64 (*.f64 (*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) (sqrt.f64 (sqrt.f64 2))) (fabs.f64 (cbrt.f64 (sqrt.f64 2)))) (sqrt.f64 (cbrt.f64 (sqrt.f64 2)))))
60.6b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 -2 (*.f64 F (pow.f64 B 3))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
42.6b
(neg.f64 (*.f64 (*.f64 (*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) (sqrt.f64 (sqrt.f64 2))) (*.f64 (cbrt.f64 (sqrt.f64 (sqrt.f64 2))) (cbrt.f64 (sqrt.f64 (sqrt.f64 2))))) (cbrt.f64 (sqrt.f64 (sqrt.f64 2)))))
62.8b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 -16 (*.f64 A (*.f64 (pow.f64 C 2) F))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
43.8b
(neg.f64 (*.f64 (*.f64 (exp.f64 (-.f64 (log.f64 (sqrt.f64 (*.f64 -1/2 F))) (log.f64 (sqrt.f64 C)))) (sqrt.f64 (sqrt.f64 2))) (sqrt.f64 (sqrt.f64 2))))
63.2b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))))
49.4b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (+.f64 (fma.f64 1 (+.f64 A C) (neg.f64 (*.f64 (sqrt.f64 (hypot.f64 B (-.f64 A C))) (sqrt.f64 (hypot.f64 B (-.f64 A C)))))) (fma.f64 (neg.f64 (sqrt.f64 (hypot.f64 B (-.f64 A C)))) (sqrt.f64 (hypot.f64 B (-.f64 A C))) (*.f64 (sqrt.f64 (hypot.f64 B (-.f64 A C))) (sqrt.f64 (hypot.f64 B (-.f64 A C))))))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
49.0b
(*.f64 (sqrt.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))) (/.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C))))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B))))
42.1b
(neg.f64 (*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) (sqrt.f64 2)))
48.5b
(/.f64 (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B))) (/.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))))
61.8b
(neg.f64 (*.f64 (sqrt.f64 (log.f64 (exp.f64 (*.f64 -1/2 (/.f64 F C))))) (sqrt.f64 2)))
53.0b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 A (hypot.f64 A B)))) (/.f64 (sqrt.f64 2) B)))
47.3b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (fma.f64 2 A (*.f64 -1/2 (/.f64 (*.f64 B B) C)))))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
42.5b
(neg.f64 (*.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 -1/2 F))) (cbrt.f64 (sqrt.f64 (*.f64 -1/2 F)))) (*.f64 (cbrt.f64 (sqrt.f64 C)) (cbrt.f64 (sqrt.f64 C)))) (*.f64 (/.f64 (cbrt.f64 (sqrt.f64 (*.f64 -1/2 F))) (cbrt.f64 (sqrt.f64 C))) (sqrt.f64 (sqrt.f64 2)))) (sqrt.f64 (sqrt.f64 2))))
49.0b
(/.f64 -1 (/.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))))))
47.3b
(*.f64 -1 (/.f64 (sqrt.f64 (*.f64 2 (*.f64 F (-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))))) (sqrt.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)))))
43.6b
(neg.f64 (*.f64 (*.f64 (exp.f64 (log.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)))) (sqrt.f64 (sqrt.f64 2))) (sqrt.f64 (sqrt.f64 2))))
42.1b
(neg.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 (sqrt.f64 2))) (sqrt.f64 (sqrt.f64 2))) (sqrt.f64 C)))
55.1b
(/.f64 (neg.f64 (sqrt.f64 (-.f64 (fma.f64 4 (/.f64 (*.f64 (*.f64 A A) (*.f64 F (*.f64 B B))) C) (*.f64 8 (*.f64 A (*.f64 F (*.f64 B B))))) (fma.f64 16 (*.f64 (*.f64 A A) (*.f64 C F)) (/.f64 (*.f64 F (pow.f64 B 4)) C))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
58.9b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (fma.f64 A (*.f64 C -4) (*.f64 B B)) (*.f64 2 (*.f64 F (neg.f64 B)))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
42.4b
(neg.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) (sqrt.f64 (sqrt.f64 2))) (sqrt.f64 (sqrt.f64 2)))) (cbrt.f64 (*.f64 (*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) (sqrt.f64 (sqrt.f64 2))) (sqrt.f64 (sqrt.f64 2))))) (cbrt.f64 (*.f64 (*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) (sqrt.f64 (sqrt.f64 2))) (sqrt.f64 (sqrt.f64 2))))))
43.9b
(neg.f64 (exp.f64 (+.f64 (+.f64 (log.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C))) (log.f64 (sqrt.f64 (sqrt.f64 2)))) (log.f64 (sqrt.f64 (sqrt.f64 2))))))
Compiler

Compiled 5134 to 3844 computations (25.1% saved)

regimes6.2s (15.6%)

Accuracy

Total 13.0b remaining (42.1%)

Threshold costs 0b (0%)

Compiler

Compiled 53290 to 38681 computations (27.4% saved)

bsearch16.0ms (0%)

Compiler

Compiled 44 to 32 computations (27.3% saved)

simplify19.0ms (0%)

Algorithm
egg-herbie
Rules
36×*-commutative_binary64
25×+-commutative_binary64
24×sub-neg_binary64
20×neg-sub0_binary64
20×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
071420
1126420
2185420
3225420
4244420
5248420
6243420

end18.0ms (0%)

Compiler

Compiled 831 to 549 computations (33.9% saved)

sample6.5s (16.4%)

Algorithm
intervals
Results
1.0s5486×body128valid
690.0ms884×body1024valid
649.0ms835×body1024nan
630.0ms654×body2048valid
581.0ms584×body2048nan
485.0ms2500×body128nan
391.0ms630×body512valid
299.0ms538×body512nan
134.0ms345×body256valid
113.0ms311×body256nan
1.0msbody4096valid
Compiler

Compiled 1275 to 868 computations (31.9% saved)

Profiling

Loading profile data...