Details

Time bar (total: 21.3s)

analyze4.4s (20.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
0%99.9%0.1%6
0%99.9%0.1%7
0%93.6%6.4%8
9.4%84.3%6.4%9
14.8%75.7%9.5%10
16%71.4%12.6%11
20.9%65.7%13.4%12
24.2%60.5%15.3%13
24.8%58.6%16.6%14
Compiler

Compiled 31 to 24 computations (22.6% saved)

sample233.0ms (1.1%)

Algorithm
intervals
Results
114.0ms69×body1024valid
41.0ms128×body128valid
34.0ms34×body512valid
16.0ms25×body256valid
6.0ms21×body128invalid
0.0msbody128nan
Compiler

Compiled 64 to 50 computations (21.9% saved)

simplify70.0ms (0.3%)

Algorithm
egg-herbie
Rules
640×distribute-rgt-neg-in_binary64
474×fma-neg_binary64
418×distribute-lft-neg-in_binary64
379×div-sub_binary64
378×fma-def_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02335
14928
210028
319528
439128
5107528
6254328
7420028
8495528

prune10.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
17.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
17.2b
(+.f64 (neg.f64 (*.f64 x (/.f64 1 (tan.f64 B)))) (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (+.f64 (+.f64 (*.f64 F F) 2) (*.f64 2 x)) (neg.f64 (/.f64 1 2)))))
17.1b
(-.f64 (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (/.f64 x (tan.f64 B)))
Compiler

Compiled 153 to 108 computations (29.4% saved)

localize32.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 F (sin.f64 B))
0.1b
(/.f64 x (tan.f64 B))
7.0b
(*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))
18.4b
(pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)

series481.0ms (2.3%)

Counts
4 → 80
Calls

4 calls:

268.0ms
(*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))
90.0ms
(/.f64 x (tan.f64 B))
81.0ms
(pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)
41.0ms
(/.f64 F (sin.f64 B))

rewrite42.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
44×add-sqr-sqrt_binary64
31×*-un-lft-identity_binary64
31×add-cube-cbrt_binary64
30×times-frac_binary64
22×add-exp-log_binary64
Counts
4 → 123
Calls

4 calls:

14.0ms
(*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))
5.0ms
(/.f64 x (tan.f64 B))
5.0ms
(/.f64 F (sin.f64 B))
3.0ms
(pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)

simplify282.0ms (1.3%)

Algorithm
egg-herbie
Rules
302×fma-def_binary64
223×*-commutative_binary64
221×associate-*r*_binary64
218×fma-neg_binary64
202×+-commutative_binary64
Counts
203 → 271
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
05005883
113605603
245185575
349845575
449325575

prune649.0ms (3%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New25912271
Fresh101
Picked101
Done000
Total26112273
Error
0.1b
Counts
273 → 12
Alt Table
StatusErrorProgram
17.2b
(-.f64 (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (*.f64 x (/.f64 1 (tan.f64 B))))
14.2b
(-.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 F) (cbrt.f64 F)) 1) (*.f64 (/.f64 (cbrt.f64 F) (sin.f64 B)) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))) (/.f64 x (tan.f64 B)))
17.1b
(-.f64 (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (*.f64 (/.f64 x (sin.f64 B)) (cos.f64 B)))
42.2b
(-.f64 (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (*.f64 (sqrt.f64 (/.f64 x (tan.f64 B))) (sqrt.f64 (/.f64 x (tan.f64 B)))))
13.6b
(-.f64 (/.f64 (*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (sin.f64 B)) (/.f64 x (tan.f64 B)))
32.5b
(-.f64 (/.f64 1 (sin.f64 B)) (/.f64 x (tan.f64 B)))
33.1b
(-.f64 (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (cbrt.f64 (pow.f64 (/.f64 x (tan.f64 B)) 3)))
24.7b
(-.f64 (cbrt.f64 (pow.f64 (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 2 x (fma.f64 F F 2)) -1/2)) 3)) (/.f64 x (tan.f64 B)))
17.1b
(-.f64 (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (/.f64 (*.f64 x (cos.f64 B)) (sin.f64 B)))
17.1b
(-.f64 (*.f64 (/.f64 F (sin.f64 B)) (*.f64 (pow.f64 (sqrt.f64 (fma.f64 x 2 (fma.f64 F F 2))) -1/2) (pow.f64 (sqrt.f64 (fma.f64 x 2 (fma.f64 F F 2))) -1/2))) (/.f64 x (tan.f64 B)))
36.1b
(-.f64 (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) (tan.f64 B))))
33.4b
(-.f64 (/.f64 -1 (sin.f64 B)) (/.f64 x (tan.f64 B)))
Compiler

Compiled 10397 to 5830 computations (43.9% saved)

localize30.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 x (tan.f64 B))
0.2b
(/.f64 (*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (sin.f64 B))
0.3b
(*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))
18.4b
(pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)

series385.0ms (1.8%)

Counts
2 → 44
Calls

2 calls:

263.0ms
(/.f64 (*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (sin.f64 B))
122.0ms
(*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))

rewrite24.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
17×add-exp-log_binary64
12×add-sqr-sqrt_binary64
add-cbrt-cube_binary64
associate-*r*_binary64
*-un-lft-identity_binary64
Counts
2 → 52
Calls

2 calls:

8.0ms
(/.f64 (*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (sin.f64 B))
8.0ms
(*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))

simplify217.0ms (1%)

Algorithm
egg-herbie
Rules
829×fma-def_binary64
324×cancel-sign-sub-inv_binary64
258×sub-neg_binary64
210×fma-neg_binary64
171×associate-*r*_binary64
Counts
96 → 153
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02983456
18193211
228793191
348063191
449733191
549423191

prune691.0ms (3.2%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New2673270
Fresh3811
Picked101
Done000
Total27111282
Error
0.1b
Counts
282 → 11
Alt Table
StatusErrorProgram
17.1b
(-.f64 (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (*.f64 (/.f64 x (sin.f64 B)) (cos.f64 B)))
42.2b
(-.f64 (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (*.f64 (sqrt.f64 (/.f64 x (tan.f64 B))) (sqrt.f64 (/.f64 x (tan.f64 B)))))
33.1b
(-.f64 (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (cbrt.f64 (pow.f64 (/.f64 x (tan.f64 B)) 3)))
17.1b
(-.f64 (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (/.f64 (*.f64 x (cos.f64 B)) (sin.f64 B)))
17.1b
(-.f64 (*.f64 (/.f64 F (sin.f64 B)) (*.f64 (pow.f64 (sqrt.f64 (fma.f64 x 2 (fma.f64 F F 2))) -1/2) (pow.f64 (sqrt.f64 (fma.f64 x 2 (fma.f64 F F 2))) -1/2))) (/.f64 x (tan.f64 B)))
14.2b
(-.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 F) (cbrt.f64 F)) 1) (*.f64 (/.f64 (cbrt.f64 F) (sin.f64 B)) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))) (/.f64 x (tan.f64 B)))
13.9b
(-.f64 (/.f64 (/.f64 (*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (*.f64 (cbrt.f64 (sin.f64 B)) (cbrt.f64 (sin.f64 B)))) (cbrt.f64 (sin.f64 B))) (/.f64 x (tan.f64 B)))
34.4b
(-.f64 (/.f64 (*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (sin.f64 B)) (*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) (tan.f64 B))))
33.4b
(-.f64 (/.f64 -1 (sin.f64 B)) (/.f64 x (tan.f64 B)))
13.7b
(-.f64 (/.f64 (*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (sin.f64 B)) (*.f64 x (/.f64 1 (tan.f64 B))))
32.5b
(-.f64 (/.f64 1 (sin.f64 B)) (/.f64 x (tan.f64 B)))
Compiler

Compiled 10660 to 6479 computations (39.2% saved)

localize32.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (sin.f64 B))
0.3b
(*.f64 x (/.f64 1 (tan.f64 B)))
0.3b
(*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))
18.4b
(pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)

series77.0ms (0.4%)

Counts
1 → 24
Calls

1 calls:

77.0ms
(*.f64 x (/.f64 1 (tan.f64 B)))

rewrite15.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
16×add-sqr-sqrt_binary64
14×associate-*r*_binary64
11×times-frac_binary64
10×*-un-lft-identity_binary64
10×add-exp-log_binary64
Counts
1 → 39
Calls

1 calls:

11.0ms
(*.f64 x (/.f64 1 (tan.f64 B)))

simplify136.0ms (0.6%)

Algorithm
egg-herbie
Rules
696×div-sub_binary64
561×fma-def_binary64
429×associate-/l*_binary64
416×distribute-rgt-neg-in_binary64
339×cancel-sign-sub-inv_binary64
Counts
63 → 66
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
084690
1192631
2515624
31115622
42542622
54083622
64583622
75362622

prune691.0ms (3.2%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New2950295
Fresh01010
Picked011
Done000
Total29511306
Error
0.1b
Counts
306 → 11
Alt Table
StatusErrorProgram
17.1b
(-.f64 (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (*.f64 (/.f64 x (sin.f64 B)) (cos.f64 B)))
42.2b
(-.f64 (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (*.f64 (sqrt.f64 (/.f64 x (tan.f64 B))) (sqrt.f64 (/.f64 x (tan.f64 B)))))
33.1b
(-.f64 (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (cbrt.f64 (pow.f64 (/.f64 x (tan.f64 B)) 3)))
17.1b
(-.f64 (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (/.f64 (*.f64 x (cos.f64 B)) (sin.f64 B)))
17.1b
(-.f64 (*.f64 (/.f64 F (sin.f64 B)) (*.f64 (pow.f64 (sqrt.f64 (fma.f64 x 2 (fma.f64 F F 2))) -1/2) (pow.f64 (sqrt.f64 (fma.f64 x 2 (fma.f64 F F 2))) -1/2))) (/.f64 x (tan.f64 B)))
14.2b
(-.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 F) (cbrt.f64 F)) 1) (*.f64 (/.f64 (cbrt.f64 F) (sin.f64 B)) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))) (/.f64 x (tan.f64 B)))
13.9b
(-.f64 (/.f64 (/.f64 (*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (*.f64 (cbrt.f64 (sin.f64 B)) (cbrt.f64 (sin.f64 B)))) (cbrt.f64 (sin.f64 B))) (/.f64 x (tan.f64 B)))
34.4b
(-.f64 (/.f64 (*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (sin.f64 B)) (*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) (tan.f64 B))))
33.4b
(-.f64 (/.f64 -1 (sin.f64 B)) (/.f64 x (tan.f64 B)))
13.7b
(-.f64 (/.f64 (*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (sin.f64 B)) (*.f64 x (/.f64 1 (tan.f64 B))))
32.5b
(-.f64 (/.f64 1 (sin.f64 B)) (/.f64 x (tan.f64 B)))
Compiler

Compiled 11817 to 7597 computations (35.7% saved)

localize36.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (/.f64 (*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (*.f64 (cbrt.f64 (sin.f64 B)) (cbrt.f64 (sin.f64 B)))) (cbrt.f64 (sin.f64 B)))
0.5b
(*.f64 (cbrt.f64 (sin.f64 B)) (cbrt.f64 (sin.f64 B)))
0.6b
(cbrt.f64 (sin.f64 B))
18.4b
(pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)

series1.0s (4.8%)

Counts
3 → 52
Calls

3 calls:

438.0ms
(*.f64 (cbrt.f64 (sin.f64 B)) (cbrt.f64 (sin.f64 B)))
337.0ms
(cbrt.f64 (sin.f64 B))
257.0ms
(/.f64 (/.f64 (*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (*.f64 (cbrt.f64 (sin.f64 B)) (cbrt.f64 (sin.f64 B)))) (cbrt.f64 (sin.f64 B)))

rewrite54.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
39×add-sqr-sqrt_binary64
39×add-exp-log_binary64
37×times-frac_binary64
37×cbrt-prod_binary64
31×*-un-lft-identity_binary64
Counts
3 → 123
Calls

3 calls:

19.0ms
(/.f64 (/.f64 (*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (*.f64 (cbrt.f64 (sin.f64 B)) (cbrt.f64 (sin.f64 B)))) (cbrt.f64 (sin.f64 B)))
11.0ms
(*.f64 (cbrt.f64 (sin.f64 B)) (cbrt.f64 (sin.f64 B)))
2.0ms
(cbrt.f64 (sin.f64 B))

simplify253.0ms (1.2%)

Algorithm
egg-herbie
Rules
689×fma-def_binary64
286×times-frac_binary64
261×unswap-sqr_binary64
226×associate-/r*_binary64
194×associate-/l*_binary64
Counts
175 → 238
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03615593
19124775
234784686
348564686
449064686

prune852.0ms (4%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New3620362
Fresh099
Picked011
Done011
Total36211373
Error
0.1b
Counts
373 → 11
Alt Table
StatusErrorProgram
17.1b
(-.f64 (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (*.f64 (/.f64 x (sin.f64 B)) (cos.f64 B)))
42.2b
(-.f64 (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (*.f64 (sqrt.f64 (/.f64 x (tan.f64 B))) (sqrt.f64 (/.f64 x (tan.f64 B)))))
33.1b
(-.f64 (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (cbrt.f64 (pow.f64 (/.f64 x (tan.f64 B)) 3)))
17.1b
(-.f64 (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (/.f64 (*.f64 x (cos.f64 B)) (sin.f64 B)))
17.1b
(-.f64 (*.f64 (/.f64 F (sin.f64 B)) (*.f64 (pow.f64 (sqrt.f64 (fma.f64 x 2 (fma.f64 F F 2))) -1/2) (pow.f64 (sqrt.f64 (fma.f64 x 2 (fma.f64 F F 2))) -1/2))) (/.f64 x (tan.f64 B)))
14.2b
(-.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 F) (cbrt.f64 F)) 1) (*.f64 (/.f64 (cbrt.f64 F) (sin.f64 B)) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))) (/.f64 x (tan.f64 B)))
13.9b
(-.f64 (/.f64 (/.f64 (*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (*.f64 (cbrt.f64 (sin.f64 B)) (cbrt.f64 (sin.f64 B)))) (cbrt.f64 (sin.f64 B))) (/.f64 x (tan.f64 B)))
34.4b
(-.f64 (/.f64 (*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (sin.f64 B)) (*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) (tan.f64 B))))
33.4b
(-.f64 (/.f64 -1 (sin.f64 B)) (/.f64 x (tan.f64 B)))
13.7b
(-.f64 (/.f64 (*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)) (sin.f64 B)) (*.f64 x (/.f64 1 (tan.f64 B))))
32.5b
(-.f64 (/.f64 1 (sin.f64 B)) (/.f64 x (tan.f64 B)))
Compiler

Compiled 15641 to 7805 computations (50.1% saved)

regimes3.0s (14.2%)

Accuracy

Total 0.2b remaining (77.5%)

Threshold costs 0.2b (77.5%)

Counts
221 → 3
Compiler

Compiled 23380 to 16020 computations (31.5% saved)

bsearch121.0ms (0.6%)

Steps
ItersRangePoint
3
22798800.720496025
1.3920180968969362e+21
1166551519.835252
3
-4.180343959944762e+159
-6.961300619852955e+152
-4.952252269629277e+153
Compiler

Compiled 4 to 3 computations (25% saved)

simplify8.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
sub-neg_binary64
*-commutative_binary64
distribute-rgt-neg-in_binary64
neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03068
13768
24468
35268
45468
55568
65368

end2.0ms (0%)

Compiler

Compiled 48 to 27 computations (43.8% saved)

sample7.4s (34.8%)

Algorithm
intervals
Results
3.4s2224×body1024valid
1.3s4093×body128valid
1.1s1122×body512valid
342.0ms557×body256valid
220.0ms660×body128invalid
32.0ms126×body128nan
11.0msbody2048valid
Compiler

Compiled 356 to 235 computations (34% saved)

Profiling

Loading profile data...