ab-angle->ABCF A

Time bar (total: 8.6s)

analyze25.0ms (0.3%)

Memory
-11.6MiB live, 7.4MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 48 to 32 computations (33.3% saved)

sample8.0s (93.2%)

Memory
63.4MiB live, 2 074.7MiB allocated
Samples
3.0s3 614×1valid-baseline
1.2s3 614×1valid-sollya
1.1s3 614×1valid-rival
547.0ms4 642×0valid-baseline
543.0ms4 642×0valid-sollya
433.0ms4 642×0valid-rival
Precisions
Click to see Rival histograms. Total time spent on operations: 1.2s
ival-sin: 309.0ms (24.9% of total)
ival-cos: 253.0ms (20.4% of total)
ival-mult: 213.0ms (17.1% of total)
ival-pow2: 208.0ms (16.7% of total)
ival-div: 102.0ms (8.2% of total)
adjust: 53.0ms (4.3% of total)
ival-add: 52.0ms (4.2% of total)
ival-pi: 39.0ms (3.1% of total)
ival-true: 7.0ms (0.6% of total)
...in/eval/compile.rkt:76:19: 4.0ms (0.3% of total)
ival-assert: 3.0ms (0.2% of total)
Precisions
Click to see Base histograms. Total time spent on operations: 2.9s
ival-pow: 1.6s (55.7% of total)
ival-mult: 373.0ms (12.8% of total)
ival-sin: 295.0ms (10.1% of total)
ival-cos: 269.0ms (9.2% of total)
ival-div: 161.0ms (5.5% of total)
ival-add: 93.0ms (3.2% of total)
ival-pi: 74.0ms (2.5% of total)
const: 30.0ms (1% of total)
Bogosity

preprocess524.0ms (6.1%)

Memory
-12.6MiB live, 38.3MiB allocated
Algorithm
egg-herbie
Rules
1 559×fma-define
631×fmm-def
579×unsub-neg
451×distribute-lft-neg-in
434×distribute-rgt-in
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
066893
1135881
2378881
31237881
42152881
53309881
64599881
75272881
85605881
95800881
105891881
115969881
127214881
137443881
147547881
157576881
167608881
177608881
187608881
197608881
207618881
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 (neg.f64 a) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 (neg.f64 b) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 (neg.f64 angle) #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (neg.f64 angle) #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))
(neg.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 a) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))))
(neg.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 (neg.f64 b) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))))
(neg.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 (neg.f64 angle) #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (neg.f64 angle) #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))))
(+.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 angle (sin.f64 (*.f64 (/.f64 a #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 a #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 b #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 angle (cos.f64 (*.f64 (/.f64 b #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))
Outputs
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) #s(literal 1/180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (*.f64 (PI.f64) #s(literal 1/180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) #s(literal 1/180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (*.f64 (PI.f64) #s(literal 1/180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 (neg.f64 a) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) #s(literal 1/180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (*.f64 (PI.f64) #s(literal 1/180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 (neg.f64 b) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) #s(literal 1/180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (*.f64 (PI.f64) #s(literal 1/180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 (neg.f64 angle) #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (neg.f64 angle) #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) #s(literal 1/180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (*.f64 (PI.f64) #s(literal 1/180 binary64))))) #s(literal 2 binary64)))
(neg.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 a) (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))))
(neg.f64 (+.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) (neg.f64 a)) #s(literal 2 binary64))))
(-.f64 (neg.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) #s(literal 180 binary64))))) #s(literal 2 binary64))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) #s(literal 180 binary64))))) #s(literal 2 binary64)))
(-.f64 (neg.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) #s(literal 180 binary64))))) #s(literal 2 binary64))) (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) #s(literal 180 binary64))))) #s(literal 2 binary64)))
(-.f64 (neg.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (*.f64 (PI.f64) #s(literal 1/180 binary64))))) #s(literal 2 binary64))) (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) #s(literal 1/180 binary64))))) #s(literal 2 binary64)))
(neg.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 (neg.f64 b) (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))))
(neg.f64 (+.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) (neg.f64 a)) #s(literal 2 binary64))))
(-.f64 (neg.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) #s(literal 180 binary64))))) #s(literal 2 binary64))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) #s(literal 180 binary64))))) #s(literal 2 binary64)))
(-.f64 (neg.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) #s(literal 180 binary64))))) #s(literal 2 binary64))) (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) #s(literal 180 binary64))))) #s(literal 2 binary64)))
(-.f64 (neg.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (*.f64 (PI.f64) #s(literal 1/180 binary64))))) #s(literal 2 binary64))) (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) #s(literal 1/180 binary64))))) #s(literal 2 binary64)))
(neg.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 (neg.f64 angle) #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 (neg.f64 angle) #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64))))
(neg.f64 (+.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) (neg.f64 a)) #s(literal 2 binary64))))
(-.f64 (neg.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) #s(literal 180 binary64))))) #s(literal 2 binary64))) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) #s(literal 180 binary64))))) #s(literal 2 binary64)))
(-.f64 (neg.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (/.f64 (PI.f64) #s(literal 180 binary64))))) #s(literal 2 binary64))) (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (/.f64 (PI.f64) #s(literal 180 binary64))))) #s(literal 2 binary64)))
(-.f64 (neg.f64 (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (*.f64 (PI.f64) #s(literal 1/180 binary64))))) #s(literal 2 binary64))) (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) #s(literal 1/180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64))) b) #s(literal 2 binary64)) (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 angle (/.f64 (PI.f64) #s(literal 180 binary64)))) b) #s(literal 2 binary64)) (pow.f64 (*.f64 a (cos.f64 (*.f64 angle (/.f64 (PI.f64) #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) #s(literal 1/180 binary64)))) b) #s(literal 2 binary64)) (pow.f64 (*.f64 a (cos.f64 (*.f64 angle (*.f64 (PI.f64) #s(literal 1/180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 angle (sin.f64 (*.f64 (/.f64 a #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 a #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 angle (sin.f64 (*.f64 (PI.f64) (/.f64 a #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (PI.f64) (/.f64 a #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 angle (sin.f64 (*.f64 a (/.f64 (PI.f64) #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 a (/.f64 (PI.f64) #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 angle (sin.f64 (*.f64 a (*.f64 (PI.f64) #s(literal 1/180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 a (*.f64 (PI.f64) #s(literal 1/180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 b #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 angle (cos.f64 (*.f64 (/.f64 b #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (/.f64 b #s(literal 180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 angle (cos.f64 (*.f64 (PI.f64) (/.f64 b #s(literal 180 binary64))))) #s(literal 2 binary64)))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 b #s(literal 1/180 binary64))))) #s(literal 2 binary64)) (pow.f64 (*.f64 angle (cos.f64 (*.f64 (PI.f64) (*.f64 b #s(literal 1/180 binary64))))) #s(literal 2 binary64)))
Symmetry

(abs a)

(abs b)

(abs angle)

Compiler

Compiled 24 to 15 computations (37.5% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
83.1%
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))
Compiler

Compiled 48 to 30 computations (37.5% saved)

simplify2.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Algorithm
egg-herbie
Rules
*-commutative
+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02279
12679
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))
Outputs
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle #s(literal 180 binary64)) (PI.f64)))) #s(literal 2 binary64)))

soundness0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Stop Event
fuel
Compiler

Compiled 24 to 15 computations (37.5% saved)

preprocess27.0ms (0.3%)

Memory
12.2MiB live, 27.8MiB allocated
Remove

(abs angle)

(abs b)

(abs a)

Compiler

Compiled 384 to 240 computations (37.5% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...