Details

Time bar (total: 1.5min)

analyze1.6s (1.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
31.2%56.2%12.6%9
34.3%53%12.6%10
37.4%49.9%12.6%11
46.8%40.6%12.6%12
47.8%39.6%12.6%13
49.7%37.1%13.2%14
Compiler

Compiled 22 to 20 computations (9.1% saved)

sample170.0ms (0.2%)

Algorithm
intervals
Results
52.0ms54×body1024invalid
40.0ms45×body1024valid
21.0ms166×body128valid
18.0ms32×body512valid
9.0ms16×body512invalid
7.0msbody2048valid
3.0msbody256invalid
2.0ms18×body128invalid
2.0msbody256valid
Compiler

Compiled 43 to 42 computations (2.3% saved)

simplify269.0ms (0.3%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (172.0ms)

IterNodesCost
0525234

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 21 to 19 computations (9.5% saved)

localize15.0ms (0%)

Local error

Found 8 expressions with local error:

0.2b
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)
0.2b
(pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)
0.1b
(*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)))
0.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
0.4b
(*.f64 (/.f64 angle 180) PI.f64)
0.4b
(*.f64 (/.f64 angle 180) PI.f64)
24.0b
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
24.4b
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))

rewrite25.0ms (0%)

Algorithm
rewrite-expression-head
Rules
30×add-sqr-sqrt_binary64_100
26×associate-*l*_binary64_19
20×add-cube-cbrt_binary64_113 times-frac_binary64_84 *-un-lft-identity_binary64_78
14×add-cbrt-cube_binary64_114 add-exp-log_binary64_116
pow1_binary64_139
associate-*r*_binary64_18
add-log-exp_binary64_117 cbrt-unprod_binary64_111 prod-exp_binary64_127 unswap-sqr_binary64_46
*-commutative_binary64_9 cbrt-undiv_binary64_112 div-exp_binary64_129 div-inv_binary64_75 associate-*l/_binary64_21 pow-prod-down_binary64_149
Counts
4 → 78
Calls

8 calls:

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

series125.0ms (0.1%)

Counts
4 → 18
Calls

4 calls:

38.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
30.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
29.0ms
(*.f64 (/.f64 angle 180) PI.f64)
28.0ms
(*.f64 (/.f64 angle 180) PI.f64)
Compiler

Compiled 684 to 612 computations (10.5% saved)

simplify107.0ms (0.1%)

Algorithm
egg-herbie
Counts
96 → 96
Iterations

Useful iterations: 0 (87.0ms)

IterNodesCost
049221203
149221203

prune466.0ms (0.5%)

Pruning

59 alts after pruning (59 fresh and 0 done)

PrunedKeptTotal
New375996
Fresh000
Picked000
Done101
Total385997
Error
18.3b
Counts
97 → 59
Compiler

Compiled 3724 to 2918 computations (21.6% saved)

localize24.0ms (0%)

Local error

Found 8 expressions with local error:

0.2b
(*.f64 a (sin.f64 (*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180))))))
0.2b
(pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)
0.1b
(*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64)))
0.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
0.3b
(*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))
0.4b
(*.f64 (/.f64 angle 180) PI.f64)
24.4b
(sin.f64 (*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))))
24.4b
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))

rewrite33.0ms (0%)

Algorithm
rewrite-expression-head
Rules
39×add-sqr-sqrt_binary64_100
30×times-frac_binary64_84
26×add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78
25×associate-*r*_binary64_18
16×associate-*l*_binary64_19
14×add-cbrt-cube_binary64_114 add-exp-log_binary64_116
10×sqrt-prod_binary64_94
pow1_binary64_139
unswap-sqr_binary64_46
add-log-exp_binary64_117 cbrt-unprod_binary64_111 prod-exp_binary64_127
*-commutative_binary64_9 cbrt-undiv_binary64_112 div-exp_binary64_129 div-inv_binary64_75 pow-prod-down_binary64_149
associate-*l/_binary64_21 associate-*r/_binary64_20
Counts
4 → 88
Calls

8 calls:

10.0ms
(*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))
7.0ms
(*.f64 (/.f64 angle 180) PI.f64)
3.0ms
(sin.f64 (*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))))
2.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
0.0ms
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))

series191.0ms (0.2%)

Counts
4 → 18
Calls

4 calls:

70.0ms
(sin.f64 (*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))))
59.0ms
(*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))
32.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
29.0ms
(*.f64 (/.f64 angle 180) PI.f64)
Compiler

Compiled 858 to 786 computations (8.4% saved)

simplify81.0ms (0.1%)

Algorithm
egg-herbie
Counts
106 → 106
Iterations

Useful iterations: 0 (61.0ms)

IterNodesCost
049771446
149771446

localize12.0ms (0%)

Local error

Found 8 expressions with local error:

0.4b
(*.f64 (/.f64 angle 180) PI.f64)
0.2b
(*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)))
0.2b
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)
0.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b 1) 2))
0.2b
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)
0.2b
(*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)))
0.4b
(*.f64 (/.f64 angle 180) PI.f64)
24.0b
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))

rewrite24.0ms (0%)

Algorithm
rewrite-expression-head
Rules
22×add-sqr-sqrt_binary64_100
16×associate-*l*_binary64_19
15×add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78
14×add-exp-log_binary64_116
11×add-cbrt-cube_binary64_114 pow1_binary64_139
10×times-frac_binary64_84
associate-*r*_binary64_18
add-log-exp_binary64_117 prod-exp_binary64_127
cbrt-unprod_binary64_111 pow-prod-down_binary64_149 unswap-sqr_binary64_46 pow-unpow_binary64_155
*-commutative_binary64_9 pow-exp_binary64_146 pow-pow_binary64_150
pow-to-exp_binary64_147 cbrt-undiv_binary64_112 div-exp_binary64_129 unpow-prod-down_binary64_157 unpow2_binary64_143 sqr-pow_binary64_50 div-inv_binary64_75 associate-*l/_binary64_21
Counts
4 → 75
Calls

8 calls:

7.0ms
(*.f64 (/.f64 angle 180) PI.f64)
5.0ms
(*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)))
4.0ms
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)
2.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
0.0ms
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b 1) 2))

series358.0ms (0.4%)

Counts
4 → 27
Calls

4 calls:

175.0ms
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)
119.0ms
(*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)))
35.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
28.0ms
(*.f64 (/.f64 angle 180) PI.f64)
Compiler

Compiled 912 to 864 computations (5.3% saved)

simplify77.0ms (0.1%)

Algorithm
egg-herbie
Counts
102 → 102
Iterations

Useful iterations: 0 (57.0ms)

IterNodesCost
049541676
149541676

localize17.0ms (0%)

Local error

Found 8 expressions with local error:

0.2b
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)
0.1b
(pow.f64 (*.f64 b (cos.f64 (exp.f64 (log.f64 (*.f64 (/.f64 angle 180) PI.f64))))) 2)
0.1b
(*.f64 b (cos.f64 (exp.f64 (log.f64 (*.f64 (/.f64 angle 180) PI.f64)))))
0.0b
(log.f64 (*.f64 (/.f64 angle 180) PI.f64))
0.4b
(*.f64 (/.f64 angle 180) PI.f64)
2.6b
(exp.f64 (log.f64 (*.f64 (/.f64 angle 180) PI.f64)))
11.4b
(cos.f64 (exp.f64 (log.f64 (*.f64 (/.f64 angle 180) PI.f64))))
24.0b
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))

rewrite29.0ms (0%)

Algorithm
rewrite-expression-head
Rules
18×add-sqr-sqrt_binary64_100
13×associate-*l*_binary64_19 add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78
10×times-frac_binary64_84
add-cbrt-cube_binary64_114 add-exp-log_binary64_116 pow1_binary64_139
exp-prod_binary64_130
add-log-exp_binary64_117
associate-*r*_binary64_18
cbrt-unprod_binary64_111 prod-exp_binary64_127 associate-*l/_binary64_21 pow-prod-down_binary64_149 unswap-sqr_binary64_46 log-pow_binary64_167
*-commutative_binary64_9 exp-sum_binary64_124 cbrt-undiv_binary64_112 div-exp_binary64_129 rem-exp-log_binary64_118 div-inv_binary64_75 log-prod_binary64_164 exp-diff_binary64_126 log-div_binary64_165
Counts
4 → 61
Calls

8 calls:

7.0ms
(*.f64 (/.f64 angle 180) PI.f64)
6.0ms
(cos.f64 (exp.f64 (log.f64 (*.f64 (/.f64 angle 180) PI.f64))))
5.0ms
(exp.f64 (log.f64 (*.f64 (/.f64 angle 180) PI.f64)))
2.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
0.0ms
(log.f64 (*.f64 (/.f64 angle 180) PI.f64))

series265.0ms (0.3%)

Counts
4 → 12
Calls

4 calls:

123.0ms
(cos.f64 (exp.f64 (log.f64 (*.f64 (/.f64 angle 180) PI.f64))))
94.0ms
(exp.f64 (log.f64 (*.f64 (/.f64 angle 180) PI.f64)))
29.0ms
(*.f64 (/.f64 angle 180) PI.f64)
19.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
Compiler

Compiled 588 to 538 computations (8.5% saved)

simplify79.0ms (0.1%)

Algorithm
egg-herbie
Counts
73 → 73
Iterations

Useful iterations: 0 (62.0ms)

IterNodesCost
04998796
14998796

localize27.0ms (0%)

Local error

Found 8 expressions with local error:

0.1b
(*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4))
0.1b
(*.f64 (*.f64 angle angle) 1/64800)
0.0b
(pow.f64 (*.f64 b (+.f64 (-.f64 1 (*.f64 (pow.f64 PI.f64 2) (*.f64 (*.f64 angle angle) 1/64800))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4))))) 2)
0.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (+.f64 (-.f64 1 (*.f64 (pow.f64 PI.f64 2) (*.f64 (*.f64 angle angle) 1/64800))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4))))) 2))
1.6b
(pow.f64 PI.f64 4)
3.1b
(*.f64 b (+.f64 (-.f64 1 (*.f64 (pow.f64 PI.f64 2) (*.f64 (*.f64 angle angle) 1/64800))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4)))))
11.0b
(+.f64 (-.f64 1 (*.f64 (pow.f64 PI.f64 2) (*.f64 (*.f64 angle angle) 1/64800))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4))))
24.0b
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))

rewrite33.0ms (0%)

Algorithm
rewrite-expression-head
Rules
10×add-sqr-sqrt_binary64_100
add-log-exp_binary64_117
add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78
add-exp-log_binary64_116 pow1_binary64_139
add-cbrt-cube_binary64_114
associate-*l*_binary64_19 unpow-prod-down_binary64_157 associate-*r*_binary64_18 pow-unpow_binary64_155
flip-+_binary64_52 associate-+l+_binary64_11 associate-*r/_binary64_20 sum-log_binary64_169 flip3-+_binary64_81
+-commutative_binary64_8 associate-+l-_binary64_13 distribute-lft-in_binary64_27 *-commutative_binary64_9 pow-exp_binary64_146 pow-to-exp_binary64_147 cbrt-unprod_binary64_111 prod-exp_binary64_127 diff-log_binary64_170 distribute-rgt-in_binary64_28 sqr-pow_binary64_50 pow-pow_binary64_150 pow-prod-down_binary64_149 unswap-sqr_binary64_46 cancel-sign-sub-inv_binary64_44 sub-neg_binary64_71
Counts
4 → 61
Calls

8 calls:

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

series642.0ms (0.7%)

Counts
4 → 27
Calls

4 calls:

401.0ms
(*.f64 b (+.f64 (-.f64 1 (*.f64 (pow.f64 PI.f64 2) (*.f64 (*.f64 angle angle) 1/64800))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4)))))
201.0ms
(+.f64 (-.f64 1 (*.f64 (pow.f64 PI.f64 2) (*.f64 (*.f64 angle angle) 1/64800))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 PI.f64 4))))
40.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
0.0ms
(pow.f64 PI.f64 4)
Compiler

Compiled 1322 to 1155 computations (12.6% saved)

simplify72.0ms (0.1%)

Algorithm
egg-herbie
Counts
88 → 88
Iterations

Useful iterations: 0 (45.0ms)

IterNodesCost
049782454
149782454

localize20.0ms (0%)

Local error

Found 8 expressions with local error:

0.2b
(*.f64 PI.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)))
0.1b
(pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)))))) 2)
0.0b
(*.f64 b (cos.f64 (*.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180))))))
0.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)))))) 2))
0.2b
(*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)))
0.4b
(*.f64 (/.f64 angle 180) PI.f64)
11.2b
(cos.f64 (*.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)))))
24.0b
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))

rewrite23.0ms (0%)

Algorithm
rewrite-expression-head
Rules
21×add-sqr-sqrt_binary64_100
16×associate-*l*_binary64_19
14×add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78
11×add-cbrt-cube_binary64_114 add-exp-log_binary64_116
10×times-frac_binary64_84
pow1_binary64_139
associate-*r*_binary64_18
add-log-exp_binary64_117
cbrt-unprod_binary64_111 prod-exp_binary64_127 unswap-sqr_binary64_46
*-commutative_binary64_9 pow-prod-down_binary64_149
cbrt-undiv_binary64_112 div-exp_binary64_129 div-inv_binary64_75 associate-*l/_binary64_21
Counts
4 → 64
Calls

8 calls:

7.0ms
(*.f64 (/.f64 angle 180) PI.f64)
5.0ms
(*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)))
2.0ms
(cos.f64 (*.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)))))
2.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
0.0ms
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)))))) 2))

series227.0ms (0.3%)

Counts
4 → 18
Calls

4 calls:

105.0ms
(*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)))
68.0ms
(cos.f64 (*.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)))))
30.0ms
(*.f64 (/.f64 angle 180) PI.f64)
22.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
Compiler

Compiled 995 to 871 computations (12.5% saved)

simplify87.0ms (0.1%)

Algorithm
egg-herbie
Counts
82 → 82
Iterations

Useful iterations: 0 (70.0ms)

IterNodesCost
049091088
149091088

prune6.4s (7.3%)

Pruning

265 alts after pruning (262 fresh and 3 done)

PrunedKeptTotal
New241210451
Fresh25254
Picked000
Done235
Total245265510
Error
18.0b
Counts
510 → 265
Compiler

Compiled 19000 to 15053 computations (20.8% saved)

localize24.0ms (0%)

Local error

Found 8 expressions with local error:

0.1b
(pow.f64 (*.f64 b (cos.f64 (*.f64 angle (*.f64 PI.f64 1/180)))) 2)
0.1b
(*.f64 b (cos.f64 (*.f64 angle (*.f64 PI.f64 1/180))))
0.1b
(*.f64 angle (*.f64 PI.f64 1/180))
0.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (*.f64 PI.f64 1/180)))) 2))
0.3b
(*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180))))
0.3b
(*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))
24.1b
(cos.f64 (*.f64 angle (*.f64 PI.f64 1/180)))
24.4b
(sin.f64 (*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))))

rewrite44.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
48×add-exp-log_binary64_116
39×add-sqr-sqrt_binary64_100
38×times-frac_binary64_84
31×add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78
30×add-cbrt-cube_binary64_114
25×associate-*l*_binary64_19
23×associate-*r*_binary64_18
22×prod-exp_binary64_127
19×sqrt-prod_binary64_94
12×cbrt-unprod_binary64_111
11×div-exp_binary64_129 pow1_binary64_139
cbrt-undiv_binary64_112
add-log-exp_binary64_117 pow-prod-down_binary64_149 associate-*r/_binary64_20
1-exp_binary64_122 rec-exp_binary64_128 unswap-sqr_binary64_46
*-commutative_binary64_9 div-inv_binary64_75
frac-times_binary64_88 associate-*l/_binary64_21
Counts
4 → 110
Calls

8 calls:

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

series455.0ms (0.5%)

Counts
4 → 18
Calls

4 calls:

306.0ms
(*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180))))
63.0ms
(sin.f64 (*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))))
56.0ms
(*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))
29.0ms
(cos.f64 (*.f64 angle (*.f64 PI.f64 1/180)))
Compiler

Compiled 840 to 768 computations (8.6% saved)

simplify98.0ms (0.1%)

Algorithm
egg-herbie
Counts
128 → 128
Iterations

Useful iterations: 0 (75.0ms)

IterNodesCost
049211729
149211729

localize11.0ms (0%)

Local error

Found 8 expressions with local error:

0.3b
(pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 PI.f64 a))) 2)
0.2b
(*.f64 PI.f64 a)
0.2b
(*.f64 angle (*.f64 PI.f64 a))
0.0b
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 PI.f64 a))) 2) (pow.f64 (*.f64 b 1) 2))
0.2b
(*.f64 angle (*.f64 PI.f64 a))
0.2b
(*.f64 PI.f64 a)
0.3b
(pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 PI.f64 a))) 2)
0.3b
(*.f64 1/180 (*.f64 angle (*.f64 PI.f64 a)))

rewrite33.0ms (0%)

Algorithm
rewrite-expression-head
Rules
30×add-exp-log_binary64_116 pow1_binary64_139
20×add-cbrt-cube_binary64_114
16×prod-exp_binary64_127 pow-prod-down_binary64_149
11×add-sqr-sqrt_binary64_100
10×cbrt-unprod_binary64_111
associate-*l*_binary64_19 add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78
associate-*r*_binary64_18
pow-exp_binary64_146 add-log-exp_binary64_117 pow-pow_binary64_150
*-commutative_binary64_9 pow-unpow_binary64_155
pow-to-exp_binary64_147 unpow-prod-down_binary64_157 unpow2_binary64_143 sqr-pow_binary64_50 unswap-sqr_binary64_46
Counts
4 → 79
Calls

8 calls:

10.0ms
(*.f64 1/180 (*.f64 angle (*.f64 PI.f64 a)))
8.0ms
(pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 PI.f64 a))) 2)
5.0ms
(*.f64 angle (*.f64 PI.f64 a))
4.0ms
(*.f64 PI.f64 a)
0.0ms
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 PI.f64 a))) 2) (pow.f64 (*.f64 b 1) 2))

series273.0ms (0.3%)

Counts
4 → 21
Calls

4 calls:

112.0ms
(pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 PI.f64 a))) 2)
76.0ms
(*.f64 1/180 (*.f64 angle (*.f64 PI.f64 a)))
64.0ms
(*.f64 angle (*.f64 PI.f64 a))
20.0ms
(*.f64 PI.f64 a)
Compiler

Compiled 678 to 678 computations (0% saved)

simplify74.0ms (0.1%)

Algorithm
egg-herbie
Counts
100 → 100
Iterations

Useful iterations: 0 (57.0ms)

IterNodesCost
052081074

localize18.0ms (0%)

Local error

Found 8 expressions with local error:

0.3b
(*.f64 a (sin.f64 (*.f64 (/.f64 1 (*.f64 (cbrt.f64 180) (cbrt.f64 180))) (*.f64 PI.f64 (/.f64 angle (cbrt.f64 180))))))
0.3b
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 1 (*.f64 (cbrt.f64 180) (cbrt.f64 180))) (*.f64 PI.f64 (/.f64 angle (cbrt.f64 180)))))) 2)
0.1b
(/.f64 angle (cbrt.f64 180))
0.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 1 (*.f64 (cbrt.f64 180) (cbrt.f64 180))) (*.f64 PI.f64 (/.f64 angle (cbrt.f64 180)))))) 2) (pow.f64 (*.f64 b 1) 2))
0.3b
(*.f64 PI.f64 (/.f64 angle (cbrt.f64 180)))
0.5b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 180) (cbrt.f64 180))) (*.f64 PI.f64 (/.f64 angle (cbrt.f64 180))))
1.0b
(*.f64 (cbrt.f64 180) (cbrt.f64 180))
24.6b
(sin.f64 (*.f64 (/.f64 1 (*.f64 (cbrt.f64 180) (cbrt.f64 180))) (*.f64 PI.f64 (/.f64 angle (cbrt.f64 180)))))

rewrite55.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
89×add-exp-log_binary64_116
47×prod-exp_binary64_127
44×add-sqr-sqrt_binary64_100
35×add-cbrt-cube_binary64_114
29×associate-*r*_binary64_18
28×add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78
26×cbrt-prod_binary64_109
23×times-frac_binary64_84
21×cbrt-unprod_binary64_111
20×div-exp_binary64_129
18×pow1_binary64_139
16×associate-*l*_binary64_19
10×cbrt-undiv_binary64_112
unswap-sqr_binary64_46
swap-sqr_binary64_45 pow1/3_binary64_160 1-exp_binary64_122 rec-exp_binary64_128 pow-prod-down_binary64_149
add-log-exp_binary64_117 associate-*r/_binary64_20
*-commutative_binary64_9
pow-sqr_binary64_51 div-inv_binary64_75 pow-prod-up_binary64_148
pow2_binary64_159 frac-times_binary64_88 associate-*l/_binary64_21 pow-plus_binary64_141
Counts
4 → 140
Calls

8 calls:

16.0ms
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 180) (cbrt.f64 180))) (*.f64 PI.f64 (/.f64 angle (cbrt.f64 180))))
13.0ms
(*.f64 PI.f64 (/.f64 angle (cbrt.f64 180)))
7.0ms
(*.f64 (cbrt.f64 180) (cbrt.f64 180))
3.0ms
(sin.f64 (*.f64 (/.f64 1 (*.f64 (cbrt.f64 180) (cbrt.f64 180))) (*.f64 PI.f64 (/.f64 angle (cbrt.f64 180)))))
0.0ms
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 1 (*.f64 (cbrt.f64 180) (cbrt.f64 180))) (*.f64 PI.f64 (/.f64 angle (cbrt.f64 180)))))) 2) (pow.f64 (*.f64 b 1) 2))

series226.0ms (0.3%)

Counts
4 → 12
Calls

4 calls:

102.0ms
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 180) (cbrt.f64 180))) (*.f64 PI.f64 (/.f64 angle (cbrt.f64 180))))
66.0ms
(sin.f64 (*.f64 (/.f64 1 (*.f64 (cbrt.f64 180) (cbrt.f64 180))) (*.f64 PI.f64 (/.f64 angle (cbrt.f64 180)))))
58.0ms
(*.f64 PI.f64 (/.f64 angle (cbrt.f64 180)))
0.0ms
(*.f64 (cbrt.f64 180) (cbrt.f64 180))
Compiler

Compiled 502 to 490 computations (2.4% saved)

simplify103.0ms (0.1%)

Algorithm
egg-herbie
Counts
152 → 152
Iterations

Useful iterations: 0 (73.0ms)

IterNodesCost
048791803
148791803

localize20.0ms (0%)

Local error

Found 8 expressions with local error:

0.1b
(*.f64 a (sin.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 angle 180)) (sqrt.f64 PI.f64)) (*.f64 (sqrt.f64 (/.f64 angle 180)) (sqrt.f64 PI.f64)))))
0.1b
(sqrt.f64 (/.f64 angle 180))
0.1b
(sqrt.f64 (/.f64 angle 180))
0.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 angle 180)) (sqrt.f64 PI.f64)) (*.f64 (sqrt.f64 (/.f64 angle 180)) (sqrt.f64 PI.f64))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))
1.0b
(sqrt.f64 PI.f64)
1.0b
(sqrt.f64 PI.f64)
11.5b
(sin.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 angle 180)) (sqrt.f64 PI.f64)) (*.f64 (sqrt.f64 (/.f64 angle 180)) (sqrt.f64 PI.f64))))
24.4b
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))

rewrite12.0ms (0%)

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt_binary64_100
sqrt-prod_binary64_94 add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78 pow1_binary64_139
add-cbrt-cube_binary64_114 add-log-exp_binary64_117 add-exp-log_binary64_116
sqrt-pow1_binary64_96 rem-sqrt-square_binary64_91 pow1/2_binary64_158
Counts
4 → 40
Calls

8 calls:

4.0ms
(sin.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 angle 180)) (sqrt.f64 PI.f64)) (*.f64 (sqrt.f64 (/.f64 angle 180)) (sqrt.f64 PI.f64))))
2.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
1.0ms
(sqrt.f64 PI.f64)
1.0ms
(sqrt.f64 PI.f64)
0.0ms
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 angle 180)) (sqrt.f64 PI.f64)) (*.f64 (sqrt.f64 (/.f64 angle 180)) (sqrt.f64 PI.f64))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2))

series102.0ms (0.1%)

Counts
4 → 12
Calls

4 calls:

67.0ms
(sin.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 angle 180)) (sqrt.f64 PI.f64)) (*.f64 (sqrt.f64 (/.f64 angle 180)) (sqrt.f64 PI.f64))))
35.0ms
(cos.f64 (*.f64 (/.f64 angle 180) PI.f64))
0.0ms
(sqrt.f64 PI.f64)
0.0ms
(sqrt.f64 PI.f64)
Compiler

Compiled 577 to 502 computations (13% saved)

simplify115.0ms (0.1%)

Algorithm
egg-herbie
Counts
52 → 52
Iterations

Useful iterations: 0 (102.0ms)

IterNodesCost
04887634
14887634

localize26.0ms (0%)

Local error

Found 8 expressions with local error:

0.1b
(pow.f64 (*.f64 (sqrt.f64 a) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)) (sqrt.f64 a))) 2)
0.1b
(pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)))))) 2)
0.0b
(*.f64 b (cos.f64 (*.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180))))))
0.0b
(+.f64 (pow.f64 (*.f64 (sqrt.f64 a) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)) (sqrt.f64 a))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)))))) 2))
0.2b
(/.f64 (sqrt.f64 angle) (sqrt.f64 180))
0.4b
(*.f64 (/.f64 angle 180) PI.f64)
11.2b
(cos.f64 (*.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)))))
24.0b
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))

rewrite32.0ms (0%)

Algorithm
rewrite-expression-head
Rules
46×times-frac_binary64_84
45×add-sqr-sqrt_binary64_100
42×sqrt-prod_binary64_94
40×add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78
13×associate-*l*_binary64_19
11×add-cbrt-cube_binary64_114 add-exp-log_binary64_116
associate-/l*_binary64_23 associate-/r*_binary64_22 pow1_binary64_139
add-log-exp_binary64_117
associate-*r*_binary64_18
cbrt-unprod_binary64_111 cbrt-undiv_binary64_112 prod-exp_binary64_127 div-exp_binary64_129 div-inv_binary64_75 unswap-sqr_binary64_46
*-commutative_binary64_9 frac-2neg_binary64_89 associate-*l/_binary64_21 pow-prod-down_binary64_149 sqrt-undiv_binary64_99 clear-num_binary64_77
Counts
4 → 107
Calls

8 calls:

7.0ms
(*.f64 (/.f64 angle 180) PI.f64)
6.0ms
(/.f64 (sqrt.f64 angle) (sqrt.f64 180))
2.0ms
(cos.f64 (*.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)))))
2.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
0.0ms
(+.f64 (pow.f64 (*.f64 (sqrt.f64 a) (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) PI.f64)) (sqrt.f64 a))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)))))) 2))

series154.0ms (0.2%)

Counts
4 → 15
Calls

4 calls:

76.0ms
(cos.f64 (*.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)))))
31.0ms
(*.f64 (/.f64 angle 180) PI.f64)
28.0ms
(/.f64 (sqrt.f64 angle) (sqrt.f64 180))
19.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
Compiler

Compiled 942 to 797 computations (15.4% saved)

simplify84.0ms (0.1%)

Algorithm
egg-herbie
Counts
122 → 122
Iterations

Useful iterations: 0 (58.0ms)

IterNodesCost
049091756
149091756

prune12.8s (14.6%)

Pruning

439 alts after pruning (433 fresh and 6 done)

PrunedKeptTotal
New346208554
Fresh32225257
Picked000
Done268
Total380439819
Error
17.8b
Counts
819 → 439
Compiler

Compiled 24813 to 19999 computations (19.4% saved)

localize25.0ms (0%)

Local error

Found 8 expressions with local error:

0.1b
(pow.f64 (*.f64 b (pow.f64 (cos.f64 (*.f64 angle (*.f64 PI.f64 1/180))) 1)) 2)
0.1b
(*.f64 b (pow.f64 (cos.f64 (*.f64 angle (*.f64 PI.f64 1/180))) 1))
0.1b
(*.f64 angle (*.f64 PI.f64 1/180))
0.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))))) 2) (pow.f64 (*.f64 b (pow.f64 (cos.f64 (*.f64 angle (*.f64 PI.f64 1/180))) 1)) 2))
0.3b
(*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180))))
0.3b
(*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))
24.1b
(cos.f64 (*.f64 angle (*.f64 PI.f64 1/180)))
24.4b
(sin.f64 (*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))))

rewrite44.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
48×add-exp-log_binary64_116
39×add-sqr-sqrt_binary64_100
38×times-frac_binary64_84
31×add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78
30×add-cbrt-cube_binary64_114
25×associate-*l*_binary64_19
23×associate-*r*_binary64_18
22×prod-exp_binary64_127
19×sqrt-prod_binary64_94
12×cbrt-unprod_binary64_111
11×div-exp_binary64_129 pow1_binary64_139
cbrt-undiv_binary64_112
add-log-exp_binary64_117 pow-prod-down_binary64_149 associate-*r/_binary64_20
1-exp_binary64_122 rec-exp_binary64_128 unswap-sqr_binary64_46
*-commutative_binary64_9 div-inv_binary64_75
frac-times_binary64_88 associate-*l/_binary64_21
Counts
4 → 110
Calls

8 calls:

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

series241.0ms (0.3%)

Counts
4 → 18
Calls

4 calls:

88.0ms
(*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180))))
71.0ms
(sin.f64 (*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))))
51.0ms
(*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))
32.0ms
(cos.f64 (*.f64 angle (*.f64 PI.f64 1/180)))
Compiler

Compiled 896 to 824 computations (8% saved)

simplify98.0ms (0.1%)

Algorithm
egg-herbie
Counts
128 → 128
Iterations

Useful iterations: 0 (74.0ms)

IterNodesCost
049211729
149211729

localize15.0ms (0%)

Local error

Found 8 expressions with local error:

0.2b
(*.f64 PI.f64 a)
0.2b
(*.f64 angle (*.f64 PI.f64 a))
0.2b
(*.f64 angle (*.f64 PI.f64 a))
0.0b
(+.f64 (*.f64 (*.f64 1/180 (*.f64 angle (*.f64 PI.f64 a))) (*.f64 1/180 (*.f64 angle (*.f64 PI.f64 a)))) (pow.f64 (*.f64 b 1) 2))
0.2b
(*.f64 PI.f64 a)
0.3b
(*.f64 (*.f64 1/180 (*.f64 angle (*.f64 PI.f64 a))) (*.f64 1/180 (*.f64 angle (*.f64 PI.f64 a))))
0.3b
(*.f64 1/180 (*.f64 angle (*.f64 PI.f64 a)))
0.3b
(*.f64 1/180 (*.f64 angle (*.f64 PI.f64 a)))

rewrite54.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
274×pow1_binary64_139
179×pow-prod-down_binary64_149
104×add-cbrt-cube_binary64_114 add-exp-log_binary64_116
77×cbrt-unprod_binary64_111 prod-exp_binary64_127
16×pow-sqr_binary64_51 pow-prod-up_binary64_148
10×add-sqr-sqrt_binary64_100 associate-*l*_binary64_19
add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78
associate-*r*_binary64_18
*-commutative_binary64_9 add-log-exp_binary64_117 pow-plus_binary64_141
pow2_binary64_159 swap-sqr_binary64_45 unswap-sqr_binary64_46
Counts
4 → 156
Calls

8 calls:

17.0ms
(*.f64 (*.f64 1/180 (*.f64 angle (*.f64 PI.f64 a))) (*.f64 1/180 (*.f64 angle (*.f64 PI.f64 a))))
7.0ms
(*.f64 1/180 (*.f64 angle (*.f64 PI.f64 a)))
7.0ms
(*.f64 1/180 (*.f64 angle (*.f64 PI.f64 a)))
4.0ms
(*.f64 PI.f64 a)
0.0ms
(+.f64 (*.f64 (*.f64 1/180 (*.f64 angle (*.f64 PI.f64 a))) (*.f64 1/180 (*.f64 angle (*.f64 PI.f64 a)))) (pow.f64 (*.f64 b 1) 2))

series336.0ms (0.4%)

Counts
4 → 21
Calls

4 calls:

147.0ms
(*.f64 (*.f64 1/180 (*.f64 angle (*.f64 PI.f64 a))) (*.f64 1/180 (*.f64 angle (*.f64 PI.f64 a))))
86.0ms
(*.f64 1/180 (*.f64 angle (*.f64 PI.f64 a)))
79.0ms
(*.f64 1/180 (*.f64 angle (*.f64 PI.f64 a)))
24.0ms
(*.f64 PI.f64 a)
Compiler

Compiled 858 to 768 computations (10.5% saved)

simplify90.0ms (0.1%)

Algorithm
egg-herbie
Counts
177 → 177
Iterations

Useful iterations: 0 (60.0ms)

IterNodesCost
049601959
149601959

localize19.0ms (0%)

Local error

Found 8 expressions with local error:

0.2b
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2)
0.1b
(pow.f64 (*.f64 b (cos.f64 (*.f64 (*.f64 (/.f64 angle 180) (sqrt.f64 PI.f64)) (sqrt.f64 PI.f64)))) 2)
0.1b
(*.f64 b (cos.f64 (*.f64 (*.f64 (/.f64 angle 180) (sqrt.f64 PI.f64)) (sqrt.f64 PI.f64))))
0.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (*.f64 (/.f64 angle 180) (sqrt.f64 PI.f64)) (sqrt.f64 PI.f64)))) 2))
1.0b
(sqrt.f64 PI.f64)
1.0b
(sqrt.f64 PI.f64)
24.0b
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
24.3b
(cos.f64 (*.f64 (*.f64 (/.f64 angle 180) (sqrt.f64 PI.f64)) (sqrt.f64 PI.f64)))

rewrite11.0ms (0%)

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt_binary64_100
sqrt-prod_binary64_94 add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78 pow1_binary64_139
add-cbrt-cube_binary64_114 add-log-exp_binary64_117 add-exp-log_binary64_116
sqrt-pow1_binary64_96 rem-sqrt-square_binary64_91 pow1/2_binary64_158
Counts
4 → 40
Calls

8 calls:

3.0ms
(cos.f64 (*.f64 (*.f64 (/.f64 angle 180) (sqrt.f64 PI.f64)) (sqrt.f64 PI.f64)))
2.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
1.0ms
(sqrt.f64 PI.f64)
1.0ms
(sqrt.f64 PI.f64)
0.0ms
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) PI.f64))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (*.f64 (/.f64 angle 180) (sqrt.f64 PI.f64)) (sqrt.f64 PI.f64)))) 2))

series65.0ms (0.1%)

Counts
4 → 12
Calls

4 calls:

33.0ms
(cos.f64 (*.f64 (*.f64 (/.f64 angle 180) (sqrt.f64 PI.f64)) (sqrt.f64 PI.f64)))
32.0ms
(sin.f64 (*.f64 (/.f64 angle 180) PI.f64))
0.0ms
(sqrt.f64 PI.f64)
0.0ms
(sqrt.f64 PI.f64)
Compiler

Compiled 464 to 400 computations (13.8% saved)

simplify62.0ms (0.1%)

Algorithm
egg-herbie
Counts
52 → 52
Iterations

Useful iterations: 0 (50.0ms)

IterNodesCost
05033615

localize21.0ms (0%)

Local error

Found 8 expressions with local error:

0.2b
(*.f64 a (sin.f64 (*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180))))))
0.2b
(pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))))) 2)
0.1b
(*.f64 b (cos.f64 (*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180))))))
0.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))))) 2))
0.3b
(*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))
0.3b
(*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))
23.9b
(cos.f64 (*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))))
24.4b
(sin.f64 (*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))))

rewrite39.0ms (0%)

Algorithm
rewrite-expression-head
Rules
48×add-sqr-sqrt_binary64_100
44×associate-*r*_binary64_18
40×times-frac_binary64_84
32×add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78
20×sqrt-prod_binary64_94
14×add-cbrt-cube_binary64_114 add-exp-log_binary64_116
pow1_binary64_139
associate-*l*_binary64_19 unswap-sqr_binary64_46
add-log-exp_binary64_117 cbrt-unprod_binary64_111 prod-exp_binary64_127
*-commutative_binary64_9 cbrt-undiv_binary64_112 div-exp_binary64_129 div-inv_binary64_75 pow-prod-down_binary64_149 associate-*r/_binary64_20
Counts
4 → 98
Calls

8 calls:

11.0ms
(*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))
10.0ms
(*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))
3.0ms
(sin.f64 (*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))))
3.0ms
(cos.f64 (*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))))
0.0ms
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))))) 2))

series226.0ms (0.3%)

Counts
4 → 18
Calls

4 calls:

65.0ms
(sin.f64 (*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))))
56.0ms
(cos.f64 (*.f64 (/.f64 1 (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))))
56.0ms
(*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))
49.0ms
(*.f64 PI.f64 (/.f64 angle (sqrt.f64 180)))
Compiler

Compiled 1020 to 948 computations (7.1% saved)

simplify64.0ms (0.1%)

Algorithm
egg-herbie
Counts
116 → 116
Iterations

Useful iterations: 0 (42.0ms)

IterNodesCost
054111665

localize28.0ms (0%)

Local error

Found 8 expressions with local error:

0.2b
(*.f64 PI.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)))
0.1b
(pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)))))) 2)
0.0b
(*.f64 b (cos.f64 (*.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180))))))
0.0b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (*.f64 (/.f64 angle 180) (*.f64 (cbrt.f64 PI.f64) (cbrt.f64 PI.f64))) (cbrt.f64 PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)))))) 2))
1.0b
(cbrt.f64 PI.f64)
1.0b
(cbrt.f64 PI.f64)
11.2b
(cos.f64 (*.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)))))
24.9b
(sin.f64 (*.f64 (*.f64 (/.f64 angle 180) (*.f64 (cbrt.f64 PI.f64) (cbrt.f64 PI.f64))) (cbrt.f64 PI.f64)))

rewrite13.0ms (0%)

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt_binary64_100 add-cube-cbrt_binary64_113 cbrt-prod_binary64_109 *-un-lft-identity_binary64_78
add-cbrt-cube_binary64_114 add-log-exp_binary64_117 add-exp-log_binary64_116 pow1_binary64_139
pow1/3_binary64_160
Counts
4 → 36
Calls

8 calls:

3.0ms
(sin.f64 (*.f64 (*.f64 (/.f64 angle 180) (*.f64 (cbrt.f64 PI.f64) (cbrt.f64 PI.f64))) (cbrt.f64 PI.f64)))
2.0ms
(cos.f64 (*.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)))))
1.0ms
(cbrt.f64 PI.f64)
1.0ms
(cbrt.f64 PI.f64)
0.0ms
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (*.f64 (/.f64 angle 180) (*.f64 (cbrt.f64 PI.f64) (cbrt.f64 PI.f64))) (cbrt.f64 PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)))))) 2))

series90.0ms (0.1%)

Counts
4 → 9
Calls

4 calls:

69.0ms
(cos.f64 (*.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)) (*.f64 PI.f64 (/.f64 (sqrt.f64 angle) (sqrt.f64 180)))))
21.0ms
(sin.f64 (*.f64 (*.f64 (/.f64 angle 180) (*.f64 (cbrt.f64 PI.f64) (cbrt.f64 PI.f64))) (cbrt.f64 PI.f64)))
0.0ms
(cbrt.f64 PI.f64)
0.0ms
(cbrt.f64 PI.f64)
Compiler

Compiled 519 to 438 computations (15.6% saved)

simplify54.0ms (0.1%)

Algorithm
egg-herbie
Counts
45 → 45
Iterations

Useful iterations: 0 (43.0ms)

IterNodesCost
04955510
14955510

prune14.5s (16.5%)

Pruning

614 alts after pruning (604 fresh and 10 done)

PrunedKeptTotal
New326192518
Fresh16412428
Picked000
Done11011
Total343614957
Error
17.8b
Counts
957 → 614
Compiler

Compiled 9906 to 7057 computations (28.8% saved)

simplify688.0ms (0.8%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (49.0ms)

IterNodesCost
0498349264
1498349264

regimes9.0s (10.3%)

Compiler

Compiled 91645 to 79062 computations (13.7% saved)

bsearch0.0ms (0%)

regimes1.4s (1.6%)

Compiler

Compiled 15030 to 13419 computations (10.7% saved)

bsearch0.0ms (0%)

regimes435.0ms (0.5%)

Compiler

Compiled 4080 to 3671 computations (10% saved)

bsearch0.0ms (0%)

regimes423.0ms (0.5%)

Compiler

Compiled 3912 to 3535 computations (9.6% saved)

bsearch0.0ms (0%)

regimes415.0ms (0.5%)

Compiler

Compiled 3828 to 3459 computations (9.6% saved)

bsearch0.0ms (0%)

regimes121.0ms (0.1%)

Compiler

Compiled 892 to 856 computations (4% saved)

bsearch0.0ms (0%)

regimes171.0ms (0.2%)

Compiler

Compiled 858 to 835 computations (2.7% saved)

bsearch1.0ms (0%)

Compiler

Compiled 3 to 5 computations (-66.7% saved)

regimes135.0ms (0.2%)

Compiler

Compiled 526 to 535 computations (-1.7% saved)

bsearch1.0ms (0%)

Compiler

Compiled 3 to 5 computations (-66.7% saved)

regimes127.0ms (0.1%)

Compiler

Compiled 474 to 483 computations (-1.9% saved)

bsearch1.0ms (0%)

Compiler

Compiled 3 to 5 computations (-66.7% saved)

regimes45.0ms (0.1%)

Compiler

Compiled 123 to 132 computations (-7.3% saved)

bsearch226.0ms (0.3%)

Steps
ItersRangePoint
6
3.445957875825338e+118
1.7378435998006304e+119
5.769045571076974e+118
5
-1.340047397721571e+173
-4.495375805462798e+172
-4.574094598051373e+172
Compiler

Compiled 1 to 3 computations (-200% saved)

regimes41.0ms (0%)

Compiler

Compiled 66 to 90 computations (-36.4% saved)

bsearch220.0ms (0.3%)

Steps
ItersRangePoint
6
3.445957875825338e+118
1.7378435998006304e+119
3.781945789741156e+118
5
-1.340047397721571e+173
-4.495375805462798e+172
-8.002931884943875e+172
Compiler

Compiled 1 to 3 computations (-200% saved)

regimes26.0ms (0%)

Accuracy

Total 1.8b remaining (9.3%)

Threshold costs 0b (0%)

Compiler

Compiled 15 to 54 computations (-260% saved)

bsearch16.0ms (0%)

Compiler

Compiled 263 to 237 computations (9.9% saved)

simplify6.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
0145407
1145407

end0.0ms (0%)

sample31.8s (36.3%)

Algorithm
intervals
Results
1.4s1543×body1024valid
1.2s1332×body1024invalid
663.0ms5133×body128valid
437.0ms741×body512valid
400.0ms666×body512invalid
285.0ms200×body2048valid
127.0ms379×body256valid
114.0ms323×body256invalid
82.0ms604×body128invalid
19.0msbody4096valid
Compiler

Compiled 22824 to 19716 computations (13.6% saved)

Pareto

0.7323269976372251

Profiling

Loading profile data...