Details

Time bar (total: 51.7s)

analyze6.6s (12.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)

sample363.0ms (0.7%)

Algorithm
intervals
Results
78.0ms174×body128valid
52.0ms35×body1024valid
37.0ms19×body2048nan
34.0ms19×body2048valid
31.0ms21×body1024nan
27.0ms75×body128nan
21.0ms21×body512valid
19.0ms19×body512nan
9.0ms12×body256nan
5.0msbody256valid
Compiler

Compiled 93 to 69 computations (25.8% saved)

simplify69.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

prune11.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)

localize32.0ms (0.1%)

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)))

rewrite172.0ms (0.3%)

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:

45.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)))))))
32.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))))))
15.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)))
9.0ms
(-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))

series21.2s (40.9%)

Counts
4 → 124
Calls

4 calls:

11.9s
(/.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)))
9.0s
(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)))))))
209.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))))))
49.0ms
(-.f64 (+.f64 A C) (hypot.f64 B (-.f64 A C)))

simplify768.0ms (1.5%)

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

prune1.3s (2.4%)

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
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)))
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)))))))))
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)))
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)))
54.5b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (hypot.f64 B C)))) (/.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)))
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)))
46.9b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (sqrt.f64 2)))
60.4b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (*.f64 F (pow.f64 B 3))))) (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))))
60.6b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 -2 (*.f64 F (pow.f64 B 3))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
53.0b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 A (hypot.f64 A B)))) (/.f64 (sqrt.f64 2) 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)))))))))
63.2b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))))
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.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.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)))
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)))
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)))

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

13.0ms
(*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (sqrt.f64 2))
9.0ms
(*.f64 -1/2 (/.f64 F C))
5.0ms
(sqrt.f64 (*.f64 -1/2 (/.f64 F C)))

series121.0ms (0.2%)

Counts
3 → 0
Calls

3 calls:

47.0ms
(*.f64 -1/2 (/.f64 F C))
43.0ms
(*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (sqrt.f64 2))
30.0ms
(sqrt.f64 (*.f64 -1/2 (/.f64 F C)))

simplify170.0ms (0.3%)

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

prune188.0ms (0.4%)

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
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)))
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)))))))))
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)))
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)))
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)))
54.5b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (hypot.f64 B C)))) (/.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)))
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)))
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)))
47.2b
(neg.f64 (expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))) (sqrt.f64 2)))))
42.1b
(neg.f64 (*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) (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)))))
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)))
61.8b
(neg.f64 (*.f64 (sqrt.f64 (log.f64 (exp.f64 (*.f64 -1/2 (/.f64 F C))))) (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)))
53.0b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 A (hypot.f64 A B)))) (/.f64 (sqrt.f64 2) B)))
42.1b
(neg.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 2)) (sqrt.f64 C)))
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)))))
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)))))))))
63.2b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))))
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)))
47.9b
(neg.f64 (*.f64 (exp.f64 (log.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F C))))) (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)))
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))))
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))

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

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

series108.0ms (0.2%)

Counts
2 → 0
Calls

2 calls:

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

simplify245.0ms (0.5%)

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

prune278.0ms (0.5%)

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
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 (/.f64 1 (sqrt.f64 (sqrt.f64 C))) (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.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)))
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)))))))))
43.6b
(neg.f64 (exp.f64 (+.f64 (log.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C))) (log.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)))))))))
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)))
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)))
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)))
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)))))
63.2b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))))
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.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))))
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)))
42.1b
(neg.f64 (*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) (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)))))
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)))
61.8b
(neg.f64 (*.f64 (sqrt.f64 (log.f64 (exp.f64 (*.f64 -1/2 (/.f64 F C))))) (sqrt.f64 2)))
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)))))
47.9b
(neg.f64 (*.f64 (exp.f64 (log.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 F 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)))))
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)))
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))))
43.9b
(neg.f64 (*.f64 (exp.f64 (-.f64 (log.f64 (sqrt.f64 (*.f64 -1/2 F))) (log.f64 (sqrt.f64 C)))) (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)))
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)))
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))))
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)))
Compiler

Compiled 4461 to 2997 computations (32.8% saved)

localize20.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))

rewrite54.0ms (0.1%)

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:

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

series135.0ms (0.3%)

Counts
2 → 0
Calls

2 calls:

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

simplify234.0ms (0.5%)

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

prune355.0ms (0.7%)

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
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)))
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)))))))))
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))))
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)))))))))
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))))
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)))
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)))))
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)))
54.5b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 C (hypot.f64 B C)))) (/.f64 (sqrt.f64 2) 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.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)))))
63.2b
(neg.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A)))))
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.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))))
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)))
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)))
42.1b
(neg.f64 (*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 F)) (sqrt.f64 C)) (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)))))
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)))
61.8b
(neg.f64 (*.f64 (sqrt.f64 (log.f64 (exp.f64 (*.f64 -1/2 (/.f64 F C))))) (sqrt.f64 2)))
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))))))
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)))
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 (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))))
60.6b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 -2 (*.f64 F (pow.f64 B 3))))) (fma.f64 A (*.f64 C -4) (*.f64 B B)))
53.0b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 F (-.f64 A (hypot.f64 A B)))) (/.f64 (sqrt.f64 2) B)))
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))))))
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))))))
Compiler

Compiled 5134 to 3844 computations (25.1% saved)

regimes9.5s (18.4%)

Accuracy

Total 13.0b remaining (42.1%)

Threshold costs 0b (0%)

Compiler

Compiled 53290 to 38681 computations (27.4% saved)

bsearch34.0ms (0.1%)

Compiler

Compiled 44 to 32 computations (27.3% saved)

simplify34.0ms (0.1%)

Algorithm
egg-herbie
Rules
35×*-commutative_binary64
24×+-commutative_binary64
23×sub-neg_binary64
19×neg-sub0_binary64
19×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
071420
1124420
2181420
3219420
4237420
5241420
6236420

end38.0ms (0.1%)

Compiler

Compiled 831 to 549 computations (33.9% saved)

sample9.6s (18.7%)

Algorithm
intervals
Results
1.6s5486×body128valid
1.0s884×body1024valid
979.0ms654×body2048valid
967.0ms835×body1024nan
909.0ms584×body2048nan
736.0ms2500×body128nan
541.0ms630×body512valid
509.0ms538×body512nan
228.0ms345×body256valid
175.0ms311×body256nan
1.0msbody4096valid
Compiler

Compiled 1275 to 868 computations (31.9% saved)

Profiling

Loading profile data...