Details

Time bar (total: 12.9s)

analyze1.4s (11.2%)

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 27 to 22 computations (18.5% saved)

sample112.0ms (0.9%)

Algorithm
intervals
Results
22.0ms35×body1024valid
21.0ms174×body128valid
18.0ms36×body1024invalid
9.0ms24×body512valid
7.0ms20×body512invalid
5.0msbody2048valid
5.0msbody4096valid
4.0ms16×body256valid
4.0ms33×body128invalid
1.0msbody256invalid
Compiler

Compiled 56 to 46 computations (17.9% saved)

simplify57.0ms (0.4%)

Algorithm
egg-herbie
Rules
416×sub-neg_binary64
404×neg-mul-1_binary64
392×neg-sub0_binary64
387×unsub-neg_binary64
358×*-commutative_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01737
13737
28337
321637
475737
5179037
6357337
7464637
8493637

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112
Error
29.0b
Counts
2 → 1
Alt Table
StatusErrorProgram
29.0b
(*.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))))
Compiler

Compiled 78 to 61 computations (21.8% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

1.5b
(-.f64 (pow.f64 b 2) (pow.f64 a 2))
8.9b
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
21.7b
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
21.8b
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))

rewrite210.0ms (1.6%)

Algorithm
rewrite-expression-head
Error
28.4b
Rules
23×add-sqr-sqrt_binary64
16×difference-of-squares_binary64
13×unpow-prod-down_binary64
11×*-un-lft-identity_binary64
pow1_binary64 add-exp-log_binary64 add-cbrt-cube_binary64 unpow2_binary64 sqr-pow_binary64
Counts
4 → 71
Calls

4 calls:

14.0ms
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
13.0ms
(-.f64 (pow.f64 b 2) (pow.f64 a 2))
2.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
1.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
Compiler

Compiled 2233 to 1676 computations (24.9% saved)

series174.0ms (1.3%)

Error
26.7b
Counts
4 → 36
Calls

4 calls:

98.0ms
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
30.0ms
(-.f64 (pow.f64 b 2) (pow.f64 a 2))
11.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
10.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
Compiler

Compiled 2064 to 1622 computations (21.4% saved)

simplify134.0ms (1%)

Algorithm
egg-herbie
Rules
510×*-commutative_binary64
471×cancel-sign-sub-inv_binary64
271×exp-prod_binary64
224×distribute-rgt-in_binary64
220×distribute-lft-in_binary64
Counts
107 → 83
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01932322
14391695
213031667
330481667
446381667
547941667
649461667

prune94.0ms (0.7%)

Pruning

18 alts after pruning (18 fresh and 0 done)

PrunedKeptTotal
New651883
Fresh000
Picked101
Done000
Total661884
Error
27.3b
Counts
84 → 18
Alt Table
StatusErrorProgram
46.1b
(*.f64 (*.f64 (*.f64 2 (/.f64 (-.f64 (pow.f64 b 4) (pow.f64 a 4)) (+.f64 (*.f64 a a) (*.f64 b b)))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
52.2b
(*.f64 (*.f64 (*.f64 2 (log.f64 (exp.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
39.5b
(*.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (*.f64 a a))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
54.1b
(*.f64 (*.f64 (*.f64 2 (/.f64 (-.f64 (pow.f64 b 6) (pow.f64 a 6)) (+.f64 (pow.f64 b 4) (+.f64 (pow.f64 a 4) (*.f64 (*.f64 a a) (*.f64 b b)))))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
33.5b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (-.f64 1 (*.f64 1/64800 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))))
29.3b
(*.f64 (*.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 a a))) (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 a a)))) (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
29.4b
(*.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))) (cbrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
44.7b
(*.f64 (*.f64 (*.f64 2 (exp.f64 (log.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
41.8b
(*.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
33.5b
(*.f64 (-.f64 (*.f64 (*.f64 (pow.f64 PI.f64 3) (*.f64 (pow.f64 angle 3) 1/17496000)) (-.f64 (*.f64 a a) (*.f64 b b))) (-.f64 (*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (*.f64 a a)))) (*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (*.f64 b b)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
29.3b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (cbrt.f64 (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))))) (cbrt.f64 (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
29.0b
(*.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)))
42.4b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (cbrt.f64 (pow.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
31.5b
(*.f64 (*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
41.0b
(*.f64 (*.f64 (*.f64 2 (*.f64 b b)) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
40.9b
(*.f64 (*.f64 2 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (*.f64 b b))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
51.9b
(*.f64 (log.f64 (pow.f64 (exp.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
39.6b
(*.f64 (*.f64 (*.f64 2 (neg.f64 (*.f64 a a))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
Compiler

Compiled 2169 to 1432 computations (34% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

1.5b
(-.f64 (pow.f64 b 2) (pow.f64 a 2))
8.9b
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
21.7b
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
21.8b
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))

rewrite194.0ms (1.5%)

Algorithm
rewrite-expression-head
Error
27.3b
Rules
23×add-sqr-sqrt_binary64
16×difference-of-squares_binary64
13×unpow-prod-down_binary64
11×*-un-lft-identity_binary64
pow1_binary64 add-exp-log_binary64 add-cbrt-cube_binary64 unpow2_binary64 sqr-pow_binary64
Counts
4 → 71
Calls

4 calls:

14.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
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
1.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
Compiler

Compiled 2437 to 1880 computations (22.9% saved)

series185.0ms (1.4%)

Error
26.6b
Counts
4 → 36
Calls

4 calls:

98.0ms
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
31.0ms
(-.f64 (pow.f64 b 2) (pow.f64 a 2))
13.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
10.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
Compiler

Compiled 2280 to 1838 computations (19.4% saved)

simplify136.0ms (1.1%)

Algorithm
egg-herbie
Rules
510×*-commutative_binary64
471×cancel-sign-sub-inv_binary64
271×exp-prod_binary64
224×distribute-rgt-in_binary64
220×distribute-lft-in_binary64
Counts
107 → 83
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01932322
14391695
213031667
330481667
446381667
547941667
649461667

prune121.0ms (0.9%)

Pruning

25 alts after pruning (25 fresh and 0 done)

PrunedKeptTotal
New711283
Fresh41317
Picked101
Done000
Total7625101
Error
27.3b
Counts
101 → 25
Alt Table
StatusErrorProgram
46.1b
(*.f64 (*.f64 (*.f64 2 (/.f64 (-.f64 (pow.f64 b 4) (pow.f64 a 4)) (+.f64 (*.f64 a a) (*.f64 b b)))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
52.2b
(*.f64 (*.f64 (*.f64 2 (log.f64 (exp.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
39.5b
(*.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (*.f64 a a))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
28.9b
(*.f64 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
54.1b
(*.f64 (*.f64 (*.f64 2 (/.f64 (-.f64 (pow.f64 b 6) (pow.f64 a 6)) (+.f64 (pow.f64 b 4) (+.f64 (pow.f64 a 4) (*.f64 (*.f64 a a) (*.f64 b b)))))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
33.5b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (-.f64 1 (*.f64 1/64800 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))))
29.3b
(*.f64 (*.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 a a))) (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 a a)))) (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
29.3b
(*.f64 (*.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 a a))) (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 a a)))) (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
44.7b
(*.f64 (*.f64 (*.f64 2 (exp.f64 (log.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
44.7b
(*.f64 (*.f64 (*.f64 2 (exp.f64 (log.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
29.3b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (cbrt.f64 (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))))) (cbrt.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)))
29.0b
(*.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 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)) 3)))
39.6b
(*.f64 (*.f64 (*.f64 2 (neg.f64 (*.f64 a a))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
29.3b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (cbrt.f64 (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))))) (cbrt.f64 (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
31.5b
(*.f64 (*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
33.5b
(*.f64 (-.f64 (*.f64 (*.f64 (pow.f64 PI.f64 3) (*.f64 (pow.f64 angle 3) 1/17496000)) (-.f64 (*.f64 a a) (*.f64 b b))) (-.f64 (*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (*.f64 a a)))) (*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (*.f64 b b)))))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
41.0b
(*.f64 (*.f64 (*.f64 2 (*.f64 b b)) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
40.9b
(*.f64 (*.f64 2 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (*.f64 b b))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
29.4b
(*.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))) (cbrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
31.5b
(*.f64 (*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
51.9b
(*.f64 (log.f64 (pow.f64 (exp.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
39.6b
(*.f64 (*.f64 (*.f64 2 (neg.f64 (*.f64 a a))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
41.8b
(*.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)))
42.4b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (cbrt.f64 (pow.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
40.9b
(*.f64 (*.f64 2 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (*.f64 b b))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
Compiler

Compiled 2803 to 1908 computations (31.9% saved)

localize20.0ms (0.2%)

Local error

Found 4 expressions with local error:

1.5b
(-.f64 (*.f64 b b) (*.f64 a a))
8.9b
(*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))
21.6b
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
21.7b
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))

rewrite146.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
27.3b
Rules
pow1_binary64 add-exp-log_binary64 add-cbrt-cube_binary64
distribute-rgt-in_binary64 distribute-lft-in_binary64
add-log-exp_binary64
add-cube-cbrt_binary64 add-sqr-sqrt_binary64 *-un-lft-identity_binary64 sub-neg_binary64 cancel-sign-sub-inv_binary64
associate-*r/_binary64
Counts
4 → 55
Calls

4 calls:

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

Compiled 1882 to 1014 computations (46.1% saved)

series188.0ms (1.5%)

Error
26.6b
Counts
4 → 36
Calls

4 calls:

97.0ms
(*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))
36.0ms
(-.f64 (*.f64 b b) (*.f64 a a))
11.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
10.0ms
(sin.f64 (*.f64 1/180 (*.f64 angle PI.f64)))
Compiler

Compiled 2280 to 1773 computations (22.2% saved)

simplify92.0ms (0.7%)

Algorithm
egg-herbie
Rules
563×*-commutative_binary64
529×unswap-sqr_binary64
379×distribute-rgt-in_binary64
364×distribute-lft-in_binary64
221×associate-*r*_binary64
Counts
91 → 59
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01552047
13821794
212871778
336331778
452191778

prune115.0ms (0.9%)

Pruning

25 alts after pruning (25 fresh and 0 done)

PrunedKeptTotal
New56359
Fresh22224
Picked101
Done000
Total592584
Error
27.3b
Counts
84 → 25
Alt Table
StatusErrorProgram
46.1b
(*.f64 (*.f64 (*.f64 2 (/.f64 (-.f64 (pow.f64 b 4) (pow.f64 a 4)) (+.f64 (*.f64 a a) (*.f64 b b)))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
52.2b
(*.f64 (*.f64 (*.f64 2 (log.f64 (exp.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
39.5b
(*.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (*.f64 a a))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
29.2b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 2 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (-.f64 (*.f64 b b) (*.f64 a a))))) (cbrt.f64 (*.f64 2 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (-.f64 (*.f64 b b) (*.f64 a a)))))) (cbrt.f64 (*.f64 2 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (-.f64 (*.f64 b b) (*.f64 a a)))))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
42.3b
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3)) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
54.1b
(*.f64 (*.f64 (*.f64 2 (/.f64 (-.f64 (pow.f64 b 6) (pow.f64 a 6)) (+.f64 (pow.f64 b 4) (+.f64 (pow.f64 a 4) (*.f64 (*.f64 a a) (*.f64 b b)))))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
33.5b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (-.f64 1 (*.f64 1/64800 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))))
29.3b
(*.f64 (*.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 a a))) (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 a a)))) (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
29.3b
(*.f64 (*.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 a a))) (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 a a)))) (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
41.7b
(*.f64 (exp.f64 (log.f64 (*.f64 2 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (-.f64 (*.f64 b b) (*.f64 a a)))))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
44.7b
(*.f64 (*.f64 (*.f64 2 (exp.f64 (log.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
44.7b
(*.f64 (*.f64 (*.f64 2 (exp.f64 (log.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
29.0b
(*.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 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)) 3)))
39.6b
(*.f64 (*.f64 (*.f64 2 (neg.f64 (*.f64 a a))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
29.3b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (cbrt.f64 (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))))) (cbrt.f64 (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
31.5b
(*.f64 (*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
33.5b
(*.f64 (-.f64 (*.f64 (*.f64 (pow.f64 PI.f64 3) (*.f64 (pow.f64 angle 3) 1/17496000)) (-.f64 (*.f64 a a) (*.f64 b b))) (-.f64 (*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (*.f64 a a)))) (*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (*.f64 b b)))))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
41.0b
(*.f64 (*.f64 (*.f64 2 (*.f64 b b)) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
29.4b
(*.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))) (cbrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
31.5b
(*.f64 (*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
51.9b
(*.f64 (log.f64 (pow.f64 (exp.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
39.6b
(*.f64 (*.f64 (*.f64 2 (neg.f64 (*.f64 a a))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
41.8b
(*.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)))
42.4b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (cbrt.f64 (pow.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
40.9b
(*.f64 (*.f64 2 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (*.f64 b b))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
Compiler

Compiled 2587 to 1724 computations (33.4% saved)

localize23.0ms (0.2%)

Local error

Found 4 expressions with local error:

1.5b
(-.f64 (pow.f64 b 2) (pow.f64 a 2))
8.9b
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
21.7b
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
21.8b
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))

rewrite239.0ms (1.9%)

Algorithm
rewrite-expression-head
Error
27.3b
Rules
23×add-sqr-sqrt_binary64
16×difference-of-squares_binary64
13×unpow-prod-down_binary64
11×*-un-lft-identity_binary64
pow1_binary64 add-exp-log_binary64 add-cbrt-cube_binary64 unpow2_binary64 sqr-pow_binary64
Counts
4 → 71
Calls

4 calls:

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 (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)))
Compiler

Compiled 2641 to 2084 computations (21.1% saved)

series201.0ms (1.6%)

Error
26.6b
Counts
4 → 36
Calls

4 calls:

99.0ms
(*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))
36.0ms
(-.f64 (pow.f64 b 2) (pow.f64 a 2))
14.0ms
(cos.f64 (*.f64 PI.f64 (/.f64 angle 180)))
12.0ms
(sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))
Compiler

Compiled 2496 to 2054 computations (17.7% saved)

simplify142.0ms (1.1%)

Algorithm
egg-herbie
Rules
510×*-commutative_binary64
471×cancel-sign-sub-inv_binary64
271×exp-prod_binary64
224×distribute-rgt-in_binary64
220×distribute-lft-in_binary64
Counts
107 → 83
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01932322
14391695
213031667
330481667
446381667
547941667
649461667

prune115.0ms (0.9%)

Pruning

26 alts after pruning (26 fresh and 0 done)

PrunedKeptTotal
New79483
Fresh22224
Picked101
Done000
Total8226108
Error
27.3b
Counts
108 → 26
Alt Table
StatusErrorProgram
46.1b
(*.f64 (*.f64 (*.f64 2 (/.f64 (-.f64 (pow.f64 b 4) (pow.f64 a 4)) (+.f64 (*.f64 a a) (*.f64 b b)))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
52.2b
(*.f64 (*.f64 (*.f64 2 (log.f64 (exp.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
39.5b
(*.f64 (*.f64 -2 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (*.f64 a a))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
29.2b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 2 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (-.f64 (*.f64 b b) (*.f64 a a))))) (cbrt.f64 (*.f64 2 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (-.f64 (*.f64 b b) (*.f64 a a)))))) (cbrt.f64 (*.f64 2 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (-.f64 (*.f64 b b) (*.f64 a a)))))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
42.3b
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) 3)) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
54.1b
(*.f64 (*.f64 (*.f64 2 (/.f64 (-.f64 (pow.f64 b 6) (pow.f64 a 6)) (+.f64 (pow.f64 b 4) (+.f64 (pow.f64 a 4) (*.f64 (*.f64 a a) (*.f64 b b)))))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
33.5b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (-.f64 1 (*.f64 1/64800 (*.f64 (*.f64 angle angle) (pow.f64 PI.f64 2)))))
29.0b
(*.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 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)) 3)) 3)))
29.3b
(*.f64 (*.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 a a))) (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 a a)))) (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
29.3b
(*.f64 (*.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 a a))) (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 a a)))) (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
29.3b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (cbrt.f64 (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))))) (cbrt.f64 (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))))) (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)) 3)))
41.7b
(*.f64 (exp.f64 (log.f64 (*.f64 2 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (-.f64 (*.f64 b b) (*.f64 a a)))))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
44.7b
(*.f64 (*.f64 (*.f64 2 (exp.f64 (log.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
44.7b
(*.f64 (*.f64 (*.f64 2 (exp.f64 (log.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
42.4b
(*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (cbrt.f64 (pow.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3))) (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)) 3)))
29.3b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (cbrt.f64 (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))))) (cbrt.f64 (*.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
31.5b
(*.f64 (*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
33.5b
(*.f64 (-.f64 (*.f64 (*.f64 (pow.f64 PI.f64 3) (*.f64 (pow.f64 angle 3) 1/17496000)) (-.f64 (*.f64 a a) (*.f64 b b))) (-.f64 (*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (*.f64 a a)))) (*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (*.f64 b b)))))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
39.6b
(*.f64 (*.f64 (*.f64 2 (neg.f64 (*.f64 a a))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)) 3)))
41.0b
(*.f64 (*.f64 (*.f64 2 (*.f64 b b)) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
29.4b
(*.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cbrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a)))) (cbrt.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180))))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
31.5b
(*.f64 (*.f64 angle (*.f64 1/90 (*.f64 PI.f64 (-.f64 (*.f64 b b) (*.f64 a a))))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
51.9b
(*.f64 (log.f64 (pow.f64 (exp.f64 (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
39.6b
(*.f64 (*.f64 (*.f64 2 (neg.f64 (*.f64 a a))) (sin.f64 (*.f64 PI.f64 (/.f64 angle 180)))) (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))))
41.8b
(*.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)))
40.9b
(*.f64 (*.f64 2 (*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle PI.f64))) (*.f64 b b))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 PI.f64 (/.f64 angle 180))) 3)))
Compiler

Compiled 2142 to 1464 computations (31.7% saved)

regimes4.1s (31.5%)

Accuracy

Total 1.5b remaining (4.8%)

Threshold costs 0b (0%)

Compiler

Compiled 80301 to 63100 computations (21.4% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
sub-neg_binary64 +-commutative_binary64
neg-mul-1_binary64 neg-sub0_binary64
cancel-sign-sub-inv_binary64 distribute-lft-neg-out_binary64 distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02042
13042
23742
34142
44342
54342

end1.0ms (0%)

Compiler

Compiled 29 to 21 computations (27.6% saved)

sample4.7s (36.1%)

Algorithm
intervals
Results
785.0ms1500×body1024valid
670.0ms1269×body1024invalid
619.0ms5080×body128valid
288.0ms78×body4096valid
286.0ms767×body512valid
246.0ms648×body512invalid
166.0ms171×body2048valid
153.0ms1259×body128invalid
107.0ms404×body256valid
80.0ms327×body256invalid
Compiler

Compiled 1002 to 714 computations (28.7% saved)

Profiling

Loading profile data...