Details

Time bar (total: 9.3s)

analyze636.0ms (6.8%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
0%0%99.9%0.1%0%0%0%5
25%25%74.9%0.1%0%0%0%6
25%25%74.9%0.1%0%0%0%7
31.3%31.2%68.6%0.1%0%0%0%8
35.7%31.2%56.2%0.1%12.5%0%0%9
35.7%31.2%56.2%0.1%12.5%0%0%10
41.1%35.9%51.5%0.1%12.5%0%0%11
51.3%44.9%42.5%0.1%12.5%0%0%12
Compiler

Compiled 25 to 20 computations (20% saved)

sample6.2s (66.4%)

Results
1.7s1591×body1024valid
1.3s1424×body1024infinite
1.3s5662×body256valid
958.0ms803×body512valid
386.0ms686×body512infinite
288.0ms1057×body256infinite
282.0ms197×body2048valid
14.0msbody4096valid
Bogosity

preprocess4.0ms (0%)

Algorithm
egg-herbie
Rules
22×rational.json-simplify-2
rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
042268
157268
033
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(+.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))
(+.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 angle (sin.f64 (*.f64 (/.f64 a 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 a 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 b 180) (PI.f64)))) 2) (pow.f64 (*.f64 angle (cos.f64 (*.f64 (/.f64 b 180) (PI.f64)))) 2))
Outputs
(+.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))
(+.f64 (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) b) 2) (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 angle (sin.f64 (*.f64 (/.f64 a 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 a 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 angle (sin.f64 (*.f64 (PI.f64) (/.f64 a 180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (PI.f64) (/.f64 a 180)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 b 180) (PI.f64)))) 2) (pow.f64 (*.f64 angle (cos.f64 (*.f64 (/.f64 b 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (/.f64 b 180)))) 2) (pow.f64 (*.f64 angle (cos.f64 (*.f64 (PI.f64) (/.f64 b 180)))) 2))
Compiler

Compiled 27 to 22 computations (18.5% saved)

simplify12.0ms (0.1%)

Algorithm
egg-herbie
Rules
rational.json-simplify-2
rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01967
12367
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(+.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))
Outputs
(+.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))

eval1.0ms (0%)

Compiler

Compiled 24 to 19 computations (20.8% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
19.6b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
19.6b
(+.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))
Compiler

Compiled 24 to 19 computations (20.8% saved)

localize37.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)
0.3b
(*.f64 (/.f64 angle 180) (PI.f64))
23.7b
(sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))
23.7b
(cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))
Compiler

Compiled 86 to 58 computations (32.6% saved)

series7.0ms (0.1%)

Counts
4 → 60
Calls

15 calls:

TimeVariablePointExpression
2.0ms
a
@0
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)
1.0ms
angle
@0
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)
1.0ms
angle
@inf
(*.f64 (/.f64 angle 180) (PI.f64))
1.0ms
angle
@inf
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)
0.0ms
angle
@-inf
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)

rewrite8.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
38×bool.json-1
34×rational.json-simplify-2
30×rational.json-1
30×rational.json-2
30×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01584
16684
210484
310884
Stop Event
saturated
Counts
4 → 14
Calls
Call 1
Inputs
(cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))
(sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))
(*.f64 (/.f64 angle 180) (PI.f64))
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x or (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x or (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 angle 180) (PI.f64)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 angle 180) (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (/.f64 angle 180) (PI.f64)) (*.f64 (/.f64 angle 180) (PI.f64)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) a) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) a) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) a) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) a) 2))))) (#(struct:change #<rule egg-rr> (2) ((x or (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) a) 2) (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) a) 2))))))

simplify39.0ms (0.4%)

Algorithm
egg-herbie
Rules
242×rational.json-simplify-2
170×rational.json-simplify-1
116×rational.json-simplify-31
104×rational.json-simplify-33
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01132578
11982578
23102578
34152578
44752578
54772578
Stop Event
saturated
Counts
74 → 71
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1/64800 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))))
(+.f64 1 (+.f64 (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4))) (*.f64 -1/64800 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))))
(+.f64 (*.f64 -1/24488801280000000 (*.f64 (pow.f64 angle 6) (pow.f64 (PI.f64) 6))) (+.f64 1 (+.f64 (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4))) (*.f64 -1/64800 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))))))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))) (*.f64 1/180 (*.f64 angle (PI.f64))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))) (+.f64 (*.f64 1/180 (*.f64 angle (PI.f64))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 (PI.f64) 5)))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))) (+.f64 (*.f64 1/180 (*.f64 angle (PI.f64))) (+.f64 (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 (PI.f64) 5))) (*.f64 -1/30855889612800000000 (*.f64 (pow.f64 angle 7) (pow.f64 (PI.f64) 7))))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/1224440064000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))) (*.f64 1/2040733440000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6)))))))
(+.f64 (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 -1/396718580736000000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 8))) (*.f64 -1/2777030065152000000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 8))))) (+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/1224440064000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))) (*.f64 1/2040733440000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))))))))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(+.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) 0)
(+.f64 0 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))
(*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) 1)
(*.f64 1 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))
(+.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) 0)
(+.f64 0 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))))
(*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) 1)
(*.f64 1 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))))
(+.f64 (*.f64 (/.f64 angle 180) (PI.f64)) 0)
(+.f64 0 (*.f64 (/.f64 angle 180) (PI.f64)))
(+.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) a) 2) 0)
(+.f64 0 (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) a) 2))
(*.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) a) 2) 1)
(*.f64 1 (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) a) 2))
Outputs
1
(+.f64 1 (*.f64 -1/64800 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))))
(+.f64 1 (*.f64 (pow.f64 angle 2) (*.f64 -1/64800 (pow.f64 (PI.f64) 2))))
(+.f64 1 (+.f64 (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4))) (*.f64 -1/64800 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))))
(+.f64 1 (+.f64 (*.f64 (pow.f64 angle 2) (*.f64 -1/64800 (pow.f64 (PI.f64) 2))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4)))))
(+.f64 1 (+.f64 (*.f64 (pow.f64 angle 2) (*.f64 -1/64800 (pow.f64 (PI.f64) 2))) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 1/25194240000 (pow.f64 angle 4)))))
(+.f64 (*.f64 -1/24488801280000000 (*.f64 (pow.f64 angle 6) (pow.f64 (PI.f64) 6))) (+.f64 1 (+.f64 (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4))) (*.f64 -1/64800 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))))))
(+.f64 (+.f64 1 (+.f64 (*.f64 (pow.f64 angle 2) (*.f64 -1/64800 (pow.f64 (PI.f64) 2))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4))))) (*.f64 -1/24488801280000000 (*.f64 (pow.f64 angle 6) (pow.f64 (PI.f64) 6))))
(+.f64 (+.f64 (*.f64 (pow.f64 angle 2) (*.f64 -1/64800 (pow.f64 (PI.f64) 2))) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 1/25194240000 (pow.f64 angle 4)))) (+.f64 1 (*.f64 (pow.f64 (PI.f64) 6) (*.f64 -1/24488801280000000 (pow.f64 angle 6)))))
(+.f64 1 (+.f64 (+.f64 (*.f64 (pow.f64 angle 2) (*.f64 -1/64800 (pow.f64 (PI.f64) 2))) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 1/25194240000 (pow.f64 angle 4)))) (*.f64 (pow.f64 (PI.f64) 6) (*.f64 -1/24488801280000000 (pow.f64 angle 6)))))
(+.f64 1 (+.f64 (*.f64 (pow.f64 angle 2) (*.f64 -1/64800 (pow.f64 (PI.f64) 2))) (+.f64 (*.f64 (pow.f64 (PI.f64) 4) (*.f64 1/25194240000 (pow.f64 angle 4))) (*.f64 (pow.f64 (PI.f64) 6) (*.f64 -1/24488801280000000 (pow.f64 angle 6))))))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 angle (*.f64 1/180 (PI.f64))))
(cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 angle (*.f64 1/180 (PI.f64))))
(cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 angle (*.f64 1/180 (PI.f64))))
(cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 angle (*.f64 1/180 (PI.f64))))
(cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 angle (*.f64 1/180 (PI.f64))))
(cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 angle (*.f64 1/180 (PI.f64))))
(cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 angle (*.f64 1/180 (PI.f64))))
(cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 angle (*.f64 1/180 (PI.f64))))
(cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 angle (*.f64 1/180 (PI.f64)))
(*.f64 angle (*.f64 (PI.f64) 1/180))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))) (*.f64 1/180 (*.f64 angle (PI.f64))))
(+.f64 (*.f64 angle (*.f64 1/180 (PI.f64))) (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))))
(+.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)) (*.f64 (pow.f64 (PI.f64) 3) (*.f64 -1/34992000 (pow.f64 angle 3))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))) (+.f64 (*.f64 1/180 (*.f64 angle (PI.f64))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 (PI.f64) 5)))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))) (+.f64 (*.f64 angle (*.f64 1/180 (PI.f64))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 (PI.f64) 5)))))
(+.f64 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 -1/34992000 (pow.f64 angle 3))) (+.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)) (*.f64 (pow.f64 (PI.f64) 5) (*.f64 1/22674816000000 (pow.f64 angle 5)))))
(+.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)) (+.f64 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 -1/34992000 (pow.f64 angle 3))) (*.f64 (pow.f64 (PI.f64) 5) (*.f64 1/22674816000000 (pow.f64 angle 5)))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))) (+.f64 (*.f64 1/180 (*.f64 angle (PI.f64))) (+.f64 (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 (PI.f64) 5))) (*.f64 -1/30855889612800000000 (*.f64 (pow.f64 angle 7) (pow.f64 (PI.f64) 7))))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))) (+.f64 (*.f64 angle (*.f64 1/180 (PI.f64))) (+.f64 (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 (PI.f64) 5))) (*.f64 -1/30855889612800000000 (*.f64 (pow.f64 angle 7) (pow.f64 (PI.f64) 7))))))
(+.f64 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 -1/34992000 (pow.f64 angle 3))) (+.f64 (+.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)) (*.f64 (pow.f64 (PI.f64) 5) (*.f64 1/22674816000000 (pow.f64 angle 5)))) (*.f64 -1/30855889612800000000 (*.f64 (pow.f64 angle 7) (pow.f64 (PI.f64) 7)))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64))))
(sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64))))
(sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64))))
(sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64))))
(sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64))))
(sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64))))
(sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64))))
(sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64))))
(sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 angle (*.f64 1/180 (PI.f64)))
(*.f64 angle (*.f64 (PI.f64) 1/180))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 angle (*.f64 1/180 (PI.f64)))
(*.f64 angle (*.f64 (PI.f64) 1/180))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 angle (*.f64 1/180 (PI.f64)))
(*.f64 angle (*.f64 (PI.f64) 1/180))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 angle (*.f64 1/180 (PI.f64)))
(*.f64 angle (*.f64 (PI.f64) 1/180))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 angle (*.f64 1/180 (PI.f64)))
(*.f64 angle (*.f64 (PI.f64) 1/180))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 angle (*.f64 1/180 (PI.f64)))
(*.f64 angle (*.f64 (PI.f64) 1/180))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 angle (*.f64 1/180 (PI.f64)))
(*.f64 angle (*.f64 (PI.f64) 1/180))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 angle (*.f64 1/180 (PI.f64)))
(*.f64 angle (*.f64 (PI.f64) 1/180))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 angle (*.f64 1/180 (PI.f64)))
(*.f64 angle (*.f64 (PI.f64) 1/180))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 angle (*.f64 1/180 (PI.f64)))
(*.f64 angle (*.f64 (PI.f64) 1/180))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 angle (*.f64 1/180 (PI.f64)))
(*.f64 angle (*.f64 (PI.f64) 1/180))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 angle (*.f64 1/180 (PI.f64)))
(*.f64 angle (*.f64 (PI.f64) 1/180))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 angle 2) (*.f64 1/32400 (*.f64 (pow.f64 (PI.f64) 2) (pow.f64 a 2))))
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 a 2))))
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 a 2) 1/32400)))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))))
(+.f64 (*.f64 (pow.f64 angle 2) (*.f64 1/32400 (*.f64 (pow.f64 (PI.f64) 2) (pow.f64 a 2)))) (*.f64 (pow.f64 angle 4) (*.f64 -1/3149280000 (*.f64 (pow.f64 (PI.f64) 4) (pow.f64 a 2)))))
(+.f64 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 a 2)))) (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 -1/3149280000 (pow.f64 a 2)))))
(+.f64 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 a 2) 1/32400))) (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 (pow.f64 a 2) -1/3149280000))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/1224440064000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))) (*.f64 1/2040733440000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6)))))))
(+.f64 (*.f64 (pow.f64 angle 4) (*.f64 -1/3149280000 (*.f64 (pow.f64 (PI.f64) 4) (pow.f64 a 2)))) (+.f64 (*.f64 (pow.f64 angle 2) (*.f64 1/32400 (*.f64 (pow.f64 (PI.f64) 2) (pow.f64 a 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 (pow.f64 a 2) (*.f64 1/1224440064000000 (pow.f64 (PI.f64) 6))) (*.f64 (pow.f64 a 2) (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6)))))))
(+.f64 (+.f64 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 a 2)))) (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 -1/3149280000 (pow.f64 a 2))))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 (pow.f64 (PI.f64) 6) (*.f64 1/1224440064000000 (pow.f64 a 2))) (*.f64 (pow.f64 (PI.f64) 6) (*.f64 1/2040733440000000 (pow.f64 a 2))))))
(+.f64 (+.f64 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 a 2) 1/32400))) (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 (pow.f64 a 2) -1/3149280000)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 (pow.f64 (PI.f64) 6) (*.f64 (pow.f64 a 2) 1/1224440064000000)) (*.f64 (pow.f64 (PI.f64) 6) (*.f64 (pow.f64 a 2) 1/2040733440000000)))))
(+.f64 (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 -1/396718580736000000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 8))) (*.f64 -1/2777030065152000000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 8))))) (+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/1224440064000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))) (*.f64 1/2040733440000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))))))))
(+.f64 (+.f64 (*.f64 (pow.f64 angle 4) (*.f64 -1/3149280000 (*.f64 (pow.f64 (PI.f64) 4) (pow.f64 a 2)))) (+.f64 (*.f64 (pow.f64 angle 2) (*.f64 1/32400 (*.f64 (pow.f64 (PI.f64) 2) (pow.f64 a 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 (pow.f64 a 2) (*.f64 1/1224440064000000 (pow.f64 (PI.f64) 6))) (*.f64 (pow.f64 a 2) (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6))))))) (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 (pow.f64 a 2) (*.f64 -1/396718580736000000000 (pow.f64 (PI.f64) 8))) (*.f64 (pow.f64 a 2) (*.f64 -1/2777030065152000000000 (pow.f64 (PI.f64) 8))))))
(+.f64 (+.f64 (+.f64 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 a 2)))) (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 -1/3149280000 (pow.f64 a 2))))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 (pow.f64 (PI.f64) 6) (*.f64 1/1224440064000000 (pow.f64 a 2))) (*.f64 (pow.f64 (PI.f64) 6) (*.f64 1/2040733440000000 (pow.f64 a 2)))))) (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 (pow.f64 (PI.f64) 8) (*.f64 -1/396718580736000000000 (pow.f64 a 2))) (*.f64 (pow.f64 (PI.f64) 8) (*.f64 -1/2777030065152000000000 (pow.f64 a 2))))))
(+.f64 (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 (pow.f64 (PI.f64) 6) (*.f64 (pow.f64 a 2) 1/1224440064000000)) (*.f64 (pow.f64 (PI.f64) 6) (*.f64 (pow.f64 a 2) 1/2040733440000000)))) (+.f64 (+.f64 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 a 2) 1/32400))) (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 (pow.f64 a 2) -1/3149280000)))) (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 (pow.f64 (PI.f64) 8) (*.f64 (pow.f64 a 2) -1/396718580736000000000)) (*.f64 (pow.f64 (PI.f64) 8) (*.f64 (pow.f64 a 2) -1/2777030065152000000000))))))
(+.f64 (+.f64 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 a 2) 1/32400))) (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 (pow.f64 a 2) -1/3149280000)))) (+.f64 (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 (pow.f64 (PI.f64) 6) (*.f64 (pow.f64 a 2) 1/1224440064000000)) (*.f64 (pow.f64 (PI.f64) 6) (*.f64 (pow.f64 a 2) 1/2040733440000000)))) (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 (pow.f64 (PI.f64) 8) (*.f64 (pow.f64 a 2) -1/396718580736000000000)) (*.f64 (pow.f64 (PI.f64) 8) (*.f64 (pow.f64 a 2) -1/2777030065152000000000))))))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2))
(+.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) 0)
(+.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))) 0)
(+.f64 0 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))
(+.f64 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))) 0)
(*.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) 1)
(*.f64 1 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))
(*.f64 1 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))
(*.f64 1 (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))
(+.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) 0)
(+.f64 0 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))
(+.f64 0 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))))
(+.f64 0 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))
(*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) 1)
(*.f64 1 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))
(*.f64 1 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))))
(*.f64 1 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))
(+.f64 (*.f64 (/.f64 angle 180) (PI.f64)) 0)
(+.f64 (*.f64 (PI.f64) (/.f64 angle 180)) 0)
(+.f64 0 (*.f64 (/.f64 angle 180) (PI.f64)))
(+.f64 (*.f64 (PI.f64) (/.f64 angle 180)) 0)
(+.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) a) 2) 0)
(+.f64 0 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
(+.f64 0 (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) a) 2))
(+.f64 0 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
(*.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) a) 2) 1)
(*.f64 1 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))
(*.f64 1 (pow.f64 (*.f64 (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))) a) 2))
(*.f64 1 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 2))

eval47.0ms (0.5%)

Compiler

Compiled 2542 to 1920 computations (24.5% saved)

prune25.0ms (0.3%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New631174
Fresh000
Picked101
Done000
Total641175
Error
19.1b
Counts
75 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
25.7b
(+.f64 (pow.f64 (*.f64 a (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
25.7b
(+.f64 (pow.f64 (*.f64 a (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
19.6b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2))
19.7b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2))
19.7b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
19.6b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
19.6b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
33.4b
(+.f64 (*.f64 (pow.f64 angle 2) (*.f64 1/32400 (*.f64 (pow.f64 (PI.f64) 2) (pow.f64 a 2)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
27.5b
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
27.5b
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
33.4b
(+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
Compiler

Compiled 534 to 428 computations (19.9% saved)

localize52.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2)
0.3b
(*.f64 (/.f64 angle 180) (PI.f64))
23.7b
(cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))
23.8b
(sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
Compiler

Compiled 95 to 64 computations (32.6% saved)

series1.0ms (0%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
angle
@0
(pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2)
0.0ms
angle
@0
(sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
0.0ms
a
@0
(pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2)
0.0ms
angle
@inf
(pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2)
0.0ms
a
@inf
(pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2)

rewrite7.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
44×rational.json-simplify-2
40×bool.json-1
32×rational.json-1
32×rational.json-2
32×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01450
16550
210850
312250
412350
Stop Event
saturated
Counts
2 → 8
Calls
Call 1
Inputs
(sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
(pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))))) (#(struct:change #<rule egg-rr> (2) ((x or (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a) 2))))) (#(struct:change #<rule egg-rr> (2) ((x or (pow.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a) 2) (pow.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a) 2))))))

simplify230.0ms (2.5%)

Algorithm
egg-herbie
Rules
206×rational.json-simplify-2
114×rational.json-simplify-1
104×rational.json-simplify-31
70×rational.json-simplify-33
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0911908
11601908
22431908
33241908
43741908
53771908
Stop Event
saturated
Counts
44 → 38
Calls
Call 1
Inputs
(*.f64 1/180 (*.f64 angle (PI.f64)))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))) (*.f64 1/180 (*.f64 angle (PI.f64))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))) (+.f64 (*.f64 1/180 (*.f64 angle (PI.f64))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 (PI.f64) 5)))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))) (+.f64 (*.f64 1/180 (*.f64 angle (PI.f64))) (+.f64 (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 (PI.f64) 5))) (*.f64 -1/30855889612800000000 (*.f64 (pow.f64 angle 7) (pow.f64 (PI.f64) 7))))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/1224440064000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))) (*.f64 1/2040733440000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6)))))))
(+.f64 (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 -1/396718580736000000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 8))) (*.f64 -1/2777030065152000000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 8))))) (+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/1224440064000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))) (*.f64 1/2040733440000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))))))))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(+.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 0)
(+.f64 0 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))
(*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 1)
(*.f64 1 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))
(+.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a) 2) 0)
(+.f64 0 (pow.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a) 2))
(*.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a) 2) 1)
(*.f64 1 (pow.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a) 2))
Outputs
(*.f64 1/180 (*.f64 angle (PI.f64)))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))) (*.f64 1/180 (*.f64 angle (PI.f64))))
(+.f64 (*.f64 1/180 (*.f64 angle (PI.f64))) (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))))
(+.f64 (*.f64 1/180 (*.f64 angle (PI.f64))) (*.f64 (pow.f64 (PI.f64) 3) (*.f64 -1/34992000 (pow.f64 angle 3))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))) (+.f64 (*.f64 1/180 (*.f64 angle (PI.f64))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 (PI.f64) 5)))))
(+.f64 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 -1/34992000 (pow.f64 angle 3))) (+.f64 (*.f64 1/180 (*.f64 angle (PI.f64))) (*.f64 (pow.f64 (PI.f64) 5) (*.f64 1/22674816000000 (pow.f64 angle 5)))))
(+.f64 (*.f64 1/180 (*.f64 angle (PI.f64))) (+.f64 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 -1/34992000 (pow.f64 angle 3))) (*.f64 (pow.f64 (PI.f64) 5) (*.f64 1/22674816000000 (pow.f64 angle 5)))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))) (+.f64 (*.f64 1/180 (*.f64 angle (PI.f64))) (+.f64 (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 (PI.f64) 5))) (*.f64 -1/30855889612800000000 (*.f64 (pow.f64 angle 7) (pow.f64 (PI.f64) 7))))))
(+.f64 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 -1/34992000 (pow.f64 angle 3))) (+.f64 (+.f64 (*.f64 1/180 (*.f64 angle (PI.f64))) (*.f64 (pow.f64 (PI.f64) 5) (*.f64 1/22674816000000 (pow.f64 angle 5)))) (*.f64 -1/30855889612800000000 (*.f64 (pow.f64 angle 7) (pow.f64 (PI.f64) 7)))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 angle 2) (pow.f64 a 2))))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))))
(+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 -1/3149280000 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4)))))
(+.f64 (*.f64 1/32400 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 angle 2) (pow.f64 a 2)))) (*.f64 (pow.f64 a 2) (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4)))))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2)))) (*.f64 (pow.f64 a 2) (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4)))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/1224440064000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))) (*.f64 1/2040733440000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6)))))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/1224440064000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))) (*.f64 (pow.f64 a 2) (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6)))))))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 angle 2) (pow.f64 a 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 (pow.f64 (PI.f64) 6) (*.f64 1/1224440064000000 (pow.f64 a 2))) (*.f64 (pow.f64 (PI.f64) 6) (*.f64 1/2040733440000000 (pow.f64 a 2)))))))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2)))) (+.f64 (*.f64 (pow.f64 a 2) (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 (pow.f64 (PI.f64) 6) (*.f64 (pow.f64 a 2) 1/1224440064000000)) (*.f64 (pow.f64 (PI.f64) 6) (*.f64 (pow.f64 a 2) 1/2040733440000000))))))
(+.f64 (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 -1/396718580736000000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 8))) (*.f64 -1/2777030065152000000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 8))))) (+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/1224440064000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))) (*.f64 1/2040733440000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))))))))
(+.f64 (+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/1224440064000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))) (*.f64 (pow.f64 a 2) (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6))))))) (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 -1/396718580736000000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 8))) (*.f64 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 8)) -1/2777030065152000000000))))
(+.f64 (+.f64 (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 (pow.f64 (PI.f64) 8) (*.f64 -1/396718580736000000000 (pow.f64 a 2))) (*.f64 (pow.f64 (PI.f64) 8) (*.f64 -1/2777030065152000000000 (pow.f64 a 2))))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 angle 2) (pow.f64 a 2)))) (*.f64 (pow.f64 a 2) (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4)))))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 (pow.f64 (PI.f64) 6) (*.f64 1/1224440064000000 (pow.f64 a 2))) (*.f64 (pow.f64 (PI.f64) 6) (*.f64 1/2040733440000000 (pow.f64 a 2))))))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2)))) (+.f64 (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 (pow.f64 (PI.f64) 6) (*.f64 (pow.f64 a 2) 1/1224440064000000)) (*.f64 (pow.f64 (PI.f64) 6) (*.f64 (pow.f64 a 2) 1/2040733440000000)))) (+.f64 (*.f64 (pow.f64 a 2) (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4)))) (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 (pow.f64 (PI.f64) 8) (*.f64 (pow.f64 a 2) -1/396718580736000000000)) (*.f64 (pow.f64 (PI.f64) 8) (*.f64 (pow.f64 a 2) -1/2777030065152000000000)))))))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(+.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 0)
(+.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 0)
(+.f64 0 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))
(+.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 0)
(*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 1)
(*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 1)
(*.f64 1 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))
(*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 1)
(+.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a) 2) 0)
(+.f64 0 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2))
(+.f64 0 (pow.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a) 2))
(+.f64 0 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2))
(*.f64 (pow.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a) 2) 1)
(*.f64 1 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2))
(*.f64 1 (pow.f64 (*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) a) 2))
(*.f64 1 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2))

localize28.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))))
0.3b
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)
0.3b
(*.f64 (/.f64 angle 180) (PI.f64))
23.7b
(sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))
Compiler

Compiled 66 to 46 computations (30.3% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
angle
@0
(*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))))
0.0ms
a
@inf
(*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))))
0.0ms
a
@0
(*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))))
0.0ms
a
@-inf
(*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))))
0.0ms
angle
@-inf
(*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))))

rewrite5.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
32×bool.json-1
30×rational.json-simplify-2
26×rational.json-1
26×rational.json-2
26×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01225
15425
28825
39225
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))))))

simplify18.0ms (0.2%)

Algorithm
egg-herbie
Rules
212×rational.json-simplify-2
138×rational.json-simplify-31
56×rational.json-simplify-1
36×rational.json-simplify-33
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
048874
189874
2160874
3247874
4304874
5305874
Stop Event
saturated
Counts
26 → 19
Calls
Call 1
Inputs
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (*.f64 a (pow.f64 (PI.f64) 3)))) (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (*.f64 a (pow.f64 (PI.f64) 3)))) (+.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (*.f64 a (pow.f64 (PI.f64) 5))))))
(+.f64 (*.f64 -1/30855889612800000000 (*.f64 (pow.f64 angle 7) (*.f64 a (pow.f64 (PI.f64) 7)))) (+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (*.f64 a (pow.f64 (PI.f64) 3)))) (+.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (*.f64 a (pow.f64 (PI.f64) 5)))))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(+.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 0)
(+.f64 0 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))
Outputs
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64))))
(*.f64 a (*.f64 1/180 (*.f64 angle (PI.f64))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (*.f64 a (pow.f64 (PI.f64) 3)))) (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))))
(+.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (*.f64 a (pow.f64 (PI.f64) 3)))))
(+.f64 (*.f64 a (*.f64 1/180 (*.f64 angle (PI.f64)))) (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (*.f64 a (pow.f64 (PI.f64) 3)))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (*.f64 a (pow.f64 (PI.f64) 3)))) (+.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (*.f64 a (pow.f64 (PI.f64) 5))))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (*.f64 a (pow.f64 (PI.f64) 3)))) (+.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (*.f64 a (pow.f64 (PI.f64) 5))))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (*.f64 a (pow.f64 (PI.f64) 3)))) (+.f64 (*.f64 a (*.f64 1/180 (*.f64 angle (PI.f64)))) (*.f64 a (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 (PI.f64) 5))))))
(+.f64 (*.f64 a (*.f64 1/180 (*.f64 angle (PI.f64)))) (+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (*.f64 a (pow.f64 (PI.f64) 3)))) (*.f64 a (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 (PI.f64) 5))))))
(+.f64 (*.f64 -1/30855889612800000000 (*.f64 (pow.f64 angle 7) (*.f64 a (pow.f64 (PI.f64) 7)))) (+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (*.f64 a (pow.f64 (PI.f64) 3)))) (+.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (*.f64 a (pow.f64 (PI.f64) 5)))))))
(+.f64 (+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (*.f64 a (pow.f64 (PI.f64) 3)))) (+.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (*.f64 a (pow.f64 (PI.f64) 5)))))) (*.f64 -1/30855889612800000000 (*.f64 (pow.f64 angle 7) (*.f64 a (pow.f64 (PI.f64) 7)))))
(+.f64 (+.f64 (*.f64 a (*.f64 1/180 (*.f64 angle (PI.f64)))) (*.f64 a (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 (PI.f64) 5))))) (+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (*.f64 a (pow.f64 (PI.f64) 3)))) (*.f64 -1/30855889612800000000 (*.f64 (pow.f64 angle 7) (*.f64 a (pow.f64 (PI.f64) 7))))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (*.f64 a (pow.f64 (PI.f64) 3)))) (+.f64 (+.f64 (*.f64 -1/30855889612800000000 (*.f64 (pow.f64 angle 7) (*.f64 a (pow.f64 (PI.f64) 7)))) (*.f64 a (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 (PI.f64) 5))))) (*.f64 a (*.f64 1/180 (*.f64 angle (PI.f64))))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (*.f64 a (pow.f64 (PI.f64) 3)))) (+.f64 (*.f64 a (*.f64 1/180 (*.f64 angle (PI.f64)))) (+.f64 (*.f64 a (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 (PI.f64) 5)))) (*.f64 -1/30855889612800000000 (*.f64 (pow.f64 angle 7) (*.f64 a (pow.f64 (PI.f64) 7)))))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(+.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 0)
(+.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 0)
(+.f64 0 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))
(+.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180)))) 0)

localize36.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 a (*.f64 angle (*.f64 (PI.f64) 1/180)))
0.3b
(pow.f64 (*.f64 a (*.f64 angle (*.f64 (PI.f64) 1/180))) 2)
0.3b
(*.f64 (/.f64 angle 180) (PI.f64))
23.7b
(cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))
Compiler

Compiled 86 to 57 computations (33.7% saved)

series7.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
3.0ms
a
@0
(pow.f64 (*.f64 a (*.f64 angle (*.f64 (PI.f64) 1/180))) 2)
1.0ms
angle
@0
(pow.f64 (*.f64 a (*.f64 angle (*.f64 (PI.f64) 1/180))) 2)
1.0ms
angle
@inf
(pow.f64 (*.f64 a (*.f64 angle (*.f64 (PI.f64) 1/180))) 2)
1.0ms
a
@inf
(pow.f64 (*.f64 a (*.f64 angle (*.f64 (PI.f64) 1/180))) 2)
0.0ms
angle
@-inf
(pow.f64 (*.f64 a (*.f64 angle (*.f64 (PI.f64) 1/180))) 2)

rewrite7.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
82×rational.json-simplify-2
54×bool.json-1
46×rational.json-1
46×rational.json-simplify-31
46×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01248
15948
211148
315848
418648
519048
Stop Event
saturated
Counts
2 → 6
Calls
Call 1
Inputs
(pow.f64 (*.f64 a (*.f64 angle (*.f64 (PI.f64) 1/180))) 2)
(*.f64 a (*.f64 angle (*.f64 (PI.f64) 1/180)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x or (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))))))))

simplify26.0ms (0.3%)

Algorithm
egg-herbie
Rules
108×rational.json-simplify-2
72×rational.json-simplify-31
rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0301626
1471626
2781626
31131626
41331626
51331626
Stop Event
saturated
Counts
54 → 20
Calls
Call 1
Inputs
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) 0)
(+.f64 0 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) 1)
(*.f64 1 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2))
(+.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 0)
(+.f64 0 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))))
Outputs
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle)))
(*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle)))
(*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle)))
(*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle)))
(*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle)))
(*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle)))
(*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle)))
(*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle)))
(*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle)))
(*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle)))
(*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle)))
(*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle)))
(*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle)))
(*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle)))
(*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle)))
(*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle)))
(*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle)))
(*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle)))
(*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle)))
(*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle)))
(*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle)))
(*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle)))
(*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle)))
(*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle)))
(*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180)))
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) 0)
(+.f64 (pow.f64 (*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64)))) 2) 0)
(+.f64 (pow.f64 (*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle))) 2) 0)
(+.f64 (pow.f64 (*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180))) 2) 0)
(+.f64 0 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64)))) 2) 0)
(+.f64 (pow.f64 (*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle))) 2) 0)
(+.f64 (pow.f64 (*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180))) 2) 0)
(*.f64 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) 1)
(*.f64 (pow.f64 (*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64)))) 2) 1)
(*.f64 (pow.f64 (*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle))) 2) 1)
(*.f64 (pow.f64 (*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180))) 2) 1)
(*.f64 1 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 (*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64)))) 2) 1)
(*.f64 (pow.f64 (*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle))) 2) 1)
(*.f64 (pow.f64 (*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180))) 2) 1)
(+.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 0)
(+.f64 (*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64)))) 0)
(+.f64 (*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle))) 0)
(+.f64 (*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180))) 0)
(+.f64 0 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))))
(+.f64 (*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64)))) 0)
(+.f64 (*.f64 a (*.f64 (PI.f64) (*.f64 1/180 angle))) 0)
(+.f64 (*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180))) 0)

localize39.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)
0.3b
(*.f64 (/.f64 angle 180) (PI.f64))
23.5b
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
23.7b
(sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))
Compiler

Compiled 95 to 58 computations (38.9% saved)

series0.0ms (0%)

Counts
1 → 4
Calls

3 calls:

TimeVariablePointExpression
0.0ms
angle
@0
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
0.0ms
angle
@inf
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
0.0ms
angle
@-inf
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))

rewrite6.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
36×rational.json-simplify-2
32×bool.json-1
26×rational.json-1
26×rational.json-2
26×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01019
14819
28519
39919
410019
Stop Event
saturated
Counts
1 → 4
Calls
Call 1
Inputs
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (cos.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) (cos.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))))))))

simplify10.0ms (0.1%)

Algorithm
egg-herbie
Rules
56×rational.json-simplify-1
50×rational.json-simplify-2
34×rational.json-simplify-33
16×rational.json-simplify-31
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
038296
162296
291296
3116296
4128296
5129296
Stop Event
saturated
Counts
8 → 14
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1/64800 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))))
(+.f64 1 (+.f64 (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4))) (*.f64 -1/64800 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))))
(+.f64 (*.f64 -1/24488801280000000 (*.f64 (pow.f64 angle 6) (pow.f64 (PI.f64) 6))) (+.f64 1 (+.f64 (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4))) (*.f64 -1/64800 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))))))
(+.f64 (cos.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 0)
(+.f64 0 (cos.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))))
(*.f64 (cos.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 1)
(*.f64 1 (cos.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))))
Outputs
1
(+.f64 1 (*.f64 -1/64800 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))))
(+.f64 1 (+.f64 (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4))) (*.f64 -1/64800 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))))
(+.f64 1 (+.f64 (*.f64 -1/64800 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4)))))
(+.f64 (*.f64 -1/24488801280000000 (*.f64 (pow.f64 angle 6) (pow.f64 (PI.f64) 6))) (+.f64 1 (+.f64 (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4))) (*.f64 -1/64800 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))))))
(+.f64 (+.f64 1 (+.f64 (*.f64 -1/64800 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4))))) (*.f64 -1/24488801280000000 (*.f64 (pow.f64 angle 6) (pow.f64 (PI.f64) 6))))
(+.f64 (+.f64 (*.f64 -1/64800 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4)))) (+.f64 1 (*.f64 -1/24488801280000000 (*.f64 (pow.f64 angle 6) (pow.f64 (PI.f64) 6)))))
(+.f64 1 (+.f64 (+.f64 (*.f64 -1/64800 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4)))) (*.f64 -1/24488801280000000 (*.f64 (pow.f64 angle 6) (pow.f64 (PI.f64) 6)))))
(+.f64 (cos.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 0)
(+.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 0)
(+.f64 0 (cos.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))))
(+.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 0)
(*.f64 (cos.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 1)
(*.f64 1 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))
(*.f64 1 (cos.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))))
(*.f64 1 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))

localize44.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)
9.2b
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
23.7b
(cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))
23.8b
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
Compiler

Compiled 102 to 65 computations (36.3% saved)

series4.0ms (0%)

Counts
3 → 12
Calls

12 calls:

TimeVariablePointExpression
1.0ms
angle
@0
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
1.0ms
angle
@inf
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
1.0ms
a
@0
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
0.0ms
angle
@-inf
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
0.0ms
a
@inf
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))

rewrite7.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
46×rational.json-simplify-2
42×bool.json-1
34×rational.json-1
34×rational.json-2
34×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01581
16981
211481
312881
412981
Stop Event
saturated
Counts
3 → 10
Calls
Call 1
Inputs
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2)) (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x or (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))))))

simplify25.0ms (0.3%)

Algorithm
egg-herbie
Rules
200×rational.json-simplify-2
164×rational.json-simplify-1
106×rational.json-simplify-33
98×rational.json-simplify-31
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01021402
11831402
22821402
33701402
44181402
54191402
Stop Event
saturated
Counts
22 → 64
Calls
Call 1
Inputs
(*.f64 1/180 (*.f64 angle (PI.f64)))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))) (*.f64 1/180 (*.f64 angle (PI.f64))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))) (+.f64 (*.f64 1/180 (*.f64 angle (PI.f64))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 (PI.f64) 5)))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))) (+.f64 (*.f64 1/180 (*.f64 angle (PI.f64))) (+.f64 (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 (PI.f64) 5))) (*.f64 -1/30855889612800000000 (*.f64 (pow.f64 angle 7) (pow.f64 (PI.f64) 7))))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 (pow.f64 angle 6) (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6)) (*.f64 1/1224440064000000 (pow.f64 (PI.f64) 6))))) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 (pow.f64 angle 6) (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6)) (*.f64 1/1224440064000000 (pow.f64 (PI.f64) 6))))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 angle 8) (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1/2777030065152000000000 (pow.f64 (PI.f64) 8)) (*.f64 -1/396718580736000000000 (pow.f64 (PI.f64) 8))))))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))
(+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))) (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4))))
(+.f64 (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6)) (*.f64 1/1224440064000000 (pow.f64 (PI.f64) 6)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))) (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4)))))
(+.f64 (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6)) (*.f64 1/1224440064000000 (pow.f64 (PI.f64) 6)))) (+.f64 (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 -1/2777030065152000000000 (pow.f64 (PI.f64) 8)) (*.f64 -1/396718580736000000000 (pow.f64 (PI.f64) 8)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))) (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4))))))
(+.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 0)
(+.f64 0 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))))
(*.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 1)
(*.f64 1 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))))
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2)) 0)
(+.f64 0 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2)))
(+.f64 (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2) 0)
(+.f64 0 (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))
(*.f64 (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2) 1)
(*.f64 1 (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))
Outputs
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 (PI.f64) (*.f64 angle 1/180))
(*.f64 (PI.f64) (*.f64 1/180 angle))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))) (*.f64 1/180 (*.f64 angle (PI.f64))))
(+.f64 (*.f64 1/180 (*.f64 angle (PI.f64))) (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))))
(+.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)) (*.f64 (pow.f64 (PI.f64) 3) (*.f64 -1/34992000 (pow.f64 angle 3))))
(+.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)) (*.f64 (pow.f64 (PI.f64) 3) (*.f64 -1/34992000 (pow.f64 angle 3))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))) (+.f64 (*.f64 1/180 (*.f64 angle (PI.f64))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 (PI.f64) 5)))))
(+.f64 (+.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)) (*.f64 (pow.f64 (PI.f64) 3) (*.f64 -1/34992000 (pow.f64 angle 3)))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 (PI.f64) 5))))
(+.f64 (+.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)) (*.f64 (pow.f64 (PI.f64) 3) (*.f64 -1/34992000 (pow.f64 angle 3)))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 (PI.f64) 5))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))) (+.f64 (*.f64 1/180 (*.f64 angle (PI.f64))) (+.f64 (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 (PI.f64) 5))) (*.f64 -1/30855889612800000000 (*.f64 (pow.f64 angle 7) (pow.f64 (PI.f64) 7))))))
(+.f64 (+.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)) (*.f64 (pow.f64 (PI.f64) 3) (*.f64 -1/34992000 (pow.f64 angle 3)))) (+.f64 (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 (PI.f64) 5))) (*.f64 -1/30855889612800000000 (*.f64 (pow.f64 angle 7) (pow.f64 (PI.f64) 7)))))
(+.f64 (+.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)) (*.f64 (pow.f64 (PI.f64) 3) (*.f64 -1/34992000 (pow.f64 angle 3)))) (+.f64 (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 (PI.f64) 5))) (*.f64 -1/30855889612800000000 (*.f64 (pow.f64 angle 7) (pow.f64 (PI.f64) 7)))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 a 2) (pow.f64 angle 2))))
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))))
(+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 -1/3149280000 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4)))))
(+.f64 (*.f64 1/32400 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 a 2) (pow.f64 angle 2)))) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 -1/3149280000 (pow.f64 angle 4)))))
(+.f64 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 -1/3149280000 (pow.f64 angle 4)))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 (pow.f64 angle 6) (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6)) (*.f64 1/1224440064000000 (pow.f64 (PI.f64) 6))))) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6)) (*.f64 (pow.f64 (PI.f64) 6) 1/1224440064000000))))))
(+.f64 (*.f64 1/32400 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 a 2) (pow.f64 angle 2)))) (+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 -1/3149280000 (pow.f64 angle 4)))) (*.f64 (+.f64 (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6)) (*.f64 (pow.f64 (PI.f64) 6) 1/1224440064000000)) (*.f64 (pow.f64 a 2) (pow.f64 angle 6)))))
(+.f64 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2)))) (+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 -1/3149280000 (pow.f64 angle 4)))) (*.f64 (+.f64 (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6)) (*.f64 (pow.f64 (PI.f64) 6) 1/1224440064000000)) (*.f64 (pow.f64 a 2) (pow.f64 angle 6)))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 (pow.f64 angle 6) (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6)) (*.f64 1/1224440064000000 (pow.f64 (PI.f64) 6))))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 angle 8) (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1/2777030065152000000000 (pow.f64 (PI.f64) 8)) (*.f64 -1/396718580736000000000 (pow.f64 (PI.f64) 8))))))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6)) (*.f64 (pow.f64 (PI.f64) 6) 1/1224440064000000)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 -1/2777030065152000000000 (pow.f64 (PI.f64) 8)) (*.f64 (pow.f64 (PI.f64) 8) -1/396718580736000000000)))))))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 -1/3149280000 (pow.f64 angle 4)))) (+.f64 (*.f64 (+.f64 (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6)) (*.f64 (pow.f64 (PI.f64) 6) 1/1224440064000000)) (*.f64 (pow.f64 a 2) (pow.f64 angle 6))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 a 2) (pow.f64 angle 2)))) (*.f64 (+.f64 (*.f64 -1/2777030065152000000000 (pow.f64 (PI.f64) 8)) (*.f64 (pow.f64 (PI.f64) 8) -1/396718580736000000000)) (*.f64 (pow.f64 a 2) (pow.f64 angle 8))))))
(+.f64 (*.f64 (+.f64 (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6)) (*.f64 (pow.f64 (PI.f64) 6) 1/1224440064000000)) (*.f64 (pow.f64 a 2) (pow.f64 angle 6))) (+.f64 (+.f64 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 -1/3149280000 (pow.f64 angle 4))))) (*.f64 (+.f64 (*.f64 -1/2777030065152000000000 (pow.f64 (PI.f64) 8)) (*.f64 (pow.f64 (PI.f64) 8) -1/396718580736000000000)) (*.f64 (pow.f64 a 2) (pow.f64 angle 8)))))
(+.f64 (+.f64 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 -1/3149280000 (pow.f64 angle 4))))) (+.f64 (*.f64 (+.f64 (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6)) (*.f64 (pow.f64 (PI.f64) 6) 1/1224440064000000)) (*.f64 (pow.f64 a 2) (pow.f64 angle 6))) (*.f64 (+.f64 (*.f64 -1/2777030065152000000000 (pow.f64 (PI.f64) 8)) (*.f64 (pow.f64 (PI.f64) 8) -1/396718580736000000000)) (*.f64 (pow.f64 a 2) (pow.f64 angle 8)))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))
(+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))) (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4))))
(+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 -1/3149280000 (pow.f64 angle 4))))
(+.f64 (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6)) (*.f64 1/1224440064000000 (pow.f64 (PI.f64) 6)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))) (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4)))))
(+.f64 (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))) (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6)) (*.f64 (pow.f64 (PI.f64) 6) 1/1224440064000000))))
(+.f64 (*.f64 (pow.f64 (PI.f64) 4) (*.f64 -1/3149280000 (pow.f64 angle 4))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6)) (*.f64 (pow.f64 (PI.f64) 6) 1/1224440064000000)))))
(+.f64 (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6)) (*.f64 1/1224440064000000 (pow.f64 (PI.f64) 6)))) (+.f64 (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 -1/2777030065152000000000 (pow.f64 (PI.f64) 8)) (*.f64 -1/396718580736000000000 (pow.f64 (PI.f64) 8)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))) (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4))))))
(+.f64 (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6)) (*.f64 (pow.f64 (PI.f64) 6) 1/1224440064000000))) (+.f64 (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))) (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4)))) (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 -1/2777030065152000000000 (pow.f64 (PI.f64) 8)) (*.f64 (pow.f64 (PI.f64) 8) -1/396718580736000000000)))))
(+.f64 (+.f64 (+.f64 (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6)) (*.f64 (pow.f64 (PI.f64) 6) 1/1224440064000000))) (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 -1/2777030065152000000000 (pow.f64 (PI.f64) 8)) (*.f64 (pow.f64 (PI.f64) 8) -1/396718580736000000000)))) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 -1/3149280000 (pow.f64 angle 4))))
(+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))) (+.f64 (*.f64 (pow.f64 (PI.f64) 4) (*.f64 -1/3149280000 (pow.f64 angle 4))) (+.f64 (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6)) (*.f64 (pow.f64 (PI.f64) 6) 1/1224440064000000))) (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 -1/2777030065152000000000 (pow.f64 (PI.f64) 8)) (*.f64 (pow.f64 (PI.f64) 8) -1/396718580736000000000))))))
(+.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 0)
(+.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 0)
(+.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 0)
(+.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 0)
(+.f64 0 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))))
(+.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 0)
(+.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 0)
(+.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 0)
(*.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 1)
(*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 1)
(*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 1)
(*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 1)
(*.f64 1 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))))
(*.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 1)
(*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 1)
(*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 1)
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2)) 0)
(+.f64 0 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)))
(+.f64 0 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 2)))
(+.f64 0 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2)))
(+.f64 0 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2)))
(+.f64 0 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)))
(+.f64 0 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 2)))
(+.f64 0 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2)))
(+.f64 (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2) 0)
(+.f64 0 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(+.f64 0 (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 2))
(+.f64 0 (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2))
(+.f64 0 (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))
(+.f64 0 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(+.f64 0 (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 2))
(+.f64 0 (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2))
(*.f64 (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2) 1)
(*.f64 1 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 1 (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 2))
(*.f64 1 (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2))
(*.f64 1 (pow.f64 (sin.f64 (*.f64 angle (*.f64 1/180 (PI.f64)))) 2))
(*.f64 1 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 1 (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 2))
(*.f64 1 (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2))

eval196.0ms (2.1%)

Compiler

Compiled 10846 to 8124 computations (25.1% saved)

prune122.0ms (1.3%)

Pruning

18 alts after pruning (16 fresh and 2 done)

PrunedKeptTotal
New30815323
Fresh516
Picked101
Done224
Total31618334
Error
19.1b
Counts
334 → 18
Alt Table
Click to see full alt table
StatusErrorProgram
25.7b
(+.f64 (pow.f64 (*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
25.7b
(+.f64 (pow.f64 (*.f64 a (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2))
26.0b
(+.f64 (pow.f64 (*.f64 a (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (pow.f64 (*.f64 b 1) 2))
26.0b
(+.f64 (pow.f64 (*.f64 a (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
19.6b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2))
19.7b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2))
19.7b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
19.7b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2) (pow.f64 (*.f64 b 1) 2))
19.7b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 b 1) 2))
26.0b
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
26.0b
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
34.5b
(+.f64 (+.f64 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2)))) (+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 -1/3149280000 (pow.f64 angle 4)))) (*.f64 (+.f64 (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6)) (*.f64 (pow.f64 (PI.f64) 6) 1/1224440064000000)) (*.f64 (pow.f64 a 2) (pow.f64 angle 6))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
27.6b
(+.f64 (+.f64 0 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 2))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
33.8b
(+.f64 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 a 2) 1/32400))) (pow.f64 (*.f64 b 1) 2))
27.6b
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2)) (pow.f64 (*.f64 b 1) 2))
27.6b
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (pow.f64 (*.f64 b 1) 2))
33.5b
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
33.7b
(+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (pow.f64 (*.f64 b 1) 2))
Compiler

Compiled 807 to 665 computations (17.6% saved)

localize42.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)
0.3b
(*.f64 (/.f64 angle 180) (PI.f64))
23.6b
(cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
23.7b
(sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))
Compiler

Compiled 95 to 64 computations (32.6% saved)

series0.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
angle
@0
(cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
0.0ms
angle
@inf
(cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
0.0ms
angle
@-inf
(cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))

rewrite6.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
36×rational.json-simplify-2
32×bool.json-1
26×rational.json-1
26×rational.json-2
26×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01019
14819
28519
39919
410019
Stop Event
saturated
Counts
1 → 4
Calls
Call 1
Inputs
(cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))))) (#(struct:change #<rule egg-rr> (2) ((x or (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))))))

simplify12.0ms (0.1%)

Algorithm
egg-herbie
Rules
56×rational.json-simplify-1
50×rational.json-simplify-2
34×rational.json-simplify-33
16×rational.json-simplify-31
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041448
167448
294448
3117448
4129448
5130448
Stop Event
saturated
Counts
16 → 13
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1/64800 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))))
(+.f64 1 (+.f64 (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4))) (*.f64 -1/64800 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))))
(+.f64 (*.f64 -1/24488801280000000 (*.f64 (pow.f64 angle 6) (pow.f64 (PI.f64) 6))) (+.f64 1 (+.f64 (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4))) (*.f64 -1/64800 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))))))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(+.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 0)
(+.f64 0 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))
(*.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 1)
(*.f64 1 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))
Outputs
1
(+.f64 1 (*.f64 -1/64800 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))))
(+.f64 1 (+.f64 (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4))) (*.f64 -1/64800 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))))
(+.f64 1 (+.f64 (*.f64 -1/64800 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4)))))
(+.f64 (*.f64 -1/24488801280000000 (*.f64 (pow.f64 angle 6) (pow.f64 (PI.f64) 6))) (+.f64 1 (+.f64 (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4))) (*.f64 -1/64800 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))))))
(+.f64 (+.f64 1 (+.f64 (*.f64 -1/64800 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4))))) (*.f64 -1/24488801280000000 (*.f64 (pow.f64 angle 6) (pow.f64 (PI.f64) 6))))
(+.f64 (+.f64 (*.f64 -1/64800 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))) (*.f64 1/25194240000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4)))) (+.f64 1 (*.f64 -1/24488801280000000 (*.f64 (pow.f64 angle 6) (pow.f64 (PI.f64) 6)))))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
(cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
(+.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 0)
(+.f64 0 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))
(+.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 0)
(*.f64 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 1)
(*.f64 1 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))
(*.f64 1 (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 57 to 30 computations (47.4% saved)

series2.0ms (0%)

Counts
4 → 72
Calls

21 calls:

TimeVariablePointExpression
0.0ms
a
@-inf
(*.f64 a (*.f64 angle (PI.f64)))
0.0ms
angle
@-inf
(*.f64 a (*.f64 angle (PI.f64)))
0.0ms
angle
@-inf
(*.f64 angle (PI.f64))
0.0ms
a
@0
(pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2)
0.0ms
angle
@inf
(pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2)

rewrite8.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
80×rational.json-simplify-2
54×bool.json-1
48×rational.json-simplify-31
46×rational.json-1
46×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01272
15972
211172
315972
418672
519072
Stop Event
saturated
Counts
4 → 10
Calls
Call 1
Inputs
(pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2)
(*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64))))
(*.f64 a (*.f64 angle (PI.f64)))
(*.f64 angle (PI.f64))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x or (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (*.f64 angle (PI.f64))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 a (*.f64 angle (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 a (*.f64 angle (PI.f64))) (*.f64 a (*.f64 angle (PI.f64))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 angle (PI.f64)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 angle (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 angle (PI.f64)) (*.f64 angle (PI.f64)))))))

simplify31.0ms (0.3%)

Algorithm
egg-herbie
Rules
106×rational.json-simplify-2
72×rational.json-simplify-31
rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0342058
1512058
2822058
31152058
41362058
51362058
Stop Event
saturated
Counts
82 → 26
Calls
Call 1
Inputs
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) 0)
(+.f64 0 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) 1)
(*.f64 1 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2))
(+.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 0)
(+.f64 0 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))))
(+.f64 (*.f64 a (*.f64 angle (PI.f64))) 0)
(+.f64 0 (*.f64 a (*.f64 angle (PI.f64))))
(+.f64 (*.f64 angle (PI.f64)) 0)
(+.f64 0 (*.f64 angle (PI.f64)))
Outputs
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64))))
(*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 angle (*.f64 a (PI.f64)))
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) 0)
(+.f64 (pow.f64 (*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64)))) 2) 0)
(+.f64 (pow.f64 (*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64)))) 2) 0)
(+.f64 (pow.f64 (*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180))) 2) 0)
(+.f64 0 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64)))) 2) 0)
(+.f64 (pow.f64 (*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64)))) 2) 0)
(+.f64 (pow.f64 (*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180))) 2) 0)
(*.f64 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) 1)
(*.f64 (pow.f64 (*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64)))) 2) 1)
(*.f64 (pow.f64 (*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64)))) 2) 1)
(*.f64 (pow.f64 (*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180))) 2) 1)
(*.f64 1 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 (*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64)))) 2) 1)
(*.f64 (pow.f64 (*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64)))) 2) 1)
(*.f64 (pow.f64 (*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180))) 2) 1)
(+.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 0)
(+.f64 (*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64)))) 0)
(+.f64 (*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64)))) 0)
(+.f64 (*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180))) 0)
(+.f64 0 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))))
(+.f64 (*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64)))) 0)
(+.f64 (*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64)))) 0)
(+.f64 (*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180))) 0)
(+.f64 (*.f64 a (*.f64 angle (PI.f64))) 0)
(+.f64 (*.f64 angle (*.f64 a (PI.f64))) 0)
(+.f64 0 (*.f64 a (*.f64 angle (PI.f64))))
(+.f64 (*.f64 angle (*.f64 a (PI.f64))) 0)
(+.f64 (*.f64 angle (PI.f64)) 0)
(+.f64 0 (*.f64 angle (PI.f64)))
(+.f64 (*.f64 angle (PI.f64)) 0)

localize28.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 angle (PI.f64))
0.3b
(*.f64 1/180 (*.f64 angle (PI.f64)))
0.3b
(pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2)
23.8b
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
Compiler

Compiled 66 to 40 computations (39.4% saved)

series1.0ms (0%)

Counts
2 → 24
Calls

9 calls:

TimeVariablePointExpression
0.0ms
angle
@0
(pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2)
0.0ms
a
@0
(pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2)
0.0ms
a
@inf
(pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2)
0.0ms
angle
@inf
(pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2)
0.0ms
angle
@-inf
(pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2)

rewrite6.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
44×rational.json-simplify-2
40×bool.json-1
32×rational.json-1
32×rational.json-2
32×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01446
16546
210846
312146
412246
Stop Event
saturated
Counts
2 → 6
Calls
Call 1
Inputs
(pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2)
(*.f64 1/180 (*.f64 angle (PI.f64)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)))) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)))) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x or (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)))) 2) (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (PI.f64) (*.f64 1/180 angle)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (PI.f64) (*.f64 1/180 angle)) (*.f64 (PI.f64) (*.f64 1/180 angle)))))))

simplify24.0ms (0.3%)

Algorithm
egg-herbie
Rules
166×rational.json-simplify-2
88×rational.json-simplify-31
62×rational.json-simplify-1
34×rational.json-simplify-33
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0651446
11131446
21721446
32321446
42681446
52691446
Stop Event
saturated
Counts
30 → 24
Calls
Call 1
Inputs
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/1224440064000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))) (*.f64 1/2040733440000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6)))))))
(+.f64 (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 -1/396718580736000000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 8))) (*.f64 -1/2777030065152000000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 8))))) (+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/1224440064000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))) (*.f64 1/2040733440000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))))))))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)))) 2) 0)
(+.f64 0 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)))) 2))
(*.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)))) 2) 1)
(*.f64 1 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)))) 2))
(+.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)) 0)
(+.f64 0 (*.f64 (PI.f64) (*.f64 1/180 angle)))
Outputs
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))))
(+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2)))) (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/1224440064000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))) (*.f64 1/2040733440000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6)))))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/1224440064000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))) (*.f64 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6)) 1/2040733440000000)))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/1224440064000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))) (*.f64 (pow.f64 (PI.f64) 6) (*.f64 1/2040733440000000 (pow.f64 a 2)))))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/1224440064000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))) (*.f64 (pow.f64 (PI.f64) 6) (*.f64 (pow.f64 a 2) 1/2040733440000000))))))
(+.f64 (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 -1/396718580736000000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 8))) (*.f64 -1/2777030065152000000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 8))))) (+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/1224440064000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))) (*.f64 1/2040733440000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))))))))
(+.f64 (+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/1224440064000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))) (*.f64 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6)) 1/2040733440000000))))) (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 -1/396718580736000000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 8))) (*.f64 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 8)) -1/2777030065152000000000))))
(+.f64 (+.f64 (+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 -1/396718580736000000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 8))) (*.f64 (pow.f64 (PI.f64) 8) (*.f64 -1/2777030065152000000000 (pow.f64 a 2)))))) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/1224440064000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))) (*.f64 (pow.f64 (PI.f64) 6) (*.f64 1/2040733440000000 (pow.f64 a 2))))))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2)))) (+.f64 (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/1224440064000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))) (*.f64 (pow.f64 (PI.f64) 6) (*.f64 (pow.f64 a 2) 1/2040733440000000)))) (+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 -1/396718580736000000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 8))) (*.f64 (pow.f64 (PI.f64) 8) (*.f64 (pow.f64 a 2) -1/2777030065152000000000)))))))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2)))) (+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/1224440064000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))) (*.f64 (pow.f64 (PI.f64) 6) (*.f64 (pow.f64 a 2) 1/2040733440000000)))) (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 -1/396718580736000000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 8))) (*.f64 (pow.f64 (PI.f64) 8) (*.f64 (pow.f64 a 2) -1/2777030065152000000000)))))))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)))) 2) 0)
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) 0)
(+.f64 0 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) 0)
(*.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)))) 2) 1)
(*.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) 1)
(*.f64 1 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)))) 2))
(*.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) 1)
(+.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)) 0)
(+.f64 (*.f64 1/180 (*.f64 angle (PI.f64))) 0)
(+.f64 0 (*.f64 (PI.f64) (*.f64 1/180 angle)))
(+.f64 (*.f64 1/180 (*.f64 angle (PI.f64))) 0)

localize29.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 a 2)
0.1b
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
0.3b
(*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))
17.5b
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))
Compiler

Compiled 77 to 57 computations (26% saved)

series7.0ms (0.1%)

Counts
4 → 0
Calls

18 calls:

TimeVariablePointExpression
3.0ms
a
@0
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))
1.0ms
angle
@0
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))
0.0ms
a
@inf
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))
0.0ms
a
@-inf
(pow.f64 a 2)
0.0ms
a
@inf
(pow.f64 a 2)

rewrite8.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
86×rational.json-simplify-2
58×bool.json-1
52×rational.json-simplify-31
50×rational.json-1
50×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
014100
167100
2123100
3173100
4201100
5205100
Stop Event
saturated
Counts
4 → 10
Calls
Call 1
Inputs
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))
(*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(pow.f64 a 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))) (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 angle 2) 1/32400))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 angle 2) 1/32400))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 angle 2) 1/32400))) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 angle 2) 1/32400))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 a 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 a 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 a 2))))) (#(struct:change #<rule egg-rr> (2) ((x or (pow.f64 a 2) (pow.f64 a 2))))))

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Rules
50×rational.json-simplify-2
36×rational.json-simplify-31
rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
028274
139274
255274
370274
476274
Stop Event
saturated
Counts
10 → 13
Calls
Call 1
Inputs
(+.f64 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))) 0)
(+.f64 0 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)) 0)
(+.f64 0 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))
(+.f64 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 angle 2) 1/32400))) 0)
(+.f64 0 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 angle 2) 1/32400))))
(+.f64 (pow.f64 a 2) 0)
(+.f64 0 (pow.f64 a 2))
(*.f64 (pow.f64 a 2) 1)
(*.f64 1 (pow.f64 a 2))
Outputs
(+.f64 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))) 0)
(+.f64 0 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(+.f64 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))) 0)
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)) 0)
(+.f64 0 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)) 0)
(+.f64 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 angle 2) 1/32400))) 0)
(+.f64 0 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 angle 2) 1/32400))))
(+.f64 0 (*.f64 (pow.f64 angle 2) (*.f64 1/32400 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))))
(+.f64 0 (*.f64 (pow.f64 angle 2) (*.f64 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)) 1/32400)))
(+.f64 0 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 angle 2) 1/32400))))
(+.f64 0 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 angle 2) 1/32400))))
(+.f64 0 (*.f64 (pow.f64 angle 2) (*.f64 1/32400 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))))
(+.f64 0 (*.f64 (pow.f64 angle 2) (*.f64 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)) 1/32400)))
(+.f64 (pow.f64 a 2) 0)
(+.f64 0 (pow.f64 a 2))
(+.f64 (pow.f64 a 2) 0)
(*.f64 (pow.f64 a 2) 1)
(*.f64 1 (pow.f64 a 2))
(*.f64 (pow.f64 a 2) 1)

localize45.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (/.f64 angle 180) (PI.f64))
0.4b
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))
17.5b
(*.f64 (pow.f64 a 2) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))))
23.7b
(cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))
Compiler

Compiled 104 to 74 computations (28.8% saved)

series1.0ms (0%)

Counts
2 → 24
Calls

9 calls:

TimeVariablePointExpression
0.0ms
angle
@0
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))
0.0ms
angle
@inf
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))
0.0ms
a
@0
(*.f64 (pow.f64 a 2) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))))
0.0ms
angle
@inf
(*.f64 (pow.f64 a 2) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))))
0.0ms
a
@inf
(*.f64 (pow.f64 a 2) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))))

rewrite8.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
90×rational.json-simplify-2
60×bool.json-1
52×rational.json-1
52×rational.json-2
48×rational.json-simplify-31
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01466
16766
212366
317266
420466
520866
Stop Event
saturated
Counts
2 → 4
Calls
Call 1
Inputs
(*.f64 (pow.f64 a 2) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 a 2) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 a 2) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (pow.f64 a 2) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))))))))

simplify15.0ms (0.2%)

Algorithm
egg-herbie
Rules
56×rational.json-simplify-2
38×rational.json-simplify-31
rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0221092
1341092
2521092
3691092
4761092
Stop Event
saturated
Counts
28 → 10
Calls
Call 1
Inputs
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))) 0)
(+.f64 0 (*.f64 (pow.f64 a 2) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))))
(+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))) 0)
(+.f64 0 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))))
Outputs
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))) 0)
(+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) 0)
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2)))) 0)
(+.f64 0 (*.f64 (pow.f64 a 2) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))))
(+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) 0)
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2)))) 0)
(+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))) 0)
(+.f64 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))) 0)
(+.f64 (*.f64 (pow.f64 angle 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2))) 0)
(+.f64 0 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))))
(+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))) 0)
(+.f64 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))) 0)
(+.f64 (*.f64 (pow.f64 angle 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2))) 0)

eval156.0ms (1.7%)

Compiler

Compiled 5511 to 4202 computations (23.8% saved)

prune50.0ms (0.5%)

Pruning

21 alts after pruning (15 fresh and 6 done)

PrunedKeptTotal
New1805185
Fresh11011
Picked101
Done066
Total18221203
Error
19.1b
Counts
203 → 21
Alt Table
Click to see full alt table
StatusErrorProgram
26.0b
(+.f64 (pow.f64 (*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180))) 2) (pow.f64 (*.f64 b 1) 2))
26.0b
(+.f64 (pow.f64 (*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
19.7b
(+.f64 (pow.f64 (*.f64 a (+.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 0)) 2) (pow.f64 (*.f64 b 1) 2))
25.7b
(+.f64 (pow.f64 (*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
26.0b
(+.f64 (pow.f64 (*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180))) 2) (pow.f64 (*.f64 b 1) 2))
25.7b
(+.f64 (pow.f64 (*.f64 a (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2))
26.0b
(+.f64 (pow.f64 (*.f64 a (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (pow.f64 (*.f64 b 1) 2))
26.0b
(+.f64 (pow.f64 (*.f64 a (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
19.6b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2))
19.7b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2))
19.7b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
19.7b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2) (pow.f64 (*.f64 b 1) 2))
19.7b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 b 1) 2))
26.0b
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
26.0b
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
34.5b
(+.f64 (+.f64 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2)))) (+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 -1/3149280000 (pow.f64 angle 4)))) (*.f64 (+.f64 (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6)) (*.f64 (pow.f64 (PI.f64) 6) 1/1224440064000000)) (*.f64 (pow.f64 a 2) (pow.f64 angle 6))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
27.6b
(+.f64 (+.f64 0 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 2))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
27.6b
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2)) (pow.f64 (*.f64 b 1) 2))
27.6b
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (pow.f64 (*.f64 b 1) 2))
33.8b
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))) (pow.f64 (*.f64 b 1) 2))
33.7b
(+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (pow.f64 (*.f64 b 1) 2))
Compiler

Compiled 820 to 678 computations (17.3% saved)

localize31.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 angle (*.f64 (PI.f64) 1/180))
0.2b
(*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))
0.3b
(pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2)
23.8b
(sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))
Compiler

Compiled 66 to 46 computations (30.3% saved)

series1.0ms (0%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
angle
@0
(*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))
0.0ms
a
@0
(*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))
0.0ms
angle
@inf
(*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))
0.0ms
a
@inf
(*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))
0.0ms
a
@-inf
(*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))

rewrite6.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
42×rational.json-simplify-2
36×bool.json-1
30×rational.json-1
30×rational.json-2
30×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01240
15740
29840
311140
411240
Stop Event
saturated
Counts
2 → 4
Calls
Call 1
Inputs
(*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))
(*.f64 angle (*.f64 (PI.f64) 1/180))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 angle (*.f64 (PI.f64) 1/180)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 angle (*.f64 (PI.f64) 1/180)) (*.f64 angle (*.f64 (PI.f64) 1/180)))))))

simplify22.0ms (0.2%)

Algorithm
egg-herbie
Rules
208×rational.json-simplify-2
138×rational.json-simplify-31
58×rational.json-simplify-1
36×rational.json-simplify-33
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0491096
1911096
21601096
32441096
43011096
53021096
Stop Event
saturated
Counts
40 → 23
Calls
Call 1
Inputs
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (*.f64 a (pow.f64 (PI.f64) 3)))) (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (*.f64 a (pow.f64 (PI.f64) 3)))) (+.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (*.f64 a (pow.f64 (PI.f64) 5))))))
(+.f64 (*.f64 -1/30855889612800000000 (*.f64 (pow.f64 angle 7) (*.f64 a (pow.f64 (PI.f64) 7)))) (+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (*.f64 a (pow.f64 (PI.f64) 3)))) (+.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (*.f64 a (pow.f64 (PI.f64) 5)))))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(+.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 0)
(+.f64 0 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))
(+.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)) 0)
(+.f64 0 (*.f64 angle (*.f64 (PI.f64) 1/180)))
Outputs
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64))))
(*.f64 a (*.f64 1/180 (*.f64 angle (PI.f64))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (*.f64 a (pow.f64 (PI.f64) 3)))) (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))))
(+.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) (*.f64 -1/34992000 (*.f64 a (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3)))))
(+.f64 (*.f64 a (*.f64 1/180 (*.f64 angle (PI.f64)))) (*.f64 -1/34992000 (*.f64 a (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3)))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (*.f64 a (pow.f64 (PI.f64) 3)))) (+.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (*.f64 a (pow.f64 (PI.f64) 5))))))
(+.f64 (*.f64 -1/34992000 (*.f64 a (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3)))) (+.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (*.f64 a (pow.f64 (PI.f64) 5))))))
(+.f64 (*.f64 -1/34992000 (*.f64 a (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3)))) (+.f64 (*.f64 a (*.f64 1/180 (*.f64 angle (PI.f64)))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (*.f64 a (pow.f64 (PI.f64) 5))))))
(+.f64 (*.f64 a (*.f64 1/180 (*.f64 angle (PI.f64)))) (+.f64 (*.f64 -1/34992000 (*.f64 a (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3)))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (*.f64 a (pow.f64 (PI.f64) 5))))))
(+.f64 (*.f64 -1/30855889612800000000 (*.f64 (pow.f64 angle 7) (*.f64 a (pow.f64 (PI.f64) 7)))) (+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (*.f64 a (pow.f64 (PI.f64) 3)))) (+.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (*.f64 a (pow.f64 (PI.f64) 5)))))))
(+.f64 (+.f64 (*.f64 -1/34992000 (*.f64 a (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3)))) (+.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (*.f64 a (pow.f64 (PI.f64) 5)))))) (*.f64 -1/30855889612800000000 (*.f64 (pow.f64 angle 7) (*.f64 a (pow.f64 (PI.f64) 7)))))
(+.f64 (+.f64 (*.f64 a (*.f64 1/180 (*.f64 angle (PI.f64)))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (*.f64 a (pow.f64 (PI.f64) 5))))) (+.f64 (*.f64 -1/34992000 (*.f64 a (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3)))) (*.f64 -1/30855889612800000000 (*.f64 (pow.f64 angle 7) (*.f64 a (pow.f64 (PI.f64) 7))))))
(+.f64 (*.f64 a (*.f64 1/180 (*.f64 angle (PI.f64)))) (+.f64 (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (*.f64 a (pow.f64 (PI.f64) 5)))) (+.f64 (*.f64 -1/34992000 (*.f64 a (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3)))) (*.f64 -1/30855889612800000000 (*.f64 (pow.f64 angle 7) (*.f64 a (pow.f64 (PI.f64) 7)))))))
(+.f64 (*.f64 a (*.f64 1/180 (*.f64 angle (PI.f64)))) (+.f64 (*.f64 -1/34992000 (*.f64 a (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3)))) (+.f64 (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (*.f64 a (pow.f64 (PI.f64) 5)))) (*.f64 -1/30855889612800000000 (*.f64 (pow.f64 angle 7) (*.f64 a (pow.f64 (PI.f64) 7)))))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(+.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 0)
(+.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 0)
(+.f64 0 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))))
(+.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 0)
(+.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)) 0)
(+.f64 (*.f64 1/180 (*.f64 angle (PI.f64))) 0)
(+.f64 0 (*.f64 angle (*.f64 (PI.f64) 1/180)))
(+.f64 (*.f64 1/180 (*.f64 angle (PI.f64))) 0)

localize19.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 57 to 30 computations (47.4% saved)

series2.0ms (0%)

Counts
4 → 24
Calls

21 calls:

TimeVariablePointExpression
0.0ms
a
@inf
(*.f64 a (PI.f64))
0.0ms
a
@-inf
(*.f64 a (PI.f64))
0.0ms
angle
@0
(pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2)
0.0ms
angle
@inf
(pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2)
0.0ms
a
@inf
(pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2)

rewrite9.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
80×rational.json-simplify-2
54×bool.json-1
48×rational.json-simplify-31
46×rational.json-1
46×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01272
15972
211172
315972
418672
519072
Stop Event
saturated
Counts
4 → 10
Calls
Call 1
Inputs
(pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2)
(*.f64 a (PI.f64))
(*.f64 angle (*.f64 a (PI.f64)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x or (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2) (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (PI.f64)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 a (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 a (PI.f64)) (*.f64 a (PI.f64)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 angle (*.f64 a (PI.f64))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 angle (*.f64 a (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 angle (*.f64 a (PI.f64))) (*.f64 angle (*.f64 a (PI.f64))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))))))))

simplify18.0ms (0.2%)

Algorithm
egg-herbie
Rules
104×rational.json-simplify-2
72×rational.json-simplify-31
rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0311194
1451194
2731194
31081194
41331194
51341194
Stop Event
saturated
Counts
34 → 21
Calls
Call 1
Inputs
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2) 0)
(+.f64 0 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2))
(*.f64 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2) 1)
(*.f64 1 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2))
(+.f64 (*.f64 a (PI.f64)) 0)
(+.f64 0 (*.f64 a (PI.f64)))
(+.f64 (*.f64 angle (*.f64 a (PI.f64))) 0)
(+.f64 0 (*.f64 angle (*.f64 a (PI.f64))))
(+.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 0)
(+.f64 0 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))))
Outputs
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2) 0)
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) 0)
(+.f64 (pow.f64 (*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64)))) 2) 0)
(+.f64 (pow.f64 (*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180))) 2) 0)
(+.f64 0 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) 0)
(+.f64 (pow.f64 (*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64)))) 2) 0)
(+.f64 (pow.f64 (*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180))) 2) 0)
(*.f64 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2) 1)
(*.f64 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) 1)
(*.f64 (pow.f64 (*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64)))) 2) 1)
(*.f64 (pow.f64 (*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180))) 2) 1)
(*.f64 1 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2))
(*.f64 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) 1)
(*.f64 (pow.f64 (*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64)))) 2) 1)
(*.f64 (pow.f64 (*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180))) 2) 1)
(+.f64 (*.f64 a (PI.f64)) 0)
(+.f64 0 (*.f64 a (PI.f64)))
(+.f64 (*.f64 a (PI.f64)) 0)
(+.f64 (*.f64 angle (*.f64 a (PI.f64))) 0)
(+.f64 (*.f64 a (*.f64 angle (PI.f64))) 0)
(+.f64 0 (*.f64 angle (*.f64 a (PI.f64))))
(+.f64 (*.f64 a (*.f64 angle (PI.f64))) 0)
(+.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 0)
(+.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 0)
(+.f64 (*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64)))) 0)
(+.f64 (*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180))) 0)
(+.f64 0 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))))
(+.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 0)
(+.f64 (*.f64 angle (*.f64 a (*.f64 1/180 (PI.f64)))) 0)
(+.f64 (*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180))) 0)

localize23.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 57 to 39 computations (31.6% saved)

series2.0ms (0%)

Counts
4 → 72
Calls

18 calls:

TimeVariablePointExpression
0.0ms
angle
@0
(*.f64 angle 1/180)
0.0ms
angle
@inf
(*.f64 angle 1/180)
0.0ms
angle
@-inf
(*.f64 angle 1/180)
0.0ms
angle
@0
(*.f64 (PI.f64) (*.f64 angle 1/180))
0.0ms
a
@0
(pow.f64 (*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180))) 2)

rewrite8.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
82×rational.json-simplify-2
54×bool.json-1
46×rational.json-1
46×rational.json-simplify-31
46×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01270
15970
211170
315870
418670
519070
Stop Event
saturated
Counts
4 → 10
Calls
Call 1
Inputs
(*.f64 (PI.f64) (*.f64 angle 1/180))
(pow.f64 (*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180))) 2)
(*.f64 angle 1/180)
(*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (PI.f64) (*.f64 angle 1/180)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (PI.f64) (*.f64 angle 1/180)) (*.f64 (PI.f64) (*.f64 angle 1/180)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x or (pow.f64 (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))) 2) (pow.f64 (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 angle 1/180) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 angle 1/180))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 angle 1/180) (*.f64 angle 1/180))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))) (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))))))))

simplify35.0ms (0.4%)

Algorithm
egg-herbie
Rules
102×rational.json-simplify-2
68×rational.json-simplify-31
rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0391958
1661958
2961958
31211958
41331958
51331958
Stop Event
saturated
Counts
82 → 26
Calls
Call 1
Inputs
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/180 angle)
(*.f64 1/180 angle)
(*.f64 1/180 angle)
(*.f64 1/180 angle)
(*.f64 1/180 angle)
(*.f64 1/180 angle)
(*.f64 1/180 angle)
(*.f64 1/180 angle)
(*.f64 1/180 angle)
(*.f64 1/180 angle)
(*.f64 1/180 angle)
(*.f64 1/180 angle)
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(+.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)) 0)
(+.f64 0 (*.f64 (PI.f64) (*.f64 angle 1/180)))
(+.f64 (pow.f64 (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))) 2) 0)
(+.f64 0 (pow.f64 (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))) 2))
(*.f64 (pow.f64 (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))) 2) 1)
(*.f64 1 (pow.f64 (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))) 2))
(+.f64 (*.f64 angle 1/180) 0)
(+.f64 0 (*.f64 angle 1/180))
(+.f64 (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))) 0)
(+.f64 0 (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))))
Outputs
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 angle (*.f64 1/180 (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 angle (*.f64 1/180 (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 angle (*.f64 1/180 (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 angle (*.f64 1/180 (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 angle (*.f64 1/180 (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 angle (*.f64 1/180 (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 angle (*.f64 1/180 (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 angle (*.f64 1/180 (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 angle (*.f64 1/180 (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 angle (*.f64 1/180 (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 angle (*.f64 1/180 (PI.f64)))
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 angle (*.f64 1/180 (PI.f64)))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2))))
(*.f64 1/180 angle)
(*.f64 1/180 angle)
(*.f64 1/180 angle)
(*.f64 1/180 angle)
(*.f64 1/180 angle)
(*.f64 1/180 angle)
(*.f64 1/180 angle)
(*.f64 1/180 angle)
(*.f64 1/180 angle)
(*.f64 1/180 angle)
(*.f64 1/180 angle)
(*.f64 1/180 angle)
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a)))
(*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64))))
(*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a)))
(+.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)) 0)
(+.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)) 0)
(+.f64 (*.f64 angle (*.f64 1/180 (PI.f64))) 0)
(+.f64 0 (*.f64 (PI.f64) (*.f64 angle 1/180)))
(+.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)) 0)
(+.f64 (*.f64 angle (*.f64 1/180 (PI.f64))) 0)
(+.f64 (pow.f64 (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))) 2) 0)
(+.f64 0 (pow.f64 (*.f64 (PI.f64) (*.f64 1/180 (*.f64 angle a))) 2))
(+.f64 0 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a))) 2))
(+.f64 0 (pow.f64 (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))) 2))
(+.f64 0 (pow.f64 (*.f64 (PI.f64) (*.f64 1/180 (*.f64 angle a))) 2))
(+.f64 0 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a))) 2))
(*.f64 (pow.f64 (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))) 2) 1)
(*.f64 (pow.f64 (*.f64 (PI.f64) (*.f64 1/180 (*.f64 angle a))) 2) 1)
(*.f64 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a))) 2) 1)
(*.f64 1 (pow.f64 (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))) 2))
(*.f64 (pow.f64 (*.f64 (PI.f64) (*.f64 1/180 (*.f64 angle a))) 2) 1)
(*.f64 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a))) 2) 1)
(+.f64 (*.f64 angle 1/180) 0)
(+.f64 (*.f64 1/180 angle) 0)
(+.f64 0 (*.f64 angle 1/180))
(+.f64 (*.f64 1/180 angle) 0)
(+.f64 (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))) 0)
(+.f64 0 (*.f64 (PI.f64) (*.f64 1/180 (*.f64 angle a))))
(+.f64 0 (*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a))))
(+.f64 0 (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))))
(+.f64 0 (*.f64 (PI.f64) (*.f64 1/180 (*.f64 angle a))))
(+.f64 0 (*.f64 1/180 (*.f64 angle (*.f64 (PI.f64) a))))

localize34.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 angle 1/180)
0.3b
(pow.f64 (*.f64 a (+.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 0)) 2)
0.3b
(*.f64 (PI.f64) (*.f64 angle 1/180))
23.7b
(sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))
Compiler

Compiled 81 to 59 computations (27.2% saved)

series1.0ms (0%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
angle
@0
(pow.f64 (*.f64 a (+.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 0)) 2)
0.0ms
angle
@0
(sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))
0.0ms
angle
@inf
(pow.f64 (*.f64 a (+.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 0)) 2)
0.0ms
a
@0
(pow.f64 (*.f64 a (+.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 0)) 2)
0.0ms
angle
@-inf
(pow.f64 (*.f64 a (+.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 0)) 2)

rewrite7.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
44×rational.json-simplify-2
42×bool.json-1
34×rational.json-1
34×rational.json-2
32×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01650
17250
211150
312550
412650
Stop Event
saturated
Counts
2 → 8
Calls
Call 1
Inputs
(sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))
(pow.f64 (*.f64 a (+.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 0)) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))))) (#(struct:change #<rule egg-rr> (2) ((x or (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x or (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))) 2) (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))) 2))))))

simplify30.0ms (0.3%)

Algorithm
egg-herbie
Rules
206×rational.json-simplify-2
114×rational.json-simplify-1
106×rational.json-simplify-31
70×rational.json-simplify-33
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0911908
11611908
22441908
33251908
43751908
53781908
Stop Event
saturated
Counts
44 → 46
Calls
Call 1
Inputs
(*.f64 1/180 (*.f64 angle (PI.f64)))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))) (*.f64 1/180 (*.f64 angle (PI.f64))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))) (+.f64 (*.f64 1/180 (*.f64 angle (PI.f64))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 (PI.f64) 5)))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))) (+.f64 (*.f64 1/180 (*.f64 angle (PI.f64))) (+.f64 (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 (PI.f64) 5))) (*.f64 -1/30855889612800000000 (*.f64 (pow.f64 angle 7) (pow.f64 (PI.f64) 7))))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/1224440064000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))) (*.f64 1/2040733440000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6)))))))
(+.f64 (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 -1/396718580736000000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 8))) (*.f64 -1/2777030065152000000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 8))))) (+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/1224440064000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))) (*.f64 1/2040733440000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))))))))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(+.f64 0 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))
(+.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 0)
(*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 1)
(*.f64 1 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))
(+.f64 0 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))) 2) 0)
(*.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))) 2) 1)
(*.f64 1 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))) 2))
Outputs
(*.f64 1/180 (*.f64 angle (PI.f64)))
(*.f64 (PI.f64) (*.f64 1/180 angle))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))) (*.f64 1/180 (*.f64 angle (PI.f64))))
(+.f64 (*.f64 1/180 (*.f64 angle (PI.f64))) (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))))
(+.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)) (*.f64 (pow.f64 (PI.f64) 3) (*.f64 -1/34992000 (pow.f64 angle 3))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))) (+.f64 (*.f64 1/180 (*.f64 angle (PI.f64))) (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 (PI.f64) 5)))))
(+.f64 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 -1/34992000 (pow.f64 angle 3))) (+.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)) (*.f64 (pow.f64 (PI.f64) 5) (*.f64 1/22674816000000 (pow.f64 angle 5)))))
(+.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)) (+.f64 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 -1/34992000 (pow.f64 angle 3))) (*.f64 (pow.f64 (PI.f64) 5) (*.f64 1/22674816000000 (pow.f64 angle 5)))))
(+.f64 (*.f64 -1/34992000 (*.f64 (pow.f64 angle 3) (pow.f64 (PI.f64) 3))) (+.f64 (*.f64 1/180 (*.f64 angle (PI.f64))) (+.f64 (*.f64 1/22674816000000 (*.f64 (pow.f64 angle 5) (pow.f64 (PI.f64) 5))) (*.f64 -1/30855889612800000000 (*.f64 (pow.f64 angle 7) (pow.f64 (PI.f64) 7))))))
(+.f64 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 -1/34992000 (pow.f64 angle 3))) (+.f64 (+.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)) (*.f64 (pow.f64 (PI.f64) 5) (*.f64 1/22674816000000 (pow.f64 angle 5)))) (*.f64 -1/30855889612800000000 (*.f64 (pow.f64 angle 7) (pow.f64 (PI.f64) 7)))))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)))
(sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))
(sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2))
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2))))
(*.f64 1/32400 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 angle 2) (pow.f64 a 2))))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))))
(+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))))
(+.f64 (*.f64 1/32400 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 angle 2) (pow.f64 a 2)))) (*.f64 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)) (*.f64 -1/3149280000 (pow.f64 angle 4))))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2)))) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 -1/3149280000 (pow.f64 angle 4)))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/1224440064000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))) (*.f64 1/2040733440000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6)))))))
(+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/1224440064000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))) (*.f64 (pow.f64 a 2) (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6)))))))
(+.f64 (*.f64 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)) (*.f64 -1/3149280000 (pow.f64 angle 4))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 angle 2) (pow.f64 a 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 (pow.f64 (PI.f64) 6) (*.f64 1/1224440064000000 (pow.f64 a 2))) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 6) 1/2040733440000000))))))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2)))) (+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 -1/3149280000 (pow.f64 angle 4)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 (pow.f64 (PI.f64) 6) (*.f64 (pow.f64 a 2) 1/1224440064000000)) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 6) 1/2040733440000000))))))
(+.f64 (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 -1/396718580736000000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 8))) (*.f64 -1/2777030065152000000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 8))))) (+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/1224440064000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))) (*.f64 1/2040733440000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))))))))
(+.f64 (+.f64 (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 1/1224440064000000 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 6))) (*.f64 (pow.f64 a 2) (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6))))))) (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 (pow.f64 a 2) (*.f64 -1/396718580736000000000 (pow.f64 (PI.f64) 8))) (*.f64 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 8)) -1/2777030065152000000000))))
(+.f64 (+.f64 (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 (pow.f64 (PI.f64) 8) (*.f64 -1/396718580736000000000 (pow.f64 a 2))) (*.f64 (pow.f64 (PI.f64) 8) (*.f64 -1/2777030065152000000000 (pow.f64 a 2))))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 angle 2) (pow.f64 a 2)))) (*.f64 (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 4)) (*.f64 -1/3149280000 (pow.f64 angle 4))))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 (pow.f64 (PI.f64) 6) (*.f64 1/1224440064000000 (pow.f64 a 2))) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 6) 1/2040733440000000)))))
(+.f64 (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 (pow.f64 (PI.f64) 6) (*.f64 (pow.f64 a 2) 1/1224440064000000)) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 6) 1/2040733440000000)))) (+.f64 (+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2)))) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 -1/3149280000 (pow.f64 angle 4))))) (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 (pow.f64 (PI.f64) 8) (*.f64 (pow.f64 a 2) -1/396718580736000000000)) (*.f64 (pow.f64 (PI.f64) 8) (*.f64 (pow.f64 a 2) -1/2777030065152000000000))))))
(+.f64 (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 (pow.f64 (PI.f64) 6) (*.f64 (pow.f64 a 2) 1/1224440064000000)) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 6) 1/2040733440000000)))) (+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 -1/3149280000 (pow.f64 angle 4)))) (+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 1/32400 (pow.f64 angle 2)))) (*.f64 (pow.f64 angle 8) (+.f64 (*.f64 (pow.f64 (PI.f64) 8) (*.f64 (pow.f64 a 2) -1/396718580736000000000)) (*.f64 (pow.f64 (PI.f64) 8) (*.f64 (pow.f64 a 2) -1/2777030065152000000000)))))))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))
(*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2))
(+.f64 0 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))
(+.f64 0 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))
(+.f64 0 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))))
(+.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 0)
(+.f64 0 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))))
(+.f64 0 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))))
(*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 1)
(*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 1)
(*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 1)
(*.f64 1 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))))
(*.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 1)
(*.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 1)
(+.f64 0 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))) 2))
(+.f64 0 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2))
(+.f64 0 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))) 2) 0)
(+.f64 0 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2))
(+.f64 0 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)))) 2))
(*.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))) 2) 1)
(*.f64 1 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2))
(*.f64 1 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)))) 2))
(*.f64 1 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180)))) 2))
(*.f64 1 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2))
(*.f64 1 (pow.f64 (*.f64 a (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle)))) 2))

localize28.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 a 2)
0.2b
(*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))
0.4b
(*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))
17.5b
(*.f64 (pow.f64 a 2) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))))
Compiler

Compiled 75 to 56 computations (25.3% saved)

series0.0ms (0%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
0.0ms
angle
@0
(*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))
0.0ms
angle
@inf
(*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))
0.0ms
angle
@-inf
(*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))

rewrite6.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
26×bool.json-1
22×rational.json-simplify-2
20×rational.json-1
20×rational.json-2
20×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0921
14121
26921
37321
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)) (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))))))

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
rational.json-simplify-2
rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01254
11354
Stop Event
saturated
Counts
2 → 2
Calls
Call 1
Inputs
(+.f64 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)) 0)
(+.f64 0 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))
Outputs
(+.f64 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)) 0)
(+.f64 0 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))
(+.f64 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)) 0)

eval88.0ms (0.9%)

Compiler

Compiled 4795 to 3650 computations (23.9% saved)

prune194.0ms (2.1%)

Pruning

23 alts after pruning (12 fresh and 11 done)

PrunedKeptTotal
New1764180
Fresh2810
Picked011
Done01010
Total17823201
Error
19.1b
Counts
201 → 23
Alt Table
Click to see full alt table
StatusErrorProgram
26.0b
(+.f64 (pow.f64 (+.f64 (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))) 0) 2) (pow.f64 (*.f64 b 1) 2))
26.0b
(+.f64 (pow.f64 (+.f64 0 (*.f64 (PI.f64) (*.f64 1/180 (*.f64 angle a)))) 2) (pow.f64 (*.f64 b 1) 2))
26.0b
(+.f64 (pow.f64 (*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180))) 2) (pow.f64 (*.f64 b 1) 2))
26.0b
(+.f64 (pow.f64 (*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
19.7b
(+.f64 (pow.f64 (*.f64 a (+.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 0)) 2) (pow.f64 (*.f64 b 1) 2))
25.7b
(+.f64 (pow.f64 (*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
26.0b
(+.f64 (pow.f64 (*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180))) 2) (pow.f64 (*.f64 b 1) 2))
25.7b
(+.f64 (pow.f64 (*.f64 a (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2))
26.0b
(+.f64 (pow.f64 (*.f64 a (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (pow.f64 (*.f64 b 1) 2))
26.0b
(+.f64 (pow.f64 (*.f64 a (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
19.6b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2))
19.7b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2))
19.7b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
19.7b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2) (pow.f64 (*.f64 b 1) 2))
19.7b
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 b 1) 2))
26.0b
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
26.0b
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
34.8b
(+.f64 (+.f64 (*.f64 (pow.f64 a 2) (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 angle 2) (pow.f64 a 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 (pow.f64 (PI.f64) 6) (*.f64 1/1224440064000000 (pow.f64 a 2))) (*.f64 (pow.f64 (PI.f64) 6) (*.f64 1/2040733440000000 (pow.f64 a 2))))))) (pow.f64 (*.f64 b 1) 2))
27.7b
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2)) (pow.f64 (*.f64 b 1) 2))
27.6b
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2)) (pow.f64 (*.f64 b 1) 2))
27.6b
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (pow.f64 (*.f64 b 1) 2))
33.8b
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))) (pow.f64 (*.f64 b 1) 2))
33.7b
(+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (pow.f64 (*.f64 b 1) 2))
Compiler

Compiled 505 to 420 computations (16.8% saved)

regimes121.0ms (1.3%)

Counts
36 → 1
Calls
Call 1
Inputs
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (+.f64 0 (*.f64 (PI.f64) (*.f64 1/180 (*.f64 angle a)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (+.f64 (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))) 0) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (+.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 0)) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (pow.f64 (*.f64 b 1) 2))
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2)) (pow.f64 (*.f64 b 1) 2))
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2)) (pow.f64 (*.f64 b 1) 2))
(+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (pow.f64 (*.f64 b 1) 2))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))) (pow.f64 (*.f64 b 1) 2))
(+.f64 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 a 2) 1/32400))) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2))
(+.f64 (pow.f64 (*.f64 a (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2))
(+.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))
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2)) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (*.f64 (pow.f64 angle 2) (*.f64 1/32400 (*.f64 (pow.f64 (PI.f64) 2) (pow.f64 a 2)))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (+.f64 0 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 2))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (+.f64 (*.f64 (pow.f64 a 2) (*.f64 -1/3149280000 (*.f64 (pow.f64 angle 4) (pow.f64 (PI.f64) 4)))) (+.f64 (*.f64 1/32400 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 angle 2) (pow.f64 a 2)))) (*.f64 (pow.f64 angle 6) (+.f64 (*.f64 (pow.f64 (PI.f64) 6) (*.f64 1/1224440064000000 (pow.f64 a 2))) (*.f64 (pow.f64 (PI.f64) 6) (*.f64 1/2040733440000000 (pow.f64 a 2))))))) (pow.f64 (*.f64 b 1) 2))
(+.f64 (+.f64 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (*.f64 1/32400 (pow.f64 (PI.f64) 2)))) (+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 -1/3149280000 (pow.f64 angle 4)))) (*.f64 (+.f64 (*.f64 1/2040733440000000 (pow.f64 (PI.f64) 6)) (*.f64 (pow.f64 (PI.f64) 6) 1/1224440064000000)) (*.f64 (pow.f64 a 2) (pow.f64 angle 6))))) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
Outputs
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
Calls

6 calls:

22.0ms
a
17.0ms
(*.f64 (/.f64 angle 180) (PI.f64))
16.0ms
(/.f64 angle 180)
16.0ms
angle
16.0ms
b
Results
ErrorSegmentsBranch
19.6b1a
19.6b1b
19.6b1angle
19.6b1(+.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))
19.6b1(*.f64 (/.f64 angle 180) (PI.f64))
19.6b1(/.f64 angle 180)
Compiler

Compiled 812 to 604 computations (25.6% saved)

regimes70.0ms (0.7%)

Counts
24 → 1
Calls
Call 1
Inputs
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (+.f64 0 (*.f64 (PI.f64) (*.f64 1/180 (*.f64 angle a)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (+.f64 (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))) 0) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (+.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 0)) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (pow.f64 (*.f64 b 1) 2))
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2)) (pow.f64 (*.f64 b 1) 2))
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2)) (pow.f64 (*.f64 b 1) 2))
(+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (pow.f64 (*.f64 b 1) 2))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))) (pow.f64 (*.f64 b 1) 2))
(+.f64 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 a 2) 1/32400))) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2))
(+.f64 (pow.f64 (*.f64 a (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
Outputs
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
Calls

5 calls:

12.0ms
a
12.0ms
(/.f64 angle 180)
12.0ms
(*.f64 (/.f64 angle 180) (PI.f64))
12.0ms
b
11.0ms
angle
Results
ErrorSegmentsBranch
19.6b1a
19.6b1b
19.6b1angle
19.6b1(*.f64 (/.f64 angle 180) (PI.f64))
19.6b1(/.f64 angle 180)
Compiler

Compiled 446 to 330 computations (26% saved)

regimes67.0ms (0.7%)

Counts
23 → 1
Calls
Call 1
Inputs
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (+.f64 0 (*.f64 (PI.f64) (*.f64 1/180 (*.f64 angle a)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (+.f64 (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))) 0) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (+.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 angle 1/180))) 0)) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (pow.f64 (*.f64 b 1) 2))
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180))) 2)) (pow.f64 (*.f64 b 1) 2))
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))) 2)) (pow.f64 (*.f64 b 1) 2))
(+.f64 (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 a 2) (pow.f64 (PI.f64) 2)))) (pow.f64 (*.f64 b 1) 2))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 1/32400 (*.f64 (pow.f64 angle 2) (pow.f64 (PI.f64) 2)))) (pow.f64 (*.f64 b 1) 2))
(+.f64 (*.f64 (pow.f64 angle 2) (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 a 2) 1/32400))) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2))
(+.f64 (pow.f64 (*.f64 a (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
Outputs
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2) (pow.f64 (*.f64 b 1) 2))
Calls

5 calls:

12.0ms
(/.f64 angle 180)
11.0ms
b
11.0ms
angle
11.0ms
(*.f64 (/.f64 angle 180) (PI.f64))
11.0ms
a
Results
ErrorSegmentsBranch
19.7b1a
19.7b1b
19.7b1angle
19.7b1(*.f64 (/.f64 angle 180) (PI.f64))
19.7b1(/.f64 angle 180)
Compiler

Compiled 425 to 316 computations (25.6% saved)

regimes22.0ms (0.2%)

Counts
10 → 1
Calls
Call 1
Inputs
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (+.f64 0 (*.f64 (PI.f64) (*.f64 1/180 (*.f64 angle a)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (+.f64 (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))) 0) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 b 1) 2))
Outputs
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 b 1) 2))
Calls

3 calls:

6.0ms
a
6.0ms
angle
6.0ms
b
Results
ErrorSegmentsBranch
19.7b1a
19.7b1b
19.7b1angle
Compiler

Compiled 170 to 125 computations (26.5% saved)

regimes21.0ms (0.2%)

Accuracy

Total -0.1b remaining (-0.4%)

Threshold costs -0.1b (-0.4%)

Counts
9 → 1
Calls
Call 1
Inputs
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (*.f64 angle (*.f64 (PI.f64) 1/180))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (*.f64 (PI.f64) (*.f64 angle 1/180))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 angle (*.f64 1/180 (*.f64 a (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 angle (*.f64 a (*.f64 (PI.f64) 1/180))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (+.f64 0 (*.f64 (PI.f64) (*.f64 1/180 (*.f64 angle a)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (+.f64 (*.f64 (PI.f64) (*.f64 angle (*.f64 1/180 a))) 0) 2) (pow.f64 (*.f64 b 1) 2))
Outputs
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
Calls

3 calls:

6.0ms
b
6.0ms
angle
5.0ms
a
Results
ErrorSegmentsBranch
26.0b1a
26.0b1b
26.0b1angle
Compiler

Compiled 154 to 114 computations (26% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
042322
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
Outputs
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 angle (*.f64 (PI.f64) 1/180)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64))))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 angle (*.f64 a (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
(+.f64 (pow.f64 (*.f64 1/180 (*.f64 a (*.f64 angle (PI.f64)))) 2) (pow.f64 (*.f64 b 1) 2))
Compiler

Compiled 122 to 100 computations (18% saved)

soundness15.0ms (0.2%)

Algorithm
egg-herbie
Rules
242×rational.json-simplify-2
170×rational.json-simplify-1
116×rational.json-simplify-31
104×rational.json-simplify-33
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01132578
11982578
23102578
34152578
44752578
54772578
Stop Event
saturated
Compiler

Compiled 66 to 49 computations (25.8% saved)

end62.0ms (0.7%)

Compiler

Compiled 107 to 78 computations (27.1% saved)

Profiling

Loading profile data...