Details

Time bar (total: 2.5min)

analyze1.2s (0.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
0%99.9%0.1%5
25%74.9%0.1%6
25%74.9%0.1%7
31.2%68.6%0.1%8
40.6%59.3%0.1%9
40.6%59.3%0.1%10
46%53.8%0.1%11
52.7%47.2%0.1%12
52.7%44.6%2.8%13
55.9%40.6%3.5%14
Compiler

Compiled 24 to 22 computations (8.3% saved)

sample121.0ms (0.1%)

Algorithm
intervals
Results
23.0ms44×body1024invalid
22.0ms174×body128valid
21.0ms39×body1024valid
10.0ms25×body512valid
8.0ms15×body512invalid
6.0ms43×body128invalid
5.0msbody2048valid
4.0msbody4096valid
4.0ms15×body256invalid
3.0ms12×body256valid
Compiler

Compiled 47 to 46 computations (2.1% saved)

simplify152.0ms (0.1%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (54.0ms)

IterNodesCost
0491237
1491237

prune3.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
30.3b
Counts
2 → 2
Compiler

Compiled 23 to 19 computations (17.4% saved)

localize15.0ms (0%)

Local error

Found 8 expressions with local error:

0.3b
(*.f64 PI.f64 (/.f64 angle 180))
0.3b
(*.f64 PI.f64 (/.f64 angle 180))
0.1b
(*.f64 (*.f64 (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
0.0b
(*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))
0.7b
(-.f64 (*.f64 b b) (*.f64 a a))
9.5b
(*.f64 (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
21.6b
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
21.6b
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))

rewrite24.0ms (0%)

Algorithm
rewrite-expression-head
Rules
add-cbrt-cube_binary64_455 add-exp-log_binary64_457 pow1_binary64_480
add-log-exp_binary64_458
*-un-lft-identity_binary64_419 add-cube-cbrt_binary64_454 add-sqr-sqrt_binary64_441
pow-prod-down_binary64_490 associate-*r*_binary64_359 prod-exp_binary64_468 cbrt-unprod_binary64_452
associate-*l/_binary64_362 flip3--_binary64_423 associate-*r/_binary64_361 flip--_binary64_394
sub-neg_binary64_412 difference-of-squares_binary64_388 *-commutative_binary64_350 associate-*l*_binary64_360 diff-log_binary64_511 cancel-sign-sub-inv_binary64_385
Counts
4 → 47
Calls

8 calls:

10.0ms
(*.f64 (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
4.0ms
(-.f64 (*.f64 b b) (*.f64 a a))
2.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
2.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
0.0ms
(*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))

series641.0ms (0.4%)

Counts
4 → 42
Calls

4 calls:

475.0ms
(*.f64 (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
101.0ms
(-.f64 (*.f64 b b) (*.f64 a a))
34.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
30.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
Compiler

Compiled 1720 to 1485 computations (13.7% saved)

simplify49.0ms (0%)

Algorithm
egg-herbie
Counts
89 → 89
Iterations

Useful iterations: 0 (27.0ms)

IterNodesCost
050461907

localize16.0ms (0%)

Local error

Found 8 expressions with local error:

0.3b
(*.f64 PI.f64 (/.f64 angle 180))
0.3b
(*.f64 PI.f64 (/.f64 angle 180))
0.1b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
0.0b
(*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))
0.7b
(-.f64 (pow.f64 b 2) (pow.f64 a 2))
9.5b
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
21.6b
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
21.6b
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))

rewrite39.0ms (0%)

Algorithm
rewrite-expression-head
Rules
23×add-sqr-sqrt_binary64_441
16×difference-of-squares_binary64_388
13×unpow-prod-down_binary64_498
11×*-un-lft-identity_binary64_419
sqr-pow_binary64_391 add-cbrt-cube_binary64_455 add-exp-log_binary64_457 unpow2_binary64_484 pow1_binary64_480
cancel-sign-sub-inv_binary64_385
add-cube-cbrt_binary64_454
add-log-exp_binary64_458
pow-prod-down_binary64_490 associate-*r*_binary64_359 prod-exp_binary64_468 cbrt-unprod_binary64_452
associate-*l/_binary64_362 flip3--_binary64_423 associate-*r/_binary64_361 distribute-lft-out--_binary64_371 flip--_binary64_394
sub-neg_binary64_412 *-commutative_binary64_350 associate-*l*_binary64_360 diff-log_binary64_511
Counts
4 → 71
Calls

8 calls:

17.0ms
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
10.0ms
(-.f64 (pow.f64 b 2) (pow.f64 a 2))
2.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
2.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
0.0ms
(*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))

series645.0ms (0.4%)

Counts
4 → 42
Calls

4 calls:

480.0ms
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
103.0ms
(-.f64 (pow.f64 b 2) (pow.f64 a 2))
32.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
29.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
Compiler

Compiled 1720 to 1517 computations (11.8% saved)

simplify93.0ms (0.1%)

Algorithm
egg-herbie
Counts
113 → 113
Iterations

Useful iterations: 0 (66.0ms)

IterNodesCost
049432121
149432121

prune715.0ms (0.5%)

Pruning

75 alts after pruning (73 fresh and 2 done)

PrunedKeptTotal
New12973202
Fresh000
Picked000
Done022
Total12975204
Error
27.8b
Counts
204 → 75
Compiler

Compiled 5229 to 3739 computations (28.5% saved)

localize19.0ms (0%)

Local error

Found 8 expressions with local error:

0.3b
(pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)
0.2b
(cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3))
0.1b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
0.0b
(*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))
0.7b
(-.f64 (pow.f64 b 2) (pow.f64 a 2))
9.5b
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
21.6b
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
21.6b
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))

rewrite36.0ms (0%)

Algorithm
rewrite-expression-head
Rules
23×add-sqr-sqrt_binary64_441
16×difference-of-squares_binary64_388
13×unpow-prod-down_binary64_498
11×*-un-lft-identity_binary64_419
sqr-pow_binary64_391 add-cbrt-cube_binary64_455 add-exp-log_binary64_457 unpow2_binary64_484 pow1_binary64_480
cancel-sign-sub-inv_binary64_385
add-cube-cbrt_binary64_454
add-log-exp_binary64_458
pow-prod-down_binary64_490 associate-*r*_binary64_359 prod-exp_binary64_468 cbrt-unprod_binary64_452
associate-*l/_binary64_362 flip3--_binary64_423 associate-*r/_binary64_361 distribute-lft-out--_binary64_371 flip--_binary64_394
sub-neg_binary64_412 *-commutative_binary64_350 associate-*l*_binary64_360 diff-log_binary64_511
Counts
4 → 71
Calls

8 calls:

15.0ms
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
10.0ms
(-.f64 (pow.f64 b 2) (pow.f64 a 2))
2.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
2.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
0.0ms
(*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))

series668.0ms (0.4%)

Counts
4 → 42
Calls

4 calls:

491.0ms
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
106.0ms
(-.f64 (pow.f64 b 2) (pow.f64 a 2))
36.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
34.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
Compiler

Compiled 1900 to 1697 computations (10.7% saved)

simplify90.0ms (0.1%)

Algorithm
egg-herbie
Counts
113 → 113
Iterations

Useful iterations: 0 (66.0ms)

IterNodesCost
049432121
149432121

localize13.0ms (0%)

Local error

Found 8 expressions with local error:

9.5b
(*.f64 (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
0.7b
(-.f64 (*.f64 b b) (*.f64 a a))
0.3b
(*.f64 PI.f64 (/.f64 angle 180))
0.0b
(*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))
0.3b
(*.f64 PI.f64 (/.f64 angle 180))
0.7b
(-.f64 (*.f64 b b) (*.f64 a a))
9.5b
(*.f64 (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
21.6b
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))

rewrite32.0ms (0%)

Algorithm
rewrite-expression-head
Rules
18×add-sqr-sqrt_binary64_441
16×associate-*r*_binary64_359
14×add-cbrt-cube_binary64_455 add-exp-log_binary64_457
13×*-un-lft-identity_binary64_419 add-cube-cbrt_binary64_454
11×pow1_binary64_480
10×times-frac_binary64_425
add-log-exp_binary64_458
prod-exp_binary64_468 cbrt-unprod_binary64_452
pow-prod-down_binary64_490 associate-*l*_binary64_360
associate-*r/_binary64_361
associate-*l/_binary64_362 unswap-sqr_binary64_387 flip3--_binary64_423 *-commutative_binary64_350 flip--_binary64_394
sub-neg_binary64_412 difference-of-squares_binary64_388 div-inv_binary64_416 diff-log_binary64_511 cancel-sign-sub-inv_binary64_385 div-exp_binary64_470 cbrt-undiv_binary64_453
Counts
4 → 72
Calls

8 calls:

12.0ms
(*.f64 (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
8.0ms
(*.f64 PI.f64 (/.f64 angle 180))
4.0ms
(-.f64 (*.f64 b b) (*.f64 a a))
2.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
0.0ms
(*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))

series577.0ms (0.4%)

Counts
4 → 35
Calls

4 calls:

433.0ms
(*.f64 (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
91.0ms
(-.f64 (*.f64 b b) (*.f64 a a))
31.0ms
(*.f64 PI.f64 (/.f64 angle 180))
22.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
Compiler

Compiled 1192 to 1113 computations (6.6% saved)

simplify83.0ms (0.1%)

Algorithm
egg-herbie
Counts
107 → 107
Iterations

Useful iterations: 0 (62.0ms)

IterNodesCost
049541733
149541733

localize29.0ms (0%)

Local error

Found 8 expressions with local error:

0.2b
(*.f64 PI.f64 (*.f64 b b))
0.1b
(*.f64 (*.f64 (pow.f64 angle 3) 1/17496000) (pow.f64 PI.f64 3))
0.1b
(*.f64 (pow.f64 angle 3) 1/17496000)
0.1b
(*.f64 (+.f64 (*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (*.f64 b b)))) (+.f64 (*.f64 (*.f64 (*.f64 (pow.f64 angle 3) 1/17496000) (pow.f64 PI.f64 3)) (-.f64 (*.f64 a a) (*.f64 b b))) (*.f64 (*.f64 angle (*.f64 PI.f64 (*.f64 a a))) -1/90))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
7.8b
(*.f64 angle (*.f64 PI.f64 (*.f64 a a)))
8.8b
(*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (*.f64 b b))))
14.8b
(*.f64 (*.f64 (*.f64 (pow.f64 angle 3) 1/17496000) (pow.f64 PI.f64 3)) (-.f64 (*.f64 a a) (*.f64 b b)))
21.6b
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))

rewrite50.0ms (0%)

Algorithm
rewrite-expression-head
Rules
67×add-exp-log_binary64_457
50×prod-exp_binary64_468
36×add-cbrt-cube_binary64_455
29×pow1_binary64_480
22×cbrt-unprod_binary64_452
17×pow-prod-down_binary64_490
*-un-lft-identity_binary64_419 add-cube-cbrt_binary64_454 add-sqr-sqrt_binary64_441 pow-exp_binary64_487 pow-to-exp_binary64_488 associate-*l*_binary64_360
associate-*r*_binary64_359
add-log-exp_binary64_458
*-commutative_binary64_350
sub-neg_binary64_412 distribute-rgt-in_binary64_369 associate-*r/_binary64_361 distribute-lft-in_binary64_368 cancel-sign-sub-inv_binary64_385
difference-of-squares_binary64_388 flip3--_binary64_423 flip--_binary64_394
Counts
4 → 88
Calls

8 calls:

16.0ms
(*.f64 (*.f64 (*.f64 (pow.f64 angle 3) 1/17496000) (pow.f64 PI.f64 3)) (-.f64 (*.f64 a a) (*.f64 b b)))
11.0ms
(*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (*.f64 b b))))
8.0ms
(*.f64 angle (*.f64 PI.f64 (*.f64 a a)))
2.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
0.0ms
(*.f64 (+.f64 (*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (*.f64 b b)))) (+.f64 (*.f64 (*.f64 (*.f64 (pow.f64 angle 3) 1/17496000) (pow.f64 PI.f64 3)) (-.f64 (*.f64 a a) (*.f64 b b))) (*.f64 (*.f64 angle (*.f64 PI.f64 (*.f64 a a))) -1/90))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))

series740.0ms (0.5%)

Counts
4 → 32
Calls

4 calls:

507.0ms
(*.f64 (*.f64 (*.f64 (pow.f64 angle 3) 1/17496000) (pow.f64 PI.f64 3)) (-.f64 (*.f64 a a) (*.f64 b b)))
110.0ms
(*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (*.f64 b b))))
89.0ms
(*.f64 angle (*.f64 PI.f64 (*.f64 a a)))
33.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
Compiler

Compiled 2600 to 1938 computations (25.5% saved)

simplify62.0ms (0%)

Algorithm
egg-herbie
Counts
120 → 120
Iterations

Useful iterations: 0 (33.0ms)

IterNodesCost
051342343

localize27.0ms (0%)

Local error

Found 8 expressions with local error:

0.3b
(*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4)))
0.2b
(*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2))
0.1b
(*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4))
0.0b
(*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))
3.0b
(*.f64 (*.f64 (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (+.f64 (-.f64 1 (*.f64 1/64800 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4)))))
8.0b
(+.f64 (-.f64 1 (*.f64 1/64800 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4))))
9.5b
(*.f64 (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
21.6b
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))

rewrite55.0ms (0%)

Algorithm
rewrite-expression-head
Rules
18×add-cbrt-cube_binary64_455 add-exp-log_binary64_457 pow1_binary64_480
10×associate-*l/_binary64_362 associate-*r/_binary64_361
pow-prod-down_binary64_490 add-log-exp_binary64_458 prod-exp_binary64_468 cbrt-unprod_binary64_452
*-un-lft-identity_binary64_419 add-cube-cbrt_binary64_454 associate-*r*_binary64_359 add-sqr-sqrt_binary64_441
flip3-+_binary64_422 frac-times_binary64_429 flip3--_binary64_423 flip-+_binary64_393 flip--_binary64_394
sum-log_binary64_510 *-commutative_binary64_350 associate-*l*_binary64_360 associate-+l+_binary64_352
sub-neg_binary64_412 distribute-rgt-in_binary64_369 associate-+l-_binary64_354 distribute-lft-in_binary64_368 diff-log_binary64_511 cancel-sign-sub-inv_binary64_385 +-commutative_binary64_349
Counts
4 → 73
Calls

8 calls:

20.0ms
(*.f64 (*.f64 (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (+.f64 (-.f64 1 (*.f64 1/64800 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4)))))
9.0ms
(*.f64 (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
9.0ms
(+.f64 (-.f64 1 (*.f64 1/64800 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4))))
2.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
0.0ms
(*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))

series1.9s (1.2%)

Counts
4 → 45
Calls

4 calls:

1.3s
(*.f64 (*.f64 (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (+.f64 (-.f64 1 (*.f64 1/64800 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4)))))
476.0ms
(*.f64 (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
75.0ms
(+.f64 (-.f64 1 (*.f64 1/64800 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4))))
36.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
Compiler

Compiled 3908 to 3154 computations (19.3% saved)

simplify92.0ms (0.1%)

Algorithm
egg-herbie
Counts
118 → 118
Iterations

Useful iterations: 0 (40.0ms)

IterNodesCost
052726134

localize27.0ms (0%)

Local error

Found 8 expressions with local error:

0.3b
(*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4)))
0.2b
(*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2))
0.1b
(*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4))
0.0b
(*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))
3.0b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (+.f64 (-.f64 1 (*.f64 1/64800 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4)))))
8.0b
(+.f64 (-.f64 1 (*.f64 1/64800 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4))))
9.5b
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
21.6b
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))

rewrite65.0ms (0%)

Algorithm
rewrite-expression-head
Rules
18×add-cbrt-cube_binary64_455 add-exp-log_binary64_457 pow1_binary64_480
10×associate-*l/_binary64_362 associate-*r/_binary64_361
pow-prod-down_binary64_490 add-log-exp_binary64_458 prod-exp_binary64_468 cbrt-unprod_binary64_452
*-un-lft-identity_binary64_419 add-cube-cbrt_binary64_454 associate-*r*_binary64_359 add-sqr-sqrt_binary64_441
flip3-+_binary64_422 frac-times_binary64_429 flip3--_binary64_423 flip-+_binary64_393 flip--_binary64_394
sum-log_binary64_510 *-commutative_binary64_350 associate-*l*_binary64_360 associate-+l+_binary64_352
sub-neg_binary64_412 distribute-rgt-in_binary64_369 associate-+l-_binary64_354 distribute-lft-in_binary64_368 diff-log_binary64_511 cancel-sign-sub-inv_binary64_385 +-commutative_binary64_349
Counts
4 → 73
Calls

8 calls:

28.0ms
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (+.f64 (-.f64 1 (*.f64 1/64800 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4)))))
15.0ms
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
9.0ms
(+.f64 (-.f64 1 (*.f64 1/64800 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4))))
2.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
0.0ms
(*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))

series1.9s (1.2%)

Counts
4 → 45
Calls

4 calls:

1.3s
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (+.f64 (-.f64 1 (*.f64 1/64800 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4)))))
492.0ms
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
79.0ms
(+.f64 (-.f64 1 (*.f64 1/64800 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4))))
38.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
Compiler

Compiled 3908 to 3186 computations (18.5% saved)

simplify91.0ms (0.1%)

Algorithm
egg-herbie
Counts
118 → 118
Iterations

Useful iterations: 0 (39.0ms)

IterNodesCost
051526134

prune8.0s (5.2%)

Pruning

290 alts after pruning (284 fresh and 6 done)

PrunedKeptTotal
New359217576
Fresh16768
Picked000
Done167
Total361290651
Error
27.1b
Counts
651 → 290
Compiler

Compiled 23341 to 16179 computations (30.7% saved)

localize23.0ms (0%)

Local error

Found 8 expressions with local error:

0.2b
(cbrt.f64 (pow.f64 (log.f64 (exp.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))) 3))
0.1b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (pow.f64 (log.f64 (exp.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))) 3)))
0.1b
(exp.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
0.0b
(*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))
0.7b
(-.f64 (pow.f64 b 2) (pow.f64 a 2))
9.5b
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
21.6b
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
21.6b
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))

rewrite38.0ms (0%)

Algorithm
rewrite-expression-head
Rules
23×add-sqr-sqrt_binary64_441
16×difference-of-squares_binary64_388
13×unpow-prod-down_binary64_498
11×*-un-lft-identity_binary64_419
sqr-pow_binary64_391 add-cbrt-cube_binary64_455 add-exp-log_binary64_457 unpow2_binary64_484 pow1_binary64_480
cancel-sign-sub-inv_binary64_385
add-cube-cbrt_binary64_454
add-log-exp_binary64_458
pow-prod-down_binary64_490 associate-*r*_binary64_359 prod-exp_binary64_468 cbrt-unprod_binary64_452
associate-*l/_binary64_362 flip3--_binary64_423 associate-*r/_binary64_361 distribute-lft-out--_binary64_371 flip--_binary64_394
sub-neg_binary64_412 *-commutative_binary64_350 associate-*l*_binary64_360 diff-log_binary64_511
Counts
4 → 71
Calls

8 calls:

17.0ms
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
9.0ms
(-.f64 (pow.f64 b 2) (pow.f64 a 2))
2.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
2.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
0.0ms
(*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))

series671.0ms (0.4%)

Counts
4 → 42
Calls

4 calls:

494.0ms
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
107.0ms
(-.f64 (pow.f64 b 2) (pow.f64 a 2))
38.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
32.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
Compiler

Compiled 2020 to 1817 computations (10% saved)

simplify100.0ms (0.1%)

Algorithm
egg-herbie
Counts
113 → 113
Iterations

Useful iterations: 0 (74.0ms)

IterNodesCost
049432121
149432121

localize10.0ms (0%)

Local error

Found 8 expressions with local error:

11.0b
(*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (-.f64 (*.f64 b b) (*.f64 a a)))))
0.7b
(-.f64 (*.f64 b b) (*.f64 a a))
0.2b
(*.f64 PI.f64 (-.f64 (*.f64 b b) (*.f64 a a)))
0.2b
(*.f64 1/90 (*.f64 PI.f64 (-.f64 (*.f64 b b) (*.f64 a a))))
0.2b
(*.f64 1/90 (*.f64 PI.f64 (-.f64 (*.f64 b b) (*.f64 a a))))
0.2b
(*.f64 PI.f64 (-.f64 (*.f64 b b) (*.f64 a a)))
0.7b
(-.f64 (*.f64 b b) (*.f64 a a))
11.0b
(*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (-.f64 (*.f64 b b) (*.f64 a a)))))

rewrite42.0ms (0%)

Algorithm
rewrite-expression-head
Rules
34×distribute-rgt-in_binary64_369 distribute-lft-in_binary64_368
20×add-cbrt-cube_binary64_455 add-exp-log_binary64_457 pow1_binary64_480
15×sub-neg_binary64_412 cancel-sign-sub-inv_binary64_385
12×associate-*r/_binary64_361
10×pow-prod-down_binary64_490 prod-exp_binary64_468 cbrt-unprod_binary64_452 add-sqr-sqrt_binary64_441
associate-*l*_binary64_360
*-un-lft-identity_binary64_419 add-cube-cbrt_binary64_454
add-log-exp_binary64_458 associate-*r*_binary64_359
flip3--_binary64_423 flip--_binary64_394
*-commutative_binary64_350
difference-of-squares_binary64_388
unswap-sqr_binary64_387 diff-log_binary64_511
Counts
4 → 105
Calls

8 calls:

12.0ms
(*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (-.f64 (*.f64 b b) (*.f64 a a)))))
10.0ms
(*.f64 1/90 (*.f64 PI.f64 (-.f64 (*.f64 b b) (*.f64 a a))))
7.0ms
(*.f64 PI.f64 (-.f64 (*.f64 b b) (*.f64 a a)))
4.0ms
(-.f64 (*.f64 b b) (*.f64 a a))
0.0ms
(*.f64 1/90 (*.f64 PI.f64 (-.f64 (*.f64 b b) (*.f64 a a))))

series710.0ms (0.5%)

Counts
4 → 51
Calls

4 calls:

315.0ms
(*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (-.f64 (*.f64 b b) (*.f64 a a)))))
175.0ms
(*.f64 1/90 (*.f64 PI.f64 (-.f64 (*.f64 b b) (*.f64 a a))))
126.0ms
(*.f64 PI.f64 (-.f64 (*.f64 b b) (*.f64 a a)))
94.0ms
(-.f64 (*.f64 b b) (*.f64 a a))
Compiler

Compiled 1082 to 1056 computations (2.4% saved)

simplify53.0ms (0%)

Algorithm
egg-herbie
Counts
156 → 156
Iterations

Useful iterations: 0 (23.0ms)

IterNodesCost
057342726

localize21.0ms (0%)

Local error

Found 8 expressions with local error:

0.3b
(*.f64 1/180 (*.f64 PI.f64 angle))
0.2b
(*.f64 PI.f64 angle)
0.1b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 1/180 (*.f64 PI.f64 angle)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
0.0b
(*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))
0.7b
(-.f64 (pow.f64 b 2) (pow.f64 a 2))
9.5b
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 1/180 (*.f64 PI.f64 angle))))
21.6b
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
22.0b
(sin.f64 (*.f64 1/180 (*.f64 PI.f64 angle)))

rewrite36.0ms (0%)

Algorithm
rewrite-expression-head
Rules
23×add-sqr-sqrt_binary64_441
16×difference-of-squares_binary64_388
13×unpow-prod-down_binary64_498
11×*-un-lft-identity_binary64_419
sqr-pow_binary64_391 add-cbrt-cube_binary64_455 add-exp-log_binary64_457 unpow2_binary64_484 pow1_binary64_480
cancel-sign-sub-inv_binary64_385
add-cube-cbrt_binary64_454
add-log-exp_binary64_458
pow-prod-down_binary64_490 associate-*r*_binary64_359 prod-exp_binary64_468 cbrt-unprod_binary64_452
associate-*l/_binary64_362 flip3--_binary64_423 associate-*r/_binary64_361 distribute-lft-out--_binary64_371 flip--_binary64_394
sub-neg_binary64_412 *-commutative_binary64_350 associate-*l*_binary64_360 diff-log_binary64_511
Counts
4 → 71
Calls

8 calls:

15.0ms
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 1/180 (*.f64 PI.f64 angle))))
9.0ms
(-.f64 (pow.f64 b 2) (pow.f64 a 2))
2.0ms
(sin.f64 (*.f64 1/180 (*.f64 PI.f64 angle)))
2.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
0.0ms
(*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))

series645.0ms (0.4%)

Counts
4 → 42
Calls

4 calls:

480.0ms
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 1/180 (*.f64 PI.f64 angle))))
101.0ms
(-.f64 (pow.f64 b 2) (pow.f64 a 2))
33.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
31.0ms
(sin.f64 (*.f64 1/180 (*.f64 PI.f64 angle)))
Compiler

Compiled 1720 to 1517 computations (11.8% saved)

simplify74.0ms (0%)

Algorithm
egg-herbie
Counts
113 → 113
Iterations

Useful iterations: 0 (49.0ms)

IterNodesCost
049912121
149912121

localize37.0ms (0%)

Local error

Found 8 expressions with local error:

0.2b
(*.f64 PI.f64 (*.f64 b b))
0.1b
(*.f64 (*.f64 (pow.f64 angle 3) 1/17496000) (pow.f64 PI.f64 3))
0.1b
(*.f64 (pow.f64 angle 3) 1/17496000)
0.1b
(*.f64 (+.f64 (*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (*.f64 b b)))) (+.f64 (+.f64 (*.f64 (*.f64 (*.f64 (pow.f64 angle 3) 1/17496000) (pow.f64 PI.f64 3)) (*.f64 a a)) (*.f64 (pow.f64 angle 3) (*.f64 (*.f64 (pow.f64 PI.f64 3) (*.f64 b b)) -1/17496000))) (*.f64 (*.f64 angle (*.f64 PI.f64 (*.f64 a a))) -1/90))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
8.8b
(*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (*.f64 b b))))
13.7b
(*.f64 (*.f64 (*.f64 (pow.f64 angle 3) 1/17496000) (pow.f64 PI.f64 3)) (*.f64 a a))
14.2b
(*.f64 (pow.f64 angle 3) (*.f64 (*.f64 (pow.f64 PI.f64 3) (*.f64 b b)) -1/17496000))
21.6b
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))

rewrite63.0ms (0%)

Algorithm
rewrite-expression-head
Rules
193×add-exp-log_binary64_457
163×prod-exp_binary64_468
53×add-cbrt-cube_binary64_455
35×cbrt-unprod_binary64_452
28×pow-exp_binary64_487 pow-to-exp_binary64_488
23×pow1_binary64_480
16×associate-*l*_binary64_360
13×pow-prod-down_binary64_490
*-un-lft-identity_binary64_419 add-cube-cbrt_binary64_454 add-sqr-sqrt_binary64_441
add-log-exp_binary64_458
unpow-prod-down_binary64_498 associate-*r*_binary64_359 *-commutative_binary64_350 cube-prod_binary64_447
unpow3_binary64_485 cube-mult_binary64_449 sqr-pow_binary64_391
Counts
4 → 124
Calls

8 calls:

14.0ms
(*.f64 (pow.f64 angle 3) (*.f64 (*.f64 (pow.f64 PI.f64 3) (*.f64 b b)) -1/17496000))
13.0ms
(*.f64 (*.f64 (*.f64 (pow.f64 angle 3) 1/17496000) (pow.f64 PI.f64 3)) (*.f64 a a))
11.0ms
(*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (*.f64 b b))))
2.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
0.0ms
(*.f64 (+.f64 (*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (*.f64 b b)))) (+.f64 (+.f64 (*.f64 (*.f64 (*.f64 (pow.f64 angle 3) 1/17496000) (pow.f64 PI.f64 3)) (*.f64 a a)) (*.f64 (pow.f64 angle 3) (*.f64 (*.f64 (pow.f64 PI.f64 3) (*.f64 b b)) -1/17496000))) (*.f64 (*.f64 angle (*.f64 PI.f64 (*.f64 a a))) -1/90))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))

series529.0ms (0.3%)

Counts
4 → 23
Calls

4 calls:

184.0ms
(*.f64 (*.f64 (*.f64 (pow.f64 angle 3) 1/17496000) (pow.f64 PI.f64 3)) (*.f64 a a))
181.0ms
(*.f64 (pow.f64 angle 3) (*.f64 (*.f64 (pow.f64 PI.f64 3) (*.f64 b b)) -1/17496000))
124.0ms
(*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (*.f64 b b))))
40.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
Compiler

Compiled 2416 to 1780 computations (26.3% saved)

simplify90.0ms (0.1%)

Algorithm
egg-herbie
Counts
147 → 147
Iterations

Useful iterations: 0 (56.0ms)

IterNodesCost
053232845

localize31.0ms (0%)

Local error

Found 8 expressions with local error:

0.1b
(*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4))
0.0b
(sqrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
0.0b
(sqrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
0.0b
(*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))
2.4b
(*.f64 (*.f64 (sqrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))) (sqrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))
8.0b
(+.f64 (-.f64 1 (*.f64 1/64800 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4))))
21.6b
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
21.6b
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))

rewrite38.0ms (0%)

Algorithm
rewrite-expression-head
Rules
13×add-cbrt-cube_binary64_455 add-exp-log_binary64_457 pow1_binary64_480
add-log-exp_binary64_458
*-un-lft-identity_binary64_419 pow-prod-down_binary64_490 add-cube-cbrt_binary64_454 associate-*r*_binary64_359 prod-exp_binary64_468 cbrt-unprod_binary64_452 add-sqr-sqrt_binary64_441
associate-*r/_binary64_361
sqrt-prod_binary64_435
associate-*l/_binary64_362 sum-log_binary64_510 associate-+l+_binary64_352
flip3-+_binary64_422 sub-neg_binary64_412 associate-+l-_binary64_354 flip3--_binary64_423 *-commutative_binary64_350 associate-*l*_binary64_360 flip-+_binary64_393 diff-log_binary64_511 flip--_binary64_394 cancel-sign-sub-inv_binary64_385 +-commutative_binary64_349
Counts
4 → 55
Calls

8 calls:

17.0ms
(*.f64 (*.f64 (sqrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))) (sqrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))
9.0ms
(+.f64 (-.f64 1 (*.f64 1/64800 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4))))
2.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
2.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
0.0ms
(*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))

series650.0ms (0.4%)

Counts
4 → 32
Calls

4 calls:

490.0ms
(*.f64 (*.f64 (sqrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))) (sqrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))))
80.0ms
(+.f64 (-.f64 1 (*.f64 1/64800 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4))))
41.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
39.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
Compiler

Compiled 2432 to 2007 computations (17.5% saved)

simplify74.0ms (0%)

Algorithm
egg-herbie
Counts
87 → 87
Iterations

Useful iterations: 0 (48.0ms)

IterNodesCost
050112372

prune14.8s (9.7%)

Pruning

478 alts after pruning (469 fresh and 9 done)

PrunedKeptTotal
New415201616
Fresh11268279
Picked000
Done2911
Total428478906
Error
27.0b
Counts
906 → 478
Compiler

Compiled 30520 to 21553 computations (29.4% saved)

localize16.0ms (0%)

Local error

Found 8 expressions with local error:

0.2b
(*.f64 PI.f64 angle)
0.2b
(*.f64 PI.f64 angle)
0.1b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 1/180 (*.f64 PI.f64 angle)))) (cos.f64 (*.f64 1/180 (*.f64 PI.f64 angle))))
0.0b
(*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))
0.7b
(-.f64 (pow.f64 b 2) (pow.f64 a 2))
9.5b
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 1/180 (*.f64 PI.f64 angle))))
22.0b
(sin.f64 (*.f64 1/180 (*.f64 PI.f64 angle)))
22.0b
(cos.f64 (*.f64 1/180 (*.f64 PI.f64 angle)))

rewrite37.0ms (0%)

Algorithm
rewrite-expression-head
Rules
23×add-sqr-sqrt_binary64_441
16×difference-of-squares_binary64_388
13×unpow-prod-down_binary64_498
11×*-un-lft-identity_binary64_419
sqr-pow_binary64_391 add-cbrt-cube_binary64_455 add-exp-log_binary64_457 unpow2_binary64_484 pow1_binary64_480
cancel-sign-sub-inv_binary64_385
add-cube-cbrt_binary64_454
add-log-exp_binary64_458
pow-prod-down_binary64_490 associate-*r*_binary64_359 prod-exp_binary64_468 cbrt-unprod_binary64_452
associate-*l/_binary64_362 flip3--_binary64_423 associate-*r/_binary64_361 distribute-lft-out--_binary64_371 flip--_binary64_394
sub-neg_binary64_412 *-commutative_binary64_350 associate-*l*_binary64_360 diff-log_binary64_511
Counts
4 → 71
Calls

8 calls:

15.0ms
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 1/180 (*.f64 PI.f64 angle))))
10.0ms
(-.f64 (pow.f64 b 2) (pow.f64 a 2))
2.0ms
(sin.f64 (*.f64 1/180 (*.f64 PI.f64 angle)))
2.0ms
(cos.f64 (*.f64 1/180 (*.f64 PI.f64 angle)))
0.0ms
(*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))

series629.0ms (0.4%)

Counts
4 → 42
Calls

4 calls:

464.0ms
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 1/180 (*.f64 PI.f64 angle))))
102.0ms
(-.f64 (pow.f64 b 2) (pow.f64 a 2))
31.0ms
(sin.f64 (*.f64 1/180 (*.f64 PI.f64 angle)))
31.0ms
(cos.f64 (*.f64 1/180 (*.f64 PI.f64 angle)))
Compiler

Compiled 1720 to 1499 computations (12.8% saved)

simplify73.0ms (0%)

Algorithm
egg-herbie
Counts
113 → 113
Iterations

Useful iterations: 0 (48.0ms)

IterNodesCost
049812121
149812121

localize7.0ms (0%)

Local error

Found 6 expressions with local error:

8.8b
(*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (*.f64 b b))))
0.2b
(*.f64 1/90 (*.f64 PI.f64 (*.f64 b b)))
0.2b
(*.f64 PI.f64 (*.f64 b b))
0.2b
(*.f64 PI.f64 (*.f64 b b))
0.2b
(*.f64 1/90 (*.f64 PI.f64 (*.f64 b b)))
8.8b
(*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (*.f64 b b))))

rewrite32.0ms (0%)

Algorithm
rewrite-expression-head
Rules
31×add-cbrt-cube_binary64_455 add-exp-log_binary64_457 pow1_binary64_480
19×pow-prod-down_binary64_490 prod-exp_binary64_468 cbrt-unprod_binary64_452
associate-*l*_binary64_360
add-sqr-sqrt_binary64_441
*-un-lft-identity_binary64_419 add-cube-cbrt_binary64_454
add-log-exp_binary64_458 associate-*r*_binary64_359 *-commutative_binary64_350
unswap-sqr_binary64_387
Counts
3 → 64
Calls

6 calls:

10.0ms
(*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (*.f64 b b))))
8.0ms
(*.f64 PI.f64 (*.f64 b b))
8.0ms
(*.f64 1/90 (*.f64 PI.f64 (*.f64 b b)))
0.0ms
(*.f64 PI.f64 (*.f64 b b))
0.0ms
(*.f64 1/90 (*.f64 PI.f64 (*.f64 b b)))

series159.0ms (0.1%)

Counts
3 → 12
Calls

3 calls:

97.0ms
(*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (*.f64 b b))))
34.0ms
(*.f64 1/90 (*.f64 PI.f64 (*.f64 b b)))
27.0ms
(*.f64 PI.f64 (*.f64 b b))
Compiler

Compiled 216 to 240 computations (-11.1% saved)

simplify62.0ms (0%)

Algorithm
egg-herbie
Counts
76 → 76
Iterations

Useful iterations: 0 (47.0ms)

IterNodesCost
05360961

localize15.0ms (0%)

Local error

Found 8 expressions with local error:

0.3b
(pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)
0.2b
(cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3))
0.1b
(*.f64 (*.f64 (*.f64 2 (*.f64 b b)) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
0.0b
(*.f64 2 (*.f64 b b))
0.3b
(*.f64 PI.f64 (/.f64 angle 180))
5.5b
(*.f64 (*.f64 2 (*.f64 b b)) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
21.6b
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
21.6b
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))

rewrite27.0ms (0%)

Algorithm
rewrite-expression-head
Rules
18×add-sqr-sqrt_binary64_441 add-cbrt-cube_binary64_455 add-exp-log_binary64_457
16×associate-*r*_binary64_359
15×pow1_binary64_480
13×*-un-lft-identity_binary64_419 add-cube-cbrt_binary64_454
10×times-frac_binary64_425
prod-exp_binary64_468 cbrt-unprod_binary64_452
pow-prod-down_binary64_490
add-log-exp_binary64_458 associate-*l*_binary64_360
unswap-sqr_binary64_387 *-commutative_binary64_350
div-inv_binary64_416 associate-*r/_binary64_361 div-exp_binary64_470 cbrt-undiv_binary64_453
Counts
4 → 67
Calls

8 calls:

9.0ms
(*.f64 (*.f64 2 (*.f64 b b)) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
7.0ms
(*.f64 PI.f64 (/.f64 angle 180))
2.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
2.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
0.0ms
(*.f64 2 (*.f64 b b))

series271.0ms (0.2%)

Counts
4 → 24
Calls

4 calls:

178.0ms
(*.f64 (*.f64 2 (*.f64 b b)) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
33.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
31.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
29.0ms
(*.f64 PI.f64 (/.f64 angle 180))
Compiler

Compiled 960 to 868 computations (9.6% saved)

simplify63.0ms (0%)

Algorithm
egg-herbie
Counts
91 → 91
Iterations

Useful iterations: 0 (41.0ms)

IterNodesCost
051581528

localize21.0ms (0%)

Local error

Found 8 expressions with local error:

0.3b
(pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)
0.2b
(cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3))
0.1b
(*.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
0.0b
(*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))
9.5b
(*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))
9.7b
(log.f64 (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))))
21.6b
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
21.6b
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))

rewrite29.0ms (0%)

Algorithm
rewrite-expression-head
Rules
15×add-exp-log_binary64_457 pow1_binary64_480
add-cbrt-cube_binary64_455
distribute-rgt-in_binary64_369 associate-*r/_binary64_361 distribute-lft-in_binary64_368
pow-prod-down_binary64_490 prod-exp_binary64_468
*-un-lft-identity_binary64_419 add-cube-cbrt_binary64_454 add-sqr-sqrt_binary64_441
sub-neg_binary64_412 add-log-exp_binary64_458 cancel-sign-sub-inv_binary64_385
rem-log-exp_binary64_460 cbrt-unprod_binary64_452 log-pow_binary64_508 associate-*l*_binary64_360
flip3--_binary64_423 flip--_binary64_394 log-div_binary64_506
associate-*r*_binary64_359 log-prod_binary64_505 *-commutative_binary64_350
Counts
4 → 58
Calls

8 calls:

10.0ms
(*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))
9.0ms
(log.f64 (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))))
2.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
2.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
0.0ms
(*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))

series1.2s (0.8%)

Counts
4 → 42
Calls

4 calls:

636.0ms
(log.f64 (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))))
473.0ms
(*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))
35.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
33.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
Compiler

Compiled 2922 to 2493 computations (14.7% saved)

simplify77.0ms (0.1%)

Algorithm
egg-herbie
Counts
100 → 100
Iterations

Useful iterations: 0 (40.0ms)

IterNodesCost
061443752

localize30.0ms (0%)

Local error

Found 8 expressions with local error:

0.2b
(*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2))
0.1b
(*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4))
0.0b
(pow.f64 (+.f64 (-.f64 1 (*.f64 1/64800 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4)))) 3)
0.0b
(*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))
4.3b
(cbrt.f64 (pow.f64 (+.f64 (-.f64 1 (*.f64 1/64800 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4)))) 3))
8.0b
(+.f64 (-.f64 1 (*.f64 1/64800 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4))))
9.5b
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
21.6b
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))

rewrite49.0ms (0%)

Algorithm
rewrite-expression-head
Rules
12×cbrt-prod_binary64_450
add-log-exp_binary64_458 add-cbrt-cube_binary64_455 add-exp-log_binary64_457 pow1_binary64_480
*-un-lft-identity_binary64_419 add-cube-cbrt_binary64_454 add-sqr-sqrt_binary64_441
pow-prod-down_binary64_490 unpow-prod-down_binary64_498 associate-*r*_binary64_359 prod-exp_binary64_468 cbrt-unprod_binary64_452 cube-prod_binary64_447
flip3-+_binary64_422 associate-*l/_binary64_362 cbrt-div_binary64_451 sum-log_binary64_510 cube-div_binary64_448 associate-*r/_binary64_361 flip-+_binary64_393 associate-+l+_binary64_352
pow1/3_binary64_501 sub-neg_binary64_412 unpow3_binary64_485 cube-mult_binary64_449 associate-+l-_binary64_354 sqr-pow_binary64_391 flip3--_binary64_423 rem-cbrt-cube_binary64_443 *-commutative_binary64_350 associate-*l*_binary64_360 diff-log_binary64_511 flip--_binary64_394 cancel-sign-sub-inv_binary64_385 +-commutative_binary64_349
Counts
4 → 65
Calls

8 calls:

15.0ms
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
13.0ms
(cbrt.f64 (pow.f64 (+.f64 (-.f64 1 (*.f64 1/64800 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4)))) 3))
9.0ms
(+.f64 (-.f64 1 (*.f64 1/64800 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4))))
2.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
0.0ms
(*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))

series694.0ms (0.5%)

Counts
4 → 32
Calls

4 calls:

509.0ms
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
76.0ms
(cbrt.f64 (pow.f64 (+.f64 (-.f64 1 (*.f64 1/64800 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4)))) 3))
71.0ms
(+.f64 (-.f64 1 (*.f64 1/64800 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4))))
38.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
Compiler

Compiled 2228 to 1929 computations (13.4% saved)

simplify83.0ms (0.1%)

Algorithm
egg-herbie
Counts
97 → 97
Iterations

Useful iterations: 0 (51.0ms)

IterNodesCost
051063204

prune17.0s (11.2%)

Pruning

663 alts after pruning (651 fresh and 12 done)

PrunedKeptTotal
New278199477
Fresh12452464
Picked000
Done21214
Total292663955
Error
24.3b
Counts
955 → 663
Compiler

Compiled 10407 to 6659 computations (36% saved)

simplify770.0ms (0.5%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (78.0ms)

IterNodesCost
0497555173
1497555173

regimes25.9s (17%)

Compiler

Compiled 287617 to 227099 computations (21% saved)

bsearch42.0ms (0%)

Compiler

Compiled 7 to 8 computations (-14.3% saved)

regimes10.4s (6.8%)

Compiler

Compiled 117795 to 93409 computations (20.7% saved)

bsearch97.0ms (0.1%)

Steps
ItersRangePoint
8
-3.273924119565461e+140
-6.335553167868901e+136
-3.2279412078330076e+140
Compiler

Compiled 1 to 3 computations (-200% saved)

regimes9.1s (6%)

Compiler

Compiled 112793 to 88885 computations (21.2% saved)

bsearch0.0ms (0%)

regimes6.8s (4.5%)

Compiler

Compiled 85581 to 67406 computations (21.2% saved)

bsearch0.0ms (0%)

regimes7.0s (4.6%)

Compiler

Compiled 86612 to 68363 computations (21.1% saved)

bsearch0.0ms (0%)

regimes615.0ms (0.4%)

Compiler

Compiled 5667 to 5002 computations (11.7% saved)

bsearch0.0ms (0%)

regimes595.0ms (0.4%)

Compiler

Compiled 5437 to 4812 computations (11.5% saved)

bsearch0.0ms (0%)

regimes250.0ms (0.2%)

Compiler

Compiled 1272 to 1253 computations (1.5% saved)

bsearch0.0ms (0%)

regimes54.0ms (0%)

Compiler

Compiled 255 to 282 computations (-10.6% saved)

bsearch0.0ms (0%)

regimes108.0ms (0.1%)

Compiler

Compiled 177 to 216 computations (-22% saved)

bsearch155.0ms (0.1%)

Steps
ItersRangePoint
10
5.966992575762436e-83
4.161259190511269e-73
4.581974872422141e-78
9
-4.441584539569119e-38
-1.0772125890844552e-45
-1.3709945349245143e-42
Compiler

Compiled 1 to 3 computations (-200% saved)

regimes102.0ms (0.1%)

Compiler

Compiled 150 to 189 computations (-26% saved)

bsearch149.0ms (0.1%)

Steps
ItersRangePoint
10
5.966992575762436e-83
4.161259190511269e-73
1.3157802113335384e-73
9
-4.441584539569119e-38
-1.0772125890844552e-45
-4.5461182162760603e-39
Compiler

Compiled 1 to 3 computations (-200% saved)

regimes97.0ms (0.1%)

Compiler

Compiled 123 to 162 computations (-31.7% saved)

bsearch158.0ms (0.1%)

Steps
ItersRangePoint
10
5.966992575762436e-83
4.161259190511269e-73
1.4256809634928402e-75
9
-4.441584539569119e-38
-1.0772125890844552e-45
-1.985360085628856e-44
Compiler

Compiled 1 to 3 computations (-200% saved)

regimes88.0ms (0.1%)

Compiler

Compiled 96 to 135 computations (-40.6% saved)

bsearch152.0ms (0.1%)

Steps
ItersRangePoint
10
5.966992575762436e-83
4.161259190511269e-73
1.8484039207807332e-73
9
-4.441584539569119e-38
-1.0772125890844552e-45
-2.0922304355887315e-41
Compiler

Compiled 1 to 3 computations (-200% saved)

regimes82.0ms (0.1%)

Compiler

Compiled 69 to 108 computations (-56.5% saved)

bsearch155.0ms (0.1%)

Steps
ItersRangePoint
10
5.966992575762436e-83
4.161259190511269e-73
1.8484039207807332e-73
9
-4.441584539569119e-38
-1.0772125890844552e-45
-4.3833796797803637e-38
Compiler

Compiled 1 to 3 computations (-200% saved)

regimes30.0ms (0%)

Compiler

Compiled 42 to 81 computations (-92.9% saved)

bsearch0.0ms (0%)

regimes26.0ms (0%)

Accuracy

Total 3.7b remaining (12.7%)

Threshold costs 0b (0%)

Compiler

Compiled 15 to 54 computations (-260% saved)

bsearch24.0ms (0%)

Compiler

Compiled 482 to 381 computations (21% saved)

simplify11.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (4.0ms)

IterNodesCost
0237727
1237727

end0.0ms (0%)

sample32.1s (21%)

Algorithm
intervals
Results
824.0ms1471×body1024valid
695.0ms1269×body1024invalid
660.0ms5152×body128valid
297.0ms755×body512valid
279.0ms74×body4096valid
250.0ms604×body512invalid
170.0ms1294×body128invalid
161.0ms174×body2048valid
103.0ms374×body256valid
88.0ms328×body256invalid
Compiler

Compiled 29358 to 22962 computations (21.8% saved)

Pareto

0.87680879944856

Profiling

Loading profile data...