Details

Time bar (total: 8.6s)

analyze828.0ms (9.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
6.2%93.7%0.1%5
6.2%90.5%3.2%6
21.9%67.1%11%7
23.4%64.8%11.8%8
32%52.7%15.3%9
33.2%51.3%15.5%10
37.7%45.2%17.2%11
38.3%44.4%17.2%12
40.6%41.3%18%13
41%41%18%14
Compiler

Compiled 15 to 12 computations (20% saved)

sample48.0ms (0.6%)

Algorithm
intervals
Results
11.0ms187×body128valid
6.0ms26×body1024valid
6.0ms33×body1024nan
4.0ms29×body512nan
4.0ms23×body512valid
2.0ms15×body256valid
2.0msbody2048valid
1.0ms11×body256nan
1.0ms15×body128nan
Compiler

Compiled 31 to 25 computations (19.4% saved)

simplify209.0ms (2.4%)

Algorithm
egg-herbie
Rules
2748×fma-def_binary64
1264×fma-neg_binary64
934×associate--r-_binary64
475×cancel-sign-sub-inv_binary64
423×sub-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01018
12217
24017
38615
416315
534415
666615
7121715
8146315
9160815
10178715
11232215
12292615
13298715
14308915
15313315
16314215
17314215
18322515
19323315
20323715
21497915

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
17.8b
Counts
3 → 2
Alt Table
StatusErrorProgram
17.8b
(-.f64 1 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))))
17.8b
(-.f64 1 (log.f64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))))
Compiler

Compiled 76 to 57 computations (25% saved)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 x y) (+.f64 y -1))
2.0b
(log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1)))

series63.0ms (0.7%)

Counts
2 → 48
Calls

2 calls:

54.0ms
(log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1)))
9.0ms
(/.f64 (-.f64 x y) (+.f64 y -1))

rewrite11.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
38×*-un-lft-identity_binary64
32×add-sqr-sqrt_binary64
25×times-frac_binary64
14×add-cube-cbrt_binary64
distribute-lft-out--_binary64
Counts
2 → 65
Calls

2 calls:

6.0ms
(/.f64 (-.f64 x y) (+.f64 y -1))
0.0ms
(log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1)))

simplify96.0ms (1.1%)

Algorithm
egg-herbie
Rules
479×associate-+r+_binary64
403×sub-neg_binary64
349×+-commutative_binary64
306×associate-+l+_binary64
240×associate-/r*_binary64
Counts
113 → 166
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03773806
111213687
245453655
352443655

prune132.0ms (1.5%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1633166
Fresh011
Picked011
Done000
Total1635168
Error
0.1b
Counts
168 → 5
Alt Table
StatusErrorProgram
17.8b
(-.f64 1 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))))
57.0b
(-.f64 1 (-.f64 (log.f64 (+.f64 x -1)) (log.f64 y)))
17.8b
(-.f64 1 (log.f64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))))
49.2b
(-.f64 1 (-.f64 (+.f64 (/.f64 1 (*.f64 (-.f64 1 x) y)) (+.f64 (/.f64 x (*.f64 (pow.f64 (-.f64 1 x) 2) (pow.f64 y 2))) (+.f64 (log.f64 (/.f64 -1 y)) (+.f64 (/.f64 1 (pow.f64 y 2)) (log.f64 (-.f64 1 x)))))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (-.f64 1 x) 2) (pow.f64 y 2)))) (+.f64 (/.f64 x (*.f64 (-.f64 1 x) y)) (*.f64 1/2 (/.f64 1 (*.f64 (pow.f64 (-.f64 1 x) 2) (pow.f64 y 2))))))))
45.2b
(-.f64 1 (+.f64 (+.f64 (log1p.f64 (neg.f64 x)) (log.f64 (/.f64 -1 y))) (-.f64 (/.f64 1 (*.f64 y (-.f64 1 x))) (/.f64 x (*.f64 y (-.f64 1 x))))))
Compiler

Compiled 5512 to 3653 computations (33.7% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 x y) (-.f64 1 y))
2.0b
(-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))
5.0b
(log.f64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y))))

series81.0ms (0.9%)

Counts
3 → 72
Calls

3 calls:

60.0ms
(log.f64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y))))
13.0ms
(-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))
8.0ms
(/.f64 (-.f64 x y) (-.f64 1 y))

rewrite78.0ms (0.9%)

Algorithm
rewrite-expression-head
Rules
297×add-sqr-sqrt_binary64
289×*-un-lft-identity_binary64
184×times-frac_binary64
114×add-cube-cbrt_binary64
108×prod-diff_binary64
Counts
3 → 284
Calls

3 calls:

17.0ms
(log.f64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y))))
17.0ms
(-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))
7.0ms
(/.f64 (-.f64 x y) (-.f64 1 y))

simplify311.0ms (3.6%)

Algorithm
egg-herbie
Rules
275×fma-def_binary64
259×associate-/r*_binary64
215×associate-/l*_binary64
211×associate-*r/_binary64
209×times-frac_binary64
Counts
356 → 359
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
058516124
1179110561
2487010493
3499810493
4497910493

prune350.0ms (4.1%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New3572359
Fresh303
Picked101
Done011
Total3613364
Error
0b
Counts
364 → 3
Alt Table
StatusErrorProgram
17.8b
(-.f64 1 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))))
38.3b
(-.f64 1 (log.f64 (-.f64 (+.f64 (/.f64 x y) (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 x (pow.f64 y 2)))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2)))))))
46.6b
(-.f64 1 (log.f64 (+.f64 (fma.f64 1 1 (neg.f64 (*.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y)) (/.f64 (sqrt.f64 (-.f64 x y)) 1)))) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y))) (/.f64 (sqrt.f64 (-.f64 x y)) 1) (*.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y)) (/.f64 (sqrt.f64 (-.f64 x y)) 1))))))
Compiler

Compiled 14045 to 8584 computations (38.9% saved)

localize19.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
6.2b
(+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 x (pow.f64 y 2)))
6.9b
(/.f64 x (pow.f64 y 2))
9.1b
(+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2)))
13.6b
(log.f64 (-.f64 (+.f64 (/.f64 x y) (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 x (pow.f64 y 2)))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2))))))

series116.0ms (1.4%)

Counts
4 → 42
Calls

4 calls:

53.0ms
(+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 x (pow.f64 y 2)))
32.0ms
(log.f64 (-.f64 (+.f64 (/.f64 x y) (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 x (pow.f64 y 2)))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2))))))
27.0ms
(/.f64 x (pow.f64 y 2))
3.0ms
(+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2)))

rewrite251.0ms (2.9%)

Algorithm
rewrite-expression-head
Rules
244×*-un-lft-identity_binary64
153×distribute-lft-out_binary64
141×times-frac_binary64
97×div-inv_binary64
80×fma-def_binary64
Counts
4 → 272
Calls

4 calls:

110.0ms
(log.f64 (-.f64 (+.f64 (/.f64 x y) (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 x (pow.f64 y 2)))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2))))))
50.0ms
(+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 x (pow.f64 y 2)))
45.0ms
(+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2)))
3.0ms
(/.f64 x (pow.f64 y 2))

simplify181.0ms (2.1%)

Algorithm
egg-herbie
Rules
564×distribute-rgt-in_binary64
545×distribute-lft-in_binary64
308×fma-def_binary64
125×cancel-sign-sub-inv_binary64
122×*-commutative_binary64
Counts
314 → 363
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
051112098
1169311406
2519411406

prune413.0ms (4.8%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New3630363
Fresh011
Picked011
Done011
Total3633366
Error
0b
Counts
366 → 3
Alt Table
StatusErrorProgram
17.8b
(-.f64 1 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))))
38.3b
(-.f64 1 (log.f64 (-.f64 (+.f64 (/.f64 x y) (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 x (pow.f64 y 2)))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2)))))))
46.6b
(-.f64 1 (log.f64 (+.f64 (fma.f64 1 1 (neg.f64 (*.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y)) (/.f64 (sqrt.f64 (-.f64 x y)) 1)))) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y))) (/.f64 (sqrt.f64 (-.f64 x y)) 1) (*.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y)) (/.f64 (sqrt.f64 (-.f64 x y)) 1))))))
Compiler

Compiled 21164 to 13978 computations (34% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y)) (/.f64 (sqrt.f64 (-.f64 x y)) 1))
3.0b
(log.f64 (+.f64 (fma.f64 1 1 (neg.f64 (*.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y)) (/.f64 (sqrt.f64 (-.f64 x y)) 1)))) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y))) (/.f64 (sqrt.f64 (-.f64 x y)) 1) (*.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y)) (/.f64 (sqrt.f64 (-.f64 x y)) 1)))))
7.6b
(fma.f64 1 1 (neg.f64 (*.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y)) (/.f64 (sqrt.f64 (-.f64 x y)) 1))))
29.3b
(fma.f64 (neg.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y))) (/.f64 (sqrt.f64 (-.f64 x y)) 1) (*.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y)) (/.f64 (sqrt.f64 (-.f64 x y)) 1)))

series1.4s (16.1%)

Counts
4 → 59
Calls

4 calls:

1.0s
(fma.f64 (neg.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y))) (/.f64 (sqrt.f64 (-.f64 x y)) 1) (*.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y)) (/.f64 (sqrt.f64 (-.f64 x y)) 1)))
294.0ms
(log.f64 (+.f64 (fma.f64 1 1 (neg.f64 (*.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y)) (/.f64 (sqrt.f64 (-.f64 x y)) 1)))) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y))) (/.f64 (sqrt.f64 (-.f64 x y)) 1) (*.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y)) (/.f64 (sqrt.f64 (-.f64 x y)) 1)))))
25.0ms
(fma.f64 1 1 (neg.f64 (*.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y)) (/.f64 (sqrt.f64 (-.f64 x y)) 1))))
22.0ms
(*.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y)) (/.f64 (sqrt.f64 (-.f64 x y)) 1))

rewrite52.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
129×add-sqr-sqrt_binary64
94×times-frac_binary64
91×*-un-lft-identity_binary64
56×sqrt-prod_binary64
54×associate-*l*_binary64
Counts
4 → 158
Calls

4 calls:

28.0ms
(*.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y)) (/.f64 (sqrt.f64 (-.f64 x y)) 1))
2.0ms
(log.f64 (+.f64 (fma.f64 1 1 (neg.f64 (*.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y)) (/.f64 (sqrt.f64 (-.f64 x y)) 1)))) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y))) (/.f64 (sqrt.f64 (-.f64 x y)) 1) (*.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y)) (/.f64 (sqrt.f64 (-.f64 x y)) 1)))))
0.0ms
(fma.f64 (neg.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y))) (/.f64 (sqrt.f64 (-.f64 x y)) 1) (*.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y)) (/.f64 (sqrt.f64 (-.f64 x y)) 1)))
0.0ms
(fma.f64 1 1 (neg.f64 (*.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y)) (/.f64 (sqrt.f64 (-.f64 x y)) 1))))

simplify165.0ms (1.9%)

Algorithm
egg-herbie
Rules
670×fma-def_binary64
422×fma-neg_binary64
336×distribute-rgt-in_binary64
272×cancel-sign-sub-inv_binary64
262×sub-neg_binary64
Counts
217 → 275
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02945524
17214453
223503802
344273802
450113802

prune477.0ms (5.6%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New4430443
Fresh000
Picked011
Done022
Total4433446
Error
0b
Counts
446 → 3
Alt Table
StatusErrorProgram
17.8b
(-.f64 1 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))))
38.3b
(-.f64 1 (log.f64 (-.f64 (+.f64 (/.f64 x y) (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 x (pow.f64 y 2)))) (+.f64 (/.f64 1 y) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2)))))))
46.6b
(-.f64 1 (log.f64 (+.f64 (fma.f64 1 1 (neg.f64 (*.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y)) (/.f64 (sqrt.f64 (-.f64 x y)) 1)))) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y))) (/.f64 (sqrt.f64 (-.f64 x y)) 1) (*.f64 (/.f64 (sqrt.f64 (-.f64 x y)) (-.f64 1 y)) (/.f64 (sqrt.f64 (-.f64 x y)) 1))))))
Compiler

Compiled 26781 to 13605 computations (49.2% saved)

regimes1.7s (19.6%)

Accuracy

Total 0.0b remaining (63.9%)

Threshold costs 0.0b (63.9%)

Counts
174 → 2
Compiler

Compiled 31116 to 21802 computations (29.9% saved)

bsearch8.0ms (0.1%)

Compiler

Compiled 9 to 6 computations (33.3% saved)

simplify5.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
03272
14772
26472
38472
410072
510672
610872
710672

end1.0ms (0%)

Compiler

Compiled 50 to 35 computations (30% saved)

sample1.6s (18.6%)

Algorithm
intervals
Results
383.0ms5953×body128valid
243.0ms977×body1024valid
198.0ms993×body1024nan
119.0ms638×body512valid
97.0ms708×body512nan
42.0ms350×body256valid
33.0ms360×body256nan
28.0ms82×body2048valid
22.0ms473×body128nan
0.0msbody2048nan
Compiler

Compiled 171 to 116 computations (32.2% saved)

Profiling

Loading profile data...