Details

Time bar (total: 7.0s)

analyze967.0ms (13.8%)

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)

sample2.3s (32.2%)

Results
802.0ms6019×body128valid
460.0ms1093×body1024valid
250.0ms683×body512valid
186.0ms514×body1024invalid
163.0ms1470×body128invalid
87.0ms336×body512invalid
81.0ms373×body256valid
46.0ms88×body2048valid
32.0ms173×body256invalid
Compiler

Compiled 44 to 35 computations (20.5% saved)

simplify202.0ms (2.9%)

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

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
16.3b
Counts
3 → 1
Alt Table
StatusErrorProgram
16.3b
(-.f64 1 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))))
Compiler

Compiled 48 to 35 computations (27.1% saved)

localize6.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series133.0ms (1.9%)

Counts
3 → 72
Calls

3 calls:

69.0ms
(-.f64 1 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))))
56.0ms
(log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1)))
8.0ms
(/.f64 (-.f64 x y) (+.f64 y -1))

rewrite16.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
50×*-un-lft-identity_binary64
44×add-sqr-sqrt_binary64
25×times-frac_binary64
23×add-cube-cbrt_binary64
prod-diff_binary64
Counts
3 → 97
Calls

3 calls:

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

simplify117.0ms (1.7%)

Algorithm
egg-herbie
Rules
409×associate-+l+_binary64
242×associate--r+_binary64
240×associate-/r*_binary64
221×fma-def_binary64
201×+-commutative_binary64
Counts
169 → 262
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
05106989
114486687
250686687

prune219.0ms (3.1%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New2593262
Fresh000
Picked011
Done000
Total2594263
Error
0.1b
Counts
263 → 4
Alt Table
StatusErrorProgram
48.6b
(-.f64 1 (+.f64 (+.f64 (/.f64 x (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2))) (+.f64 (log1p.f64 (neg.f64 x)) (+.f64 (/.f64 1 (*.f64 y y)) (log.f64 (/.f64 -1 y))))) (-.f64 (/.f64 1 (*.f64 y (-.f64 1 x))) (fma.f64 1/2 (/.f64 (*.f64 x x) (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2))) (+.f64 (/.f64 x (*.f64 y (-.f64 1 x))) (/.f64 1/2 (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2))))))))
44.3b
(-.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))))))
16.3b
(-.f64 1 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))))
58.2b
(-.f64 1 (-.f64 (log.f64 (+.f64 x -1)) (log.f64 y)))
Compiler

Compiled 9949 to 6715 computations (32.5% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 y (-.f64 1 x))
0.1b
(+.f64 (log1p.f64 (neg.f64 x)) (log.f64 (/.f64 -1 y)))
0.2b
(/.f64 1 (*.f64 y (-.f64 1 x)))
6.6b
(/.f64 x (*.f64 y (-.f64 1 x)))

series267.0ms (3.8%)

Counts
4 → 96
Calls

4 calls:

244.0ms
(+.f64 (log1p.f64 (neg.f64 x)) (log.f64 (/.f64 -1 y)))
10.0ms
(/.f64 x (*.f64 y (-.f64 1 x)))
9.0ms
(/.f64 1 (*.f64 y (-.f64 1 x)))
4.0ms
(*.f64 y (-.f64 1 x))

rewrite27.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
38×*-un-lft-identity_binary64
37×add-sqr-sqrt_binary64
32×add-cube-cbrt_binary64
22×add-exp-log_binary64
18×prod-diff_binary64
Counts
4 → 141
Calls

4 calls:

5.0ms
(*.f64 y (-.f64 1 x))
5.0ms
(/.f64 1 (*.f64 y (-.f64 1 x)))
5.0ms
(+.f64 (log1p.f64 (neg.f64 x)) (log.f64 (/.f64 -1 y)))
5.0ms
(/.f64 x (*.f64 y (-.f64 1 x)))

simplify137.0ms (2%)

Algorithm
egg-herbie
Rules
635×fma-def_binary64
443×distribute-rgt-in_binary64
225×sub-neg_binary64
175×fma-neg_binary64
169×times-frac_binary64
Counts
237 → 255
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
03023291
16722984
224812899
345272899
449682887
549082887

prune242.0ms (3.5%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New3251326
Fresh112
Picked101
Done011
Total3273330
Error
0.0b
Counts
330 → 3
Alt Table
StatusErrorProgram
38.2b
(-.f64 1 (+.f64 (log.f64 (/.f64 (+.f64 x -1) y)) (-.f64 (/.f64 1 (*.f64 y (-.f64 1 x))) (/.f64 x (*.f64 y (-.f64 1 x))))))
48.6b
(-.f64 1 (+.f64 (+.f64 (/.f64 x (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2))) (+.f64 (log1p.f64 (neg.f64 x)) (+.f64 (/.f64 1 (*.f64 y y)) (log.f64 (/.f64 -1 y))))) (-.f64 (/.f64 1 (*.f64 y (-.f64 1 x))) (fma.f64 1/2 (/.f64 (*.f64 x x) (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2))) (+.f64 (/.f64 x (*.f64 y (-.f64 1 x))) (/.f64 1/2 (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2))))))))
16.3b
(-.f64 1 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))))
Compiler

Compiled 11263 to 6905 computations (38.7% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 y (-.f64 1 x))
0.2b
(/.f64 1 (*.f64 y (-.f64 1 x)))
2.2b
(log.f64 (/.f64 (+.f64 x -1) y))
6.6b
(/.f64 x (*.f64 y (-.f64 1 x)))

series244.0ms (3.5%)

Counts
1 → 24
Calls

1 calls:

244.0ms
(log.f64 (/.f64 (+.f64 x -1) y))

rewrite5.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
19×log-prod_binary64
16×*-un-lft-identity_binary64
15×times-frac_binary64
13×add-sqr-sqrt_binary64
10×add-cube-cbrt_binary64
Counts
1 → 32
Calls

1 calls:

3.0ms
(log.f64 (/.f64 (+.f64 x -1) y))

simplify77.0ms (1.1%)

Algorithm
egg-herbie
Rules
645×fma-def_binary64
584×fma-neg_binary64
467×sub-neg_binary64
360×cancel-sign-sub-inv_binary64
326×distribute-rgt-in_binary64
Counts
56 → 76
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0131954
1272908
2713876
32154869
44496869
55004869

prune228.0ms (3.3%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New3300330
Fresh011
Picked011
Done011
Total3303333
Error
0.0b
Counts
333 → 3
Alt Table
StatusErrorProgram
38.2b
(-.f64 1 (+.f64 (log.f64 (/.f64 (+.f64 x -1) y)) (-.f64 (/.f64 1 (*.f64 y (-.f64 1 x))) (/.f64 x (*.f64 y (-.f64 1 x))))))
48.6b
(-.f64 1 (+.f64 (+.f64 (/.f64 x (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2))) (+.f64 (log1p.f64 (neg.f64 x)) (+.f64 (/.f64 1 (*.f64 y y)) (log.f64 (/.f64 -1 y))))) (-.f64 (/.f64 1 (*.f64 y (-.f64 1 x))) (fma.f64 1/2 (/.f64 (*.f64 x x) (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2))) (+.f64 (/.f64 x (*.f64 y (-.f64 1 x))) (/.f64 1/2 (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2))))))))
16.3b
(-.f64 1 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))))
Compiler

Compiled 10746 to 6952 computations (35.3% saved)

localize29.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
6.4b
(+.f64 (+.f64 (/.f64 x (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2))) (+.f64 (log1p.f64 (neg.f64 x)) (+.f64 (/.f64 1 (*.f64 y y)) (log.f64 (/.f64 -1 y))))) (-.f64 (/.f64 1 (*.f64 y (-.f64 1 x))) (fma.f64 1/2 (/.f64 (*.f64 x x) (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2))) (+.f64 (/.f64 x (*.f64 y (-.f64 1 x))) (/.f64 1/2 (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2)))))))
6.6b
(/.f64 x (*.f64 y (-.f64 1 x)))
9.2b
(/.f64 x (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2)))
24.3b
(/.f64 (*.f64 x x) (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2)))

series154.0ms (2.2%)

Counts
3 → 72
Calls

3 calls:

70.0ms
(+.f64 (+.f64 (/.f64 x (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2))) (+.f64 (log1p.f64 (neg.f64 x)) (+.f64 (/.f64 1 (*.f64 y y)) (log.f64 (/.f64 -1 y))))) (-.f64 (/.f64 1 (*.f64 y (-.f64 1 x))) (fma.f64 1/2 (/.f64 (*.f64 x x) (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2))) (+.f64 (/.f64 x (*.f64 y (-.f64 1 x))) (/.f64 1/2 (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2)))))))
44.0ms
(/.f64 (*.f64 x x) (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2)))
39.0ms
(/.f64 x (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2)))

rewrite95.0ms (1.4%)

Algorithm
rewrite-expression-head
Rules
121×*-un-lft-identity_binary64
81×distribute-lft-out_binary64
73×add-exp-log_binary64
47×add-log-exp_binary64
34×sum-log_binary64
Counts
3 → 160
Calls

3 calls:

33.0ms
(+.f64 (+.f64 (/.f64 x (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2))) (+.f64 (log1p.f64 (neg.f64 x)) (+.f64 (/.f64 1 (*.f64 y y)) (log.f64 (/.f64 -1 y))))) (-.f64 (/.f64 1 (*.f64 y (-.f64 1 x))) (fma.f64 1/2 (/.f64 (*.f64 x x) (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2))) (+.f64 (/.f64 x (*.f64 y (-.f64 1 x))) (/.f64 1/2 (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2)))))))
8.0ms
(/.f64 (*.f64 x x) (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2)))
7.0ms
(/.f64 x (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2)))

simplify297.0ms (4.3%)

Algorithm
egg-herbie
Rules
358×distribute-rgt-in_binary64
350×distribute-lft-in_binary64
337×times-frac_binary64
253×fma-def_binary64
213×associate-/r*_binary64
Counts
232 → 241
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
045216795
1136015871
2474415871
3495415871

prune542.0ms (7.7%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New2950295
Fresh000
Picked011
Done022
Total2953298
Error
0.0b
Counts
298 → 3
Alt Table
StatusErrorProgram
38.2b
(-.f64 1 (+.f64 (log.f64 (/.f64 (+.f64 x -1) y)) (-.f64 (/.f64 1 (*.f64 y (-.f64 1 x))) (/.f64 x (*.f64 y (-.f64 1 x))))))
48.6b
(-.f64 1 (+.f64 (+.f64 (/.f64 x (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2))) (+.f64 (log1p.f64 (neg.f64 x)) (+.f64 (/.f64 1 (*.f64 y y)) (log.f64 (/.f64 -1 y))))) (-.f64 (/.f64 1 (*.f64 y (-.f64 1 x))) (fma.f64 1/2 (/.f64 (*.f64 x x) (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2))) (+.f64 (/.f64 x (*.f64 y (-.f64 1 x))) (/.f64 1/2 (*.f64 (*.f64 y y) (pow.f64 (-.f64 1 x) 2))))))))
16.3b
(-.f64 1 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))))
Compiler

Compiled 32793 to 20115 computations (38.7% saved)

regimes609.0ms (8.7%)

Accuracy

Total 0.2b remaining (93.2%)

Threshold costs 0.2b (93.2%)

Counts
61 → 2
Compiler

Compiled 9596 to 7120 computations (25.8% saved)

bsearch2.0ms (0%)

Compiler

Compiled 9 to 6 computations (33.3% saved)

simplify6.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02666
14366
26466
38466
410966
512266
613166
713766
814366
914866
1015066
1114666

end89.0ms (1.3%)

Compiler

Compiled 203 to 141 computations (30.5% saved)

Profiling

Loading profile data...