Details

Time bar (total: 12.3s)

analyze621.0ms (5.1%)

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
0%0%99.9%0.1%0%0%0%6
18.8%18.7%81.2%0.1%0%0%0%7
18.8%18.7%81.2%0.1%0%0%0%8
29.9%29.7%69.5%0.1%0.8%0%0%9
31%30.4%67.9%0.1%1.6%0%0%10
37.3%36.3%61.1%0.1%2.5%0%0%11
38.3%36.9%59.5%0.1%3.5%0%0%12
Compiler

Compiled 17 to 11 computations (35.3% saved)

sample3.2s (26.4%)

Results
1.3s1059×body2048valid
881.0ms1908×body1024valid
661.0ms4534×body256valid
193.0ms703×body512valid
181.0ms52×body4096valid
46.0ms316×body256infinite
7.0ms10×body2048infinite
3.0msbody8192exit
Bogosity

preprocess179.0ms (1.5%)

Algorithm
egg-herbie
Rules
1036×fma-neg_binary64
1024×fma-def_binary64
528×div-sub_binary64
432×times-frac_binary64
309×associate-/l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01746
14340
210540
326740
445640
573740
6100540
7141840
8257340
9424540
10484840
11489840
12492840
13494240
14517040
15526640
16595440
17595440
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (*.f64 F F)) (tan.f64 (*.f64 (PI.f64) l))))
(-.f64 (*.f64 (PI.f64) F) (*.f64 (/.f64 1 (*.f64 l l)) (tan.f64 (*.f64 (PI.f64) F))))
Outputs
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (*.f64 F F)) (tan.f64 (*.f64 (PI.f64) l))))
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
(-.f64 (*.f64 (PI.f64) F) (*.f64 (/.f64 1 (*.f64 l l)) (tan.f64 (*.f64 (PI.f64) F))))
(-.f64 (*.f64 (PI.f64) F) (/.f64 (tan.f64 (*.f64 (PI.f64) F)) (*.f64 l l)))
Compiler

Compiled 18 to 12 computations (33.3% saved)

simplify27.0ms (0.2%)

Algorithm
egg-herbie
Rules
297×fma-def_binary64
157×fma-neg_binary64
49×cancel-sign-sub-inv_binary64
38×associate-/l*_binary64
33×sub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01123
12520
25720
313920
423620
537520
650120
764120
883320
9110320
10115720
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (*.f64 F F)) (tan.f64 (*.f64 (PI.f64) l))))
Outputs
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (*.f64 F F)) (tan.f64 (*.f64 (PI.f64) l))))
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))

eval1.0ms (0%)

Compiler

Compiled 28 to 12 computations (57.1% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
16.8b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
16.9b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
17.2b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (*.f64 F F)) (tan.f64 (*.f64 (PI.f64) l))))
Compiler

Compiled 30 to 18 computations (40% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (PI.f64) l)
0.8b
(/.f64 1 (*.f64 F F))
4.6b
(*.f64 (/.f64 1 (*.f64 F F)) (tan.f64 (*.f64 (PI.f64) l)))
31.3b
(tan.f64 (*.f64 (PI.f64) l))
Compiler

Compiled 45 to 16 computations (64.4% saved)

series41.0ms (0.3%)

Counts
4 → 60
Calls

15 calls:

TimeVariablePointExpression
28.0ms
F
@-inf
(*.f64 (/.f64 1 (*.f64 F F)) (tan.f64 (*.f64 (PI.f64) l)))
3.0ms
F
@0
(*.f64 (/.f64 1 (*.f64 F F)) (tan.f64 (*.f64 (PI.f64) l)))
2.0ms
l
@0
(tan.f64 (*.f64 (PI.f64) l))
1.0ms
l
@0
(*.f64 (/.f64 1 (*.f64 F F)) (tan.f64 (*.f64 (PI.f64) l)))
1.0ms
F
@inf
(*.f64 (/.f64 1 (*.f64 F F)) (tan.f64 (*.f64 (PI.f64) l)))

rewrite84.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
932×pow1_binary64
857×add-log-exp_binary64
856×log1p-expm1-u_binary64
856×expm1-log1p-u_binary64
836×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01032
120129
2245429
Stop Event
node limit
Counts
4 → 87
Calls
Call 1
Inputs
(tan.f64 (*.f64 (PI.f64) l))
(*.f64 (/.f64 1 (*.f64 F F)) (tan.f64 (*.f64 (PI.f64) l)))
(/.f64 1 (*.f64 F F))
(*.f64 (PI.f64) l)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (tan.f64 (*.f64 (PI.f64) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (tan.f64 (*.f64 (PI.f64) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2)) (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (*.f64 (PI.f64) l)) (/.f64 1 (cos.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (cos.f64 (*.f64 (PI.f64) l)) (sin.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 (*.f64 (PI.f64) l)) (cos.f64 (*.f64 (PI.f64) l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sin.f64 (*.f64 (PI.f64) l))) (neg.f64 (cos.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (tan.f64 (*.f64 (PI.f64) l))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 F F) (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2)) (/.f64 (*.f64 F F) (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (/.f64 (*.f64 F F) (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 (*.f64 (PI.f64) l)) (*.f64 (*.f64 F F) (cos.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (tan.f64 (*.f64 (PI.f64) l))) (*.f64 F (neg.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) l)) 1) (*.f64 (cos.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) l)) -1) (*.f64 (cos.f64 (*.f64 (PI.f64) l)) (*.f64 F (neg.f64 F))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) l)) (/.f64 1 F)) (*.f64 (cos.f64 (*.f64 (PI.f64) l)) F))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (sin.f64 (*.f64 (PI.f64) l))) (*.f64 (*.f64 F (neg.f64 F)) (cos.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 F) (sin.f64 (*.f64 (PI.f64) l))) (*.f64 F (cos.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) F)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) 1) (*.f64 F F))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (cbrt.f64 (pow.f64 F 4))) (pow.f64 (cbrt.f64 F) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) (cos.f64 (*.f64 (PI.f64) l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (tan.f64 (*.f64 (PI.f64) l))) (*.f64 F (neg.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 F) (tan.f64 (*.f64 (PI.f64) l))) F)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) -1) (*.f64 F (neg.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (/.f64 1 F)) F)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 F -2) (sin.f64 (*.f64 (PI.f64) l))) (cos.f64 (*.f64 (PI.f64) l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2) (pow.f64 F 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 3) (pow.f64 (*.f64 F F) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 3) (pow.f64 (pow.f64 F -2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 F -2) 3) (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 F -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 F -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 F -2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 F -2)) (cbrt.f64 (pow.f64 (*.f64 F F) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 F F) -2)) (cbrt.f64 (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 F) (/.f64 1 F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (*.f64 F (neg.f64 F))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 F 4)) -1) (pow.f64 (pow.f64 (cbrt.f64 F) 2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 F -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 F F) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 F -2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 F -2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 F -2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 F) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 F F) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 F -2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 F -2)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (PI.f64) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (PI.f64) l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (PI.f64) l) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (PI.f64) l)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (PI.f64) l)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (PI.f64) l) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (PI.f64)) l))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (PI.f64) 3) (pow.f64 l 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 l 3) (pow.f64 (PI.f64) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (PI.f64) l)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (PI.f64) l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (PI.f64) l)))))))

simplify98.0ms (0.8%)

Algorithm
egg-herbie
Rules
607×fma-neg_binary64
413×fma-def_binary64
406×associate-*r*_binary64
404×associate-*l*_binary64
385×distribute-neg-frac_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0891282
12591208
29431154
358891124
Stop Event
node limit
Counts
147 → 108
Calls
Call 1
Inputs
(*.f64 l (PI.f64))
(+.f64 (*.f64 l (PI.f64)) (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3)))))
(+.f64 (*.f64 l (PI.f64)) (+.f64 (*.f64 (pow.f64 l 5) (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)))))) (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))))))
(+.f64 (*.f64 l (PI.f64)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (pow.f64 (PI.f64) 7)) (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 4))) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))) (pow.f64 (PI.f64) 2))) (*.f64 -1/720 (pow.f64 (PI.f64) 7))))) (pow.f64 l 7)) (+.f64 (*.f64 (pow.f64 l 5) (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)))))) (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3)))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))) (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 4)) (pow.f64 F 2)))))) (pow.f64 l 7)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (pow.f64 F 2))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
Outputs
(*.f64 l (PI.f64))
(+.f64 (*.f64 l (PI.f64)) (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3)))))
(fma.f64 l (PI.f64) (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) 1/3)))
(fma.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) 1/3) (*.f64 l (PI.f64)))
(+.f64 (*.f64 l (PI.f64)) (+.f64 (*.f64 (pow.f64 l 5) (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)))))) (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))))))
(fma.f64 l (PI.f64) (fma.f64 (pow.f64 l 5) (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (fma.f64 1/24 (pow.f64 (PI.f64) 5) (*.f64 (*.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 3) 1/3)) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) 1/3))))
(fma.f64 l (PI.f64) (fma.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) 1/3) (*.f64 (pow.f64 l 5) (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2)))))))
(fma.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) 1/3) (fma.f64 (pow.f64 l 5) (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (*.f64 (PI.f64) (pow.f64 (PI.f64) 4)))) (*.f64 l (PI.f64))))
(fma.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) 1/3) (fma.f64 (pow.f64 l 5) (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (pow.f64 (PI.f64) 5))) (*.f64 l (PI.f64))))
(+.f64 (*.f64 l (PI.f64)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (pow.f64 (PI.f64) 7)) (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 4))) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))) (pow.f64 (PI.f64) 2))) (*.f64 -1/720 (pow.f64 (PI.f64) 7))))) (pow.f64 l 7)) (+.f64 (*.f64 (pow.f64 l 5) (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)))))) (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3)))))))
(fma.f64 l (PI.f64) (fma.f64 (-.f64 (*.f64 -1/5040 (pow.f64 (PI.f64) 7)) (fma.f64 1/24 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 4)) (fma.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 2) (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (fma.f64 1/24 (pow.f64 (PI.f64) 5) (*.f64 (*.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 3) 1/3)) (pow.f64 (PI.f64) 2))))) (*.f64 (pow.f64 (PI.f64) 7) -1/720)))) (pow.f64 l 7) (fma.f64 (pow.f64 l 5) (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (fma.f64 1/24 (pow.f64 (PI.f64) 5) (*.f64 (*.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 3) 1/3)) (pow.f64 (PI.f64) 2)))) (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) 1/3)))))
(fma.f64 l (PI.f64) (fma.f64 (-.f64 (*.f64 -1/5040 (pow.f64 (PI.f64) 7)) (fma.f64 1/24 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 1/3 (pow.f64 (PI.f64) 4))) (fma.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 2) (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2))))) (*.f64 (pow.f64 (PI.f64) 7) -1/720)))) (pow.f64 l 7) (fma.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) 1/3) (*.f64 (pow.f64 l 5) (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2))))))))
(fma.f64 (-.f64 (*.f64 -1/5040 (pow.f64 (PI.f64) 7)) (fma.f64 (pow.f64 (PI.f64) 2) (*.f64 -1/2 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (*.f64 (PI.f64) (pow.f64 (PI.f64) 4))))) (fma.f64 (pow.f64 (PI.f64) 4) (*.f64 (pow.f64 (PI.f64) 3) 1/72) (*.f64 (pow.f64 (PI.f64) 7) -1/720)))) (pow.f64 l 7) (fma.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) 1/3) (fma.f64 (pow.f64 l 5) (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (*.f64 (PI.f64) (pow.f64 (PI.f64) 4)))) (*.f64 l (PI.f64)))))
(fma.f64 (-.f64 (*.f64 -1/5040 (pow.f64 (PI.f64) 7)) (fma.f64 (pow.f64 (PI.f64) 2) (*.f64 -1/2 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (pow.f64 (PI.f64) 5)))) (fma.f64 (pow.f64 (PI.f64) 7) -1/720 (*.f64 (*.f64 (PI.f64) (pow.f64 (PI.f64) 6)) 1/72)))) (pow.f64 l 7) (fma.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) 1/3) (fma.f64 (pow.f64 l 5) (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (pow.f64 (PI.f64) 5))) (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 l (/.f64 (*.f64 F F) (PI.f64)))
(*.f64 (/.f64 (PI.f64) F) (/.f64 l F))
(/.f64 (/.f64 (PI.f64) (/.f64 F l)) F)
(+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 l (/.f64 (*.f64 F F) (PI.f64))))
(fma.f64 (pow.f64 l 3) (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (*.f64 F F)) (*.f64 (/.f64 (PI.f64) F) (/.f64 l F)))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 (/.f64 (PI.f64) (/.f64 F l)) F))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))))
(fma.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F))) (fma.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 2)))))) (pow.f64 l 5) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 l (/.f64 (*.f64 F F) (PI.f64)))))
(fma.f64 (pow.f64 l 5) (+.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) -1/30) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (*.f64 F F)) (pow.f64 (PI.f64) 2)))) (fma.f64 (pow.f64 l 3) (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (*.f64 F F)) (*.f64 (/.f64 (PI.f64) F) (/.f64 l F))))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (fma.f64 (pow.f64 l 5) (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (*.f64 (PI.f64) (pow.f64 (PI.f64) 4)))) (*.f64 F F)) (/.f64 (/.f64 (PI.f64) (/.f64 F l)) F)))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (fma.f64 (pow.f64 l 5) (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (pow.f64 (PI.f64) 5))) (*.f64 F F)) (/.f64 (/.f64 (PI.f64) (/.f64 F l)) F)))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))) (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 4)) (pow.f64 F 2)))))) (pow.f64 l 7)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))))
(fma.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F))) (fma.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 2)))))) (pow.f64 l 5) (fma.f64 (-.f64 (*.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F))) (fma.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (fma.f64 1/24 (pow.f64 (PI.f64) 5) (*.f64 (*.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 3) 1/3)) (pow.f64 (PI.f64) 2)))) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 2))) (*.f64 1/24 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 4))))))) (pow.f64 l 7) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 l (/.f64 (*.f64 F F) (PI.f64))))))
(fma.f64 (pow.f64 l 5) (+.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) -1/30) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (*.f64 F F)) (pow.f64 (PI.f64) 2)))) (fma.f64 (pow.f64 l 7) (-.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) 1/840) (fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 (PI.f64) 2) F) (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2)))) F)) (/.f64 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 1/3 (pow.f64 (PI.f64) 4))) (/.f64 (*.f64 F F) 1/24)))) (fma.f64 (pow.f64 l 3) (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (*.f64 F F)) (*.f64 (/.f64 (PI.f64) F) (/.f64 l F)))))
(fma.f64 (pow.f64 l 5) (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (*.f64 (PI.f64) (pow.f64 (PI.f64) 4)))) (*.f64 F F)) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (fma.f64 (pow.f64 l 7) (-.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) 1/840) (fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 (PI.f64) 2) (*.f64 F F)) (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (*.f64 (PI.f64) (pow.f64 (PI.f64) 4))))) (*.f64 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/72) F) (/.f64 (pow.f64 (PI.f64) 4) F)))) (/.f64 (/.f64 (PI.f64) (/.f64 F l)) F))))
(fma.f64 (pow.f64 l 5) (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (pow.f64 (PI.f64) 5))) (*.f64 F F)) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (fma.f64 (pow.f64 l 7) (-.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) 1/840) (fma.f64 (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (pow.f64 (PI.f64) 5))) (/.f64 F -1/2)) (/.f64 (pow.f64 (PI.f64) 2) F) (/.f64 (*.f64 (*.f64 (PI.f64) (pow.f64 (PI.f64) 6)) 1/72) (*.f64 F F)))) (/.f64 (/.f64 (PI.f64) (/.f64 F l)) F))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (*.f64 F F))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (*.f64 F F))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (*.f64 F F))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (*.f64 F F))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (*.f64 F F))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (*.f64 F F))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (*.f64 F F))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (*.f64 F F))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (*.f64 F F))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (*.f64 F F))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (*.f64 F F))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (*.f64 F F))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
0.3b
(*.f64 (PI.f64) l)
4.5b
(/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))
31.3b
(tan.f64 (*.f64 (PI.f64) l))
Compiler

Compiled 35 to 8 computations (77.1% saved)

series5.0ms (0%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
l
@0
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
1.0ms
l
@0
(/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))
1.0ms
l
@inf
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
0.0ms
F
@0
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
0.0ms
l
@-inf
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))

rewrite93.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
532×log-prod_binary64
397×exp-prod_binary64
352×pow-prod-down_binary64
276×pow2_binary64
276×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0933
120033
2289033
Stop Event
node limit
Counts
2 → 172
Calls
Call 1
Inputs
(/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 F -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 F -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 F -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 F -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4)) (cbrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2) (*.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (*.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (tan.f64 (*.f64 (PI.f64) l))) (/.f64 1 (*.f64 F (neg.f64 F))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (/.f64 1 F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2) 1) (/.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (*.f64 F F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 1) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (*.f64 F F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 F) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2) F) (/.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (cbrt.f64 F) F)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 (cbrt.f64 F) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2) (*.f64 (cbrt.f64 F) F)) (cbrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (*.f64 (cbrt.f64 F) F)) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 (cbrt.f64 F) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 F F) (tan.f64 (*.f64 (PI.f64) l))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (*.f64 F F) (tan.f64 (*.f64 (PI.f64) l))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))) 2)) (cbrt.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))) (sqrt.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F (neg.f64 F))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 F F) (tan.f64 (*.f64 (PI.f64) l)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))) 3) 1/3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (PI.f64) l) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (PI.f64) l) (*.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))) (fma.f64 (neg.f64 (pow.f64 F -2)) (tan.f64 (*.f64 (PI.f64) l)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))) (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 1 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))) (+.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) (*.f64 (PI.f64) l))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) (pow.f64 (cbrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) 2) (cbrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) (sqrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 6)) (/.f64 1 (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)) (pow.f64 (*.f64 (PI.f64) l) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4)) (/.f64 1 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)) (-.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)) (pow.f64 (*.f64 (PI.f64) l) 2)) (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)) (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 6)) (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)) (pow.f64 (*.f64 (PI.f64) l) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4)) (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 6))) (neg.f64 (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)) (pow.f64 (*.f64 (PI.f64) l) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4))) (neg.f64 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 3)) (+.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (-.f64 (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 2) (*.f64 (*.f64 (PI.f64) l) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 2)) (-.f64 (*.f64 (PI.f64) l) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)) (pow.f64 (*.f64 (PI.f64) l) 2)) (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 6))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)) (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))))) 2)) (cbrt.f64 (log.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))))) (sqrt.f64 (log.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (PI.f64) l))) (pow.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 (PI.f64)) l) (+.f64 1 (expm1.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (PI.f64) l))) (+.f64 1 (expm1.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (PI.f64) l))) (pow.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l))) (neg.f64 (pow.f64 F -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l))) (neg.f64 (pow.f64 F -2))) (+.f64 1 (expm1.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (PI.f64) l (*.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 l (PI.f64) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 l (PI.f64) (*.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (PI.f64) l) 1 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (PI.f64) l) 1 (*.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)) (*.f64 (PI.f64) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))) 1 (fma.f64 (neg.f64 (pow.f64 F -2)) (tan.f64 (*.f64 (PI.f64) l)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))) 1 (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 1 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))) 1 (+.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (PI.f64) l) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (PI.f64) l) (*.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))) (fma.f64 (neg.f64 (pow.f64 F -2)) (tan.f64 (*.f64 (PI.f64) l)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))) (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 1 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))) (+.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) (*.f64 (PI.f64) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4)) (neg.f64 (cbrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))) (*.f64 (PI.f64) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (PI.f64)) 2) (*.f64 (cbrt.f64 (PI.f64)) l) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (PI.f64)) 2) (*.f64 (cbrt.f64 (PI.f64)) l) (*.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) (pow.f64 (cbrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) 2) (fma.f64 (neg.f64 (pow.f64 F -2)) (tan.f64 (*.f64 (PI.f64) l)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) (pow.f64 (cbrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) 2) (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 1 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) (pow.f64 (cbrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) (pow.f64 (cbrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) 2) (+.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) 2) (cbrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) (fma.f64 (neg.f64 (pow.f64 F -2)) (tan.f64 (*.f64 (PI.f64) l)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) 2) (cbrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 1 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) 2) (cbrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) 2) (cbrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) (+.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 l l)) (*.f64 (cbrt.f64 l) (PI.f64)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 l l)) (*.f64 (cbrt.f64 l) (PI.f64)) (*.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (PI.f64) l)) (pow.f64 (cbrt.f64 (*.f64 (PI.f64) l)) 2) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (PI.f64) l)) (pow.f64 (cbrt.f64 (*.f64 (PI.f64) l)) 2) (*.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) l)) 2) (cbrt.f64 (*.f64 (PI.f64) l)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) l)) 2) (cbrt.f64 (*.f64 (PI.f64) l)) (*.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) (neg.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)) (*.f64 (PI.f64) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (PI.f64)) (*.f64 (sqrt.f64 (PI.f64)) l) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (PI.f64)) (*.f64 (sqrt.f64 (PI.f64)) l) (*.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) (sqrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) (fma.f64 (neg.f64 (pow.f64 F -2)) (tan.f64 (*.f64 (PI.f64) l)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) (sqrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 1 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) (sqrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) (sqrt.f64 (fma.f64 (PI.f64) l (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))) (+.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 l) (PI.f64)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 l) (PI.f64)) (*.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (sqrt.f64 (*.f64 (PI.f64) l)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (sqrt.f64 (*.f64 (PI.f64) l)) (*.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 F -2) (*.f64 (PI.f64) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 6)) (/.f64 1 (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)) (pow.f64 (*.f64 (PI.f64) l) 2))) (fma.f64 (neg.f64 (pow.f64 F -2)) (tan.f64 (*.f64 (PI.f64) l)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 6)) (/.f64 1 (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)) (pow.f64 (*.f64 (PI.f64) l) 2))) (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 1 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 6)) (/.f64 1 (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)) (pow.f64 (*.f64 (PI.f64) l) 2))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 6)) (/.f64 1 (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)) (pow.f64 (*.f64 (PI.f64) l) 2))) (+.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4)) (/.f64 1 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l))) (fma.f64 (neg.f64 (pow.f64 F -2)) (tan.f64 (*.f64 (PI.f64) l)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4)) (/.f64 1 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l))) (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 1 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4)) (/.f64 1 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4)) (/.f64 1 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l))) (+.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))) 2) (cbrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))) (*.f64 (PI.f64) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))) (sqrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))) (*.f64 (PI.f64) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) (*.f64 (PI.f64) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) (*.f64 (PI.f64) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)) (-.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)) (fma.f64 (neg.f64 (pow.f64 F -2)) (tan.f64 (*.f64 (PI.f64) l)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)) (-.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)) (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 1 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)) (-.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)) (-.f64 (sqrt.f64 (*.f64 (PI.f64) l)) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)) (+.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4))) (cbrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))) (*.f64 (PI.f64) l))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (PI.f64) (cbrt.f64 (*.f64 l l))) (cbrt.f64 l) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (PI.f64) (cbrt.f64 (*.f64 l l))) (cbrt.f64 l) (*.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l) (*.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 l (pow.f64 (cbrt.f64 (PI.f64)) 2)) (cbrt.f64 (PI.f64)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 l (pow.f64 (cbrt.f64 (PI.f64)) 2)) (cbrt.f64 (PI.f64)) (*.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 l (sqrt.f64 (PI.f64))) (sqrt.f64 (PI.f64)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 l (sqrt.f64 (PI.f64))) (sqrt.f64 (PI.f64)) (*.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 1))))))

simplify74.0ms (0.6%)

Algorithm
egg-herbie
Rules
538×fma-neg_binary64
452×distribute-neg-frac_binary64
388×fma-def_binary64
380×associate-*r*_binary64
359×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0881607
12771545
210021447
360271415
Stop Event
node limit
Counts
220 → 196
Calls
Call 1
Inputs
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))) (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 4)) (pow.f64 F 2)))))) (pow.f64 l 7)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(*.f64 l (-.f64 (PI.f64) (/.f64 (PI.f64) (pow.f64 F 2))))
(+.f64 (*.f64 l (-.f64 (PI.f64) (/.f64 (PI.f64) (pow.f64 F 2)))) (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))))
(+.f64 (*.f64 l (-.f64 (PI.f64) (/.f64 (PI.f64) (pow.f64 F 2)))) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (*.f64 (pow.f64 l 5) (-.f64 (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2)))) (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2)))))))
(+.f64 (*.f64 l (-.f64 (PI.f64) (/.f64 (PI.f64) (pow.f64 F 2)))) (+.f64 (*.f64 (pow.f64 l 7) (-.f64 (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))) (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 4)) (pow.f64 F 2))))) (*.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))))) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (*.f64 (pow.f64 l 5) (-.f64 (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2)))) (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))))))))
(*.f64 l (PI.f64))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(*.f64 l (PI.f64))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(*.f64 l (PI.f64))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(*.f64 l (PI.f64))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
Outputs
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 (*.f64 l (PI.f64)) (*.f64 F F))
(*.f64 (PI.f64) (/.f64 l (*.f64 F F)))
(+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 (*.f64 l (PI.f64)) (*.f64 F F)))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) F) (/.f64 1/3 F)) (*.f64 (PI.f64) (/.f64 l (*.f64 F F))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))))
(fma.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F))) (fma.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 2)))))) (pow.f64 l 5) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 (*.f64 l (PI.f64)) (*.f64 F F))))
(fma.f64 (+.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) -1/30) (*.f64 1/2 (*.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (pow.f64 (PI.f64) 2)))) (pow.f64 l 5) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 (*.f64 l (PI.f64)) (*.f64 F F))))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) F) (/.f64 1/3 F)) (fma.f64 (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 (PI.f64) -1/6))) (*.f64 F F)) (pow.f64 l 5) (*.f64 (PI.f64) (/.f64 l (*.f64 F F)))))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) F) (/.f64 1/3 F)) (fma.f64 (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (pow.f64 (PI.f64) 5))) (*.f64 F F)) (pow.f64 l 5) (*.f64 (PI.f64) (/.f64 l (*.f64 F F)))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))) (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 4)) (pow.f64 F 2)))))) (pow.f64 l 7)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))))
(fma.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F))) (fma.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 2)))))) (pow.f64 l 5) (fma.f64 (-.f64 (*.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F))) (fma.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (fma.f64 1/24 (pow.f64 (PI.f64) 5) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2))))) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 2))) (*.f64 1/24 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 4))))))) (pow.f64 l 7) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 (*.f64 l (PI.f64)) (*.f64 F F)))))
(fma.f64 (+.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) -1/30) (*.f64 1/2 (*.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (pow.f64 (PI.f64) 2)))) (pow.f64 l 5) (fma.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) 1/840) (fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 (PI.f64) 2) F) (/.f64 (+.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 1/2 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 1/3 (pow.f64 (PI.f64) 2))))) F)) (*.f64 1/24 (*.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (pow.f64 (PI.f64) 4))))) (pow.f64 l 7) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 (*.f64 l (PI.f64)) (*.f64 F F)))))
(fma.f64 (-.f64 (/.f64 (*.f64 (pow.f64 (PI.f64) 7) 1/840) (*.f64 F F)) (fma.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 2) (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 (PI.f64) -1/6))) (*.f64 F F))) (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/72) (*.f64 (/.f64 F (pow.f64 (PI.f64) 4)) F)))) (pow.f64 l 7) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) F) (/.f64 1/3 F)) (fma.f64 (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 (PI.f64) -1/6))) (*.f64 F F)) (pow.f64 l 5) (*.f64 (PI.f64) (/.f64 l (*.f64 F F))))))
(fma.f64 (-.f64 (/.f64 (*.f64 (pow.f64 (PI.f64) 7) 1/840) (*.f64 F F)) (fma.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 2) (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (pow.f64 (PI.f64) 5))) (*.f64 F F))) (/.f64 (*.f64 (*.f64 (PI.f64) (pow.f64 (PI.f64) 6)) 1/72) (*.f64 F F)))) (pow.f64 l 7) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) F) (/.f64 1/3 F)) (fma.f64 (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (pow.f64 (PI.f64) 5))) (*.f64 F F)) (pow.f64 l 5) (*.f64 (PI.f64) (/.f64 l (*.f64 F F))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(*.f64 l (-.f64 (PI.f64) (/.f64 (PI.f64) (pow.f64 F 2))))
(*.f64 l (-.f64 (PI.f64) (/.f64 (PI.f64) (*.f64 F F))))
(*.f64 l (-.f64 (PI.f64) (/.f64 (/.f64 (PI.f64) F) F)))
(+.f64 (*.f64 l (-.f64 (PI.f64) (/.f64 (PI.f64) (pow.f64 F 2)))) (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))))
(fma.f64 l (-.f64 (PI.f64) (/.f64 (PI.f64) (*.f64 F F))) (*.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) -1/3)))
(fma.f64 l (-.f64 (PI.f64) (/.f64 (/.f64 (PI.f64) F) F)) (*.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) -1/3)))
(+.f64 (*.f64 l (-.f64 (PI.f64) (/.f64 (PI.f64) (pow.f64 F 2)))) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (*.f64 (pow.f64 l 5) (-.f64 (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2)))) (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2)))))))
(fma.f64 l (-.f64 (PI.f64) (/.f64 (PI.f64) (*.f64 F F))) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) -1/3) (*.f64 (pow.f64 l 5) (+.f64 (fma.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 2))))) (*.f64 -1/120 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)))))))
(fma.f64 l (-.f64 (PI.f64) (/.f64 (PI.f64) (*.f64 F F))) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) -1/3) (*.f64 (pow.f64 l 5) (fma.f64 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) 1/24 (fma.f64 -1/2 (*.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (pow.f64 (PI.f64) 2)) (*.f64 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) -1/120))))))
(fma.f64 l (-.f64 (PI.f64) (/.f64 (/.f64 (PI.f64) F) F)) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) -1/3) (*.f64 (pow.f64 l 5) (-.f64 0 (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 (PI.f64) -1/6))) (*.f64 F F))))))
(fma.f64 l (-.f64 (PI.f64) (/.f64 (/.f64 (PI.f64) F) F)) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) -1/3) (*.f64 (pow.f64 l 5) (neg.f64 (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (pow.f64 (PI.f64) 5))) (*.f64 F F))))))
(+.f64 (*.f64 l (-.f64 (PI.f64) (/.f64 (PI.f64) (pow.f64 F 2)))) (+.f64 (*.f64 (pow.f64 l 7) (-.f64 (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))) (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 4)) (pow.f64 F 2))))) (*.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))))) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (*.f64 (pow.f64 l 5) (-.f64 (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2)))) (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))))))))
(fma.f64 l (-.f64 (PI.f64) (/.f64 (PI.f64) (*.f64 F F))) (fma.f64 (pow.f64 l 7) (+.f64 (fma.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (fma.f64 1/24 (pow.f64 (PI.f64) 5) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2))))) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 2))) (*.f64 1/24 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 4)))))) (*.f64 1/5040 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)))) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) -1/3) (*.f64 (pow.f64 l 5) (+.f64 (fma.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 2))))) (*.f64 -1/120 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F))))))))
(fma.f64 l (-.f64 (PI.f64) (/.f64 (PI.f64) (*.f64 F F))) (fma.f64 (pow.f64 l 7) (+.f64 (fma.f64 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) -1/720 (fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 (PI.f64) 2) F) (/.f64 (+.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 1/2 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 1/3 (pow.f64 (PI.f64) 2))))) F)) (*.f64 1/24 (*.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (pow.f64 (PI.f64) 4))))) (*.f64 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) 1/5040)) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) -1/3) (*.f64 (pow.f64 l 5) (fma.f64 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) 1/24 (fma.f64 -1/2 (*.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (pow.f64 (PI.f64) 2)) (*.f64 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) -1/120)))))))
(fma.f64 l (-.f64 (PI.f64) (/.f64 (/.f64 (PI.f64) F) F)) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) -1/3) (fma.f64 (pow.f64 l 5) (-.f64 0 (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 (PI.f64) -1/6))) (*.f64 F F))) (*.f64 (pow.f64 l 7) (+.f64 (fma.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 2) (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 (PI.f64) -1/6))) (*.f64 F F))) (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/72) (*.f64 (/.f64 F (pow.f64 (PI.f64) 4)) F))) (*.f64 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) -1/840))))))
(fma.f64 l (-.f64 (PI.f64) (/.f64 (/.f64 (PI.f64) F) F)) (fma.f64 (pow.f64 l 7) (+.f64 (fma.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 2) (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (pow.f64 (PI.f64) 5))) (*.f64 F F))) (/.f64 (*.f64 (*.f64 (PI.f64) (pow.f64 (PI.f64) 6)) 1/72) (*.f64 F F))) (*.f64 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) -1/840)) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) -1/3) (*.f64 (pow.f64 l 5) (neg.f64 (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (pow.f64 (PI.f64) 5))) (*.f64 F F)))))))
(*.f64 l (PI.f64))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(fma.f64 l (PI.f64) (neg.f64 (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64)))))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(fma.f64 l (PI.f64) (neg.f64 (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64)))))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(fma.f64 l (PI.f64) (neg.f64 (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64)))))
(*.f64 l (PI.f64))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(fma.f64 l (PI.f64) (neg.f64 (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64)))))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(fma.f64 l (PI.f64) (neg.f64 (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64)))))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(fma.f64 l (PI.f64) (neg.f64 (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64)))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(neg.f64 (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(fma.f64 l (PI.f64) (neg.f64 (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64)))))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(fma.f64 l (PI.f64) (neg.f64 (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64)))))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(fma.f64 l (PI.f64) (neg.f64 (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64)))))
(*.f64 l (PI.f64))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(fma.f64 l (PI.f64) (neg.f64 (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64)))))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(fma.f64 l (PI.f64) (neg.f64 (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64)))))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(fma.f64 l (PI.f64) (neg.f64 (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64)))))
(*.f64 l (PI.f64))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(fma.f64 l (PI.f64) (neg.f64 (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64)))))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(fma.f64 l (PI.f64) (neg.f64 (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64)))))
(+.f64 (*.f64 l (PI.f64)) (*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))))
(fma.f64 l (PI.f64) (neg.f64 (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))))
(-.f64 (*.f64 l (PI.f64)) (/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64)))))

eval266.0ms (2.2%)

Compiler

Compiled 9014 to 4137 computations (54.1% saved)

prune334.0ms (2.7%)

Pruning

24 alts after pruning (23 fresh and 1 done)

PrunedKeptTotal
New34823371
Fresh000
Picked011
Done101
Total34924373
Error
0.3b
Counts
373 → 24
Alt Table
Click to see full alt table
StatusErrorProgram
38.3b
(fma.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
37.3b
(fma.f64 (cbrt.f64 (*.f64 l l)) (*.f64 (cbrt.f64 l) (PI.f64)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
40.0b
(/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 2)) (-.f64 (*.f64 (PI.f64) l) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))))
48.2b
(/.f64 (+.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 3)) (+.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (-.f64 (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 2) (*.f64 (*.f64 (PI.f64) l) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))))))
38.1b
(-.f64 (pow.f64 (sqrt.f64 (*.f64 (PI.f64) l)) 2) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
17.5b
(-.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) l)) 3) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
36.2b
(-.f64 (*.f64 (PI.f64) l) (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 2))
31.5b
(-.f64 (*.f64 (PI.f64) l) (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))) 2)) (cbrt.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))
17.0b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 3) (*.f64 F F)))
12.4b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) F))
17.7b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (PI.f64) (/.f64 F l)) F))
24.5b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (-.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 1) (*.f64 F F)))
22.1b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (*.f64 l (PI.f64)) (*.f64 F F)))
16.9b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
24.5b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (log.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l)))) (*.f64 F F)))
12.5b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (/.f64 1 F)))
17.3b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (*.f64 F F)) (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 3)))
17.9b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (exp.f64 (log.f64 (pow.f64 F -2))) (tan.f64 (*.f64 (PI.f64) l))))
22.1b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) (/.f64 l (*.f64 F F))))
39.2b
(-.f64 (*.f64 (PI.f64) l) (exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 F F) (tan.f64 (*.f64 (PI.f64) l)))) -1)))
43.2b
(-.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 3)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
43.2b
(-.f64 (cbrt.f64 (*.f64 (pow.f64 (PI.f64) 3) (pow.f64 l 3))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
22.4b
(*.f64 l (-.f64 (PI.f64) (/.f64 (/.f64 (PI.f64) F) F)))
13.3b
(*.f64 l (PI.f64))
Compiler

Compiled 866 to 558 computations (35.6% saved)

localize29.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) F)
0.2b
(/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)
0.3b
(*.f64 (PI.f64) l)
31.3b
(tan.f64 (*.f64 (PI.f64) l))
Compiler

Compiled 38 to 8 computations (78.9% saved)

series14.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
4.0ms
l
@-inf
(/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)
3.0ms
l
@0
(/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)
1.0ms
l
@inf
(/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)
1.0ms
F
@inf
(/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)
1.0ms
F
@-inf
(/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)

rewrite102.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
950×pow1_binary64
876×add-log-exp_binary64
876×log1p-expm1-u_binary64
876×expm1-log1p-u_binary64
857×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0823
117023
2234023
Stop Event
node limit
Counts
2 → 68
Calls
Call 1
Inputs
(/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)
(/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) F)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (tan.f64 (*.f64 (PI.f64) l)) (/.f64 1 F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2) (*.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (/.f64 1 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) (pow.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) 2) (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (*.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (/.f64 1 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) (sqrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (tan.f64 (*.f64 (PI.f64) l))) (/.f64 1 (neg.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 F) (tan.f64 (*.f64 (PI.f64) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 F) 2)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (cbrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 F)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (sqrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2) 1) (/.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 1) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2) (pow.f64 (cbrt.f64 F) 2)) (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 (cbrt.f64 F) 2)) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (cbrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2) (sqrt.f64 F)) (/.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (sqrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 3) (pow.f64 F 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 (/.f64 1 F) (/.f64 1 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (tan.f64 (*.f64 (PI.f64) l)) (/.f64 1 (*.f64 F F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (/.f64 1 F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) (pow.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) 2) (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) 2) (*.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) (/.f64 1 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) (*.f64 (sqrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) (/.f64 1 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 (tan.f64 (*.f64 (PI.f64) l))) F) (/.f64 1 (neg.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 F) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2) F) (/.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) 1) (/.f64 (/.f64 1 F) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) 2) 1) (/.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) 1) (/.f64 (sqrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 (cbrt.f64 F) 2)) (/.f64 (/.f64 1 F) (cbrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 F) 2)) (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (cbrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) 2) (pow.f64 (cbrt.f64 F) 2)) (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) (pow.f64 (cbrt.f64 F) 2)) (/.f64 (sqrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) (cbrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (sqrt.f64 F)) (/.f64 (/.f64 1 F) (sqrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 F)) (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (sqrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) 2) (sqrt.f64 F)) (/.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) (sqrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 F (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (neg.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) 3) (pow.f64 F 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))))))

simplify113.0ms (0.9%)

Algorithm
egg-herbie
Rules
676×fma-neg_binary64
454×distribute-neg-frac_binary64
406×associate-/l*_binary64
364×fma-def_binary64
358×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01051447
13081385
210441307
359901271
Stop Event
node limit
Counts
116 → 90
Calls
Call 1
Inputs
(/.f64 (*.f64 l (PI.f64)) F)
(+.f64 (/.f64 (*.f64 l (PI.f64)) F) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) F)) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) F))) (pow.f64 l 3)))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) F)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) F)) (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) F)))) (pow.f64 l 5)) (+.f64 (/.f64 (*.f64 l (PI.f64)) F) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) F)) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) F))) (pow.f64 l 3))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) F)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) F)) (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) F)))) (pow.f64 l 5)) (+.f64 (/.f64 (*.f64 l (PI.f64)) F) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) F)) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) F))) (pow.f64 l 3)) (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) F)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 4)) F)) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) F)) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))) (pow.f64 (PI.f64) 2)) F))))) (pow.f64 l 7)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))) (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 4)) (pow.f64 F 2)))))) (pow.f64 l 7)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
Outputs
(/.f64 (*.f64 l (PI.f64)) F)
(*.f64 (/.f64 l F) (PI.f64))
(*.f64 (PI.f64) (/.f64 l F))
(+.f64 (/.f64 (*.f64 l (PI.f64)) F) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) F)) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) F))) (pow.f64 l 3)))
(+.f64 (/.f64 (*.f64 l (PI.f64)) F) (*.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 3) F) 1/3) (pow.f64 l 3)))
(fma.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 3) F) 1/3) (pow.f64 l 3) (*.f64 (/.f64 l F) (PI.f64)))
(fma.f64 (/.f64 (*.f64 (pow.f64 l 3) (pow.f64 (PI.f64) 3)) F) 1/3 (*.f64 (PI.f64) (/.f64 l F)))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) F)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) F)) (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) F)))) (pow.f64 l 5)) (+.f64 (/.f64 (*.f64 l (PI.f64)) F) (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) F)) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) F))) (pow.f64 l 3))))
(fma.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) F)) (fma.f64 -1/2 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (/.f64 F (pow.f64 (PI.f64) 2))) (*.f64 (/.f64 (pow.f64 (PI.f64) 5) F) 1/24))) (pow.f64 l 5) (+.f64 (/.f64 (*.f64 l (PI.f64)) F) (*.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 3) F) 1/3) (pow.f64 l 3))))
(fma.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) F)) (fma.f64 -1/2 (*.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 3) F) 1/3) (pow.f64 (PI.f64) 2)) (*.f64 (/.f64 (pow.f64 (PI.f64) 5) F) 1/24))) (pow.f64 l 5) (fma.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 3) F) 1/3) (pow.f64 l 3) (*.f64 (/.f64 l F) (PI.f64))))
(fma.f64 (/.f64 (pow.f64 (PI.f64) 3) F) (*.f64 (pow.f64 l 3) 1/3) (fma.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 5) F) -1/30) (/.f64 (*.f64 -1/6 (*.f64 (PI.f64) (pow.f64 (PI.f64) 4))) F)) (pow.f64 l 5) (*.f64 (PI.f64) (/.f64 l F))))
(fma.f64 (/.f64 (pow.f64 (PI.f64) 3) F) (*.f64 (pow.f64 l 3) 1/3) (fma.f64 (/.f64 (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (neg.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 5)))) F) (pow.f64 l 5) (*.f64 (PI.f64) (/.f64 l F))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) F)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) F)) (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) F)))) (pow.f64 l 5)) (+.f64 (/.f64 (*.f64 l (PI.f64)) F) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) F)) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) F))) (pow.f64 l 3)) (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) F)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 4)) F)) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) F)) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))) (pow.f64 (PI.f64) 2)) F))))) (pow.f64 l 7)))))
(fma.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) F)) (fma.f64 -1/2 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (/.f64 F (pow.f64 (PI.f64) 2))) (*.f64 (/.f64 (pow.f64 (PI.f64) 5) F) 1/24))) (pow.f64 l 5) (+.f64 (/.f64 (*.f64 l (PI.f64)) F) (fma.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 3) F) 1/3) (pow.f64 l 3) (*.f64 (-.f64 (/.f64 (*.f64 -1/5040 (pow.f64 (PI.f64) 7)) F) (fma.f64 1/24 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (/.f64 F (pow.f64 (PI.f64) 4))) (fma.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) F) (*.f64 -1/2 (/.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (fma.f64 1/24 (pow.f64 (PI.f64) 5) (*.f64 (*.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 3) 1/3)) (pow.f64 (PI.f64) 2)))) (/.f64 F (pow.f64 (PI.f64) 2))))))) (pow.f64 l 7)))))
(+.f64 (fma.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) F)) (fma.f64 -1/2 (*.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 3) F) 1/3) (pow.f64 (PI.f64) 2)) (*.f64 (/.f64 (pow.f64 (PI.f64) 5) F) 1/24))) (pow.f64 l 5) (fma.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 3) F) 1/3) (pow.f64 l 3) (*.f64 (/.f64 l F) (PI.f64)))) (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) F)) (fma.f64 1/24 (*.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 3) F) 1/3) (pow.f64 (PI.f64) 4)) (fma.f64 -1/2 (*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 1/2 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 1/3 (pow.f64 (PI.f64) 2))))) F) (pow.f64 (PI.f64) 2)) (*.f64 (/.f64 (pow.f64 (PI.f64) 7) F) -1/720)))) (pow.f64 l 7)))
(fma.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 5) F) -1/30) (/.f64 (*.f64 -1/6 (*.f64 (PI.f64) (pow.f64 (PI.f64) 4))) F)) (pow.f64 l 5) (fma.f64 (/.f64 (pow.f64 (PI.f64) 3) F) (*.f64 (pow.f64 l 3) 1/3) (fma.f64 (-.f64 (*.f64 (/.f64 -1/5040 F) (pow.f64 (PI.f64) 7)) (fma.f64 (/.f64 (pow.f64 (PI.f64) 7) F) -1/720 (fma.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 2) (/.f64 (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (neg.f64 (*.f64 -1/6 (*.f64 (PI.f64) (pow.f64 (PI.f64) 4))))) F)) (*.f64 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/72) F) (pow.f64 (PI.f64) 4))))) (pow.f64 l 7) (*.f64 (PI.f64) (/.f64 l F)))))
(fma.f64 (/.f64 (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (neg.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 5)))) F) (pow.f64 l 5) (fma.f64 (/.f64 (pow.f64 (PI.f64) 3) F) (*.f64 (pow.f64 l 3) 1/3) (fma.f64 (-.f64 (fma.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) F) (/.f64 1/720 (/.f64 F (pow.f64 (PI.f64) 7)))) (fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 (PI.f64) 2) F) (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (neg.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 5))))) (/.f64 (*.f64 (*.f64 (PI.f64) (pow.f64 (PI.f64) 6)) 1/72) F))) (pow.f64 l 7) (*.f64 (PI.f64) (/.f64 l F)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) F))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) F) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) F))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) F) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) F))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) F) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) F))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) F) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) F))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) F) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) F))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) F) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) F))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) F) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) F))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) F) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) F) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) F) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) F) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) F) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) F) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) F) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) F) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) F) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) F) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) F) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) F) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) F) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 (*.f64 l (PI.f64)) (*.f64 F F))
(/.f64 (PI.f64) (/.f64 (*.f64 F F) l))
(*.f64 (PI.f64) (/.f64 l (*.f64 F F)))
(+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 (*.f64 l (PI.f64)) (*.f64 F F)))
(fma.f64 (pow.f64 l 3) (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (*.f64 F F)) (/.f64 (PI.f64) (/.f64 (*.f64 F F) l)))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) F) (/.f64 1/3 F)) (*.f64 (PI.f64) (/.f64 l (*.f64 F F))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))))
(fma.f64 (-.f64 (/.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (*.f64 F F)) (fma.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) (*.f64 -1/2 (/.f64 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2)) (*.f64 F F))))) (pow.f64 l 5) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 (*.f64 l (PI.f64)) (*.f64 F F))))
(fma.f64 (pow.f64 l 5) (+.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) -1/30) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 1/3 (pow.f64 (PI.f64) 2))) (*.f64 F F)))) (fma.f64 (pow.f64 l 3) (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (*.f64 F F)) (/.f64 (PI.f64) (/.f64 (*.f64 F F) l))))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) F) (/.f64 1/3 F)) (fma.f64 (pow.f64 l 5) (/.f64 (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (neg.f64 (*.f64 -1/6 (*.f64 (PI.f64) (pow.f64 (PI.f64) 4))))) (*.f64 F F)) (*.f64 (PI.f64) (/.f64 l (*.f64 F F)))))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) F) (/.f64 1/3 F)) (fma.f64 (pow.f64 l 5) (/.f64 (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (neg.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 5)))) (*.f64 F F)) (*.f64 (PI.f64) (/.f64 l (*.f64 F F)))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))) (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 4)) (pow.f64 F 2)))))) (pow.f64 l 7)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))))
(fma.f64 (-.f64 (/.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (*.f64 F F)) (fma.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) (*.f64 -1/2 (/.f64 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2)) (*.f64 F F))))) (pow.f64 l 5) (fma.f64 (-.f64 (/.f64 (*.f64 -1/5040 (pow.f64 (PI.f64) 7)) (*.f64 F F)) (fma.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (fma.f64 1/24 (pow.f64 (PI.f64) 5) (*.f64 (*.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 3) 1/3)) (pow.f64 (PI.f64) 2)))) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 2))) (*.f64 1/24 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 4))))))) (pow.f64 l 7) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 (*.f64 l (PI.f64)) (*.f64 F F)))))
(fma.f64 (pow.f64 l 5) (+.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) -1/30) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 1/3 (pow.f64 (PI.f64) 2))) (*.f64 F F)))) (fma.f64 (pow.f64 l 7) (-.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) 1/840) (fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 (PI.f64) 2) F) (/.f64 (+.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 1/2 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 1/3 (pow.f64 (PI.f64) 2))))) F)) (*.f64 1/24 (/.f64 (*.f64 (*.f64 (pow.f64 (PI.f64) 4) (pow.f64 (PI.f64) 3)) 1/3) (*.f64 F F))))) (fma.f64 (pow.f64 l 3) (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (*.f64 F F)) (/.f64 (PI.f64) (/.f64 (*.f64 F F) l)))))
(fma.f64 (pow.f64 l 5) (/.f64 (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (neg.f64 (*.f64 -1/6 (*.f64 (PI.f64) (pow.f64 (PI.f64) 4))))) (*.f64 F F)) (fma.f64 (pow.f64 l 7) (-.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) 1/840) (fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 (PI.f64) 2) F) (/.f64 (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (neg.f64 (*.f64 -1/6 (*.f64 (PI.f64) (pow.f64 (PI.f64) 4))))) F)) (*.f64 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/72) F) (/.f64 (pow.f64 (PI.f64) 4) F)))) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) F) (/.f64 1/3 F)) (*.f64 (PI.f64) (/.f64 l (*.f64 F F))))))
(fma.f64 (pow.f64 l 5) (/.f64 (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (neg.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 5)))) (*.f64 F F)) (fma.f64 (pow.f64 l 7) (-.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) 1/840) (fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 (PI.f64) 2) (*.f64 F F)) (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (neg.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 5))))) (/.f64 (*.f64 (*.f64 (PI.f64) (pow.f64 (PI.f64) 6)) 1/72) (*.f64 F F)))) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) F) (/.f64 1/3 F)) (*.f64 (PI.f64) (/.f64 l (*.f64 F F))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.3b
(*.f64 l (PI.f64))
Compiler

Compiled 7 to 4 computations (42.9% saved)

series2.0ms (0%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
1.0ms
l
@0
(*.f64 l (PI.f64))
1.0ms
l
@inf
(*.f64 l (PI.f64))
0.0ms
l
@-inf
(*.f64 l (PI.f64))

rewrite74.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
367×pow1_binary64
350×add-sqr-sqrt_binary64
345×*-un-lft-identity_binary64
336×add-log-exp_binary64
336×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045
1785
29225
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(*.f64 l (PI.f64))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 l (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (PI.f64)) l))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (PI.f64)) l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (PI.f64)) 2) l))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (PI.f64)) l))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 l (PI.f64))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l (PI.f64)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (PI.f64)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (PI.f64)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 l (PI.f64))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 l (PI.f64))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (*.f64 l (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 l (PI.f64)))) 2)) (cbrt.f64 (log.f64 (*.f64 l (PI.f64)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 l (PI.f64))))) (sqrt.f64 (log.f64 (*.f64 l (PI.f64)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 l (PI.f64)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (PI.f64)) l))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 l (PI.f64)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 l (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 l (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 l (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 l (PI.f64)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 l (PI.f64)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 l (PI.f64)))) 2))))))

simplify10.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
21 → 21
Calls
Call 1
Inputs
Outputs

localize69.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (/.f64 1 F))
0.2b
(/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)
0.3b
(*.f64 (PI.f64) l)
31.3b
(tan.f64 (*.f64 (PI.f64) l))
Compiler

Compiled 46 to 16 computations (65.2% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
l
@0
(*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (/.f64 1 F))
0.0ms
l
@inf
(*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (/.f64 1 F))
0.0ms
l
@-inf
(*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (/.f64 1 F))
0.0ms
F
@inf
(*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (/.f64 1 F))
0.0ms
F
@-inf
(*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (/.f64 1 F))

rewrite128.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
524×log-prod_binary64
406×prod-exp_binary64
402×exp-prod_binary64
325×pow-prod-down_binary64
259×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01013
120713
2268313
Stop Event
node limit
Counts
1 → 75
Calls
Call 1
Inputs
(*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (/.f64 1 F))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 F -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 F -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 F -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 F -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (tan.f64 (*.f64 (PI.f64) l)) (/.f64 (*.f64 F F) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) F)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) F))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 F (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 F F) (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 F) (/.f64 F (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) 2) (/.f64 F (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) (/.f64 F (sqrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 (neg.f64 F) (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) (neg.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (tan.f64 (*.f64 (PI.f64) l))) (neg.f64 (*.f64 F F)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (tan.f64 (*.f64 (PI.f64) l))) (*.f64 (neg.f64 F) F))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (tan.f64 (*.f64 (PI.f64) l))) (*.f64 F (neg.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) (neg.f64 F))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (tan.f64 (*.f64 (PI.f64) l))) 1) (*.f64 (neg.f64 F) F))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) -1) (*.f64 F (neg.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (tan.f64 (*.f64 (PI.f64) l))) -1) (pow.f64 (neg.f64 F) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (neg.f64 (tan.f64 (*.f64 (PI.f64) l)))) (pow.f64 (neg.f64 F) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (sqrt.f64 F)) (sqrt.f64 F))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) 1) F)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (pow.f64 (cbrt.f64 F) 2)) (cbrt.f64 F))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (tan.f64 (*.f64 (PI.f64) l))) (/.f64 1 F)) (neg.f64 F))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) (neg.f64 F))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) -1) (neg.f64 F))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 F) (neg.f64 (tan.f64 (*.f64 (PI.f64) l)))) (neg.f64 F))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) 3) (pow.f64 F 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) F) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 F (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 F F) (tan.f64 (*.f64 (PI.f64) l))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (/.f64 1 F)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))) 2)) (cbrt.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))) (sqrt.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 6))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) 3) (pow.f64 F 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (tan.f64 (*.f64 (PI.f64) l))) 1) (log.f64 (*.f64 F F))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) 1) (log.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) (*.f64 (log.f64 F) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) 1) (*.f64 (log.f64 F) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 F) -1) (log.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (neg.f64 (log.f64 F)) 1) (log.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (tan.f64 (*.f64 (PI.f64) l))) 1) (*.f64 -2 (log.f64 F))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) 1) (neg.f64 (log.f64 F))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) (*.f64 (log.f64 F) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) 1) (*.f64 (log.f64 F) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) (*.f64 (neg.f64 (log.f64 F)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) 1) (*.f64 (neg.f64 (log.f64 F)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 F) -1) (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (neg.f64 (log.f64 F)) 1) (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (neg.f64 (log.f64 F)) (*.f64 (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 F) -1) (*.f64 (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (neg.f64 (log.f64 F)) 1) (*.f64 (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) 1)))))))

simplify52.0ms (0.4%)

Algorithm
egg-herbie
Rules
812×cancel-sign-sub-inv_binary64
541×distribute-rgt-neg-in_binary64
524×distribute-lft-neg-in_binary64
429×fma-neg_binary64
338×distribute-neg-frac_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
071776
1207726
2733693
34450672
Stop Event
node limit
Counts
99 → 86
Calls
Call 1
Inputs
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))) (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 4)) (pow.f64 F 2)))))) (pow.f64 l 7)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
Outputs
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 (*.f64 l (PI.f64)) (*.f64 F F))
(*.f64 (/.f64 l (*.f64 F F)) (PI.f64))
(*.f64 (/.f64 l F) (/.f64 (PI.f64) F))
(*.f64 (PI.f64) (/.f64 l (*.f64 F F)))
(+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 (*.f64 l (PI.f64)) (*.f64 F F)))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (*.f64 (/.f64 l (*.f64 F F)) (PI.f64)))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (*.f64 (/.f64 l F) (/.f64 (PI.f64) F)))
(fma.f64 (pow.f64 l 3) (/.f64 (pow.f64 (PI.f64) 3) (/.f64 (*.f64 F F) 1/3)) (*.f64 (PI.f64) (/.f64 l (*.f64 F F))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))))
(fma.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F))) (fma.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 2)))))) (pow.f64 l 5) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 (*.f64 l (PI.f64)) (*.f64 F F))))
(fma.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) -1/30) (*.f64 -1/2 (*.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (pow.f64 (PI.f64) 2)))) (pow.f64 l 5) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (*.f64 (/.f64 l (*.f64 F F)) (PI.f64))))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (fma.f64 (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 (PI.f64) -1/6))) (*.f64 F F)) (pow.f64 l 5) (*.f64 (/.f64 l F) (/.f64 (PI.f64) F))))
(fma.f64 (pow.f64 l 3) (/.f64 (pow.f64 (PI.f64) 3) (/.f64 (*.f64 F F) 1/3)) (fma.f64 (/.f64 (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (*.f64 (pow.f64 (PI.f64) 5) 1/6)) (*.f64 F F)) (pow.f64 l 5) (*.f64 (PI.f64) (/.f64 l (*.f64 F F)))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))) (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 4)) (pow.f64 F 2)))))) (pow.f64 l 7)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))))
(fma.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F))) (fma.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 2)))))) (pow.f64 l 5) (fma.f64 (-.f64 (/.f64 (*.f64 -1/5040 (pow.f64 (PI.f64) 7)) (*.f64 F F)) (fma.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (fma.f64 1/24 (pow.f64 (PI.f64) 5) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2))))) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 2))) (*.f64 1/24 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 4))))))) (pow.f64 l 7) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 (*.f64 l (PI.f64)) (*.f64 F F)))))
(fma.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) -1/30) (*.f64 -1/2 (*.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (pow.f64 (PI.f64) 2)))) (pow.f64 l 5) (fma.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) 1/840) (fma.f64 -1/2 (/.f64 (+.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 1/2 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 1/3 (pow.f64 (PI.f64) 2))))) (/.f64 F (/.f64 (pow.f64 (PI.f64) 2) F))) (*.f64 1/24 (*.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (pow.f64 (PI.f64) 4))))) (pow.f64 l 7) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (*.f64 (/.f64 l (*.f64 F F)) (PI.f64)))))
(fma.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) 1/840) (fma.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 2) (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 (PI.f64) -1/6))) (*.f64 F F))) (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/72) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 4))))) (pow.f64 l 7) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (fma.f64 (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 (PI.f64) -1/6))) (*.f64 F F)) (pow.f64 l 5) (*.f64 (/.f64 l F) (/.f64 (PI.f64) F)))))
(fma.f64 (+.f64 (fma.f64 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) 1/840 (*.f64 (/.f64 (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (*.f64 (pow.f64 (PI.f64) 5) 1/6)) (*.f64 F F)) (*.f64 (pow.f64 (PI.f64) 2) 1/2))) (/.f64 (*.f64 (*.f64 (PI.f64) (pow.f64 (PI.f64) 6)) -1/72) (*.f64 F F))) (pow.f64 l 7) (fma.f64 (pow.f64 l 3) (/.f64 (pow.f64 (PI.f64) 3) (/.f64 (*.f64 F F) 1/3)) (fma.f64 (/.f64 (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (*.f64 (pow.f64 (PI.f64) 5) 1/6)) (*.f64 F F)) (pow.f64 l 5) (*.f64 (PI.f64) (/.f64 l (*.f64 F F))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))

localize23.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))
0.7b
(pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 3)
4.5b
(/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 3) (*.f64 F F))
31.3b
(tan.f64 (*.f64 (PI.f64) l))
Compiler

Compiled 54 to 17 computations (68.5% saved)

series19.0ms (0.2%)

Counts
3 → 40
Calls

12 calls:

TimeVariablePointExpression
5.0ms
l
@inf
(pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 3)
4.0ms
l
@0
(pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 3)
3.0ms
l
@-inf
(pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 3)
1.0ms
l
@0
(cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))
1.0ms
l
@-inf
(/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 3) (*.f64 F F))

rewrite113.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
517×log-prod_binary64
390×exp-prod_binary64
313×pow-prod-down_binary64
266×pow2_binary64
184×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01129
123529
2271529
Stop Event
node limit
Counts
3 → 129
Calls
Call 1
Inputs
(/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 3) (*.f64 F F))
(pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 3)
(cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 F -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 F -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 F -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 F -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (*.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2) (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2) (*.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4)) (cbrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (*.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (tan.f64 (*.f64 (PI.f64) l))) (/.f64 1 (neg.f64 (*.f64 F F))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (/.f64 1 F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2) F) (/.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 F) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 1) (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2) (*.f64 F F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2) 1) (/.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (*.f64 F F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 1) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (*.f64 F F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (*.f64 (cbrt.f64 F) F)) (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2) (pow.f64 (cbrt.f64 F) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (cbrt.f64 F) F)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 (cbrt.f64 F) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2) (*.f64 (cbrt.f64 F) F)) (cbrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (*.f64 (cbrt.f64 F) F)) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 (cbrt.f64 F) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 3) (pow.f64 F 6)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))) 2)) (cbrt.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))) (sqrt.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (*.f64 F F))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 6))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 3) (pow.f64 F 6)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 F (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (tan.f64 (*.f64 (PI.f64) l))) 1) (*.f64 2 (log.f64 F))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (tan.f64 (*.f64 (PI.f64) l))) (*.f64 (log.f64 F) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (tan.f64 (*.f64 (PI.f64) l))) 1) (*.f64 (log.f64 F) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (tan.f64 (*.f64 (PI.f64) l))) (*.f64 (*.f64 2 (log.f64 F)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (tan.f64 (*.f64 (PI.f64) l))) 1) (*.f64 (*.f64 2 (log.f64 F)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) (*.f64 (log.f64 F) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (tan.f64 (*.f64 (PI.f64) l)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l))))) (log.f64 (sqrt.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (tan.f64 (*.f64 (PI.f64) l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (tan.f64 (*.f64 (PI.f64) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (tan.f64 (*.f64 (PI.f64) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2) (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 1/6) (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 5/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (*.f64 (PI.f64) l)) (/.f64 1 (cos.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 5/6) (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2) 1) (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))))) 2) (cbrt.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (cos.f64 (*.f64 (PI.f64) l)) (sin.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 (*.f64 (PI.f64) l)) (cos.f64 (*.f64 (PI.f64) l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sin.f64 (*.f64 (PI.f64) l))) (neg.f64 (cos.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x tan.f64 (*.f64 (PI.f64) l))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (tan.f64 (*.f64 (PI.f64) l))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (tan.f64 (*.f64 (PI.f64) l)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2/3 (log.f64 (tan.f64 (*.f64 (PI.f64) l)))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (tan.f64 (*.f64 (PI.f64) l))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (tan.f64 (*.f64 (PI.f64) l))) 1/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) 3/2) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) (pow.f64 (cbrt.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) 2) (cbrt.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 1/6) (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (sin.f64 (*.f64 (PI.f64) l))) (cbrt.f64 (cos.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 3) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) 2) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/3) (log.f64 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))))) (sqrt.f64 (log.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (tan.f64 (*.f64 (PI.f64) l))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/6 (log.f64 (tan.f64 (*.f64 (PI.f64) l)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (tan.f64 (*.f64 (PI.f64) l))) 1) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (tan.f64 (*.f64 (PI.f64) l))) 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) 1) 1))))))

simplify60.0ms (0.5%)

Algorithm
egg-herbie
Rules
812×cancel-sign-sub-inv_binary64
541×distribute-rgt-neg-in_binary64
429×fma-neg_binary64
338×distribute-neg-frac_binary64
299×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0771072
1224998
2760965
34533944
Stop Event
node limit
Counts
169 → 144
Calls
Call 1
Inputs
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))) (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 4)) (pow.f64 F 2)))))) (pow.f64 l 7)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(*.f64 (pow.f64 1 1/3) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(*.f64 (pow.f64 1 1/3) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(*.f64 (pow.f64 1 1/3) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(*.f64 (pow.f64 1 1/3) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(*.f64 (pow.f64 1 1/3) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(*.f64 (pow.f64 1 1/3) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(*.f64 (pow.f64 1 1/3) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(*.f64 (pow.f64 1 1/3) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(pow.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) 1/3)
(pow.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) 1/3)
(pow.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) 1/3)
(pow.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) 1/3)
(pow.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) 1/3)
(pow.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) 1/3)
(pow.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) 1/3)
(pow.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) 1/3)
Outputs
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 (*.f64 l (PI.f64)) (*.f64 F F))
(*.f64 (/.f64 l F) (/.f64 (PI.f64) F))
(+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 (*.f64 l (PI.f64)) (*.f64 F F)))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (*.f64 (/.f64 l F) (/.f64 (PI.f64) F)))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) F) (/.f64 1/3 F)) (*.f64 (/.f64 l F) (/.f64 (PI.f64) F)))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))))
(fma.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F))) (fma.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 2)))))) (pow.f64 l 5) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 (*.f64 l (PI.f64)) (*.f64 F F))))
(fma.f64 (+.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) -1/30) (*.f64 1/2 (*.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (pow.f64 (PI.f64) 2)))) (pow.f64 l 5) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (*.f64 (/.f64 l F) (/.f64 (PI.f64) F))))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (fma.f64 (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (*.f64 (PI.f64) (pow.f64 (PI.f64) 4)))) (*.f64 F F)) (pow.f64 l 5) (*.f64 (/.f64 l F) (/.f64 (PI.f64) F))))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) F) (/.f64 1/3 F)) (fma.f64 (/.f64 (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (*.f64 (pow.f64 (PI.f64) 5) 1/6)) (*.f64 F F)) (pow.f64 l 5) (*.f64 (/.f64 l F) (/.f64 (PI.f64) F))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))) (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 4)) (pow.f64 F 2)))))) (pow.f64 l 7)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))))
(fma.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F))) (fma.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 2)))))) (pow.f64 l 5) (fma.f64 (-.f64 (*.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F))) (fma.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (fma.f64 1/24 (pow.f64 (PI.f64) 5) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2))))) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 2))) (*.f64 1/24 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 4))))))) (pow.f64 l 7) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 (*.f64 l (PI.f64)) (*.f64 F F)))))
(fma.f64 (+.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) -1/30) (*.f64 1/2 (*.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (pow.f64 (PI.f64) 2)))) (pow.f64 l 5) (fma.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) 1/840) (fma.f64 -1/2 (*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 1/2 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 1/3 (pow.f64 (PI.f64) 2))))) (*.f64 F F)) (pow.f64 (PI.f64) 2)) (*.f64 1/24 (*.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (pow.f64 (PI.f64) 4))))) (pow.f64 l 7) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (*.f64 (/.f64 l F) (/.f64 (PI.f64) F)))))
(fma.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) 1/840) (fma.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 2) (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (*.f64 (PI.f64) (pow.f64 (PI.f64) 4)))) (*.f64 F F))) (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/72) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 4))))) (pow.f64 l 7) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (fma.f64 (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (*.f64 (PI.f64) (pow.f64 (PI.f64) 4)))) (*.f64 F F)) (pow.f64 l 5) (*.f64 (/.f64 l F) (/.f64 (PI.f64) F)))))
(fma.f64 (+.f64 (fma.f64 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) 1/840 (/.f64 (*.f64 (*.f64 (PI.f64) (pow.f64 (PI.f64) 6)) -1/72) (*.f64 F F))) (*.f64 (/.f64 (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (*.f64 (pow.f64 (PI.f64) 5) 1/6)) (*.f64 F F)) (*.f64 (pow.f64 (PI.f64) 2) 1/2))) (pow.f64 l 7) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) F) (/.f64 1/3 F)) (fma.f64 (/.f64 (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (*.f64 (pow.f64 (PI.f64) 5) 1/6)) (*.f64 F F)) (pow.f64 l 5) (*.f64 (/.f64 l F) (/.f64 (PI.f64) F)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(*.f64 (pow.f64 1 1/3) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (*.f64 1 (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(*.f64 (pow.f64 1 1/3) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (*.f64 1 (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(*.f64 (pow.f64 1 1/3) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (*.f64 1 (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(*.f64 (pow.f64 1 1/3) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (*.f64 1 (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(*.f64 (pow.f64 1 1/3) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (*.f64 1 (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(*.f64 (pow.f64 1 1/3) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (*.f64 1 (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(*.f64 (pow.f64 1 1/3) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (*.f64 1 (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(*.f64 (pow.f64 1 1/3) (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (*.f64 1 (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(pow.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) 1/3)
(cbrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(pow.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) 1/3)
(cbrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(pow.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) 1/3)
(cbrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(pow.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) 1/3)
(cbrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(pow.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) 1/3)
(cbrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(pow.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) 1/3)
(cbrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(pow.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) 1/3)
(cbrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(pow.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) 1/3)
(cbrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))

localize56.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.1b
(exp.f64 (log.f64 (pow.f64 F -2)))
4.6b
(*.f64 (exp.f64 (log.f64 (pow.f64 F -2))) (tan.f64 (*.f64 (PI.f64) l)))
26.8b
(log.f64 (pow.f64 F -2))
31.3b
(tan.f64 (*.f64 (PI.f64) l))
Compiler

Compiled 49 to 26 computations (46.9% saved)

series54.0ms (0.4%)

Counts
3 → 48
Calls

12 calls:

TimeVariablePointExpression
30.0ms
F
@0
(log.f64 (pow.f64 F -2))
11.0ms
F
@inf
(log.f64 (pow.f64 F -2))
9.0ms
F
@-inf
(log.f64 (pow.f64 F -2))
1.0ms
l
@0
(*.f64 (exp.f64 (log.f64 (pow.f64 F -2))) (tan.f64 (*.f64 (PI.f64) l)))
1.0ms
F
@0
(*.f64 (exp.f64 (log.f64 (pow.f64 F -2))) (tan.f64 (*.f64 (PI.f64) l)))

rewrite92.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
923×pow1_binary64
847×add-log-exp_binary64
846×log1p-expm1-u_binary64
846×expm1-log1p-u_binary64
827×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01123
121123
2235023
Stop Event
node limit
Counts
3 → 59
Calls
Call 1
Inputs
(log.f64 (pow.f64 F -2))
(*.f64 (exp.f64 (log.f64 (pow.f64 F -2))) (tan.f64 (*.f64 (PI.f64) l)))
(exp.f64 (log.f64 (pow.f64 F -2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -2 (log.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (cbrt.f64 (pow.f64 F -4))) (log.f64 (cbrt.f64 (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 F) -1) (*.f64 (log.f64 F) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 -2 (log.f64 F))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (log.f64 F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2 (log.f64 F)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 -2 (log.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 F) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 -2 (log.f64 F))) (cbrt.f64 (pow.f64 (*.f64 -2 (log.f64 F)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 -2 (log.f64 F)) 2)) (cbrt.f64 (*.f64 -2 (log.f64 F))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 -2 (log.f64 F))) (sqrt.f64 (*.f64 -2 (log.f64 F))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -2 (log.f64 F)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 -2 (log.f64 F)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 -2 (log.f64 F))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 -2 (log.f64 F))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 -2 (log.f64 F)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 -2 (log.f64 F)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 -2 (log.f64 F))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 F -2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 -2 (log.f64 F))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) (cos.f64 (*.f64 (PI.f64) l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 F -2) (sin.f64 (*.f64 (PI.f64) l))) (cos.f64 (*.f64 (PI.f64) l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 1 F) (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 F -4) (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (pow.f64 F -2)) (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 F -2) 3) (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 3) (pow.f64 (pow.f64 F -2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (-.f64 (pow.f64 F -2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 F -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 F -2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 F -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 F -2)) (cbrt.f64 (pow.f64 F -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 F -4)) (cbrt.f64 (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 F) (/.f64 1 F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 F F)) -2) (pow.f64 (cbrt.f64 F) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 F) -2) (pow.f64 (sqrt.f64 F) -2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 F -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 F -2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 -2) (log.f64 F))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 F F) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 F -2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 F -2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 F) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (*.f64 -2 (log.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (*.f64 -2 (log.f64 F)) 2))) (cbrt.f64 (*.f64 -2 (log.f64 F))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (*.f64 -2 (log.f64 F)))) (sqrt.f64 (*.f64 -2 (log.f64 F))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 F -4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 F -2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 F -2)))))))

simplify135.0ms (1.1%)

Algorithm
egg-herbie
Rules
812×cancel-sign-sub-inv_binary64
543×distribute-rgt-neg-in_binary64
429×fma-neg_binary64
338×distribute-neg-frac_binary64
296×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
083944
1228894
2759861
34472840
Stop Event
node limit
Counts
107 → 74
Calls
Call 1
Inputs
(*.f64 -2 (log.f64 F))
(*.f64 -2 (log.f64 F))
(*.f64 -2 (log.f64 F))
(*.f64 -2 (log.f64 F))
(*.f64 2 (log.f64 (/.f64 1 F)))
(*.f64 2 (log.f64 (/.f64 1 F)))
(*.f64 2 (log.f64 (/.f64 1 F)))
(*.f64 2 (log.f64 (/.f64 1 F)))
(*.f64 2 (log.f64 (/.f64 -1 F)))
(*.f64 2 (log.f64 (/.f64 -1 F)))
(*.f64 2 (log.f64 (/.f64 -1 F)))
(*.f64 2 (log.f64 (/.f64 -1 F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))) (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 4)) (pow.f64 F 2)))))) (pow.f64 l 7)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (pow.f64 F 2))
Outputs
(*.f64 -2 (log.f64 F))
(*.f64 -2 (log.f64 F))
(*.f64 -2 (log.f64 F))
(*.f64 -2 (log.f64 F))
(*.f64 2 (log.f64 (/.f64 1 F)))
(*.f64 -2 (log.f64 F))
(*.f64 2 (log.f64 (/.f64 1 F)))
(*.f64 -2 (log.f64 F))
(*.f64 2 (log.f64 (/.f64 1 F)))
(*.f64 -2 (log.f64 F))
(*.f64 2 (log.f64 (/.f64 1 F)))
(*.f64 -2 (log.f64 F))
(*.f64 2 (log.f64 (/.f64 -1 F)))
(*.f64 2 (log.f64 (/.f64 -1 F)))
(*.f64 2 (log.f64 (/.f64 -1 F)))
(*.f64 2 (log.f64 (/.f64 -1 F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 l (/.f64 (*.f64 F F) (PI.f64)))
(*.f64 (/.f64 l F) (/.f64 (PI.f64) F))
(*.f64 (/.f64 (PI.f64) (*.f64 F F)) l)
(*.f64 (PI.f64) (/.f64 (/.f64 l F) F))
(+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 l (/.f64 (*.f64 F F) (PI.f64))))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (*.f64 (/.f64 l F) (/.f64 (PI.f64) F)))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (*.f64 (/.f64 (PI.f64) (*.f64 F F)) l))
(fma.f64 (pow.f64 l 3) (/.f64 (pow.f64 (PI.f64) 3) (/.f64 (*.f64 F F) 1/3)) (*.f64 (PI.f64) (/.f64 (/.f64 l F) F)))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))))
(fma.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F))) (fma.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 2)))))) (pow.f64 l 5) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 l (/.f64 (*.f64 F F) (PI.f64)))))
(fma.f64 (+.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) -1/30) (*.f64 1/2 (*.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (pow.f64 (PI.f64) 2)))) (pow.f64 l 5) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (*.f64 (/.f64 l F) (/.f64 (PI.f64) F))))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (fma.f64 (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 (PI.f64) -1/6))) (*.f64 F F)) (pow.f64 l 5) (*.f64 (/.f64 (PI.f64) (*.f64 F F)) l)))
(fma.f64 (pow.f64 l 3) (/.f64 (pow.f64 (PI.f64) 3) (/.f64 (*.f64 F F) 1/3)) (fma.f64 (/.f64 (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (*.f64 (pow.f64 (PI.f64) 5) 1/6)) (*.f64 F F)) (pow.f64 l 5) (*.f64 (PI.f64) (/.f64 (/.f64 l F) F))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))) (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 4)) (pow.f64 F 2)))))) (pow.f64 l 7)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))))
(fma.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F))) (fma.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 2)))))) (pow.f64 l 5) (fma.f64 (-.f64 (*.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F))) (fma.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (fma.f64 1/24 (pow.f64 (PI.f64) 5) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2))))) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 2))) (*.f64 1/24 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 4))))))) (pow.f64 l 7) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 l (/.f64 (*.f64 F F) (PI.f64))))))
(fma.f64 (+.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) -1/30) (*.f64 1/2 (*.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (pow.f64 (PI.f64) 2)))) (pow.f64 l 5) (fma.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) 1/840) (fma.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 2) (/.f64 (*.f64 F F) (+.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 1/2 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 1/3 (pow.f64 (PI.f64) 2))))))) (*.f64 1/24 (*.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (pow.f64 (PI.f64) 4))))) (pow.f64 l 7) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (*.f64 (/.f64 l F) (/.f64 (PI.f64) F)))))
(fma.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) 1/840) (fma.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 2) (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 (PI.f64) -1/6))) (*.f64 F F))) (/.f64 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) (pow.f64 (PI.f64) 4)) 1/72) (*.f64 F F)))) (pow.f64 l 7) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (fma.f64 (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 (pow.f64 (PI.f64) 4) (*.f64 (PI.f64) -1/6))) (*.f64 F F)) (pow.f64 l 5) (*.f64 (/.f64 (PI.f64) (*.f64 F F)) l))))
(fma.f64 (+.f64 (fma.f64 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) 1/840 (*.f64 (/.f64 (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (*.f64 (pow.f64 (PI.f64) 5) 1/6)) (*.f64 F F)) (*.f64 (pow.f64 (PI.f64) 2) 1/2))) (/.f64 (*.f64 (*.f64 (PI.f64) (pow.f64 (PI.f64) 6)) -1/72) (*.f64 F F))) (pow.f64 l 7) (fma.f64 (pow.f64 l 3) (/.f64 (pow.f64 (PI.f64) 3) (/.f64 (*.f64 F F) 1/3)) (fma.f64 (/.f64 (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (*.f64 (pow.f64 (PI.f64) 5) 1/6)) (*.f64 F F)) (pow.f64 l 5) (*.f64 (PI.f64) (/.f64 (/.f64 l F) F)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F F)) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) (*.f64 F F))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (*.f64 F F))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (*.f64 F F))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (*.f64 F F))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (*.f64 F F))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (*.f64 F F))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (*.f64 F F))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (*.f64 F F))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (*.f64 F F))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (*.f64 F F))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (*.f64 F F))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (*.f64 F F))
(/.f64 1 (pow.f64 F 2))
(/.f64 1 (*.f64 F F))

eval818.0ms (6.7%)

Compiler

Compiled 13553 to 6105 computations (55% saved)

prune222.0ms (1.8%)

Pruning

24 alts after pruning (21 fresh and 3 done)

PrunedKeptTotal
New60615621
Fresh12618
Picked101
Done235
Total62124645
Error
0.2b
Counts
645 → 24
Alt Table
Click to see full alt table
StatusErrorProgram
38.3b
(fma.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
37.3b
(fma.f64 (cbrt.f64 (*.f64 l l)) (*.f64 (cbrt.f64 l) (PI.f64)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
36.9b
(pow.f64 (sqrt.f64 (*.f64 l (PI.f64))) 2)
14.1b
(pow.f64 (cbrt.f64 (*.f64 l (PI.f64))) 3)
40.0b
(/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 2)) (-.f64 (*.f64 (PI.f64) l) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))))
48.2b
(/.f64 (+.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 3)) (+.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (-.f64 (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 2) (*.f64 (*.f64 (PI.f64) l) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))))))
27.1b
(-.f64 (+.f64 1 (*.f64 l (PI.f64))) 1)
36.2b
(-.f64 (*.f64 (PI.f64) l) (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 2))
31.5b
(-.f64 (*.f64 (PI.f64) l) (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))) 2)) (cbrt.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))
17.0b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 3) (*.f64 F F)))
24.5b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (-.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 1) F) F))
17.7b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (*.f64 l (PI.f64)) F) F))
22.1b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (*.f64 l (PI.f64)) (*.f64 F F)))
16.9b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
12.4b
(-.f64 (*.f64 (PI.f64) l) (/.f64 1 (*.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) F)))
17.7b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 l F) (/.f64 (PI.f64) F)))
40.4b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (exp.f64 (*.f64 2 (log.f64 (/.f64 -1 F)))) (tan.f64 (*.f64 (PI.f64) l))))
17.9b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (exp.f64 (log.f64 (pow.f64 F -2))) (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 3)))
17.7b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) (/.f64 (/.f64 l F) F)))
30.3b
(-.f64 (*.f64 (PI.f64) l) (exp.f64 (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))
38.8b
(-.f64 (cbrt.f64 (*.f64 (pow.f64 (PI.f64) 3) (pow.f64 l 3))) (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) F))
22.4b
(*.f64 l (-.f64 (PI.f64) (/.f64 (/.f64 (PI.f64) F) F)))
13.3b
(*.f64 l (PI.f64))
46.3b
(cbrt.f64 (pow.f64 (*.f64 l (PI.f64)) 3))
Compiler

Compiled 774 to 517 computations (33.2% saved)

localize19.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 F (tan.f64 (*.f64 (PI.f64) l)))
0.3b
(*.f64 (PI.f64) l)
0.6b
(/.f64 1 (*.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) F))
31.3b
(tan.f64 (*.f64 (PI.f64) l))
Compiler

Compiled 51 to 13 computations (74.5% saved)

series21.0ms (0.2%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
13.0ms
l
@inf
(/.f64 F (tan.f64 (*.f64 (PI.f64) l)))
2.0ms
l
@0
(/.f64 F (tan.f64 (*.f64 (PI.f64) l)))
1.0ms
l
@-inf
(/.f64 F (tan.f64 (*.f64 (PI.f64) l)))
1.0ms
F
@-inf
(/.f64 F (tan.f64 (*.f64 (PI.f64) l)))
1.0ms
F
@0
(/.f64 F (tan.f64 (*.f64 (PI.f64) l)))

rewrite83.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
530×log-prod_binary64
405×exp-prod_binary64
369×prod-exp_binary64
314×pow-prod-down_binary64
265×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01026
120723
2267423
Stop Event
node limit
Counts
2 → 99
Calls
Call 1
Inputs
(/.f64 1 (*.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) F))
(/.f64 F (tan.f64 (*.f64 (PI.f64) l)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 F -2)) (tan.f64 (*.f64 (PI.f64) l)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 F -2)) (tan.f64 (*.f64 (PI.f64) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 F -2)) (tan.f64 (*.f64 (PI.f64) l))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 F -2)) (tan.f64 (*.f64 (PI.f64) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l)))) (cbrt.f64 (pow.f64 (/.f64 F (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 F (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) -4)) (cbrt.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 F (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))))) (/.f64 1 (/.f64 F (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (/.f64 (neg.f64 (*.f64 F F)) (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (/.f64 1 F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 F) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 F F) (tan.f64 (*.f64 (PI.f64) l)))) -2) (cbrt.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 F F) (tan.f64 (*.f64 (PI.f64) l))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 F (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) 4) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 F (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) 6) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 F (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) -4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 F F) (tan.f64 (*.f64 (PI.f64) l))) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 F F) (tan.f64 (*.f64 (PI.f64) l)))) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 F (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (/.f64 F (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 -1) (log.f64 (/.f64 (*.f64 F F) (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (/.f64 (neg.f64 (*.f64 F F)) (tan.f64 (*.f64 (PI.f64) l)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l))))) 2)) (cbrt.f64 (log.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l)))))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 F (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) -4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (pow.f64 F -2)) (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 F F) (tan.f64 (*.f64 (PI.f64) l))) -3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 F F) (tan.f64 (*.f64 (PI.f64) l)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (*.f64 F F) (tan.f64 (*.f64 (PI.f64) l))) -3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 (/.f64 F (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (*.f64 F F) (tan.f64 (*.f64 (PI.f64) l)))) 1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (*.f64 F F) (tan.f64 (*.f64 (PI.f64) l)))) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) (*.f64 (log.f64 F) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (*.f64 (log.f64 (/.f64 (*.f64 F F) (tan.f64 (*.f64 (PI.f64) l)))) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 F (/.f64 1 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) (cbrt.f64 (pow.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) 2)) (cbrt.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 F) 2) (*.f64 (cbrt.f64 F) (/.f64 1 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) (sqrt.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 F) (*.f64 (sqrt.f64 F) (/.f64 1 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 F) (/.f64 1 (neg.f64 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (tan.f64 (*.f64 (PI.f64) l))) F)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 F) 2) 1) (/.f64 (cbrt.f64 F) (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 F) 1) (/.f64 (sqrt.f64 F) (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) -2) (/.f64 F (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 F) 2) (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2)) (cbrt.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 F) (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2)) (/.f64 (sqrt.f64 F) (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) -1/2) (/.f64 F (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 F) 2) (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) (/.f64 (cbrt.f64 F) (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 F (sin.f64 (*.f64 (PI.f64) l))) (cos.f64 (*.f64 (PI.f64) l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 F 3) (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))))) 2)) (cbrt.f64 (log.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))))) (sqrt.f64 (log.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 F (neg.f64 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 F 3) (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 F) 1) (log.f64 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 F) (*.f64 (log.f64 (tan.f64 (*.f64 (PI.f64) l))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 F) 1) (*.f64 (log.f64 (tan.f64 (*.f64 (PI.f64) l))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 F) 1) (neg.f64 (log.f64 (tan.f64 (*.f64 (PI.f64) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (neg.f64 (log.f64 (tan.f64 (*.f64 (PI.f64) l)))) (*.f64 (log.f64 F) 1)))))))

simplify91.0ms (0.7%)

Algorithm
egg-herbie
Rules
652×times-frac_binary64
588×associate-/l*_binary64
519×fma-def_binary64
326×associate-/r*_binary64
317×associate-*l/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01161668
13621563
215571505
Stop Event
node limit
Counts
147 → 120
Calls
Call 1
Inputs
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))) (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 4)) (pow.f64 F 2)))))) (pow.f64 l 7)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (*.f64 F (cos.f64 (*.f64 l (PI.f64)))) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 F (cos.f64 (*.f64 l (PI.f64)))) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 F (cos.f64 (*.f64 l (PI.f64)))) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 F (cos.f64 (*.f64 l (PI.f64)))) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 F (cos.f64 (*.f64 l (PI.f64)))) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 F (cos.f64 (*.f64 l (PI.f64)))) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 F (cos.f64 (*.f64 l (PI.f64)))) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 F (cos.f64 (*.f64 l (PI.f64)))) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 F (cos.f64 (*.f64 l (PI.f64)))) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 F (cos.f64 (*.f64 l (PI.f64)))) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 F (cos.f64 (*.f64 l (PI.f64)))) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 F (cos.f64 (*.f64 l (PI.f64)))) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 F (*.f64 l (PI.f64)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 F (*.f64 l (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))))) (pow.f64 (PI.f64) 2))) (/.f64 F (*.f64 l (PI.f64))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 F (*.f64 l (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))))) (pow.f64 (PI.f64) 2))) (+.f64 (/.f64 F (*.f64 l (PI.f64))) (*.f64 -1 (*.f64 (pow.f64 l 3) (+.f64 (*.f64 -1 (/.f64 (*.f64 F (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) 2)) (pow.f64 (PI.f64) 3))) (/.f64 (*.f64 F (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)))))) (pow.f64 (PI.f64) 2)))))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 F (*.f64 l (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))))) (pow.f64 (PI.f64) 2))) (+.f64 (/.f64 F (*.f64 l (PI.f64))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 (*.f64 (-.f64 (*.f64 -1/5040 (pow.f64 (PI.f64) 7)) (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 4))) (+.f64 (*.f64 -1/720 (pow.f64 (PI.f64) 7)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))) (pow.f64 (PI.f64) 2)))))) F) (pow.f64 (PI.f64) 2)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (+.f64 (*.f64 -1 (/.f64 (*.f64 F (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) 2)) (pow.f64 (PI.f64) 3))) (/.f64 (*.f64 F (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)))))) (pow.f64 (PI.f64) 2)))) (PI.f64))) (*.f64 -1 (/.f64 (*.f64 F (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))))) (pow.f64 (PI.f64) 3))))) (pow.f64 l 5))) (*.f64 -1 (*.f64 (pow.f64 l 3) (+.f64 (*.f64 -1 (/.f64 (*.f64 F (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) 2)) (pow.f64 (PI.f64) 3))) (/.f64 (*.f64 F (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)))))) (pow.f64 (PI.f64) 2))))))))
(/.f64 (*.f64 (cos.f64 (*.f64 l (PI.f64))) F) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 (cos.f64 (*.f64 l (PI.f64))) F) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 (cos.f64 (*.f64 l (PI.f64))) F) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 (cos.f64 (*.f64 l (PI.f64))) F) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 (cos.f64 (*.f64 l (PI.f64))) F) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 (cos.f64 (*.f64 l (PI.f64))) F) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 (cos.f64 (*.f64 l (PI.f64))) F) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 (cos.f64 (*.f64 l (PI.f64))) F) (sin.f64 (*.f64 l (PI.f64))))
Outputs
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 l (/.f64 (*.f64 F F) (PI.f64)))
(/.f64 (*.f64 l (PI.f64)) (*.f64 F F))
(*.f64 (/.f64 (PI.f64) F) (/.f64 l F))
(+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 l (/.f64 (*.f64 F F) (PI.f64))))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 (*.f64 l (PI.f64)) (*.f64 F F)))
(fma.f64 (pow.f64 l 3) (/.f64 (pow.f64 (PI.f64) 3) (/.f64 (*.f64 F F) 1/3)) (*.f64 (/.f64 (PI.f64) F) (/.f64 l F)))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))))
(fma.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F))) (fma.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 2)))))) (pow.f64 l 5) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 l (/.f64 (*.f64 F F) (PI.f64)))))
(fma.f64 (+.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) -1/30) (*.f64 1/2 (/.f64 (pow.f64 (PI.f64) 3) (/.f64 (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 2)) 1/3)))) (pow.f64 l 5) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 (*.f64 l (PI.f64)) (*.f64 F F))))
(fma.f64 (/.f64 (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (*.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 (PI.f64) 3) -1/3)))) (*.f64 F F)) (pow.f64 l 5) (fma.f64 (pow.f64 l 3) (/.f64 (pow.f64 (PI.f64) 3) (/.f64 (*.f64 F F) 1/3)) (*.f64 (/.f64 (PI.f64) F) (/.f64 l F))))
(+.f64 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))) (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 4)) (pow.f64 F 2)))))) (pow.f64 l 7)) (+.f64 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))))) (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))))
(fma.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F))) (fma.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 2)))))) (pow.f64 l 5) (fma.f64 (-.f64 (*.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F))) (fma.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (fma.f64 1/24 (pow.f64 (PI.f64) 5) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2))))) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 2))) (*.f64 1/24 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 4))))))) (pow.f64 l 7) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 l (/.f64 (*.f64 F F) (PI.f64))))))
(fma.f64 (+.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) -1/30) (*.f64 1/2 (/.f64 (pow.f64 (PI.f64) 3) (/.f64 (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 2)) 1/3)))) (pow.f64 l 5) (fma.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) 1/840) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (*.f64 (pow.f64 (PI.f64) 2) -1/2))) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 2))) (*.f64 (/.f64 (*.f64 (*.f64 1/24 (pow.f64 (PI.f64) 3)) 1/3) F) (/.f64 (pow.f64 (PI.f64) 4) F)))) (pow.f64 l 7) (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 (*.f64 l (PI.f64)) (*.f64 F F)))))
(fma.f64 (+.f64 (fma.f64 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) 1/840 (/.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (PI.f64) 4) (pow.f64 (PI.f64) 3)) 1/3) -1/24) (*.f64 F F))) (*.f64 1/2 (*.f64 (/.f64 (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (*.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 (PI.f64) 3) -1/3)))) (*.f64 F F)) (pow.f64 (PI.f64) 2)))) (pow.f64 l 7) (fma.f64 (/.f64 (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (*.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 (PI.f64) 3) -1/3)))) (*.f64 F F)) (pow.f64 l 5) (fma.f64 (pow.f64 l 3) (/.f64 (pow.f64 (PI.f64) 3) (/.f64 (*.f64 F F) 1/3)) (*.f64 (/.f64 (PI.f64) F) (/.f64 l F)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (*.f64 F (cos.f64 (*.f64 l (PI.f64)))) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (cos.f64 (*.f64 l (PI.f64))) (/.f64 (sin.f64 (*.f64 l (PI.f64))) F))
(*.f64 (/.f64 F (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 F (cos.f64 (*.f64 l (PI.f64)))) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (cos.f64 (*.f64 l (PI.f64))) (/.f64 (sin.f64 (*.f64 l (PI.f64))) F))
(*.f64 (/.f64 F (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 F (cos.f64 (*.f64 l (PI.f64)))) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (cos.f64 (*.f64 l (PI.f64))) (/.f64 (sin.f64 (*.f64 l (PI.f64))) F))
(*.f64 (/.f64 F (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 F (cos.f64 (*.f64 l (PI.f64)))) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (cos.f64 (*.f64 l (PI.f64))) (/.f64 (sin.f64 (*.f64 l (PI.f64))) F))
(*.f64 (/.f64 F (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 F (cos.f64 (*.f64 l (PI.f64)))) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (cos.f64 (*.f64 l (PI.f64))) (/.f64 (sin.f64 (*.f64 l (PI.f64))) F))
(*.f64 (/.f64 F (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 F (cos.f64 (*.f64 l (PI.f64)))) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (cos.f64 (*.f64 l (PI.f64))) (/.f64 (sin.f64 (*.f64 l (PI.f64))) F))
(*.f64 (/.f64 F (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 F (cos.f64 (*.f64 l (PI.f64)))) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (cos.f64 (*.f64 l (PI.f64))) (/.f64 (sin.f64 (*.f64 l (PI.f64))) F))
(*.f64 (/.f64 F (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 F (cos.f64 (*.f64 l (PI.f64)))) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (cos.f64 (*.f64 l (PI.f64))) (/.f64 (sin.f64 (*.f64 l (PI.f64))) F))
(*.f64 (/.f64 F (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 F (cos.f64 (*.f64 l (PI.f64)))) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (cos.f64 (*.f64 l (PI.f64))) (/.f64 (sin.f64 (*.f64 l (PI.f64))) F))
(*.f64 (/.f64 F (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 F (cos.f64 (*.f64 l (PI.f64)))) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (cos.f64 (*.f64 l (PI.f64))) (/.f64 (sin.f64 (*.f64 l (PI.f64))) F))
(*.f64 (/.f64 F (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 F (cos.f64 (*.f64 l (PI.f64)))) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (cos.f64 (*.f64 l (PI.f64))) (/.f64 (sin.f64 (*.f64 l (PI.f64))) F))
(*.f64 (/.f64 F (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 F (cos.f64 (*.f64 l (PI.f64)))) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (cos.f64 (*.f64 l (PI.f64))) (/.f64 (sin.f64 (*.f64 l (PI.f64))) F))
(*.f64 (/.f64 F (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 F (*.f64 l (PI.f64)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 F (*.f64 l (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))))) (pow.f64 (PI.f64) 2))) (/.f64 F (*.f64 l (PI.f64))))
(fma.f64 -1 (/.f64 F (/.f64 (pow.f64 (PI.f64) 2) (*.f64 l (*.f64 (pow.f64 (PI.f64) 3) 1/3)))) (/.f64 F (*.f64 l (PI.f64))))
(-.f64 (/.f64 F (*.f64 l (PI.f64))) (*.f64 (/.f64 F (pow.f64 (PI.f64) 2)) (*.f64 (pow.f64 (PI.f64) 3) (*.f64 1/3 l))))
(+.f64 (/.f64 F (*.f64 l (PI.f64))) (/.f64 (*.f64 (*.f64 l F) (*.f64 (pow.f64 (PI.f64) 3) -1/3)) (pow.f64 (PI.f64) 2)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 F (*.f64 l (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))))) (pow.f64 (PI.f64) 2))) (+.f64 (/.f64 F (*.f64 l (PI.f64))) (*.f64 -1 (*.f64 (pow.f64 l 3) (+.f64 (*.f64 -1 (/.f64 (*.f64 F (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) 2)) (pow.f64 (PI.f64) 3))) (/.f64 (*.f64 F (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)))))) (pow.f64 (PI.f64) 2)))))))
(+.f64 (fma.f64 -1 (/.f64 F (/.f64 (pow.f64 (PI.f64) 2) (*.f64 l (*.f64 (pow.f64 (PI.f64) 3) 1/3)))) (/.f64 F (*.f64 l (PI.f64)))) (neg.f64 (*.f64 (pow.f64 l 3) (fma.f64 -1 (/.f64 F (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) 2))) (/.f64 F (/.f64 (pow.f64 (PI.f64) 2) (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (fma.f64 1/24 (pow.f64 (PI.f64) 5) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2)))))))))))
(-.f64 (-.f64 (/.f64 F (*.f64 l (PI.f64))) (*.f64 (/.f64 F (pow.f64 (PI.f64) 2)) (*.f64 (pow.f64 (PI.f64) 3) (*.f64 1/3 l)))) (*.f64 (pow.f64 l 3) (-.f64 (*.f64 (/.f64 F (pow.f64 (PI.f64) 2)) (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (*.f64 (pow.f64 (PI.f64) 2) -1/2)))) (*.f64 (/.f64 F (pow.f64 (PI.f64) 3)) (pow.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) 2)))))
(fma.f64 (pow.f64 l 3) (neg.f64 (*.f64 (/.f64 F (pow.f64 (PI.f64) 2)) (-.f64 (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (*.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 (PI.f64) 3) -1/3)))) (/.f64 (*.f64 (pow.f64 (PI.f64) 6) 1/9) (PI.f64))))) (+.f64 (/.f64 F (*.f64 l (PI.f64))) (/.f64 (*.f64 (*.f64 l F) (*.f64 (pow.f64 (PI.f64) 3) -1/3)) (pow.f64 (PI.f64) 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 F (*.f64 l (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))))) (pow.f64 (PI.f64) 2))) (+.f64 (/.f64 F (*.f64 l (PI.f64))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 (*.f64 (-.f64 (*.f64 -1/5040 (pow.f64 (PI.f64) 7)) (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 4))) (+.f64 (*.f64 -1/720 (pow.f64 (PI.f64) 7)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))) (pow.f64 (PI.f64) 2)))))) F) (pow.f64 (PI.f64) 2)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (+.f64 (*.f64 -1 (/.f64 (*.f64 F (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) 2)) (pow.f64 (PI.f64) 3))) (/.f64 (*.f64 F (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)))))) (pow.f64 (PI.f64) 2)))) (PI.f64))) (*.f64 -1 (/.f64 (*.f64 F (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))))) (pow.f64 (PI.f64) 3))))) (pow.f64 l 5))) (*.f64 -1 (*.f64 (pow.f64 l 3) (+.f64 (*.f64 -1 (/.f64 (*.f64 F (pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) 2)) (pow.f64 (PI.f64) 3))) (/.f64 (*.f64 F (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)))))) (pow.f64 (PI.f64) 2))))))))
(+.f64 (fma.f64 -1 (/.f64 F (/.f64 (pow.f64 (PI.f64) 2) (*.f64 l (*.f64 (pow.f64 (PI.f64) 3) 1/3)))) (/.f64 F (*.f64 l (PI.f64)))) (fma.f64 -1 (*.f64 (pow.f64 l 5) (+.f64 (/.f64 (-.f64 (*.f64 -1/5040 (pow.f64 (PI.f64) 7)) (fma.f64 1/24 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 4)) (fma.f64 -1/720 (pow.f64 (PI.f64) 7) (*.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 2) (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (fma.f64 1/24 (pow.f64 (PI.f64) 5) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2)))))))))) (/.f64 (pow.f64 (PI.f64) 2) F)) (*.f64 -1 (+.f64 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (/.f64 (PI.f64) (fma.f64 -1 (/.f64 F (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) 2))) (/.f64 F (/.f64 (pow.f64 (PI.f64) 2) (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (fma.f64 1/24 (pow.f64 (PI.f64) 5) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2)))))))))) (/.f64 F (/.f64 (pow.f64 (PI.f64) 3) (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (fma.f64 1/24 (pow.f64 (PI.f64) 5) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2)))))))))))) (neg.f64 (*.f64 (pow.f64 l 3) (fma.f64 -1 (/.f64 F (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) 2))) (/.f64 F (/.f64 (pow.f64 (PI.f64) 2) (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (fma.f64 1/24 (pow.f64 (PI.f64) 5) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2))))))))))))
(-.f64 (fma.f64 -1 (fma.f64 (pow.f64 l 5) (-.f64 (-.f64 (/.f64 (-.f64 (*.f64 -1/5040 (pow.f64 (PI.f64) 7)) (fma.f64 1/24 (*.f64 (*.f64 (pow.f64 (PI.f64) 4) (pow.f64 (PI.f64) 3)) 1/3) (fma.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 2) (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (*.f64 (pow.f64 (PI.f64) 2) -1/2)))) (*.f64 (pow.f64 (PI.f64) 7) -1/720)))) (/.f64 (pow.f64 (PI.f64) 2) F)) (*.f64 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (PI.f64)) (-.f64 (*.f64 (/.f64 F (pow.f64 (PI.f64) 2)) (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (*.f64 (pow.f64 (PI.f64) 2) -1/2)))) (*.f64 (/.f64 F (pow.f64 (PI.f64) 3)) (pow.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) 2))))) (*.f64 (/.f64 F (pow.f64 (PI.f64) 3)) (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (*.f64 (pow.f64 (PI.f64) 2) -1/2)))))) (*.f64 (pow.f64 l 3) (-.f64 (*.f64 (/.f64 F (pow.f64 (PI.f64) 2)) (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (*.f64 (pow.f64 (PI.f64) 2) -1/2)))) (*.f64 (/.f64 F (pow.f64 (PI.f64) 3)) (pow.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) 2))))) (/.f64 F (*.f64 l (PI.f64)))) (*.f64 (/.f64 F (pow.f64 (PI.f64) 2)) (*.f64 (pow.f64 (PI.f64) 3) (*.f64 1/3 l))))
(-.f64 (+.f64 (/.f64 F (*.f64 l (PI.f64))) (/.f64 (*.f64 (*.f64 l F) (*.f64 (pow.f64 (PI.f64) 3) -1/3)) (pow.f64 (PI.f64) 2))) (fma.f64 (pow.f64 l 5) (-.f64 (*.f64 (/.f64 F (pow.f64 (PI.f64) 2)) (-.f64 (*.f64 -1/5040 (pow.f64 (PI.f64) 7)) (fma.f64 (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (*.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 (PI.f64) 3) -1/3)))) (*.f64 (pow.f64 (PI.f64) 2) -1/2) (fma.f64 1/24 (*.f64 (*.f64 (pow.f64 (PI.f64) 4) (pow.f64 (PI.f64) 3)) 1/3) (*.f64 (pow.f64 (PI.f64) 7) -1/720))))) (fma.f64 (/.f64 (pow.f64 (PI.f64) 3) (/.f64 (PI.f64) 1/3)) (*.f64 (/.f64 F (pow.f64 (PI.f64) 2)) (-.f64 (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (*.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 (PI.f64) 3) -1/3)))) (/.f64 (*.f64 (pow.f64 (PI.f64) 6) 1/9) (PI.f64)))) (*.f64 (/.f64 F (pow.f64 (PI.f64) 3)) (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (*.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 (PI.f64) 3) -1/3)))))))) (*.f64 (pow.f64 l 3) (*.f64 (/.f64 F (pow.f64 (PI.f64) 2)) (-.f64 (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (*.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 2) (*.f64 (pow.f64 (PI.f64) 3) -1/3)))) (/.f64 (*.f64 (pow.f64 (PI.f64) 6) 1/9) (PI.f64)))))))
(/.f64 (*.f64 (cos.f64 (*.f64 l (PI.f64))) F) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (cos.f64 (*.f64 l (PI.f64))) (/.f64 (sin.f64 (*.f64 l (PI.f64))) F))
(*.f64 (/.f64 F (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 (cos.f64 (*.f64 l (PI.f64))) F) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (cos.f64 (*.f64 l (PI.f64))) (/.f64 (sin.f64 (*.f64 l (PI.f64))) F))
(*.f64 (/.f64 F (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 (cos.f64 (*.f64 l (PI.f64))) F) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (cos.f64 (*.f64 l (PI.f64))) (/.f64 (sin.f64 (*.f64 l (PI.f64))) F))
(*.f64 (/.f64 F (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 (cos.f64 (*.f64 l (PI.f64))) F) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (cos.f64 (*.f64 l (PI.f64))) (/.f64 (sin.f64 (*.f64 l (PI.f64))) F))
(*.f64 (/.f64 F (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 (cos.f64 (*.f64 l (PI.f64))) F) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (cos.f64 (*.f64 l (PI.f64))) (/.f64 (sin.f64 (*.f64 l (PI.f64))) F))
(*.f64 (/.f64 F (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 (cos.f64 (*.f64 l (PI.f64))) F) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (cos.f64 (*.f64 l (PI.f64))) (/.f64 (sin.f64 (*.f64 l (PI.f64))) F))
(*.f64 (/.f64 F (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 (cos.f64 (*.f64 l (PI.f64))) F) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (cos.f64 (*.f64 l (PI.f64))) (/.f64 (sin.f64 (*.f64 l (PI.f64))) F))
(*.f64 (/.f64 F (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (*.f64 (cos.f64 (*.f64 l (PI.f64))) F) (sin.f64 (*.f64 l (PI.f64))))
(/.f64 (cos.f64 (*.f64 l (PI.f64))) (/.f64 (sin.f64 (*.f64 l (PI.f64))) F))
(*.f64 (/.f64 F (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.3b
(*.f64 l (PI.f64))
2.9b
(-.f64 (+.f64 1 (*.f64 l (PI.f64))) 1)
Compiler

Compiled 20 to 11 computations (45% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
l
@0
(-.f64 (+.f64 1 (*.f64 l (PI.f64))) 1)
0.0ms
l
@inf
(-.f64 (+.f64 1 (*.f64 l (PI.f64))) 1)
0.0ms
l
@-inf
(-.f64 (+.f64 1 (*.f64 l (PI.f64))) 1)

rewrite71.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
747×pow1_binary64
697×add-log-exp_binary64
697×log1p-expm1-u_binary64
697×expm1-log1p-u_binary64
685×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0711
11545
221515
Stop Event
node limit
Counts
1 → 47
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (*.f64 l (PI.f64))) 1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (fma.f64 l (PI.f64) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (fma.f64 l (PI.f64) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 l (PI.f64)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 l (PI.f64) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (fma.f64 l (PI.f64) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 l (PI.f64) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 l (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 l (PI.f64))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (PI.f64) l)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 l (PI.f64)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 l) 2) (*.f64 (cbrt.f64 l) (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 l (PI.f64))) (pow.f64 (cbrt.f64 (*.f64 l (PI.f64))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 l (PI.f64))) 2) (cbrt.f64 (*.f64 l (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (PI.f64)) 2) (*.f64 (cbrt.f64 (PI.f64)) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 l) (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 l (PI.f64))) (sqrt.f64 (*.f64 l (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (PI.f64)) (*.f64 (sqrt.f64 (PI.f64)) l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 l (PI.f64) 1) 3) -1) (/.f64 1 (+.f64 (pow.f64 (fma.f64 l (PI.f64) 1) 2) (+.f64 (*.f64 l (PI.f64)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 l (PI.f64) 1) 2) -1) (/.f64 1 (+.f64 (*.f64 l (PI.f64)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (fma.f64 l (PI.f64) 1)) 1) (-.f64 (sqrt.f64 (fma.f64 l (PI.f64) 1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 l (pow.f64 (cbrt.f64 (PI.f64)) 2)) (cbrt.f64 (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 l (sqrt.f64 (PI.f64))) (sqrt.f64 (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (PI.f64) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 l (PI.f64) 1) 2) (+.f64 (*.f64 l (PI.f64)) 2)) (+.f64 (pow.f64 (fma.f64 l (PI.f64) 1) 3) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 l (PI.f64)) 2) (+.f64 (pow.f64 (fma.f64 l (PI.f64) 1) 2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 l (PI.f64) 1) 3) -1) (+.f64 (pow.f64 (fma.f64 l (PI.f64) 1) 2) (+.f64 (*.f64 l (PI.f64)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 l (PI.f64) 1) 3) -1) (+.f64 (pow.f64 (fma.f64 l (PI.f64) 1) 2) (-.f64 1 (*.f64 (fma.f64 l (PI.f64) 1) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 l (PI.f64) 1) 2) -1) (+.f64 (*.f64 l (PI.f64)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 l (PI.f64) 1) 2) -1) (-.f64 (fma.f64 l (PI.f64) 1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 l (PI.f64) 1) 3) -1)) (neg.f64 (+.f64 (pow.f64 (fma.f64 l (PI.f64) 1) 2) (+.f64 (*.f64 l (PI.f64)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 l (PI.f64) 1) 2) -1)) (neg.f64 (+.f64 (*.f64 l (PI.f64)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (fma.f64 l (PI.f64) -1) 3)) (+.f64 1 (-.f64 (*.f64 (fma.f64 l (PI.f64) -1) (fma.f64 l (PI.f64) -1)) (fma.f64 l (PI.f64) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (*.f64 (fma.f64 l (PI.f64) -1) (fma.f64 l (PI.f64) -1))) (-.f64 1 (fma.f64 l (PI.f64) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l (PI.f64)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 l (PI.f64))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 l (PI.f64))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (PI.f64)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 l (PI.f64)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 l) (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 l (PI.f64)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 l (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 l (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 l (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 l (PI.f64) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 l (PI.f64) 1)) 2) (cbrt.f64 (fma.f64 l (PI.f64) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 l (PI.f64) 1)) (sqrt.f64 (fma.f64 l (PI.f64) 1)) -1)))))

simplify27.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0460
1560
Stop Event
saturated
Counts
59 → 47
Calls
Call 1
Inputs
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
Outputs
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))

localize30.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (/.f64 (*.f64 l (PI.f64)) F) F)
0.2b
(/.f64 (*.f64 l (PI.f64)) F)
0.3b
(*.f64 (PI.f64) l)
0.3b
(*.f64 l (PI.f64))
Compiler

Compiled 34 to 8 computations (76.5% saved)

series13.0ms (0.1%)

Counts
2 → 24
Calls

12 calls:

TimeVariablePointExpression
2.0ms
F
@-inf
(/.f64 (/.f64 (*.f64 l (PI.f64)) F) F)
1.0ms
l
@inf
(/.f64 (/.f64 (*.f64 l (PI.f64)) F) F)
1.0ms
l
@inf
(/.f64 (*.f64 l (PI.f64)) F)
1.0ms
l
@0
(/.f64 (/.f64 (*.f64 l (PI.f64)) F) F)
1.0ms
l
@0
(/.f64 (*.f64 l (PI.f64)) F)

rewrite80.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
894×pow1_binary64
830×add-log-exp_binary64
830×log1p-expm1-u_binary64
830×expm1-log1p-u_binary64
812×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0719
115019
2220119
Stop Event
node limit
Counts
2 → 80
Calls
Call 1
Inputs
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (/.f64 (*.f64 l (PI.f64)) F) F)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (/.f64 l F) (PI.f64))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 l (/.f64 1 (/.f64 F (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 l (*.f64 (PI.f64) (/.f64 1 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (PI.f64) (*.f64 l (/.f64 1 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 l (PI.f64)) (/.f64 1 F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 l F) (PI.f64)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 l F) (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 l F) (PI.f64))) (pow.f64 (cbrt.f64 (*.f64 (/.f64 l F) (PI.f64))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 l F) (PI.f64))) 2) (cbrt.f64 (*.f64 (/.f64 l F) (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 l (PI.f64))) 2) (*.f64 (cbrt.f64 (*.f64 l (PI.f64))) (/.f64 1 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 l F) (PI.f64))) (sqrt.f64 (*.f64 (/.f64 l F) (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 l (PI.f64))) (*.f64 (sqrt.f64 (*.f64 l (PI.f64))) (/.f64 1 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (PI.f64) (neg.f64 l)) (/.f64 1 (neg.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 F) (*.f64 l (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 l 1) (/.f64 (PI.f64) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (PI.f64) 1) (/.f64 l F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 l F) (PI.f64))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 l (PI.f64))) 2) 1) (/.f64 (cbrt.f64 (*.f64 l (PI.f64))) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 l (PI.f64))) 1) (/.f64 (sqrt.f64 (*.f64 l (PI.f64))) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 l (pow.f64 (cbrt.f64 F) 2)) (/.f64 (PI.f64) (cbrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (PI.f64) (pow.f64 (cbrt.f64 F) 2)) (/.f64 l (cbrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 F) 2)) (/.f64 (*.f64 l (PI.f64)) (cbrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 l (PI.f64))) 2) (pow.f64 (cbrt.f64 F) 2)) (cbrt.f64 (*.f64 (/.f64 l F) (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 l (PI.f64))) (pow.f64 (cbrt.f64 F) 2)) (/.f64 (sqrt.f64 (*.f64 l (PI.f64))) (cbrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 l (sqrt.f64 F)) (/.f64 (PI.f64) (sqrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (PI.f64) (sqrt.f64 F)) (/.f64 l (sqrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 F)) (/.f64 (*.f64 l (PI.f64)) (sqrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 l (PI.f64))) 2) (sqrt.f64 F)) (/.f64 (cbrt.f64 (*.f64 l (PI.f64))) (sqrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 l F) (PI.f64)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l F) (PI.f64)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 l F) (PI.f64))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 l F) (PI.f64))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 F l) (PI.f64)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 l (PI.f64)) (neg.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 l F) (PI.f64)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 l F) (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 l F) (PI.f64)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 l (PI.f64)) 3) (pow.f64 F 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 l F) (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 l F) (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 l F) (PI.f64))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (/.f64 (PI.f64) F) (/.f64 l F))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 l (PI.f64)) (*.f64 (/.f64 1 F) (/.f64 1 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 l (PI.f64)) (/.f64 1 (*.f64 F F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 l F) (PI.f64)) (/.f64 1 F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (PI.f64) F) (/.f64 l F)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 (PI.f64) F) (/.f64 l F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 l F) (PI.f64))) 2) (*.f64 (cbrt.f64 (*.f64 (/.f64 l F) (PI.f64))) (/.f64 1 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 (PI.f64) F) (/.f64 l F))) (pow.f64 (cbrt.f64 (*.f64 (/.f64 (PI.f64) F) (/.f64 l F))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 (PI.f64) F) (/.f64 l F))) 2) (cbrt.f64 (*.f64 (/.f64 (PI.f64) F) (/.f64 l F))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 l F) (PI.f64))) (*.f64 (sqrt.f64 (*.f64 (/.f64 l F) (PI.f64))) (/.f64 1 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 l (PI.f64))) F) (/.f64 (sqrt.f64 (*.f64 l (PI.f64))) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (PI.f64) (neg.f64 l)) F) (/.f64 1 (neg.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 F) (*.f64 (/.f64 l F) (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (PI.f64) F) (/.f64 l F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 l F) (/.f64 (PI.f64) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 F) 2)) (/.f64 (*.f64 (/.f64 l F) (PI.f64)) (cbrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 F)) (/.f64 (*.f64 (/.f64 l F) (PI.f64)) (sqrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 l (PI.f64)) (sqrt.f64 F)) (/.f64 (/.f64 1 F) (sqrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 l (PI.f64))) 2) F) (/.f64 (cbrt.f64 (*.f64 l (PI.f64))) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 l (PI.f64)) 1) (/.f64 (/.f64 1 F) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 l F) (PI.f64))) 2) 1) (/.f64 (cbrt.f64 (*.f64 (/.f64 l F) (PI.f64))) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (/.f64 l F) (PI.f64))) 1) (/.f64 (sqrt.f64 (*.f64 (/.f64 l F) (PI.f64))) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 l (PI.f64)) (pow.f64 (cbrt.f64 F) 2)) (/.f64 (/.f64 1 F) (cbrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 l F) (PI.f64))) 2) (pow.f64 (cbrt.f64 F) 2)) (cbrt.f64 (*.f64 (/.f64 (PI.f64) F) (/.f64 l F))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (/.f64 l F) (PI.f64))) (pow.f64 (cbrt.f64 F) 2)) (/.f64 (sqrt.f64 (*.f64 (/.f64 l F) (PI.f64))) (cbrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 l F) (PI.f64))) 2) (sqrt.f64 F)) (/.f64 (cbrt.f64 (*.f64 (/.f64 l F) (PI.f64))) (sqrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (PI.f64) F) (/.f64 l F)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 (PI.f64) F) (/.f64 l F)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 (PI.f64) F) (/.f64 l F))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (*.f64 l (PI.f64))) F) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 F (/.f64 (/.f64 F l) (PI.f64))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (/.f64 l F) (PI.f64)) (neg.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 (PI.f64) F) (/.f64 l F)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 (PI.f64) F) (/.f64 l F))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 (PI.f64) F) (/.f64 l F)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 (/.f64 l F) (PI.f64)) 3) (pow.f64 F 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 (PI.f64) F) (/.f64 l F))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 (PI.f64) F) (/.f64 l F))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 (PI.f64) F) (/.f64 l F))))))))

simplify134.0ms (1.1%)

Algorithm
egg-herbie
Rules
921×associate-/r/_binary64
837×*-commutative_binary64
624×times-frac_binary64
514×associate-/l/_binary64
434×unswap-sqr_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08264
116264
234264
375264
4211264
5789264
63752264
74575264
84785264
95004264
105232264
115563264
126991264
137970264
Stop Event
node limit
Counts
104 → 82
Calls
Call 1
Inputs
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
Outputs
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 l (/.f64 (*.f64 F F) (PI.f64)))
(*.f64 (/.f64 l F) (/.f64 (PI.f64) F))
(*.f64 (PI.f64) (/.f64 (/.f64 l F) F))
(*.f64 l (/.f64 (PI.f64) (*.f64 F F)))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 l (/.f64 (*.f64 F F) (PI.f64)))
(*.f64 (/.f64 l F) (/.f64 (PI.f64) F))
(*.f64 (PI.f64) (/.f64 (/.f64 l F) F))
(*.f64 l (/.f64 (PI.f64) (*.f64 F F)))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 l (/.f64 (*.f64 F F) (PI.f64)))
(*.f64 (/.f64 l F) (/.f64 (PI.f64) F))
(*.f64 (PI.f64) (/.f64 (/.f64 l F) F))
(*.f64 l (/.f64 (PI.f64) (*.f64 F F)))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 l (/.f64 (*.f64 F F) (PI.f64)))
(*.f64 (/.f64 l F) (/.f64 (PI.f64) F))
(*.f64 (PI.f64) (/.f64 (/.f64 l F) F))
(*.f64 l (/.f64 (PI.f64) (*.f64 F F)))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 l (/.f64 (*.f64 F F) (PI.f64)))
(*.f64 (/.f64 l F) (/.f64 (PI.f64) F))
(*.f64 (PI.f64) (/.f64 (/.f64 l F) F))
(*.f64 l (/.f64 (PI.f64) (*.f64 F F)))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 l (/.f64 (*.f64 F F) (PI.f64)))
(*.f64 (/.f64 l F) (/.f64 (PI.f64) F))
(*.f64 (PI.f64) (/.f64 (/.f64 l F) F))
(*.f64 l (/.f64 (PI.f64) (*.f64 F F)))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 l (/.f64 (*.f64 F F) (PI.f64)))
(*.f64 (/.f64 l F) (/.f64 (PI.f64) F))
(*.f64 (PI.f64) (/.f64 (/.f64 l F) F))
(*.f64 l (/.f64 (PI.f64) (*.f64 F F)))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 l (/.f64 (*.f64 F F) (PI.f64)))
(*.f64 (/.f64 l F) (/.f64 (PI.f64) F))
(*.f64 (PI.f64) (/.f64 (/.f64 l F) F))
(*.f64 l (/.f64 (PI.f64) (*.f64 F F)))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 l (/.f64 (*.f64 F F) (PI.f64)))
(*.f64 (/.f64 l F) (/.f64 (PI.f64) F))
(*.f64 (PI.f64) (/.f64 (/.f64 l F) F))
(*.f64 l (/.f64 (PI.f64) (*.f64 F F)))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 l (/.f64 (*.f64 F F) (PI.f64)))
(*.f64 (/.f64 l F) (/.f64 (PI.f64) F))
(*.f64 (PI.f64) (/.f64 (/.f64 l F) F))
(*.f64 l (/.f64 (PI.f64) (*.f64 F F)))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 l (/.f64 (*.f64 F F) (PI.f64)))
(*.f64 (/.f64 l F) (/.f64 (PI.f64) F))
(*.f64 (PI.f64) (/.f64 (/.f64 l F) F))
(*.f64 l (/.f64 (PI.f64) (*.f64 F F)))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 l (/.f64 (*.f64 F F) (PI.f64)))
(*.f64 (/.f64 l F) (/.f64 (PI.f64) F))
(*.f64 (PI.f64) (/.f64 (/.f64 l F) F))
(*.f64 l (/.f64 (PI.f64) (*.f64 F F)))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 l (/.f64 (*.f64 F F) (PI.f64)))
(*.f64 (/.f64 l F) (/.f64 (PI.f64) F))
(*.f64 (PI.f64) (/.f64 (/.f64 l F) F))
(*.f64 l (/.f64 (PI.f64) (*.f64 F F)))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 l (/.f64 (*.f64 F F) (PI.f64)))
(*.f64 (/.f64 l F) (/.f64 (PI.f64) F))
(*.f64 (PI.f64) (/.f64 (/.f64 l F) F))
(*.f64 l (/.f64 (PI.f64) (*.f64 F F)))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 l (/.f64 (*.f64 F F) (PI.f64)))
(*.f64 (/.f64 l F) (/.f64 (PI.f64) F))
(*.f64 (PI.f64) (/.f64 (/.f64 l F) F))
(*.f64 l (/.f64 (PI.f64) (*.f64 F F)))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 l (/.f64 (*.f64 F F) (PI.f64)))
(*.f64 (/.f64 l F) (/.f64 (PI.f64) F))
(*.f64 (PI.f64) (/.f64 (/.f64 l F) F))
(*.f64 l (/.f64 (PI.f64) (*.f64 F F)))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 l (/.f64 (*.f64 F F) (PI.f64)))
(*.f64 (/.f64 l F) (/.f64 (PI.f64) F))
(*.f64 (PI.f64) (/.f64 (/.f64 l F) F))
(*.f64 l (/.f64 (PI.f64) (*.f64 F F)))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 l (/.f64 (*.f64 F F) (PI.f64)))
(*.f64 (/.f64 l F) (/.f64 (PI.f64) F))
(*.f64 (PI.f64) (/.f64 (/.f64 l F) F))
(*.f64 l (/.f64 (PI.f64) (*.f64 F F)))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 l (/.f64 (*.f64 F F) (PI.f64)))
(*.f64 (/.f64 l F) (/.f64 (PI.f64) F))
(*.f64 (PI.f64) (/.f64 (/.f64 l F) F))
(*.f64 l (/.f64 (PI.f64) (*.f64 F F)))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 l (/.f64 (*.f64 F F) (PI.f64)))
(*.f64 (/.f64 l F) (/.f64 (PI.f64) F))
(*.f64 (PI.f64) (/.f64 (/.f64 l F) F))
(*.f64 l (/.f64 (PI.f64) (*.f64 F F)))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 l (/.f64 (*.f64 F F) (PI.f64)))
(*.f64 (/.f64 l F) (/.f64 (PI.f64) F))
(*.f64 (PI.f64) (/.f64 (/.f64 l F) F))
(*.f64 l (/.f64 (PI.f64) (*.f64 F F)))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 l (/.f64 (*.f64 F F) (PI.f64)))
(*.f64 (/.f64 l F) (/.f64 (PI.f64) F))
(*.f64 (PI.f64) (/.f64 (/.f64 l F) F))
(*.f64 l (/.f64 (PI.f64) (*.f64 F F)))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 l (/.f64 (*.f64 F F) (PI.f64)))
(*.f64 (/.f64 l F) (/.f64 (PI.f64) F))
(*.f64 (PI.f64) (/.f64 (/.f64 l F) F))
(*.f64 l (/.f64 (PI.f64) (*.f64 F F)))
(/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))
(/.f64 l (/.f64 (*.f64 F F) (PI.f64)))
(*.f64 (/.f64 l F) (/.f64 (PI.f64) F))
(*.f64 (PI.f64) (/.f64 (/.f64 l F) F))
(*.f64 l (/.f64 (PI.f64) (*.f64 F F)))

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)
0.1b
(pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 2)
0.3b
(*.f64 (PI.f64) l)
31.3b
(tan.f64 (*.f64 (PI.f64) l))
Compiler

Compiled 47 to 13 computations (72.3% saved)

series9.0ms (0.1%)

Counts
2 → 40
Calls

12 calls:

TimeVariablePointExpression
2.0ms
l
@0
(pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 2)
1.0ms
l
@inf
(pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 2)
1.0ms
l
@-inf
(pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 2)
1.0ms
F
@0
(pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 2)
1.0ms
F
@-inf
(pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 2)

rewrite72.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
974×pow1_binary64
897×add-log-exp_binary64
897×log1p-expm1-u_binary64
897×expm1-log1p-u_binary64
103×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01027
120925
2249025
Stop Event
node limit
Counts
2 → 70
Calls
Call 1
Inputs
(pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 2)
(/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 (/.f64 1 F) (/.f64 1 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 (/.f64 1 F) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (*.f64 (/.f64 1 F) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) (*.f64 (cbrt.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4)) (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)) (*.f64 (sqrt.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) (sqrt.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F))) (sqrt.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) (/.f64 1 F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))) (cbrt.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (*.f64 (/.f64 F (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) F))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (*.f64 F (/.f64 F (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) (/.f64 F (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 F (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) (/.f64 F (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) (*.f64 (/.f64 F (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) (neg.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) (neg.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))))) (*.f64 (neg.f64 F) (neg.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) (*.f64 (neg.f64 F) F))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) 1) (*.f64 (neg.f64 F) (/.f64 F (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (neg.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))))) (*.f64 F (neg.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)) F)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)) (neg.f64 F))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) F)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) (neg.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))))) (neg.f64 F))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (/.f64 1 F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)) (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))) (cbrt.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (*.f64 (cbrt.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) (/.f64 1 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)) (sqrt.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 1/4) (*.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 1/4) (/.f64 1 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) (/.f64 1 (neg.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 F) (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 4))) (sqrt.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 1) (/.f64 (cbrt.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 1/4) 1) (/.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 1/4) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 F) 2)) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (cbrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 (cbrt.f64 F) 2)) (cbrt.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 1/4) (pow.f64 (cbrt.f64 F) 2)) (/.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 1/4) (cbrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 F)) (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (sqrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (sqrt.f64 F)) (/.f64 (cbrt.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) (sqrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 F (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (neg.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 3/2) (pow.f64 F 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F)))))))

simplify322.0ms (2.6%)

Algorithm
egg-herbie
Rules
680×sqr-pow_binary64
619×*-commutative_binary64
535×associate-/l*_binary64
466×associate-*r*_binary64
416×unswap-sqr_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
018920
131860
249860
399860
4261860
51001860
63555860
74386860
84621860
94855860
105118860
115463860
126239860
136767860
147400860
Stop Event
node limit
Counts
110 → 75
Calls
Call 1
Inputs
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
Outputs
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (pow.f64 F 2) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (*.f64 F F)))
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(/.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) F)
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(/.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) F)
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(/.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) F)
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(/.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) F)
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(/.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) F)
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(/.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) F)
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(/.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) F)
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(/.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) F)
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(/.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) F)
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(/.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) F)
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(/.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) F)
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(/.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) F)
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(/.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) F)
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(/.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) F)
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(/.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) F)
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(/.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) F)
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(/.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) F)
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(/.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) F)
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(/.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) F)
(*.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) (/.f64 1 F))
(/.f64 (sqrt.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))) F)

localize68.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(cbrt.f64 l)
4.6b
(*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))
30.4b
(cbrt.f64 (*.f64 l l))
31.3b
(tan.f64 (*.f64 (PI.f64) l))
Compiler

Compiled 60 to 24 computations (60% saved)

series10.0ms (0.1%)

Counts
3 → 24
Calls

12 calls:

TimeVariablePointExpression
2.0ms
F
@0
(*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))
2.0ms
l
@-inf
(cbrt.f64 l)
1.0ms
l
@0
(*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))
1.0ms
l
@inf
(cbrt.f64 (*.f64 l l))
1.0ms
l
@0
(cbrt.f64 (*.f64 l l))

rewrite242.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
542×log-prod_binary64
410×exp-prod_binary64
343×pow-prod-down_binary64
292×pow2_binary64
242×pow-unpow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01324
126522
2308422
Stop Event
node limit
Counts
3 → 119
Calls
Call 1
Inputs
(cbrt.f64 (*.f64 l l))
(*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))
(cbrt.f64 l)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (cbrt.f64 l) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 l) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 l) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (cbrt.f64 l) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (cbrt.f64 l) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (cbrt.f64 l) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 l) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 l) (cbrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (cbrt.f64 l) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 l) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 l)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 l)) 4) (cbrt.f64 (pow.f64 (cbrt.f64 l) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 l) (pow.f64 l 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l 1/6) (sqrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 l)) 5) (cbrt.f64 (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 l 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l l) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 l) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 l) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 l 3) 2/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 l 4) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 l 6) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l (cbrt.f64 l)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 l)) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 l) 2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 l) 4/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 l 1/6) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/3) (*.f64 2 (log.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (*.f64 2/3 (log.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 2/3 (log.f64 l))) 2)) (cbrt.f64 (*.f64 2/3 (log.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (*.f64 2/3 (log.f64 l)))) (sqrt.f64 (*.f64 2/3 (log.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 l (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cbrt.f64 l) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (cbrt.f64 l) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 l) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 l) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2/3 (log.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 l)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2/3 (log.f64 l)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 l) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/3 (*.f64 2/3 (log.f64 l))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 l) 1) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 l) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 l)) 1) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 l)) 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2/3 (log.f64 l)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 l) 1/3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 l)) 1) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (tan.f64 (*.f64 l (PI.f64))) (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 F -2)) (tan.f64 (*.f64 l (PI.f64))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 F -2)) (tan.f64 (*.f64 l (PI.f64)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 F -2)) (tan.f64 (*.f64 l (PI.f64)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 F -2)) (tan.f64 (*.f64 l (PI.f64)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (tan.f64 (*.f64 l (PI.f64))) (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (tan.f64 (*.f64 l (PI.f64))) (pow.f64 F -2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (*.f64 l (PI.f64))) (pow.f64 F -2)) (cos.f64 (*.f64 l (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 F -2) (sin.f64 (*.f64 l (PI.f64)))) (cos.f64 (*.f64 l (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (tan.f64 (*.f64 l (PI.f64))) (pow.f64 F -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 F -4) (pow.f64 (tan.f64 (*.f64 l (PI.f64))) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 F -6) (pow.f64 (tan.f64 (*.f64 l (PI.f64))) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (tan.f64 (*.f64 l (PI.f64))) (pow.f64 F -2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 1 F) (sqrt.f64 (tan.f64 (*.f64 l (PI.f64))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (fma.f64 -2 (log.f64 F) (log.f64 (tan.f64 (*.f64 l (PI.f64))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (fma.f64 -2 (log.f64 F) (log.f64 (tan.f64 (*.f64 l (PI.f64)))))) 2)) (cbrt.f64 (fma.f64 -2 (log.f64 F) (log.f64 (tan.f64 (*.f64 l (PI.f64)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (fma.f64 -2 (log.f64 F) (log.f64 (tan.f64 (*.f64 l (PI.f64))))))) (sqrt.f64 (fma.f64 -2 (log.f64 F) (log.f64 (tan.f64 (*.f64 l (PI.f64)))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (tan.f64 (*.f64 l (PI.f64))) (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 F -4) (pow.f64 (tan.f64 (*.f64 l (PI.f64))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (pow.f64 F -2)) (tan.f64 (*.f64 l (PI.f64)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (tan.f64 (*.f64 l (PI.f64))) (pow.f64 F -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 (tan.f64 (*.f64 l (PI.f64))) (pow.f64 F -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 F -6) (pow.f64 (tan.f64 (*.f64 l (PI.f64))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (tan.f64 (*.f64 l (PI.f64))) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (tan.f64 (*.f64 l (PI.f64))) (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (fma.f64 -2 (log.f64 F) (log.f64 (tan.f64 (*.f64 l (PI.f64))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (fma.f64 -2 (log.f64 F) (log.f64 (tan.f64 (*.f64 l (PI.f64))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (fma.f64 -2 (log.f64 F) (log.f64 (tan.f64 (*.f64 l (PI.f64)))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (tan.f64 (*.f64 l (PI.f64))) (pow.f64 F -2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 1 F) (sqrt.f64 (tan.f64 (*.f64 l (PI.f64)))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (fma.f64 -2 (log.f64 F) (log.f64 (tan.f64 (*.f64 l (PI.f64))))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 l))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 l)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 l)))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 l)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 l)) (cbrt.f64 (pow.f64 (cbrt.f64 l) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l 1/6) (pow.f64 l 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 l)) 4)) (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 l) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 l 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l l) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 l) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 l) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 l 3) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 l 6) 1/18)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 l)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 l) 2)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 l) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 l 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/3) (log.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 l))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 l)))) (sqrt.f64 (log.f64 (cbrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 l) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 l) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 l)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 l)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2/3 (log.f64 l)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 l))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/6 (log.f64 l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 l) 1) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 l) 2) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 l)) 1) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 l)) 1/3) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2/3 (log.f64 l)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 l) 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 l)) 1) 1))))))

simplify62.0ms (0.5%)

Algorithm
egg-herbie
Rules
748×distribute-rgt-neg-in_binary64
463×distribute-neg-frac_binary64
371×associate-*r*_binary64
358×associate-*l*_binary64
298×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
077842
1240779
2926741
35631720
Stop Event
node limit
Counts
143 → 129
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2)))))) (*.f64 -1 (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2)))))) (+.f64 (*.f64 -1 (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))) (*.f64 -1 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2)))))) (+.f64 (*.f64 -1 (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))) (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))) (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 4)) (pow.f64 F 2)))))) (pow.f64 l 7))) (*.f64 -1 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5))))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
Outputs
(*.f64 -1 (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2)))
(neg.f64 (/.f64 (*.f64 l (PI.f64)) (*.f64 F F)))
(*.f64 (/.f64 (PI.f64) F) (neg.f64 (/.f64 l F)))
(*.f64 (PI.f64) (/.f64 (neg.f64 l) (*.f64 F F)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2)))))) (*.f64 -1 (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))))
(fma.f64 -1 (*.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3)) (neg.f64 (/.f64 (*.f64 l (PI.f64)) (*.f64 F F))))
(neg.f64 (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 (*.f64 l (PI.f64)) (*.f64 F F))))
(neg.f64 (fma.f64 (pow.f64 l 3) (/.f64 (pow.f64 (PI.f64) 3) (/.f64 (*.f64 F F) 1/3)) (*.f64 (PI.f64) (/.f64 l (*.f64 F F)))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2)))))) (+.f64 (*.f64 -1 (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))) (*.f64 -1 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5)))))
(fma.f64 -1 (*.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3)) (*.f64 -1 (+.f64 (/.f64 (*.f64 l (PI.f64)) (*.f64 F F)) (*.f64 (-.f64 (/.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (*.f64 F F)) (fma.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) (/.f64 (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2))) (*.f64 F F)))) (pow.f64 l 5)))))
(-.f64 (neg.f64 (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 (*.f64 l (PI.f64)) (*.f64 F F)))) (*.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) -1/30) (/.f64 (*.f64 (*.f64 -1/2 (pow.f64 (PI.f64) 2)) (*.f64 (pow.f64 (PI.f64) 3) 1/3)) (*.f64 F F))) (pow.f64 l 5)))
(-.f64 (*.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) -1/3)) (fma.f64 (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (*.f64 (PI.f64) (pow.f64 (PI.f64) 4)))) (*.f64 F F)) (pow.f64 l 5) (*.f64 (PI.f64) (/.f64 l (*.f64 F F)))))
(-.f64 (*.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) -1/3)) (fma.f64 (/.f64 (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (*.f64 (pow.f64 (PI.f64) 5) 1/6)) (*.f64 F F)) (pow.f64 l 5) (*.f64 (PI.f64) (/.f64 l (*.f64 F F)))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 2)))))) (+.f64 (*.f64 -1 (/.f64 (*.f64 l (PI.f64)) (pow.f64 F 2))) (+.f64 (*.f64 -1 (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) (pow.f64 F 2))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))) (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 4)) (pow.f64 F 2)))))) (pow.f64 l 7))) (*.f64 -1 (*.f64 (-.f64 (*.f64 1/120 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (pow.f64 F 2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)) (pow.f64 F 2))))) (pow.f64 l 5))))))
(fma.f64 -1 (*.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3)) (fma.f64 -1 (/.f64 (*.f64 l (PI.f64)) (*.f64 F F)) (fma.f64 -1 (*.f64 (-.f64 (*.f64 -1/5040 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F))) (fma.f64 -1/720 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (fma.f64 1/24 (pow.f64 (PI.f64) 5) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2))))) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 2))) (*.f64 1/24 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (/.f64 (*.f64 F F) (pow.f64 (PI.f64) 4))))))) (pow.f64 l 7)) (neg.f64 (*.f64 (-.f64 (/.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (*.f64 F F)) (fma.f64 1/24 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) (/.f64 (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2))) (*.f64 F F)))) (pow.f64 l 5))))))
(*.f64 -1 (+.f64 (fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (/.f64 (*.f64 l (PI.f64)) (*.f64 F F))) (fma.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) 1/840) (fma.f64 -1/2 (/.f64 (pow.f64 (PI.f64) 2) (/.f64 (*.f64 F F) (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 (*.f64 -1/2 (pow.f64 (PI.f64) 2)) (*.f64 (pow.f64 (PI.f64) 3) 1/3))))) (*.f64 1/24 (*.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) 1/3) (pow.f64 (PI.f64) 4))))) (pow.f64 l 7) (*.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 5) (*.f64 F F)) -1/30) (/.f64 (*.f64 (*.f64 -1/2 (pow.f64 (PI.f64) 2)) (*.f64 (pow.f64 (PI.f64) 3) 1/3)) (*.f64 F F))) (pow.f64 l 5)))))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) -1/3) (neg.f64 (fma.f64 (/.f64 (PI.f64) F) (/.f64 l F) (fma.f64 (/.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (*.f64 (PI.f64) (pow.f64 (PI.f64) 4)))) (*.f64 F F)) (pow.f64 l 5) (*.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) 1/840) (fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 (PI.f64) 2) (*.f64 F F)) (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (*.f64 (PI.f64) (pow.f64 (PI.f64) 4))))) (*.f64 (/.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/72) F) (/.f64 (pow.f64 (PI.f64) 4) F)))) (pow.f64 l 7))))))
(fma.f64 (pow.f64 l 3) (*.f64 (/.f64 (pow.f64 (PI.f64) 3) (*.f64 F F)) -1/3) (fma.f64 (pow.f64 l 7) (+.f64 (fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 (PI.f64) 2) (*.f64 F F)) (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (*.f64 (pow.f64 (PI.f64) 5) 1/6))) (/.f64 (*.f64 (*.f64 (PI.f64) (pow.f64 (PI.f64) 6)) 1/72) (*.f64 F F))) (*.f64 (/.f64 (pow.f64 (PI.f64) 7) (*.f64 F F)) -1/840)) (neg.f64 (fma.f64 (/.f64 (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (*.f64 (pow.f64 (PI.f64) 5) 1/6)) (*.f64 F F)) (pow.f64 l 5) (*.f64 (PI.f64) (/.f64 l (*.f64 F F)))))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(neg.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(neg.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(neg.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(neg.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(neg.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(neg.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(neg.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(neg.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(neg.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(neg.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(neg.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(neg.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(neg.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(neg.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(neg.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(neg.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(neg.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(neg.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(neg.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))
(*.f64 -1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (cos.f64 (*.f64 l (PI.f64))) (pow.f64 F 2))))
(neg.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64))))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 (*.f64 F F) (cos.f64 (*.f64 l (PI.f64)))))
(/.f64 (neg.f64 (sin.f64 (*.f64 l (PI.f64)))) (*.f64 F (*.f64 F (cos.f64 (*.f64 l (PI.f64))))))

eval221.0ms (1.8%)

Compiler

Compiled 13513 to 6010 computations (55.5% saved)

prune275.0ms (2.2%)

Pruning

30 alts after pruning (23 fresh and 7 done)

PrunedKeptTotal
New63014644
Fresh7916
Picked011
Done167
Total63830668
Error
0.2b
Counts
668 → 30
Alt Table
Click to see full alt table
StatusErrorProgram
18.2b
(fma.f64 (pow.f64 (cbrt.f64 (cbrt.f64 l)) 6) (*.f64 (cbrt.f64 l) (PI.f64)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
27.1b
(fma.f64 (sqrt.f64 (*.f64 l (cbrt.f64 l))) (*.f64 (cbrt.f64 l) (PI.f64)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
37.3b
(fma.f64 (cbrt.f64 (*.f64 l l)) (*.f64 (cbrt.f64 l) (PI.f64)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
38.6b
(fma.f64 (cbrt.f64 (*.f64 l l)) (*.f64 (cbrt.f64 l) (PI.f64)) (*.f64 (PI.f64) (/.f64 (neg.f64 l) (*.f64 F F))))
36.9b
(pow.f64 (sqrt.f64 (*.f64 l (PI.f64))) 2)
14.1b
(pow.f64 (cbrt.f64 (*.f64 l (PI.f64))) 3)
40.0b
(/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 2)) (-.f64 (*.f64 (PI.f64) l) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))))
49.5b
(/.f64 (+.f64 (pow.f64 (fma.f64 l (PI.f64) 1) 3) -1) (+.f64 (pow.f64 (fma.f64 l (PI.f64) 1) 2) (+.f64 (*.f64 l (PI.f64)) 2)))
45.4b
(/.f64 1 (/.f64 (+.f64 (*.f64 l (PI.f64)) 2) (+.f64 (pow.f64 (fma.f64 l (PI.f64) 1) 2) -1)))
27.1b
(-.f64 (+.f64 1 (*.f64 l (PI.f64))) 1)
36.2b
(-.f64 (*.f64 (PI.f64) l) (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 2))
31.5b
(-.f64 (*.f64 (PI.f64) l) (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l))))) 2)) (cbrt.f64 (log.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l)))))))
17.0b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 3) (*.f64 F F)))
24.5b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (-.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 1) F) F))
17.7b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (*.f64 l (PI.f64)) F) F))
17.7b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (*.f64 l (/.f64 1 (/.f64 F (PI.f64)))) F))
22.1b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (*.f64 l (PI.f64)) (*.f64 F F)))
16.9b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
17.7b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (PI.f64) F) (/.f64 l F)))
40.4b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (exp.f64 (*.f64 2 (log.f64 (/.f64 -1 F)))) (tan.f64 (*.f64 (PI.f64) l))))
17.9b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (exp.f64 (log.f64 (pow.f64 F -2))) (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 3)))
17.7b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) (/.f64 (/.f64 l F) F)))
30.3b
(-.f64 (*.f64 (PI.f64) l) (exp.f64 (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))
27.1b
(+.f64 (fma.f64 l (PI.f64) -1) 1)
14.2b
(*.f64 (pow.f64 (cbrt.f64 l) 2) (*.f64 (cbrt.f64 l) (PI.f64)))
14.1b
(*.f64 (*.f64 (PI.f64) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l))
36.9b
(*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l))
22.4b
(*.f64 l (-.f64 (PI.f64) (/.f64 (/.f64 (PI.f64) F) F)))
13.3b
(*.f64 l (PI.f64))
46.3b
(cbrt.f64 (pow.f64 (*.f64 l (PI.f64)) 3))
Compiler

Compiled 821 to 571 computations (30.5% saved)

localize24.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (PI.f64) (pow.f64 (cbrt.f64 l) 2))
0.4b
(*.f64 (*.f64 (PI.f64) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l))
0.5b
(pow.f64 (cbrt.f64 l) 2)
0.5b
(cbrt.f64 l)
Compiler

Compiled 26 to 14 computations (46.2% saved)

series18.0ms (0.1%)

Counts
3 → 12
Calls

9 calls:

TimeVariablePointExpression
5.0ms
l
@-inf
(*.f64 (*.f64 (PI.f64) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l))
4.0ms
l
@0
(*.f64 (*.f64 (PI.f64) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l))
3.0ms
l
@-inf
(pow.f64 (cbrt.f64 l) 2)
1.0ms
l
@-inf
(*.f64 (PI.f64) (pow.f64 (cbrt.f64 l) 2))
1.0ms
l
@0
(pow.f64 (cbrt.f64 l) 2)

rewrite83.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
671×pow1_binary64
619×add-log-exp_binary64
619×log1p-expm1-u_binary64
619×expm1-log1p-u_binary64
604×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0821
116221
2178721
Stop Event
node limit
Counts
3 → 42
Calls
Call 1
Inputs
(pow.f64 (cbrt.f64 l) 2)
(*.f64 (*.f64 (PI.f64) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l))
(*.f64 (PI.f64) (pow.f64 (cbrt.f64 l) 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (cbrt.f64 l) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 l) (cbrt.f64 l))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 l) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (cbrt.f64 l) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 l)) 2) (cbrt.f64 (*.f64 l (cbrt.f64 l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 l)) 2) (*.f64 (cbrt.f64 (cbrt.f64 l)) (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 l (cbrt.f64 l))) (pow.f64 (cbrt.f64 (cbrt.f64 l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 l) (pow.f64 l 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 l 1/6) (*.f64 (pow.f64 l 1/6) (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 l) (pow.f64 (cbrt.f64 (cbrt.f64 l)) 2)) (cbrt.f64 (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 l (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cbrt.f64 l) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 l l))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 l) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 l) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (cbrt.f64 l))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 l (PI.f64))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l (PI.f64)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (PI.f64)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 l (PI.f64))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 l (PI.f64))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 l (PI.f64)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (PI.f64)) l))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 l (PI.f64)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 l (*.f64 (pow.f64 (*.f64 l (PI.f64)) 2) (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (PI.f64) 3) (pow.f64 l 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 l (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 l (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 l (PI.f64))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (pow.f64 (cbrt.f64 l) 2) (PI.f64))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (cbrt.f64 l) 2) (PI.f64)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 l (PI.f64)) 2) (PI.f64)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 l) 2) (PI.f64))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 l) (sqrt.f64 (PI.f64))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 l (cbrt.f64 l)) (pow.f64 (PI.f64) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 l) 2)) (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 l (PI.f64)) 2) (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 l l) (pow.f64 (PI.f64) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 l l)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 (cbrt.f64 l) 2) (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 (cbrt.f64 l) 2) (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 (cbrt.f64 l) 2) (PI.f64))))))))

simplify15.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0460
1560
Stop Event
saturated
Counts
54 → 43
Calls
Call 1
Inputs
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
Outputs
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))

localize18.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(fma.f64 l (PI.f64) -1)
2.6b
(+.f64 (fma.f64 l (PI.f64) -1) 1)
Compiler

Compiled 16 to 11 computations (31.3% saved)

series4.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
l
@-inf
(+.f64 (fma.f64 l (PI.f64) -1) 1)
1.0ms
l
@inf
(+.f64 (fma.f64 l (PI.f64) -1) 1)
1.0ms
l
@0
(+.f64 (fma.f64 l (PI.f64) -1) 1)
0.0ms
l
@0
(fma.f64 l (PI.f64) -1)
0.0ms
l
@inf
(fma.f64 l (PI.f64) -1)

rewrite65.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
650×pow1_binary64
602×add-log-exp_binary64
602×log1p-expm1-u_binary64
602×expm1-log1p-u_binary64
590×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0715
113814
2163114
Stop Event
node limit
Counts
2 → 53
Calls
Call 1
Inputs
(+.f64 (fma.f64 l (PI.f64) -1) 1)
(fma.f64 l (PI.f64) -1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 (*.f64 l (PI.f64)) 0)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (fma.f64 l (PI.f64) -1) 2) (+.f64 (*.f64 l (PI.f64)) -2)) (/.f64 1 (+.f64 (*.f64 l (PI.f64)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 l (PI.f64)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 l (PI.f64)) 0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (*.f64 l (PI.f64)) 0)) (pow.f64 (cbrt.f64 (+.f64 (*.f64 l (PI.f64)) 0)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (*.f64 l (PI.f64)) 0)) 2) (cbrt.f64 (+.f64 (*.f64 l (PI.f64)) 0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (*.f64 l (PI.f64)) 0)) (sqrt.f64 (+.f64 (*.f64 l (PI.f64)) 0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (pow.f64 (fma.f64 l (PI.f64) -1) 3)) (/.f64 1 (+.f64 (pow.f64 (fma.f64 l (PI.f64) -1) 2) (-.f64 1 (fma.f64 l (PI.f64) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 l (PI.f64) -1) 2) -1) (/.f64 1 (+.f64 (*.f64 l (PI.f64)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 l (PI.f64) -1) 2) (-.f64 1 (fma.f64 l (PI.f64) -1))) (+.f64 1 (pow.f64 (fma.f64 l (PI.f64) -1) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 l (PI.f64)) -2) (+.f64 (pow.f64 (fma.f64 l (PI.f64) -1) 2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (fma.f64 l (PI.f64) -1) 3)) (+.f64 (pow.f64 (fma.f64 l (PI.f64) -1) 2) (-.f64 1 (fma.f64 l (PI.f64) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (fma.f64 l (PI.f64) -1) 3)) (+.f64 1 (-.f64 (pow.f64 (fma.f64 l (PI.f64) -1) 2) (fma.f64 l (PI.f64) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 l (PI.f64) -1) 2) -1) (+.f64 (*.f64 l (PI.f64)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 1 (pow.f64 (fma.f64 l (PI.f64) -1) 3))) (neg.f64 (+.f64 (pow.f64 (fma.f64 l (PI.f64) -1) 2) (-.f64 1 (fma.f64 l (PI.f64) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 l (PI.f64) -1) 2) -1)) (neg.f64 (+.f64 (*.f64 l (PI.f64)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (fma.f64 l (PI.f64) -1) 2)) (-.f64 1 (fma.f64 l (PI.f64) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 l (PI.f64)) 0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (*.f64 l (PI.f64)) 0) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (*.f64 l (PI.f64)) 0)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (*.f64 l (PI.f64)) 0)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (*.f64 l (PI.f64)) 0) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (*.f64 l (PI.f64)) 0)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (*.f64 l (PI.f64)) 0) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (*.f64 l (PI.f64)) 0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (*.f64 l (PI.f64)) 0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (fma.f64 l (PI.f64) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 l (PI.f64) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 l (PI.f64) -1)) 2) (cbrt.f64 (fma.f64 l (PI.f64) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 l (PI.f64) -1)) (sqrt.f64 (fma.f64 l (PI.f64) -1)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (*.f64 l (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 l (PI.f64)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 l (PI.f64)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 l (PI.f64)) 0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 l (PI.f64) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 l (PI.f64) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 l (PI.f64) -1)) (pow.f64 (cbrt.f64 (fma.f64 l (PI.f64) -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 l (PI.f64) -1)) 2) (cbrt.f64 (fma.f64 l (PI.f64) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 l (PI.f64) -1)) 2) (*.f64 (cbrt.f64 (fma.f64 l (PI.f64) -1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 l (PI.f64) -1)) (sqrt.f64 (fma.f64 l (PI.f64) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 l (PI.f64) -1)) (*.f64 (sqrt.f64 (fma.f64 l (PI.f64) -1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 l (PI.f64)) 3) -1) (+.f64 (*.f64 (*.f64 l (PI.f64)) (*.f64 l (PI.f64))) (-.f64 1 (*.f64 (*.f64 l (PI.f64)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 l (PI.f64)) (*.f64 l (PI.f64))) 1) (-.f64 (*.f64 l (PI.f64)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 l (PI.f64) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 l (PI.f64) -1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 l (PI.f64) -1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 l (PI.f64) -1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 l (PI.f64) -1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 l (PI.f64) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 l (PI.f64) -1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 l (PI.f64) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 l (PI.f64) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 l (PI.f64) -1)))))))

simplify10.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-neg_binary64
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07125
113125
215125
Stop Event
saturated
Counts
77 → 57
Calls
Call 1
Inputs
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
-1
(-.f64 (*.f64 l (PI.f64)) 1)
(-.f64 (*.f64 l (PI.f64)) 1)
(-.f64 (*.f64 l (PI.f64)) 1)
(*.f64 l (PI.f64))
(-.f64 (*.f64 l (PI.f64)) 1)
(-.f64 (*.f64 l (PI.f64)) 1)
(-.f64 (*.f64 l (PI.f64)) 1)
(*.f64 l (PI.f64))
(-.f64 (*.f64 l (PI.f64)) 1)
(-.f64 (*.f64 l (PI.f64)) 1)
(-.f64 (*.f64 l (PI.f64)) 1)
Outputs
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
(*.f64 l (PI.f64))
-1
(-.f64 (*.f64 l (PI.f64)) 1)
(fma.f64 l (PI.f64) -1)
(-.f64 (*.f64 l (PI.f64)) 1)
(fma.f64 l (PI.f64) -1)
(-.f64 (*.f64 l (PI.f64)) 1)
(fma.f64 l (PI.f64) -1)
(*.f64 l (PI.f64))
(-.f64 (*.f64 l (PI.f64)) 1)
(fma.f64 l (PI.f64) -1)
(-.f64 (*.f64 l (PI.f64)) 1)
(fma.f64 l (PI.f64) -1)
(-.f64 (*.f64 l (PI.f64)) 1)
(fma.f64 l (PI.f64) -1)
(*.f64 l (PI.f64))
(-.f64 (*.f64 l (PI.f64)) 1)
(fma.f64 l (PI.f64) -1)
(-.f64 (*.f64 l (PI.f64)) 1)
(fma.f64 l (PI.f64) -1)
(-.f64 (*.f64 l (PI.f64)) 1)
(fma.f64 l (PI.f64) -1)

localize19.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 F (PI.f64))
0.2b
(*.f64 l (/.f64 1 (/.f64 F (PI.f64))))
0.3b
(*.f64 (PI.f64) l)
0.3b
(/.f64 1 (/.f64 F (PI.f64)))
Compiler

Compiled 46 to 20 computations (56.5% saved)

series15.0ms (0.1%)

Counts
3 → 36
Calls

12 calls:

TimeVariablePointExpression
10.0ms
F
@inf
(/.f64 F (PI.f64))
1.0ms
F
@-inf
(/.f64 F (PI.f64))
1.0ms
F
@0
(/.f64 1 (/.f64 F (PI.f64)))
1.0ms
F
@-inf
(/.f64 1 (/.f64 F (PI.f64)))
1.0ms
F
@inf
(/.f64 1 (/.f64 F (PI.f64)))

rewrite65.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
839×pow1_binary64
775×add-log-exp_binary64
775×log1p-expm1-u_binary64
775×expm1-log1p-u_binary64
757×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0821
116718
2218618
Stop Event
node limit
Counts
3 → 92
Calls
Call 1
Inputs
(/.f64 1 (/.f64 F (PI.f64)))
(*.f64 l (/.f64 1 (/.f64 F (PI.f64))))
(/.f64 F (PI.f64))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (PI.f64) F)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (PI.f64) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (PI.f64) (/.f64 1 F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (PI.f64) F) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (PI.f64) F)) (pow.f64 (cbrt.f64 (/.f64 (PI.f64) F)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (PI.f64) F)) 2) (cbrt.f64 (/.f64 (PI.f64) F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (PI.f64) F)) (sqrt.f64 (/.f64 (PI.f64) F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (/.f64 (neg.f64 F) (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 F) (PI.f64))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 F) (pow.f64 (/.f64 1 (PI.f64)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 F (PI.f64))) 2) -1) (pow.f64 (cbrt.f64 (/.f64 F (PI.f64))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (/.f64 F (PI.f64))) -1) (pow.f64 (sqrt.f64 (/.f64 F (PI.f64))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (PI.f64)) 2) 1) (/.f64 (cbrt.f64 (PI.f64)) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (PI.f64)) 1) (/.f64 (sqrt.f64 (PI.f64)) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 F) 2)) (/.f64 (PI.f64) (cbrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (PI.f64)) 2) (pow.f64 (cbrt.f64 F) 2)) (/.f64 (cbrt.f64 (PI.f64)) (cbrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (PI.f64)) (pow.f64 (cbrt.f64 F) 2)) (/.f64 (sqrt.f64 (PI.f64)) (cbrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 F)) (/.f64 (PI.f64) (sqrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (PI.f64)) 2) (sqrt.f64 F)) (/.f64 (cbrt.f64 (PI.f64)) (sqrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (PI.f64)) (sqrt.f64 F)) (/.f64 (sqrt.f64 (PI.f64)) (sqrt.f64 F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (neg.f64 F)) (neg.f64 (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 F) 1) (PI.f64))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 F) (pow.f64 (cbrt.f64 (PI.f64)) 2)) (cbrt.f64 (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 F) (sqrt.f64 (PI.f64))) (sqrt.f64 (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 F (PI.f64)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (PI.f64) F) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (PI.f64) F) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (PI.f64) F)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (PI.f64) F)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 F (PI.f64)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (PI.f64) F)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (PI.f64) F) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (PI.f64) 3) (pow.f64 F 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (PI.f64) F)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (PI.f64) F)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (PI.f64) F)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (/.f64 l F) (PI.f64))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 F (PI.f64)) l))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 l (/.f64 F (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 l) 2) (/.f64 (/.f64 F (PI.f64)) (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 l) (/.f64 (/.f64 F (PI.f64)) (sqrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 l) (/.f64 (neg.f64 F) (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 l (sqrt.f64 (/.f64 F (PI.f64)))) (sqrt.f64 (/.f64 F (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 l 1) (/.f64 F (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 l F) (/.f64 1 (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 l (pow.f64 (cbrt.f64 (/.f64 F (PI.f64))) 2)) (cbrt.f64 (/.f64 F (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 l) (/.f64 (neg.f64 F) (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 l -1) (/.f64 (neg.f64 F) (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 l F) (PI.f64)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 l F) (PI.f64)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 l F) (PI.f64))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 l F) (PI.f64))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 l F) (PI.f64)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 l F) (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 l F) (PI.f64)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 l 3) (pow.f64 (/.f64 F (PI.f64)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (PI.f64) F) 3) (pow.f64 l 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 l 3) (pow.f64 (/.f64 (PI.f64) F) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 l F) (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 l F) (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 l F) (PI.f64))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 F (PI.f64))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 F (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 F (/.f64 1 (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 F (PI.f64)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 F (PI.f64))) (pow.f64 (cbrt.f64 (/.f64 F (PI.f64))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 F (PI.f64))) 2) (cbrt.f64 (/.f64 F (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 F) 2) (*.f64 (cbrt.f64 F) (/.f64 1 (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 F (PI.f64))) (sqrt.f64 (/.f64 F (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 F) (*.f64 (sqrt.f64 F) (/.f64 1 (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 F) (/.f64 1 (neg.f64 (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (PI.f64)) F)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 F) 2) 1) (/.f64 (cbrt.f64 F) (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 F) 1) (/.f64 (sqrt.f64 F) (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (PI.f64)) 2)) (/.f64 F (cbrt.f64 (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 F) 2) (pow.f64 (cbrt.f64 (PI.f64)) 2)) (cbrt.f64 (/.f64 F (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 F) (pow.f64 (cbrt.f64 (PI.f64)) 2)) (/.f64 (sqrt.f64 F) (cbrt.f64 (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (/.f64 F (sqrt.f64 (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 F) 2) (sqrt.f64 (PI.f64))) (/.f64 (cbrt.f64 F) (sqrt.f64 (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 F (PI.f64)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (PI.f64) F) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 F (PI.f64)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 F (PI.f64))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 F (PI.f64))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 F (neg.f64 (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 F (PI.f64)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 F (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 F (PI.f64)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 F 3) (pow.f64 (PI.f64) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 F (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 F (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 F (PI.f64))))))))

simplify14.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/l*_binary64
associate-/r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07252
110252
214252
316252
417252
Stop Event
saturated
Counts
128 → 95
Calls
Call 1
Inputs
(/.f64 (PI.f64) F)
(/.f64 (PI.f64) F)
(/.f64 (PI.f64) F)
(/.f64 (PI.f64) F)
(/.f64 (PI.f64) F)
(/.f64 (PI.f64) F)
(/.f64 (PI.f64) F)
(/.f64 (PI.f64) F)
(/.f64 (PI.f64) F)
(/.f64 (PI.f64) F)
(/.f64 (PI.f64) F)
(/.f64 (PI.f64) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 l (PI.f64)) F)
Outputs
(/.f64 (PI.f64) F)
(/.f64 (PI.f64) F)
(/.f64 (PI.f64) F)
(/.f64 (PI.f64) F)
(/.f64 (PI.f64) F)
(/.f64 (PI.f64) F)
(/.f64 (PI.f64) F)
(/.f64 (PI.f64) F)
(/.f64 (PI.f64) F)
(/.f64 (PI.f64) F)
(/.f64 (PI.f64) F)
(/.f64 (PI.f64) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 (PI.f64) l) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 (PI.f64) l) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 (PI.f64) l) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 (PI.f64) l) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 (PI.f64) l) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 (PI.f64) l) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 (PI.f64) l) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 (PI.f64) l) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 (PI.f64) l) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 (PI.f64) l) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 (PI.f64) l) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 (PI.f64) l) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 (PI.f64) l) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 (PI.f64) l) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 (PI.f64) l) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 (PI.f64) l) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 (PI.f64) l) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 (PI.f64) l) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 (PI.f64) l) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 (PI.f64) l) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 (PI.f64) l) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 (PI.f64) l) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 (PI.f64) l) F)
(/.f64 (*.f64 l (PI.f64)) F)
(/.f64 (*.f64 (PI.f64) l) F)

localize26.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(+.f64 1 (tan.f64 (*.f64 (PI.f64) l)))
0.3b
(*.f64 (PI.f64) l)
4.6b
(-.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 1)
31.3b
(tan.f64 (*.f64 (PI.f64) l))
Compiler

Compiled 65 to 30 computations (53.8% saved)

series2.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
l
@0
(-.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 1)
0.0ms
l
@0
(+.f64 1 (tan.f64 (*.f64 (PI.f64) l)))
0.0ms
l
@inf
(+.f64 1 (tan.f64 (*.f64 (PI.f64) l)))
0.0ms
l
@-inf
(-.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 1)
0.0ms
l
@-inf
(+.f64 1 (tan.f64 (*.f64 (PI.f64) l)))

rewrite60.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
859×pow1_binary64
798×add-log-exp_binary64
798×log1p-expm1-u_binary64
798×expm1-log1p-u_binary64
784×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0823
117617
2240917
Stop Event
node limit
Counts
2 → 76
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 1)
(+.f64 1 (tan.f64 (*.f64 (PI.f64) l)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (tan.f64 (*.f64 (PI.f64) l)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (+.f64 (tan.f64 (*.f64 (PI.f64) l)) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (tan.f64 (*.f64 (PI.f64) l)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (tan.f64 (*.f64 (PI.f64) l)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (tan.f64 (*.f64 (PI.f64) l)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (tan.f64 (*.f64 (PI.f64) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2) (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (*.f64 (PI.f64) l)) (/.f64 1 (cos.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 3) -1) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 2) (+.f64 (tan.f64 (*.f64 (PI.f64) l)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 2) -1) (/.f64 1 (+.f64 (tan.f64 (*.f64 (PI.f64) l)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l)))) 1) (-.f64 (sqrt.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (cos.f64 (*.f64 (PI.f64) l)) (sin.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 2) (+.f64 (tan.f64 (*.f64 (PI.f64) l)) 2)) (+.f64 (pow.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 3) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (tan.f64 (*.f64 (PI.f64) l)) 2) (+.f64 (pow.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 (*.f64 (PI.f64) l)) (cos.f64 (*.f64 (PI.f64) l)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 3) -1) (+.f64 (pow.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 2) (+.f64 (tan.f64 (*.f64 (PI.f64) l)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 3) -1) (+.f64 (pow.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 2) (-.f64 1 (*.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 2) -1) (+.f64 (tan.f64 (*.f64 (PI.f64) l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 2) -1) (-.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sin.f64 (*.f64 (PI.f64) l))) (neg.f64 (cos.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 3) -1)) (neg.f64 (+.f64 (pow.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 2) (+.f64 (tan.f64 (*.f64 (PI.f64) l)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 2) -1)) (neg.f64 (+.f64 (tan.f64 (*.f64 (PI.f64) l)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (+.f64 (tan.f64 (*.f64 (PI.f64) l)) -1) 3)) (+.f64 1 (-.f64 (*.f64 (+.f64 (tan.f64 (*.f64 (PI.f64) l)) -1) (+.f64 (tan.f64 (*.f64 (PI.f64) l)) -1)) (+.f64 (tan.f64 (*.f64 (PI.f64) l)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (*.f64 (+.f64 (tan.f64 (*.f64 (PI.f64) l)) -1) (+.f64 (tan.f64 (*.f64 (PI.f64) l)) -1))) (-.f64 1 (+.f64 (tan.f64 (*.f64 (PI.f64) l)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x tan.f64 (*.f64 (PI.f64) l))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l)))) 2) (cbrt.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l)))) (sqrt.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l)))) -1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (tan.f64 (*.f64 (PI.f64) l)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (-.f64 1 (tan.f64 (*.f64 (PI.f64) l)))) (/.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2) (-.f64 1 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l)))) (pow.f64 (cbrt.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l)))) 2) (cbrt.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l)))) 2) (*.f64 (cbrt.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l)))) (sqrt.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l)))) (*.f64 (sqrt.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 3)) (/.f64 1 (+.f64 1 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (+.f64 (tan.f64 (*.f64 (PI.f64) l)) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2)) (/.f64 1 (-.f64 1 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (+.f64 (tan.f64 (*.f64 (PI.f64) l)) -1))) (+.f64 1 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 1 (tan.f64 (*.f64 (PI.f64) l))) (-.f64 1 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 3)) (+.f64 1 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (+.f64 (tan.f64 (*.f64 (PI.f64) l)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 3)) (+.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2) (-.f64 1 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2)) (-.f64 1 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 1 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 3))) (neg.f64 (+.f64 1 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (+.f64 (tan.f64 (*.f64 (PI.f64) l)) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2))) (neg.f64 (-.f64 1 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2) 1) (+.f64 (tan.f64 (*.f64 (PI.f64) l)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 3)) 1) (+.f64 1 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (+.f64 (tan.f64 (*.f64 (PI.f64) l)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2)) 1) (-.f64 1 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log.f64 (+.f64 (tan.f64 (*.f64 (PI.f64) l)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (tan.f64 (*.f64 (PI.f64) l))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (tan.f64 (*.f64 (PI.f64) l)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 2) (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 1)))))

simplify49.0ms (0.4%)

Algorithm
egg-herbie
Rules
560×associate-+l+_binary64
549×cancel-sign-sub-inv_binary64
509×distribute-rgt-in_binary64
486×distribute-lft-in_binary64
446×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
059607
1170573
2531544
32984509
Stop Event
node limit
Counts
100 → 93
Calls
Call 1
Inputs
(*.f64 l (PI.f64))
(+.f64 (*.f64 l (PI.f64)) (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3)))))
(+.f64 (*.f64 l (PI.f64)) (+.f64 (*.f64 (pow.f64 l 5) (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)))))) (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))))))
(+.f64 (*.f64 l (PI.f64)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (pow.f64 (PI.f64) 7)) (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 4))) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))) (pow.f64 (PI.f64) 2))) (*.f64 -1/720 (pow.f64 (PI.f64) 7))))) (pow.f64 l 7)) (+.f64 (*.f64 (pow.f64 l 5) (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)))))) (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3)))))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
1
(+.f64 (*.f64 l (PI.f64)) 1)
(+.f64 (*.f64 l (PI.f64)) (+.f64 1 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))))))
(+.f64 (*.f64 l (PI.f64)) (+.f64 1 (+.f64 (*.f64 (pow.f64 l 5) (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)))))) (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3)))))))
(+.f64 1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(+.f64 1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(+.f64 1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(+.f64 1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(+.f64 1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(+.f64 1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(+.f64 1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(+.f64 1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
Outputs
(*.f64 l (PI.f64))
(+.f64 (*.f64 l (PI.f64)) (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3)))))
(fma.f64 l (PI.f64) (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) 1/3)))
(fma.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) 1/3) (*.f64 l (PI.f64)))
(+.f64 (*.f64 l (PI.f64)) (+.f64 (*.f64 (pow.f64 l 5) (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)))))) (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))))))
(fma.f64 l (PI.f64) (fma.f64 (pow.f64 l 5) (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (fma.f64 1/24 (pow.f64 (PI.f64) 5) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2))))) (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) 1/3))))
(fma.f64 l (PI.f64) (fma.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) 1/3) (*.f64 (pow.f64 l 5) (+.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 1/2 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2)))))))
(fma.f64 l (PI.f64) (fma.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) 1/3) (*.f64 (pow.f64 l 5) (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (*.f64 (PI.f64) (pow.f64 (PI.f64) 4)))))))
(fma.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) 1/3) (fma.f64 (pow.f64 l 5) (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (*.f64 (pow.f64 (PI.f64) 5) 1/6)) (*.f64 l (PI.f64))))
(+.f64 (*.f64 l (PI.f64)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (pow.f64 (PI.f64) 7)) (+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 4))) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2))))) (pow.f64 (PI.f64) 2))) (*.f64 -1/720 (pow.f64 (PI.f64) 7))))) (pow.f64 l 7)) (+.f64 (*.f64 (pow.f64 l 5) (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)))))) (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3)))))))
(fma.f64 l (PI.f64) (fma.f64 (-.f64 (*.f64 -1/5040 (pow.f64 (PI.f64) 7)) (fma.f64 1/24 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 4)) (fma.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 2) (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (fma.f64 1/24 (pow.f64 (PI.f64) 5) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2)))))) (*.f64 (pow.f64 (PI.f64) 7) -1/720)))) (pow.f64 l 7) (fma.f64 (pow.f64 l 5) (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (fma.f64 1/24 (pow.f64 (PI.f64) 5) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2))))) (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) 1/3)))))
(fma.f64 l (PI.f64) (fma.f64 (-.f64 (*.f64 -1/5040 (pow.f64 (PI.f64) 7)) (fma.f64 1/24 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 4)) (fma.f64 -1/2 (*.f64 (pow.f64 (PI.f64) 2) (+.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 1/2 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2))))) (*.f64 (pow.f64 (PI.f64) 7) -1/720)))) (pow.f64 l 7) (fma.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) 1/3) (*.f64 (pow.f64 l 5) (+.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 1/2 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2))))))))
(fma.f64 (-.f64 (*.f64 -1/5040 (pow.f64 (PI.f64) 7)) (fma.f64 (pow.f64 (PI.f64) 2) (*.f64 -1/2 (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (*.f64 (PI.f64) (pow.f64 (PI.f64) 4))))) (fma.f64 (pow.f64 (PI.f64) 7) -1/720 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) (pow.f64 (PI.f64) 4)) 1/72)))) (pow.f64 l 7) (fma.f64 l (PI.f64) (fma.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) 1/3) (*.f64 (pow.f64 l 5) (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (*.f64 (PI.f64) (pow.f64 (PI.f64) 4))))))))
(fma.f64 (-.f64 (*.f64 (pow.f64 (PI.f64) 7) 1/840) (fma.f64 (pow.f64 (PI.f64) 2) (*.f64 -1/2 (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (*.f64 (pow.f64 (PI.f64) 5) 1/6))) (*.f64 (*.f64 (PI.f64) (pow.f64 (PI.f64) 6)) 1/72))) (pow.f64 l 7) (fma.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) 1/3) (fma.f64 (pow.f64 l 5) (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (*.f64 (pow.f64 (PI.f64) 5) 1/6)) (*.f64 l (PI.f64)))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
(/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64))))
1
(+.f64 (*.f64 l (PI.f64)) 1)
(fma.f64 l (PI.f64) 1)
(+.f64 (*.f64 l (PI.f64)) (+.f64 1 (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))))))
(+.f64 (fma.f64 l (PI.f64) 1) (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) 1/3)))
(fma.f64 l (PI.f64) (fma.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) 1/3) 1))
(fma.f64 l (PI.f64) (fma.f64 (pow.f64 (PI.f64) 3) (*.f64 (pow.f64 l 3) 1/3) 1))
(fma.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) 1/3) (fma.f64 l (PI.f64) 1))
(+.f64 (*.f64 l (PI.f64)) (+.f64 1 (+.f64 (*.f64 (pow.f64 l 5) (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (+.f64 (*.f64 1/24 (pow.f64 (PI.f64) 5)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3))) (pow.f64 (PI.f64) 2)))))) (*.f64 (pow.f64 l 3) (-.f64 (*.f64 -1/6 (pow.f64 (PI.f64) 3)) (*.f64 -1/2 (pow.f64 (PI.f64) 3)))))))
(+.f64 (fma.f64 l (PI.f64) 1) (fma.f64 (pow.f64 l 5) (-.f64 (*.f64 1/120 (pow.f64 (PI.f64) 5)) (fma.f64 1/24 (pow.f64 (PI.f64) 5) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2))))) (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) 1/3))))
(+.f64 (fma.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) 1/3) (*.f64 (pow.f64 l 5) (+.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 1/2 (*.f64 (*.f64 (pow.f64 (PI.f64) 3) 1/3) (pow.f64 (PI.f64) 2)))))) (fma.f64 l (PI.f64) 1))
(fma.f64 l (PI.f64) (fma.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) 1/3) (fma.f64 (pow.f64 l 5) (-.f64 (*.f64 (pow.f64 (PI.f64) 5) -1/30) (*.f64 -1/6 (*.f64 (PI.f64) (pow.f64 (PI.f64) 4)))) 1)))
(fma.f64 l (PI.f64) (fma.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) 1/3) (fma.f64 (pow.f64 l 5) (fma.f64 (pow.f64 (PI.f64) 5) -1/30 (*.f64 (pow.f64 (PI.f64) 5) 1/6)) 1)))
(+.f64 1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(+.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) 1)
(+.f64 1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(+.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) 1)
(+.f64 1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(+.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) 1)
(+.f64 1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(+.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) 1)
(+.f64 1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(+.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) 1)
(+.f64 1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(+.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) 1)
(+.f64 1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(+.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) 1)
(+.f64 1 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))))
(+.f64 (/.f64 (sin.f64 (*.f64 l (PI.f64))) (cos.f64 (*.f64 l (PI.f64)))) 1)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (cbrt.f64 l) (PI.f64))
0.5b
(cbrt.f64 l)
7.8b
(/.f64 (neg.f64 l) (*.f64 F F))
30.4b
(cbrt.f64 (*.f64 l l))
Compiler

Compiled 54 to 12 computations (77.8% saved)

series9.0ms (0.1%)

Counts
2 → 24
Calls

9 calls:

TimeVariablePointExpression
1.0ms
l
@0
(/.f64 (neg.f64 l) (*.f64 F F))
1.0ms
l
@-inf
(*.f64 (cbrt.f64 l) (PI.f64))
1.0ms
l
@inf
(/.f64 (neg.f64 l) (*.f64 F F))
1.0ms
F
@0
(/.f64 (neg.f64 l) (*.f64 F F))
1.0ms
l
@-inf
(/.f64 (neg.f64 l) (*.f64 F F))

rewrite55.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
844×pow1_binary64
783×add-log-exp_binary64
782×log1p-expm1-u_binary64
782×expm1-log1p-u_binary64
762×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0916
118814
2261514
Stop Event
node limit
Counts
2 → 50
Calls
Call 1
Inputs
(/.f64 (neg.f64 l) (*.f64 F F))
(*.f64 (cbrt.f64 l) (PI.f64))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 l (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 l (pow.f64 F -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (*.f64 F F)) (*.f64 l (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 l (pow.f64 F -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 l (/.f64 1 (*.f64 F (neg.f64 F))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 l (pow.f64 F -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 l (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 l) 2) (*.f64 (cbrt.f64 l) (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 l (pow.f64 F -2))) (pow.f64 (cbrt.f64 (*.f64 l (pow.f64 F -2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 l (pow.f64 F -2))) 2) (cbrt.f64 (*.f64 l (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 l) F) (/.f64 (sqrt.f64 l) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 l) (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 F -2) l)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 l (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 l F) (/.f64 1 F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 F) (/.f64 l F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 F) (/.f64 l F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 l) 2) 1) (/.f64 (cbrt.f64 l) (*.f64 F F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 l) 1) (/.f64 (sqrt.f64 l) (*.f64 F F)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 F 4))) (/.f64 l (pow.f64 (cbrt.f64 F) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 l) (cbrt.f64 (pow.f64 F 4))) (/.f64 (sqrt.f64 l) (pow.f64 (cbrt.f64 F) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (cbrt.f64 (pow.f64 F 4))) (/.f64 l (pow.f64 (cbrt.f64 F) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 l) 2) F) (/.f64 (cbrt.f64 l) F))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 l) 2) (cbrt.f64 (pow.f64 F 4))) (cbrt.f64 (*.f64 l (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 l (pow.f64 F -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 l (pow.f64 F -2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 l (pow.f64 F -2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 l) F) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 F (/.f64 l F)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 l (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (*.f64 l l) (pow.f64 F 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 l) (pow.f64 F -2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 l (pow.f64 F -2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 l 3) (pow.f64 (*.f64 F F) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 l (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 l (pow.f64 F -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 l (pow.f64 F -2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cbrt.f64 l) (PI.f64))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 l) (PI.f64)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cbrt.f64 l) (PI.f64)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 l) (PI.f64))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cbrt.f64 l) (PI.f64))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 l) (PI.f64)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (PI.f64)) (cbrt.f64 l)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 l) (PI.f64)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 l (pow.f64 (PI.f64) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (PI.f64) 3) l))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 l) (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cbrt.f64 l) (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cbrt.f64 l) (PI.f64))))))))

simplify70.0ms (0.6%)

Algorithm
egg-herbie
Rules
911×fma-def_binary64
647×div-sub_binary64
632×times-frac_binary64
516×associate-/l/_binary64
434×unswap-sqr_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08216
117216
236216
379216
4225216
5874216
63939216
75277216
85883216
97748216
Stop Event
node limit
Counts
74 → 52
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
Outputs
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(neg.f64 (/.f64 l (*.f64 F F)))
(/.f64 (neg.f64 l) (*.f64 F F))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(neg.f64 (/.f64 l (*.f64 F F)))
(/.f64 (neg.f64 l) (*.f64 F F))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(neg.f64 (/.f64 l (*.f64 F F)))
(/.f64 (neg.f64 l) (*.f64 F F))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(neg.f64 (/.f64 l (*.f64 F F)))
(/.f64 (neg.f64 l) (*.f64 F F))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(neg.f64 (/.f64 l (*.f64 F F)))
(/.f64 (neg.f64 l) (*.f64 F F))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(neg.f64 (/.f64 l (*.f64 F F)))
(/.f64 (neg.f64 l) (*.f64 F F))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(neg.f64 (/.f64 l (*.f64 F F)))
(/.f64 (neg.f64 l) (*.f64 F F))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(neg.f64 (/.f64 l (*.f64 F F)))
(/.f64 (neg.f64 l) (*.f64 F F))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(neg.f64 (/.f64 l (*.f64 F F)))
(/.f64 (neg.f64 l) (*.f64 F F))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(neg.f64 (/.f64 l (*.f64 F F)))
(/.f64 (neg.f64 l) (*.f64 F F))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(neg.f64 (/.f64 l (*.f64 F F)))
(/.f64 (neg.f64 l) (*.f64 F F))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(neg.f64 (/.f64 l (*.f64 F F)))
(/.f64 (neg.f64 l) (*.f64 F F))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(neg.f64 (/.f64 l (*.f64 F F)))
(/.f64 (neg.f64 l) (*.f64 F F))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(neg.f64 (/.f64 l (*.f64 F F)))
(/.f64 (neg.f64 l) (*.f64 F F))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(neg.f64 (/.f64 l (*.f64 F F)))
(/.f64 (neg.f64 l) (*.f64 F F))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(neg.f64 (/.f64 l (*.f64 F F)))
(/.f64 (neg.f64 l) (*.f64 F F))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(neg.f64 (/.f64 l (*.f64 F F)))
(/.f64 (neg.f64 l) (*.f64 F F))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(neg.f64 (/.f64 l (*.f64 F F)))
(/.f64 (neg.f64 l) (*.f64 F F))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(neg.f64 (/.f64 l (*.f64 F F)))
(/.f64 (neg.f64 l) (*.f64 F F))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(neg.f64 (/.f64 l (*.f64 F F)))
(/.f64 (neg.f64 l) (*.f64 F F))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(neg.f64 (/.f64 l (*.f64 F F)))
(/.f64 (neg.f64 l) (*.f64 F F))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(neg.f64 (/.f64 l (*.f64 F F)))
(/.f64 (neg.f64 l) (*.f64 F F))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(neg.f64 (/.f64 l (*.f64 F F)))
(/.f64 (neg.f64 l) (*.f64 F F))
(*.f64 -1 (/.f64 l (pow.f64 F 2)))
(neg.f64 (/.f64 l (*.f64 F F)))
(/.f64 (neg.f64 l) (*.f64 F F))

eval196.0ms (1.6%)

Compiler

Compiled 10562 to 4819 computations (54.4% saved)

prune156.0ms (1.3%)

Pruning

36 alts after pruning (28 fresh and 8 done)

PrunedKeptTotal
New57015585
Fresh51318
Picked011
Done4711
Total57936615
Error
0.2b
Counts
615 → 36
Alt Table
Click to see full alt table
StatusErrorProgram
27.1b
(fma.f64 (sqrt.f64 (*.f64 l (cbrt.f64 l))) (*.f64 (cbrt.f64 l) (PI.f64)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
38.6b
(fma.f64 (cbrt.f64 (*.f64 l l)) (*.f64 (cbrt.f64 l) (PI.f64)) (*.f64 (PI.f64) (/.f64 (neg.f64 l) (*.f64 F F))))
36.9b
(pow.f64 (sqrt.f64 (*.f64 l (PI.f64))) 2)
14.1b
(pow.f64 (cbrt.f64 (*.f64 l (PI.f64))) 3)
40.0b
(/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 2)) (-.f64 (*.f64 (PI.f64) l) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))))
36.2b
(-.f64 (*.f64 (PI.f64) l) (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 2))
31.5b
(-.f64 (*.f64 (PI.f64) l) (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l))))) 2)) (cbrt.f64 (log.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l)))))))
17.0b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 3) (*.f64 F F)))
24.5b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (-.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 1) F) F))
17.7b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (*.f64 l (PI.f64)) F) F))
17.7b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 l (/.f64 F (PI.f64))) F))
29.4b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (*.f64 l (/.f64 1 (-.f64 (+.f64 1 (/.f64 F (PI.f64))) 1))) F))
22.1b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (*.f64 l (PI.f64)) (*.f64 F F)))
16.9b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
17.7b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (PI.f64) F) (/.f64 l F)))
40.4b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (exp.f64 (*.f64 2 (log.f64 (/.f64 -1 F)))) (tan.f64 (*.f64 (PI.f64) l))))
17.9b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (exp.f64 (log.f64 (pow.f64 F -2))) (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 3)))
17.7b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) (/.f64 (/.f64 l F) F)))
30.3b
(-.f64 (*.f64 (PI.f64) l) (exp.f64 (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))
62.0b
(+.f64 -1 1)
14.2b
(*.f64 (pow.f64 (*.f64 (cbrt.f64 l) (sqrt.f64 (PI.f64))) 2) (cbrt.f64 l))
14.4b
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 l) 2) (PI.f64))) 3) (cbrt.f64 l))
14.2b
(*.f64 (pow.f64 (cbrt.f64 l) 2) (*.f64 (cbrt.f64 l) (PI.f64)))
14.7b
(*.f64 (*.f64 (PI.f64) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 l)) 3) 2)) (cbrt.f64 l))
14.3b
(*.f64 (*.f64 (PI.f64) (pow.f64 (cbrt.f64 l) 2)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 (cbrt.f64 l))))
14.1b
(*.f64 (*.f64 (PI.f64) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l))
26.6b
(*.f64 (*.f64 (PI.f64) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 l)) 2) (cbrt.f64 (*.f64 l (cbrt.f64 l))))) (cbrt.f64 l))
26.2b
(*.f64 (*.f64 (PI.f64) (sqrt.f64 (*.f64 l (cbrt.f64 l)))) (cbrt.f64 l))
36.9b
(*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l))
39.2b
(*.f64 (*.f64 (PI.f64) (cbrt.f64 (*.f64 l l))) (cbrt.f64 l))
39.1b
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 l l))) (cbrt.f64 l))
22.4b
(*.f64 l (-.f64 (PI.f64) (/.f64 (/.f64 (PI.f64) F) F)))
13.3b
(*.f64 l (PI.f64))
46.3b
(cbrt.f64 (pow.f64 (*.f64 l (PI.f64)) 3))
46.3b
(cbrt.f64 (*.f64 (pow.f64 (PI.f64) 3) (pow.f64 l 3)))
46.3b
(cbrt.f64 (*.f64 l (*.f64 (pow.f64 (*.f64 l (PI.f64)) 2) (PI.f64))))
Compiler

Compiled 514 to 357 computations (30.5% saved)

regimes971.0ms (7.9%)

Counts
69 → 3
Calls
Call 1
Inputs
(+.f64 -1 1)
(*.f64 l (PI.f64))
(-.f64 (+.f64 1 (*.f64 l (PI.f64))) 1)
(+.f64 (fma.f64 l (PI.f64) -1) 1)
(*.f64 l (-.f64 (PI.f64) (/.f64 (/.f64 (PI.f64) F) F)))
(-.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) (/.f64 l (*.f64 F F))))
(-.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) (/.f64 (/.f64 l F) F)))
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 l F) (/.f64 (PI.f64) F)))
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (PI.f64) F) (/.f64 l F)))
(-.f64 (*.f64 (PI.f64) l) (/.f64 (*.f64 l (PI.f64)) (*.f64 F F)))
(-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 l (/.f64 F (PI.f64))) F))
(-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (PI.f64) (/.f64 F l)) F))
(-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (*.f64 l (PI.f64)) F) F))
(-.f64 (*.f64 (PI.f64) l) (/.f64 (*.f64 l (/.f64 1 (/.f64 F (PI.f64)))) F))
(-.f64 (*.f64 (PI.f64) l) (/.f64 (*.f64 l (/.f64 1 (-.f64 (+.f64 1 (/.f64 F (PI.f64))) 1))) F))
(cbrt.f64 (pow.f64 (*.f64 l (PI.f64)) 3))
(cbrt.f64 (pow.f64 (*.f64 l (PI.f64)) 3))
(pow.f64 (cbrt.f64 (*.f64 l (PI.f64))) 3)
(pow.f64 (cbrt.f64 (*.f64 l (PI.f64))) 3)
(pow.f64 (sqrt.f64 (*.f64 l (PI.f64))) 2)
(pow.f64 (sqrt.f64 (*.f64 l (PI.f64))) 2)
(*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l))
(*.f64 (*.f64 (PI.f64) (cbrt.f64 (*.f64 l l))) (cbrt.f64 l))
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
(-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) F))
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (*.f64 F F)) (tan.f64 (*.f64 (PI.f64) l))))
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (/.f64 1 F)))
(-.f64 (*.f64 (PI.f64) l) (/.f64 1 (*.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) F)))
(-.f64 (*.f64 (PI.f64) l) (/.f64 (-.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 1) (*.f64 F F)))
(-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (-.f64 (+.f64 1 (tan.f64 (*.f64 (PI.f64) l))) 1) F) F))
(cbrt.f64 (*.f64 (pow.f64 (PI.f64) 3) (pow.f64 l 3)))
(*.f64 (*.f64 (PI.f64) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l))
(*.f64 (pow.f64 (cbrt.f64 l) 2) (*.f64 (cbrt.f64 l) (PI.f64)))
(cbrt.f64 (*.f64 l (*.f64 (pow.f64 (*.f64 l (PI.f64)) 2) (PI.f64))))
(*.f64 (*.f64 (PI.f64) (sqrt.f64 (*.f64 l (cbrt.f64 l)))) (cbrt.f64 l))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (PI.f64) 3) (*.f64 l l))) (cbrt.f64 l))
(/.f64 1 (/.f64 (+.f64 (*.f64 l (PI.f64)) 2) (+.f64 (pow.f64 (fma.f64 l (PI.f64) 1) 2) -1)))
(*.f64 (pow.f64 (*.f64 (cbrt.f64 l) (sqrt.f64 (PI.f64))) 2) (cbrt.f64 l))
(-.f64 (*.f64 (PI.f64) l) (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 2))
(-.f64 (*.f64 (PI.f64) l) (pow.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 (PI.f64) l))) F) 2))
(-.f64 (*.f64 (PI.f64) l) (exp.f64 (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))
(-.f64 (*.f64 (PI.f64) l) (exp.f64 (log.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))))
(-.f64 (*.f64 (PI.f64) l) (/.f64 (log.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l)))) (*.f64 F F)))
(-.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 3)) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
(-.f64 (*.f64 (PI.f64) l) (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 3) (*.f64 F F)))
(-.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) l)) 3) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
(-.f64 (pow.f64 (sqrt.f64 (*.f64 (PI.f64) l)) 2) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
(-.f64 (*.f64 (PI.f64) l) (exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 F F) (tan.f64 (*.f64 (PI.f64) l)))) -1)))
(-.f64 (*.f64 (PI.f64) l) (*.f64 (exp.f64 (*.f64 2 (log.f64 (/.f64 -1 F)))) (tan.f64 (*.f64 (PI.f64) l))))
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (*.f64 F F)) (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 3)))
(fma.f64 (cbrt.f64 (*.f64 l l)) (*.f64 (cbrt.f64 l) (PI.f64)) (*.f64 (PI.f64) (/.f64 (neg.f64 l) (*.f64 F F))))
(*.f64 (*.f64 (PI.f64) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 l)) 3) 2)) (cbrt.f64 l))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 l) 2) (PI.f64))) 3) (cbrt.f64 l))
(-.f64 (*.f64 (PI.f64) l) (*.f64 (exp.f64 (log.f64 (pow.f64 F -2))) (tan.f64 (*.f64 (PI.f64) l))))
(-.f64 (cbrt.f64 (*.f64 (pow.f64 (PI.f64) 3) (pow.f64 l 3))) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
(-.f64 (cbrt.f64 (*.f64 (pow.f64 (PI.f64) 3) (pow.f64 l 3))) (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) F))
(*.f64 (*.f64 (PI.f64) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 l)) 2) (cbrt.f64 (*.f64 l (cbrt.f64 l))))) (cbrt.f64 l))
(fma.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
(fma.f64 (cbrt.f64 (*.f64 l l)) (*.f64 (cbrt.f64 l) (PI.f64)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
(/.f64 (+.f64 (pow.f64 (fma.f64 l (PI.f64) 1) 3) -1) (+.f64 (pow.f64 (fma.f64 l (PI.f64) 1) 2) (+.f64 (*.f64 l (PI.f64)) 2)))
(*.f64 (*.f64 (PI.f64) (pow.f64 (cbrt.f64 l) 2)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 (cbrt.f64 l))))
(-.f64 (*.f64 (PI.f64) l) (*.f64 (exp.f64 (log.f64 (pow.f64 F -2))) (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (PI.f64) l))) 3)))
(fma.f64 (sqrt.f64 (*.f64 l (cbrt.f64 l))) (*.f64 (cbrt.f64 l) (PI.f64)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
(fma.f64 (pow.f64 (cbrt.f64 (cbrt.f64 l)) 6) (*.f64 (cbrt.f64 l) (PI.f64)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
(/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 2)) (-.f64 (*.f64 (PI.f64) l) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))))
(-.f64 (*.f64 (PI.f64) l) (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))) 2)) (cbrt.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))
(-.f64 (*.f64 (PI.f64) l) (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))) 2)) (cbrt.f64 (log.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2))))))
(-.f64 (*.f64 (PI.f64) l) (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l))))) 2)) (cbrt.f64 (log.f64 (*.f64 (pow.f64 F -2) (tan.f64 (*.f64 (PI.f64) l)))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 3)) (+.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (-.f64 (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))) 2) (*.f64 (*.f64 (PI.f64) l) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)))))))
Outputs
(*.f64 l (PI.f64))
(-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) F))
(*.f64 l (PI.f64))
Calls

10 calls:

170.0ms
(*.f64 (PI.f64) l)
153.0ms
F
113.0ms
l
104.0ms
(*.f64 (PI.f64) l)
90.0ms
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (*.f64 F F)) (tan.f64 (*.f64 (PI.f64) l))))
Results
ErrorSegmentsBranch
6.2b3F
0.4b3l
7.2b2(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (*.f64 F F)) (tan.f64 (*.f64 (PI.f64) l))))
7.2b2(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (*.f64 F F)) (tan.f64 (*.f64 (PI.f64) l))))
0.4b3(*.f64 (PI.f64) l)
0.4b3(*.f64 (PI.f64) l)
7.1b2(/.f64 1 (*.f64 F F))
7.1b2(/.f64 1 (*.f64 F F))
7.1b2(*.f64 F F)
7.1b2(*.f64 F F)
Compiler

Compiled 1025 to 440 computations (57.1% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
19070.253247577533
152740516482053.84
0.0ms
-2.9402580702576046e+29
-7.607039064763874e+19
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes243.0ms (2%)

Counts
24 → 3
Calls
Call 1
Inputs
(+.f64 -1 1)
(*.f64 l (PI.f64))
(-.f64 (+.f64 1 (*.f64 l (PI.f64))) 1)
(+.f64 (fma.f64 l (PI.f64) -1) 1)
(*.f64 l (-.f64 (PI.f64) (/.f64 (/.f64 (PI.f64) F) F)))
(-.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) (/.f64 l (*.f64 F F))))
(-.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) (/.f64 (/.f64 l F) F)))
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 l F) (/.f64 (PI.f64) F)))
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (PI.f64) F) (/.f64 l F)))
(-.f64 (*.f64 (PI.f64) l) (/.f64 (*.f64 l (PI.f64)) (*.f64 F F)))
(-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 l (/.f64 F (PI.f64))) F))
(-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (PI.f64) (/.f64 F l)) F))
(-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (*.f64 l (PI.f64)) F) F))
(-.f64 (*.f64 (PI.f64) l) (/.f64 (*.f64 l (/.f64 1 (/.f64 F (PI.f64)))) F))
(-.f64 (*.f64 (PI.f64) l) (/.f64 (*.f64 l (/.f64 1 (-.f64 (+.f64 1 (/.f64 F (PI.f64))) 1))) F))
(cbrt.f64 (pow.f64 (*.f64 l (PI.f64)) 3))
(cbrt.f64 (pow.f64 (*.f64 l (PI.f64)) 3))
(pow.f64 (cbrt.f64 (*.f64 l (PI.f64))) 3)
(pow.f64 (cbrt.f64 (*.f64 l (PI.f64))) 3)
(pow.f64 (sqrt.f64 (*.f64 l (PI.f64))) 2)
(pow.f64 (sqrt.f64 (*.f64 l (PI.f64))) 2)
(*.f64 (*.f64 (PI.f64) (sqrt.f64 l)) (sqrt.f64 l))
(*.f64 (*.f64 (PI.f64) (cbrt.f64 (*.f64 l l))) (cbrt.f64 l))
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
Outputs
(*.f64 l (PI.f64))
(-.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) (/.f64 (/.f64 l F) F)))
(*.f64 l (PI.f64))
Calls

5 calls:

86.0ms
F
62.0ms
l
37.0ms
(*.f64 (PI.f64) l)
36.0ms
(*.f64 (PI.f64) l)
16.0ms
(*.f64 F F)
Results
ErrorSegmentsBranch
5.7b5F
0.9b3l
0.9b3(*.f64 (PI.f64) l)
0.9b3(*.f64 (PI.f64) l)
7.1b2(*.f64 F F)
Compiler

Compiled 233 to 101 computations (56.7% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
19070.253247577533
152740516482053.84
0.0ms
-2.9402580702576046e+29
-7.607039064763874e+19
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes80.0ms (0.6%)

Counts
6 → 3
Calls
Call 1
Inputs
(+.f64 -1 1)
(*.f64 l (PI.f64))
(-.f64 (+.f64 1 (*.f64 l (PI.f64))) 1)
(+.f64 (fma.f64 l (PI.f64) -1) 1)
(*.f64 l (-.f64 (PI.f64) (/.f64 (/.f64 (PI.f64) F) F)))
(-.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) (/.f64 l (*.f64 F F))))
Outputs
(*.f64 l (PI.f64))
(-.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) (/.f64 l (*.f64 F F))))
(*.f64 l (PI.f64))
Calls

4 calls:

27.0ms
F
20.0ms
(*.f64 F F)
17.0ms
(*.f64 F F)
14.0ms
l
Results
ErrorSegmentsBranch
9.5b6F
5.4b3l
9.8b4(*.f64 F F)
9.8b4(*.f64 F F)
Compiler

Compiled 57 to 34 computations (40.4% saved)

bsearch391.0ms (3.2%)

Algorithm
binary-search
Steps
TimeLeftRight
145.0ms
6070.25014073247
48618816417055.97
246.0ms
-9.359132116946702e+28
-2.421395738900638e+19
Compiler

Compiled 221 to 154 computations (30.3% saved)

regimes71.0ms (0.6%)

Counts
5 → 3
Calls
Call 1
Inputs
(+.f64 -1 1)
(*.f64 l (PI.f64))
(-.f64 (+.f64 1 (*.f64 l (PI.f64))) 1)
(+.f64 (fma.f64 l (PI.f64) -1) 1)
(*.f64 l (-.f64 (PI.f64) (/.f64 (/.f64 (PI.f64) F) F)))
Outputs
(*.f64 l (PI.f64))
(*.f64 l (-.f64 (PI.f64) (/.f64 (/.f64 (PI.f64) F) F)))
(*.f64 l (PI.f64))
Calls

2 calls:

55.0ms
F
14.0ms
l
Results
ErrorSegmentsBranch
9.5b6F
5.6b3l
Compiler

Compiled 36 to 23 computations (36.1% saved)

bsearch234.0ms (1.9%)

Algorithm
binary-search
Steps
TimeLeftRight
68.0ms
6070.25014073247
48618816417055.97
166.0ms
-9.359132116946702e+28
-2.421395738900638e+19
Compiler

Compiled 201 to 144 computations (28.4% saved)

regimes11.0ms (0.1%)

Accuracy

Total -48.8b remaining (-366.4%)

Threshold costs -48.8b (-366.4%)

Counts
4 → 1
Calls
Call 1
Inputs
(+.f64 -1 1)
(*.f64 l (PI.f64))
(-.f64 (+.f64 1 (*.f64 l (PI.f64))) 1)
(+.f64 (fma.f64 l (PI.f64) -1) 1)
Outputs
(*.f64 l (PI.f64))
Calls

2 calls:

4.0ms
l
4.0ms
F
Results
ErrorSegmentsBranch
13.3b1F
13.3b1l
Compiler

Compiled 27 to 19 computations (29.6% saved)

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Rules
16×+-commutative_binary64
16×*-commutative_binary64
16×sub-neg_binary64
12×neg-sub0_binary64
12×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043181
168181
296181
3121181
4141181
5151181
6154181
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 (*.f64 (PI.f64) l) -199999999999999982866301714432) (*.f64 l (PI.f64)) (if (<=.f64 (*.f64 (PI.f64) l) 20000) (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) F)) (*.f64 l (PI.f64))))
(if (<=.f64 (*.f64 (PI.f64) l) -199999999999999982866301714432) (*.f64 l (PI.f64)) (if (<=.f64 (*.f64 (PI.f64) l) 20000) (-.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) (/.f64 (/.f64 l F) F))) (*.f64 l (PI.f64))))
(if (<=.f64 l -93591321169467019296403095552) (*.f64 l (PI.f64)) (if (<=.f64 l 6200) (-.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) (/.f64 l (*.f64 F F)))) (*.f64 l (PI.f64))))
(if (<=.f64 l -93591321169467019296403095552) (*.f64 l (PI.f64)) (if (<=.f64 l 6200) (*.f64 l (-.f64 (PI.f64) (/.f64 (/.f64 (PI.f64) F) F))) (*.f64 l (PI.f64))))
(*.f64 l (PI.f64))
(+.f64 -1 1)
Outputs
(if (<=.f64 (*.f64 (PI.f64) l) -199999999999999982866301714432) (*.f64 l (PI.f64)) (if (<=.f64 (*.f64 (PI.f64) l) 20000) (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) F)) (*.f64 l (PI.f64))))
(if (<=.f64 (*.f64 (PI.f64) l) -199999999999999982866301714432) (*.f64 (PI.f64) l) (if (<=.f64 (*.f64 (PI.f64) l) 20000) (-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) F)) (*.f64 (PI.f64) l)))
(if (<=.f64 (*.f64 (PI.f64) l) -199999999999999982866301714432) (*.f64 l (PI.f64)) (if (<=.f64 (*.f64 (PI.f64) l) 20000) (-.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) (/.f64 (/.f64 l F) F))) (*.f64 l (PI.f64))))
(if (<=.f64 (*.f64 (PI.f64) l) -199999999999999982866301714432) (*.f64 (PI.f64) l) (if (<=.f64 (*.f64 (PI.f64) l) 20000) (-.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) (/.f64 (/.f64 l F) F))) (*.f64 (PI.f64) l)))
(if (<=.f64 l -93591321169467019296403095552) (*.f64 l (PI.f64)) (if (<=.f64 l 6200) (-.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) (/.f64 l (*.f64 F F)))) (*.f64 l (PI.f64))))
(if (<=.f64 l -93591321169467019296403095552) (*.f64 (PI.f64) l) (if (<=.f64 l 6200) (-.f64 (*.f64 (PI.f64) l) (*.f64 (PI.f64) (/.f64 l (*.f64 F F)))) (*.f64 (PI.f64) l)))
(if (<=.f64 l -93591321169467019296403095552) (*.f64 l (PI.f64)) (if (<=.f64 l 6200) (*.f64 l (-.f64 (PI.f64) (/.f64 (/.f64 (PI.f64) F) F))) (*.f64 l (PI.f64))))
(if (<=.f64 l -93591321169467019296403095552) (*.f64 (PI.f64) l) (if (<=.f64 l 6200) (*.f64 l (-.f64 (PI.f64) (/.f64 (/.f64 (PI.f64) F) F))) (*.f64 (PI.f64) l)))
(*.f64 l (PI.f64))
(*.f64 (PI.f64) l)
(+.f64 -1 1)
0
Compiler

Compiled 123 to 63 computations (48.8% saved)

soundness57.0ms (0.5%)

Algorithm
egg-herbie
Rules
297×fma-def_binary64
157×fma-neg_binary64
49×cancel-sign-sub-inv_binary64
38×associate-/l*_binary64
33×sub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01123
12520
25720
313920
423620
537520
650120
764120
883320
9110320
10115720
Stop Event
saturated
Compiler

Compiled 46 to 28 computations (39.1% saved)

end54.0ms (0.4%)

Compiler

Compiled 113 to 45 computations (60.2% saved)

Profiling

Loading profile data...